From 309286309eaf20b58172247263f575753a860700 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Thu, 2 Jul 2026 10:22:57 +0900 Subject: [PATCH] Initial commit --- .gitignore | 29 + MBN_STOCK_N.sln | 37 + MBN_STOCK_N/App.config | 66 + MBN_STOCK_N/Class/CutList.cs | 214 + MBN_STOCK_N/Class/DBCon.cs | 190 + MBN_STOCK_N/Class/HangulChar.cs | 293 + MBN_STOCK_N/Class/HangulString.cs | 328 + MBN_STOCK_N/Class/Nxt_PageN.cs | 97 + MBN_STOCK_N/Class/PageN.cs | 120 + MBN_STOCK_N/Class/Program.cs | 22 + MBN_STOCK_N/Class/Util.cs | 19 + MBN_STOCK_N/Control/UC1.Designer.cs | 96 + MBN_STOCK_N/Control/UC1.cs | 1428 ++++ MBN_STOCK_N/Control/UC1.resx | 120 + MBN_STOCK_N/Control/UC2.Designer.cs | 144 + MBN_STOCK_N/Control/UC2.cs | 79 + MBN_STOCK_N/Control/UC2.resx | 120 + MBN_STOCK_N/Control/UC3.Designer.cs | 792 ++ MBN_STOCK_N/Control/UC3.cs | 265 + MBN_STOCK_N/Control/UC3.resx | 146 + MBN_STOCK_N/Control/UC4.Designer.cs | 793 ++ MBN_STOCK_N/Control/UC4.cs | 440 ++ MBN_STOCK_N/Control/UC4.resx | 135 + MBN_STOCK_N/Control/UC5.Designer.cs | 1064 +++ MBN_STOCK_N/Control/UC5.cs | 260 + MBN_STOCK_N/Control/UC5.resx | 138 + MBN_STOCK_N/Control/UC6.Designer.cs | 709 ++ MBN_STOCK_N/Control/UC6.cs | 238 + MBN_STOCK_N/Control/UC6.resx | 143 + MBN_STOCK_N/Control/UC7.Designer.cs | 393 + MBN_STOCK_N/Control/UC7.cs | 243 + MBN_STOCK_N/Control/UC7.resx | 126 + MBN_STOCK_N/Data/Classification/CutList.cs | 243 + MBN_STOCK_N/Data/DBDefine.cs | 353 + MBN_STOCK_N/Data/DBManager.cs | 266 + MBN_STOCK_N/Data/DataDefineBuilder.cs | 131 + MBN_STOCK_N/Data/DataManager.cs | 666 ++ MBN_STOCK_N/Data/IDBDataHandle.cs | 20 + MBN_STOCK_N/Data/Request/ADataObject.cs | 50 + MBN_STOCK_N/Data/Request/IDataRequest.cs | 20 + MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs | 51 + MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs | 20 + .../Data/Request/거래원/trader_stocks.cs | 263 + MBN_STOCK_N/Data/Request/그리드/Grid11.cs | 67 + MBN_STOCK_N/Data/Request/그리드/Grid13.cs | 76 + MBN_STOCK_N/Data/Request/그리드/Grid14.cs | 33 + MBN_STOCK_N/Data/Request/그리드/Grid8.cs | 70 + MBN_STOCK_N/Data/Request/그리드/Grid9.cs | 232 + .../Data/Request/막대그래프/Stick12.cs | 64 + .../Data/Request/막대그래프/Stick21.cs | 112 + .../Data/Request/봉차트/ACandleData.cs | 107 + .../Data/Request/봉차트/CandleFutures.cs | 135 + .../Request/봉차트/CandleIndustryKOSDAQ.cs | 142 + .../Request/봉차트/CandleIndustryKOSPI.cs | 144 + .../Data/Request/봉차트/CandleKOSDAQ.cs | 151 + .../Data/Request/봉차트/CandleKOSPI.cs | 147 + .../Data/Request/봉차트/CandleKOSPI200.cs | 149 + .../Data/Request/봉차트/CandleKRX100.cs | 145 + .../Data/Request/봉차트/CandleStockDIS.cs | 67 + .../Data/Request/봉차트/CandleStockDISK.cs | 64 + .../Data/Request/봉차트/CandleStockKOSDAQ.cs | 219 + .../Data/Request/봉차트/CandleStockKOSPI.cs | 221 + .../Data/Request/봉차트/Candleforeign.cs | 58 + .../Data/Request/봉차트/CandleforeignStock.cs | 54 + .../Data/Request/사각형그래프/Square20.cs | 65 + MBN_STOCK_N/Data/Request/선그래프/Exchange.cs | 105 + .../Request/선그래프/IndexIndustryYield.cs | 117 + .../Data/Request/선그래프/IndexYield.cs | 312 + .../Data/Request/선그래프/StockYield.cs | 128 + MBN_STOCK_N/Data/Request/선그래프/Trading.cs | 296 + .../Data/Request/지도데이터/MapAsia.cs | 49 + .../Data/Request/지도데이터/MapEurope.cs | 40 + MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs | 40 + .../Data/Request/지도데이터/MapWorld.cs | 49 + MBN_STOCK_N/Data/Request/판5단/ETF.cs | 88 + .../Data/Request/판5단/Nxt_capital_5dan.cs | 73 + .../Request/판5단/Nxt_high_overtime_5dan.cs | 80 + .../Request/판5단/Nxt_low_overtime_5dan.cs | 75 + .../Data/Request/판5단/Nxt_lower_5dan.cs | 79 + .../Data/Request/판5단/Nxt_upper_5dan.cs | 79 + .../Data/Request/판5단/Nxt_vol_5dan.cs | 77 + .../Data/Request/판5단/capital_5dan.cs | 114 + .../Request/판5단/capital_forecast_5dan.cs | 116 + MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs | 101 + .../Data/Request/판5단/high_overtime_5dan.cs | 119 + MBN_STOCK_N/Data/Request/판5단/kospi200.cs | 113 + MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs | 101 + .../Data/Request/판5단/low_overtime_5dan.cs | 125 + MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs | 87 + .../Data/Request/판5단/suggest_5dan.cs | 77 + MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs | 76 + .../Data/Request/판5단/theme_yesang_5dan.cs | 102 + MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs | 71 + MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs | 87 + .../Request/판데이터기본/DataObject_3PAN.cs | 471 ++ .../Data/Request/판데이터기본/EXCHANGE_PAN.cs | 81 + .../Request/판데이터기본/NXT_SANGSE_PAN.cs | 370 + .../Data/Request/판데이터기본/SANGSE_PAN.cs | 199 + .../판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs | 47 + .../Request/판데이터기본/업종/INDUSTRY_PAN.cs | 66 + .../판데이터기본/종목/Nxt_STOCK_PAN.cs | 122 + .../판데이터기본/종목/STOCK_FORECAST_PAN.cs | 108 + .../판데이터기본/종목/STOCK_FORGIEN_PAN.cs | 47 + .../판데이터기본/종목/STOCK_OVERTIME_PAN.cs | 116 + .../Request/판데이터기본/종목/STOCK_PAN.cs | 162 + .../판데이터기본/지수/INDEX_FORECAST_PAN.cs | 92 + .../판데이터기본/지수/INDEX_FORGIEN_PAN.cs | 45 + .../Request/판데이터기본/지수/INDEX_PAN.cs | 105 + MBN_STOCK_N/Data/Request/호가/Quote_Stocks.cs | 109 + MBN_STOCK_N/Form/AList.Designer.cs | 139 + MBN_STOCK_N/Form/AList.cs | 67 + MBN_STOCK_N/Form/AList.resx | 120 + MBN_STOCK_N/Form/EList.Designer.cs | 154 + MBN_STOCK_N/Form/EList.cs | 67 + MBN_STOCK_N/Form/EList.resx | 120 + MBN_STOCK_N/Form/FSell.Designer.cs | 374 + MBN_STOCK_N/Form/FSell.cs | 120 + MBN_STOCK_N/Form/FSell.resx | 120 + MBN_STOCK_N/Form/GraphE.Designer.cs | 1439 ++++ MBN_STOCK_N/Form/GraphE.cs | 615 ++ MBN_STOCK_N/Form/GraphE.resx | 6622 +++++++++++++++++ MBN_STOCK_N/Form/PList.Designer.cs | 153 + MBN_STOCK_N/Form/PList.cs | 258 + MBN_STOCK_N/Form/PList.resx | 120 + MBN_STOCK_N/Form/ThemeA.Designer.cs | 611 ++ MBN_STOCK_N/Form/ThemeA.cs | 308 + MBN_STOCK_N/Form/ThemeA.resx | 137 + MBN_STOCK_N/Form/VIList.Designer.cs | 560 ++ MBN_STOCK_N/Form/VIList.cs | 148 + MBN_STOCK_N/Form/VIList.resx | 137 + MBN_STOCK_N/MBN_STOCK_N.csproj | 393 + MBN_STOCK_N/MainForm.Designer.cs | 2630 +++++++ MBN_STOCK_N/MainForm.cs | 4058 ++++++++++ MBN_STOCK_N/MainForm.resx | 2449 ++++++ MBN_STOCK_N/Properties/AssemblyInfo.cs | 36 + MBN_STOCK_N/Properties/Resources.Designer.cs | 63 + MBN_STOCK_N/Properties/Resources.resx | 117 + MBN_STOCK_N/Properties/Settings.Designer.cs | 26 + MBN_STOCK_N/Properties/Settings.settings | 7 + MBN_STOCK_N/Properties/licenses.licx | 1 + MBN_STOCK_N/RES/Find_16x16.png | Bin 0 -> 293 bytes MBN_STOCK_N/RES/Find_32x32.png | Bin 0 -> 418 bytes MBN_STOCK_N/RES/Grow.bmp | Bin 0 -> 388854 bytes MBN_STOCK_N/RES/MmoneyCoder.ico | Bin 0 -> 129150 bytes MBN_STOCK_N/RES/MmoneyCoder.ini | 20 + MBN_STOCK_N/RES/MmoneyCoder.ini.bak | 15 + MBN_STOCK_N/RES/MmoneyCoder.zip | Bin 0 -> 367 bytes MBN_STOCK_N/RES/MoveDown_16x16.png | Bin 0 -> 742 bytes MBN_STOCK_N/RES/MoveUp_16x16.png | Bin 0 -> 713 bytes MBN_STOCK_N/RES/P.png | Bin 0 -> 619 bytes MBN_STOCK_N/RES/Preview.png | Bin 0 -> 75086 bytes MBN_STOCK_N/RES/VRIPNG.png | Bin 0 -> 20719 bytes MBN_STOCK_N/RES/a.png | Bin 0 -> 657 bytes MBN_STOCK_N/RES/aa.png | Bin 0 -> 215 bytes MBN_STOCK_N/RES/dot.png | Bin 0 -> 208 bytes MBN_STOCK_N/RES/green.png | Bin 0 -> 879 bytes MBN_STOCK_N/RES/icon.ico | Bin 0 -> 4286 bytes MBN_STOCK_N/RES/logo.png | Bin 0 -> 1693 bytes MBN_STOCK_N/RES/pie.bmp | Bin 0 -> 388854 bytes MBN_STOCK_N/RES/pro#00083.png | Bin 0 -> 985385 bytes MBN_STOCK_N/RES/profit.bmp | Bin 0 -> 388854 bytes MBN_STOCK_N/RES/red.png | Bin 0 -> 859 bytes MBN_STOCK_N/RES/sample_1.png | Bin 0 -> 127277 bytes MBN_STOCK_N/RES/sell.bmp | Bin 0 -> 388854 bytes MBN_STOCK_N/RES/setup.ini | 82 + MBN_STOCK_N/RES/t.png | Bin 0 -> 409 bytes MBN_STOCK_N/RES/기타.ini | 39 + MBN_STOCK_N/RES/업종.ini | 44 + MBN_STOCK_N/RES/업종_코스닥.ini | 22 + MBN_STOCK_N/RES/업종_코스피.ini | 23 + MBN_STOCK_N/RES/종목.ini | 34 + MBN_STOCK_N/RES/종목_0113.ini | 32 + MBN_STOCK_N/RES/종목비교.ini | 42 + MBN_STOCK_N/RES/지수.ini | 182 + MBN_STOCK_N/RES/지수_0318.ini | 158 + MBN_STOCK_N/RES/해외.ini | 89 + MBN_STOCK_N/RES/환율.ini | 55 + MBN_STOCK_N/Scene/s5001.cs | 821 ++ MBN_STOCK_N/Scene/s5006.cs | 285 + MBN_STOCK_N/Scene/s5011.cs | 483 ++ MBN_STOCK_N/Scene/s5016.cs | 463 ++ MBN_STOCK_N/Scene/s50160.cs | 302 + MBN_STOCK_N/Scene/s5023.cs | 114 + MBN_STOCK_N/Scene/s5024.cs | 154 + MBN_STOCK_N/Scene/s5025.cs | 82 + MBN_STOCK_N/Scene/s5026.cs | 456 ++ MBN_STOCK_N/Scene/s5029.cs | 660 ++ MBN_STOCK_N/Scene/s5032.cs | 340 + MBN_STOCK_N/Scene/s5037.cs | 299 + MBN_STOCK_N/Scene/s5074.cs | 1444 ++++ MBN_STOCK_N/Scene/s5076.cs | 69 + MBN_STOCK_N/Scene/s5077.cs | 1527 ++++ MBN_STOCK_N/Scene/s5078.cs | 111 + MBN_STOCK_N/Scene/s5079.cs | 181 + MBN_STOCK_N/Scene/s5080.cs | 192 + MBN_STOCK_N/Scene/s5081.cs | 129 + MBN_STOCK_N/Scene/s5082.cs | 91 + MBN_STOCK_N/Scene/s5083.cs | 184 + MBN_STOCK_N/Scene/s5084.cs | 187 + MBN_STOCK_N/Scene/s5085.cs | 68 + MBN_STOCK_N/Scene/s5086.cs | 418 ++ MBN_STOCK_N/Scene/s50860.cs | 410 + MBN_STOCK_N/Scene/s5087.cs | 631 ++ MBN_STOCK_N/Scene/s5088.cs | 1479 ++++ MBN_STOCK_N/Scene/s6001.cs | 358 + MBN_STOCK_N/Scene/s6067.cs | 73 + MBN_STOCK_N/Scene/s8001.cs | 90 + MBN_STOCK_N/Scene/s8003.cs | 254 + MBN_STOCK_N/Scene/s8010.cs | 819 ++ MBN_STOCK_N/Scene/s8018.cs | 1098 +++ MBN_STOCK_N/Scene/s8067.cs | 100 + MBN_STOCK_N/Scene/s8086.cs | 107 + MBN_STOCK_N/packages.config | 4 + 213 files changed, 56497 insertions(+) create mode 100644 .gitignore create mode 100644 MBN_STOCK_N.sln create mode 100644 MBN_STOCK_N/App.config create mode 100644 MBN_STOCK_N/Class/CutList.cs create mode 100644 MBN_STOCK_N/Class/DBCon.cs create mode 100644 MBN_STOCK_N/Class/HangulChar.cs create mode 100644 MBN_STOCK_N/Class/HangulString.cs create mode 100644 MBN_STOCK_N/Class/Nxt_PageN.cs create mode 100644 MBN_STOCK_N/Class/PageN.cs create mode 100644 MBN_STOCK_N/Class/Program.cs create mode 100644 MBN_STOCK_N/Class/Util.cs create mode 100644 MBN_STOCK_N/Control/UC1.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC1.cs create mode 100644 MBN_STOCK_N/Control/UC1.resx create mode 100644 MBN_STOCK_N/Control/UC2.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC2.cs create mode 100644 MBN_STOCK_N/Control/UC2.resx create mode 100644 MBN_STOCK_N/Control/UC3.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC3.cs create mode 100644 MBN_STOCK_N/Control/UC3.resx create mode 100644 MBN_STOCK_N/Control/UC4.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC4.cs create mode 100644 MBN_STOCK_N/Control/UC4.resx create mode 100644 MBN_STOCK_N/Control/UC5.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC5.cs create mode 100644 MBN_STOCK_N/Control/UC5.resx create mode 100644 MBN_STOCK_N/Control/UC6.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC6.cs create mode 100644 MBN_STOCK_N/Control/UC6.resx create mode 100644 MBN_STOCK_N/Control/UC7.Designer.cs create mode 100644 MBN_STOCK_N/Control/UC7.cs create mode 100644 MBN_STOCK_N/Control/UC7.resx create mode 100644 MBN_STOCK_N/Data/Classification/CutList.cs create mode 100644 MBN_STOCK_N/Data/DBDefine.cs create mode 100644 MBN_STOCK_N/Data/DBManager.cs create mode 100644 MBN_STOCK_N/Data/DataDefineBuilder.cs create mode 100644 MBN_STOCK_N/Data/DataManager.cs create mode 100644 MBN_STOCK_N/Data/IDBDataHandle.cs create mode 100644 MBN_STOCK_N/Data/Request/ADataObject.cs create mode 100644 MBN_STOCK_N/Data/Request/IDataRequest.cs create mode 100644 MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs create mode 100644 MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs create mode 100644 MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs create mode 100644 MBN_STOCK_N/Data/Request/그리드/Grid11.cs create mode 100644 MBN_STOCK_N/Data/Request/그리드/Grid13.cs create mode 100644 MBN_STOCK_N/Data/Request/그리드/Grid14.cs create mode 100644 MBN_STOCK_N/Data/Request/그리드/Grid8.cs create mode 100644 MBN_STOCK_N/Data/Request/그리드/Grid9.cs create mode 100644 MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs create mode 100644 MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs create mode 100644 MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs create mode 100644 MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs create mode 100644 MBN_STOCK_N/Data/Request/선그래프/Exchange.cs create mode 100644 MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs create mode 100644 MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs create mode 100644 MBN_STOCK_N/Data/Request/선그래프/StockYield.cs create mode 100644 MBN_STOCK_N/Data/Request/선그래프/Trading.cs create mode 100644 MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs create mode 100644 MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs create mode 100644 MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs create mode 100644 MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/ETF.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/kospi200.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/종목/Nxt_STOCK_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORECAST_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORGIEN_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_OVERTIME_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORECAST_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORGIEN_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_PAN.cs create mode 100644 MBN_STOCK_N/Data/Request/호가/Quote_Stocks.cs create mode 100644 MBN_STOCK_N/Form/AList.Designer.cs create mode 100644 MBN_STOCK_N/Form/AList.cs create mode 100644 MBN_STOCK_N/Form/AList.resx create mode 100644 MBN_STOCK_N/Form/EList.Designer.cs create mode 100644 MBN_STOCK_N/Form/EList.cs create mode 100644 MBN_STOCK_N/Form/EList.resx create mode 100644 MBN_STOCK_N/Form/FSell.Designer.cs create mode 100644 MBN_STOCK_N/Form/FSell.cs create mode 100644 MBN_STOCK_N/Form/FSell.resx create mode 100644 MBN_STOCK_N/Form/GraphE.Designer.cs create mode 100644 MBN_STOCK_N/Form/GraphE.cs create mode 100644 MBN_STOCK_N/Form/GraphE.resx create mode 100644 MBN_STOCK_N/Form/PList.Designer.cs create mode 100644 MBN_STOCK_N/Form/PList.cs create mode 100644 MBN_STOCK_N/Form/PList.resx create mode 100644 MBN_STOCK_N/Form/ThemeA.Designer.cs create mode 100644 MBN_STOCK_N/Form/ThemeA.cs create mode 100644 MBN_STOCK_N/Form/ThemeA.resx create mode 100644 MBN_STOCK_N/Form/VIList.Designer.cs create mode 100644 MBN_STOCK_N/Form/VIList.cs create mode 100644 MBN_STOCK_N/Form/VIList.resx create mode 100644 MBN_STOCK_N/MBN_STOCK_N.csproj create mode 100644 MBN_STOCK_N/MainForm.Designer.cs create mode 100644 MBN_STOCK_N/MainForm.cs create mode 100644 MBN_STOCK_N/MainForm.resx create mode 100644 MBN_STOCK_N/Properties/AssemblyInfo.cs create mode 100644 MBN_STOCK_N/Properties/Resources.Designer.cs create mode 100644 MBN_STOCK_N/Properties/Resources.resx create mode 100644 MBN_STOCK_N/Properties/Settings.Designer.cs create mode 100644 MBN_STOCK_N/Properties/Settings.settings create mode 100644 MBN_STOCK_N/Properties/licenses.licx create mode 100644 MBN_STOCK_N/RES/Find_16x16.png create mode 100644 MBN_STOCK_N/RES/Find_32x32.png create mode 100644 MBN_STOCK_N/RES/Grow.bmp create mode 100644 MBN_STOCK_N/RES/MmoneyCoder.ico create mode 100644 MBN_STOCK_N/RES/MmoneyCoder.ini create mode 100644 MBN_STOCK_N/RES/MmoneyCoder.ini.bak create mode 100644 MBN_STOCK_N/RES/MmoneyCoder.zip create mode 100644 MBN_STOCK_N/RES/MoveDown_16x16.png create mode 100644 MBN_STOCK_N/RES/MoveUp_16x16.png create mode 100644 MBN_STOCK_N/RES/P.png create mode 100644 MBN_STOCK_N/RES/Preview.png create mode 100644 MBN_STOCK_N/RES/VRIPNG.png create mode 100644 MBN_STOCK_N/RES/a.png create mode 100644 MBN_STOCK_N/RES/aa.png create mode 100644 MBN_STOCK_N/RES/dot.png create mode 100644 MBN_STOCK_N/RES/green.png create mode 100644 MBN_STOCK_N/RES/icon.ico create mode 100644 MBN_STOCK_N/RES/logo.png create mode 100644 MBN_STOCK_N/RES/pie.bmp create mode 100644 MBN_STOCK_N/RES/pro#00083.png create mode 100644 MBN_STOCK_N/RES/profit.bmp create mode 100644 MBN_STOCK_N/RES/red.png create mode 100644 MBN_STOCK_N/RES/sample_1.png create mode 100644 MBN_STOCK_N/RES/sell.bmp create mode 100644 MBN_STOCK_N/RES/setup.ini create mode 100644 MBN_STOCK_N/RES/t.png create mode 100644 MBN_STOCK_N/RES/기타.ini create mode 100644 MBN_STOCK_N/RES/업종.ini create mode 100644 MBN_STOCK_N/RES/업종_코스닥.ini create mode 100644 MBN_STOCK_N/RES/업종_코스피.ini create mode 100644 MBN_STOCK_N/RES/종목.ini create mode 100644 MBN_STOCK_N/RES/종목_0113.ini create mode 100644 MBN_STOCK_N/RES/종목비교.ini create mode 100644 MBN_STOCK_N/RES/지수.ini create mode 100644 MBN_STOCK_N/RES/지수_0318.ini create mode 100644 MBN_STOCK_N/RES/해외.ini create mode 100644 MBN_STOCK_N/RES/환율.ini create mode 100644 MBN_STOCK_N/Scene/s5001.cs create mode 100644 MBN_STOCK_N/Scene/s5006.cs create mode 100644 MBN_STOCK_N/Scene/s5011.cs create mode 100644 MBN_STOCK_N/Scene/s5016.cs create mode 100644 MBN_STOCK_N/Scene/s50160.cs create mode 100644 MBN_STOCK_N/Scene/s5023.cs create mode 100644 MBN_STOCK_N/Scene/s5024.cs create mode 100644 MBN_STOCK_N/Scene/s5025.cs create mode 100644 MBN_STOCK_N/Scene/s5026.cs create mode 100644 MBN_STOCK_N/Scene/s5029.cs create mode 100644 MBN_STOCK_N/Scene/s5032.cs create mode 100644 MBN_STOCK_N/Scene/s5037.cs create mode 100644 MBN_STOCK_N/Scene/s5074.cs create mode 100644 MBN_STOCK_N/Scene/s5076.cs create mode 100644 MBN_STOCK_N/Scene/s5077.cs create mode 100644 MBN_STOCK_N/Scene/s5078.cs create mode 100644 MBN_STOCK_N/Scene/s5079.cs create mode 100644 MBN_STOCK_N/Scene/s5080.cs create mode 100644 MBN_STOCK_N/Scene/s5081.cs create mode 100644 MBN_STOCK_N/Scene/s5082.cs create mode 100644 MBN_STOCK_N/Scene/s5083.cs create mode 100644 MBN_STOCK_N/Scene/s5084.cs create mode 100644 MBN_STOCK_N/Scene/s5085.cs create mode 100644 MBN_STOCK_N/Scene/s5086.cs create mode 100644 MBN_STOCK_N/Scene/s50860.cs create mode 100644 MBN_STOCK_N/Scene/s5087.cs create mode 100644 MBN_STOCK_N/Scene/s5088.cs create mode 100644 MBN_STOCK_N/Scene/s6001.cs create mode 100644 MBN_STOCK_N/Scene/s6067.cs create mode 100644 MBN_STOCK_N/Scene/s8001.cs create mode 100644 MBN_STOCK_N/Scene/s8003.cs create mode 100644 MBN_STOCK_N/Scene/s8010.cs create mode 100644 MBN_STOCK_N/Scene/s8018.cs create mode 100644 MBN_STOCK_N/Scene/s8067.cs create mode 100644 MBN_STOCK_N/Scene/s8086.cs create mode 100644 MBN_STOCK_N/packages.config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3f789d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +# Visual Studio +.vs/ +*.user +*.suo +*.userosscache +*.sln.docstates + +# Build output +[Bb]in/ +[Oo]bj/ +[Dd]ebug/ +[Rr]elease/ +x64/ +x86/ + +# NuGet packages +[Pp]ackages/* +![Pp]ackages/repositories.config +*.nupkg + +# Logs and temporary files +*.log +*.tmp +*.temp +*.cache + +# OS files +Thumbs.db +Desktop.ini diff --git a/MBN_STOCK_N.sln b/MBN_STOCK_N.sln new file mode 100644 index 0000000..b4a9d60 --- /dev/null +++ b/MBN_STOCK_N.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30804.86 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MBN_STOCK_N", "MBN_STOCK_N\MBN_STOCK_N.csproj", "{79711222-87A1-432B-A122-C67AB0E7237B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + x64|Any CPU = x64|Any CPU + x64|x64 = x64|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {79711222-87A1-432B-A122-C67AB0E7237B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.Debug|x64.ActiveCfg = Debug|x64 + {79711222-87A1-432B-A122-C67AB0E7237B}.Debug|x64.Build.0 = Debug|x64 + {79711222-87A1-432B-A122-C67AB0E7237B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.Release|Any CPU.Build.0 = Release|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.Release|x64.ActiveCfg = Release|x64 + {79711222-87A1-432B-A122-C67AB0E7237B}.Release|x64.Build.0 = Release|x64 + {79711222-87A1-432B-A122-C67AB0E7237B}.x64|Any CPU.ActiveCfg = x64|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.x64|Any CPU.Build.0 = x64|Any CPU + {79711222-87A1-432B-A122-C67AB0E7237B}.x64|x64.ActiveCfg = x64|x64 + {79711222-87A1-432B-A122-C67AB0E7237B}.x64|x64.Build.0 = x64|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DC0B9A4B-BDFE-40D2-A8A3-B4E33A927E76} + EndGlobalSection +EndGlobal diff --git a/MBN_STOCK_N/App.config b/MBN_STOCK_N/App.config new file mode 100644 index 0000000..47a9597 --- /dev/null +++ b/MBN_STOCK_N/App.config @@ -0,0 +1,66 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MBN_STOCK_N/Class/CutList.cs b/MBN_STOCK_N/Class/CutList.cs new file mode 100644 index 0000000..9ca9c91 --- /dev/null +++ b/MBN_STOCK_N/Class/CutList.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + + +public class CutList +{ + + public string[] getCutInfo(string info) + { + string[] rtn = new string[] { "", "" }; + + try + { + info = info.Replace(" ", ""); + + if (info.Contains("2열판-")) + { + rtn[0] = "50160"; + } + else if (info.Contains("영업이익")) + { + rtn[0] = "5081"; + } + else if (info.Contains("매출액")) + { + rtn[0] = "5080"; + } + else if (info.Contains("성장성지표")) + { + rtn[0] = "5079"; + } + else if (info.Contains("주요매출구성")) + { + rtn[0] = "5076"; + } + else if (info.Contains("(NXT)1열판기본")) + { + rtn[0] = "N5001"; + } + else if (info.Contains("1열판기본")) + { + rtn[0] = "5001"; + } + else if (info.Contains("1열판상세")) + { + if (info.Contains("시가")) + rtn[0] = "5006"; + else + rtn[0] = "5011"; + } + else if (info.Contains("1열판")) + { + rtn[0] = "5001"; + } + else if (info.Contains("종목별비교분석_캔들그래프")) + { + rtn[0] = "5026"; + } + else if (info.Contains("종목별비교분석_라인그래프")) + { + rtn[0] = "5087"; + } + else if (info.Contains("종목별수익률비교")) + { + rtn[0] = "5029"; + } + else if (info.Contains("수익률그래프")) + { + rtn[0] = "5086"; + } + else if (info.Contains("캔들그래프")) + { + if (info.Contains("일봉")) + rtn[0] = "8035"; + else if (info.Contains("5일")) + rtn[0] = "8061"; + else if (info.Contains("120일")) + rtn[0] = "8051"; + else if (info.Contains("20일")) + rtn[0] = "8040"; + else if (info.Contains("60일")) + rtn[0] = "8046"; + + else if (info.Contains("240일")) + rtn[0] = "8056"; + + } + else if (info.Contains("호가창")) + { + rtn[0] = "8003"; + } + else if (info.Contains("거래원")) + { + rtn[0] = "5037"; + } + else if (info.Contains("3열판")) + { + rtn[0] = "5016"; + } + else if (info.Contains("미국증시지도")) + { + rtn[0] = "5068"; + } + else if (info.Contains("유럽증시지도")) + { + rtn[0] = "5070"; + } + else if (info.Contains("아시아증시지도")) + { + rtn[0] = "5072"; + } + else if (info.Contains("글로벌증시지도")) + { + rtn[0] = "8067"; + } + else if (info.Contains("미국업종") || info.Contains("섹터지수")) + { + rtn[0] = "5078"; + } + else if (info.Contains("이미지그래프")) + { + rtn[0] = "6001"; + } + + else if (info.Contains("주체별매매동향")) + { + rtn[0] = "5082"; + } + else if (info.Contains("매매동향표그래프")) + { + rtn[0] = "5023"; + } + else if (info.Contains("개인매매동향") || info.Contains("기관매매동향") || info.Contains("외국인매매동향")) + { + rtn[0] = "5083"; + } + else if (info.Contains("매매동향라인그래프")) + { + rtn[0] = "5084"; + } + else if (info.Contains("매매동향막대그래프")) + { + rtn[0] = "5024"; + } + else if (info.Contains("기관순매수현황")) + { + rtn[0] = "6067"; + } + else if (info.Contains("프로그램매매")) + { + rtn[0] = "5085"; + } + else if (info.Contains("순매도상위")) + { + rtn[0] = "5025"; + } + else if (info.Contains("네모그래프")) + { + if (info.Contains("코스피")) + rtn[0] = "8001"; + else + rtn[0] = "8002"; + } + else if (info.Contains("5단표그래프")) + { + rtn[0] = "5074"; + } + else if (info.Contains("6종목현재가")) + { + rtn[0] = "5077"; + } + else if (info.Contains("12종목현재가")) + { + rtn[0] = "5088"; + } + else if (info.Contains("2열판")) + { + if (info.Contains("지수") || info.Contains("종목")) + { + if (info.Contains("선물")) + { + rtn[0] = "5032"; + } + else + { + rtn[0] = "8032"; + } + } + else + { + if (info.Contains("코스피")) + rtn[0] = "8018"; + else if (info.Contains("코스닥")) + rtn[0] = "8032"; + } + } + else if (info.Contains("라인그래프")) + { + rtn[0] = "50860"; + } + //rtn[1] = rtn[0] + ".t2s"; + rtn[1] = rtn[0]; + + } + catch (Exception) + { + } + return rtn; + } +} + diff --git a/MBN_STOCK_N/Class/DBCon.cs b/MBN_STOCK_N/Class/DBCon.cs new file mode 100644 index 0000000..613f8c4 --- /dev/null +++ b/MBN_STOCK_N/Class/DBCon.cs @@ -0,0 +1,190 @@ +using System; +using System.Data; +using System.Windows.Forms; +using Oracle.ManagedDataAccess.Client; +using Microsoft.Win32; +using MySql.Data.MySqlClient; +using System.Data.SqlClient; + +namespace MBN_STOCK_N +{ + public class DBCon + { + public OracleConnection conn = null; + string strConn = string.Empty; + + public MySqlConnection nxt_conn = null; + string nxt_strConn = string.Empty; + + DataTable dt = new DataTable(); + public bool m_status = false; + MainForm mf = null; + public bool m_su = false; + + public DBCon(Form frm) + { + try + { + mf = (MainForm)frm; + RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\MBN"); + string ip = string.Empty; + string port = string.Empty; + string ser = string.Empty; + string id = string.Empty; + string pw = string.Empty; + + string nxt_ip = string.Empty; + string nxt_port = string.Empty; + string nxt_ser = string.Empty; + string nxt_id = string.Empty; + string nxt_pw = string.Empty; + + if (key.GetValue("ip") != null) + ip = key.GetValue("ip").ToString(); + + if (key.GetValue("port") != null) + port = key.GetValue("port").ToString(); + + if (key.GetValue("server") != null) + ser = key.GetValue("server").ToString(); + + if (key.GetValue("id") != null) + id = key.GetValue("id").ToString(); + + if (key.GetValue("pass") != null) + pw = key.GetValue("pass").ToString(); + + if (key.GetValue("nxt_ip") != null) + nxt_ip = key.GetValue("nxt_ip").ToString(); + + if (key.GetValue("nxt_port") != null) + nxt_port = key.GetValue("nxt_port").ToString(); + + if (key.GetValue("nxt_server") != null) + nxt_ser = key.GetValue("nxt_server").ToString(); + + if (key.GetValue("nxt_id") != null) + nxt_id = key.GetValue("nxt_id").ToString(); + + if (key.GetValue("nxt_pass") != null) + nxt_pw = key.GetValue("nxt_pass").ToString(); + + strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + mf.m_ip + ")(PORT=" + mf.m_port + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SID=" + mf.m_sid + ")));User Id=" + mf.m_id + ";Password=" + mf.m_pw + ";"; + nxt_strConn = "SERVER=" + mf.nxt_m_ip + "; PORT=" + mf.nxt_m_port + "; DATABASE= " + mf.nxt_m_sid + "; UId=" + mf.nxt_m_id + "; Pwd=" + mf.nxt_m_pw; + + conn = new OracleConnection(strConn); + conn.Open(); + m_status = true; + + nxt_conn = new MySqlConnection(nxt_strConn); + nxt_conn.Open(); + m_status = true; + } + catch (Exception) + { + m_status = false; + } + finally + { + if (conn.State == ConnectionState.Open) + { + conn.Close(); + } + + if (nxt_conn.State == ConnectionState.Open) + { + nxt_conn.Close(); + } + } + } + + public void DB_Connect() + { + + } + + public void ViewQuery(DataGridView GV, string query) + { + try + { + OracleCommand cmd = new OracleCommand(); + cmd.Connection = conn; + + OracleDataAdapter adapter = new OracleDataAdapter(query, conn); + DataTable data_table = new DataTable(); + adapter.Fill(data_table); + GV.DataSource = data_table; + } + catch (Exception) + { + + } + } + + public void Nxt_ViewQuery(DataGridView GV, string query) + { + try + { + MySqlCommand cmd = new MySqlCommand(); + cmd.Connection = nxt_conn; + + MySqlDataAdapter adapter = new MySqlDataAdapter(query, nxt_conn); + DataTable data_table = new DataTable(); + adapter.Fill(data_table); + GV.DataSource = data_table; + } + catch (Exception) + { + + } + } + + public int ExecuteQuery(string query) + { + int result = 0; + try + { + OracleCommand cmd = new OracleCommand(); + cmd.Connection = conn; + cmd.CommandText = query; + + conn.Open(); + result = cmd.ExecuteNonQuery(); + conn.Close(); + m_su = true; + } + + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + m_su = false; + } + return result; + } + + public int Nxt_ExecuteQuery(string query) + { + int result = 0; + try + { + MySqlCommand cmd = new MySqlCommand(); + cmd.Connection = nxt_conn; + cmd.CommandText = query; + + nxt_conn.Open(); + result = cmd.ExecuteNonQuery(); + nxt_conn.Close(); + m_su = true; + } + + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + m_su = false; + } + return result; + } + + } + +} diff --git a/MBN_STOCK_N/Class/HangulChar.cs b/MBN_STOCK_N/Class/HangulChar.cs new file mode 100644 index 0000000..ffc286e --- /dev/null +++ b/MBN_STOCK_N/Class/HangulChar.cs @@ -0,0 +1,293 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Util +{ + /// + /// 한글 문자 클래스: 현대 한글 문자에 대해 다양한 속성과 메서드를 제공하는 클래스입니다. + /// + public class HangulChar + { + // 한글에 대한 유니코드 범위 [44032, 55215] + private const int BeginCode = 0xAC00; + private const int EndCode = 0xD7AF; + + // 문자 구성: 초성, 중성, 종성 + private static readonly char[] Onset = { 'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', + 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ' }; + private static readonly char[] Nucleus = { 'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', + 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ' }; + private static readonly char[] Coda = { (char)0x00, 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', + 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ' }; + + // 문자 획수: 초성, 중성, 종성 + private static readonly int[] OnsetStrokes = { 1, 2, 1, 2, 4, 3, 3, 4, 8, 2, 4, 1, 2, 4, 3, 2, 3, 4, 3 }; + private static readonly int[] NucleusStrokes = + { 2, 3, 3, 4, 2, 3, 3, 4, 2, 4, 5, 3, 3, 2, 4, 5, 3, 3, 1, 2, 1 }; + private static readonly int[] CodaStrokes = + { 0, 1, 2, 3, 1, 3, 4, 2, 3, 4, 6, 7, 5, 6, 7, 6, 3, 4, 6, 2, 4, 1, 2, 3, 2, 3, 4, 3 }; + + /// + /// 문자로부터 한글 문자 클래스의 인스턴스를 생성합니다. + /// + /// 한글 문자(char) + public HangulChar(char character) + { + this.CurrentCharacter = character; + } + + /// + /// 유니코드로부터 한글 문자 클래스의 인스턴스를 생성합니다. + /// + /// 한글 문자(char)에 해당하는 유니코드 + public HangulChar(int unicode) + { + this.CurrentCharacter = Convert.ToChar(unicode); + } + + /// + /// 현재 인스턴스의 문자입니다. + /// + public char CurrentCharacter { get; private set; } + + /// + /// 현재 인스턴스 문자의 유니코드입니다. + /// + public int CurrentUnicode => (int)CurrentCharacter; + + /// + /// 인자의 음소 배열을 한글 음절로 합성합니다. + /// 반환값은 합성의 성공(가능) 여부를 나타냅니다. + /// + /// 초성, 중성(, 종성) 순의 한글 음소 배열 + /// 합성된 한글 음절 + /// + /// 이 null로 주어질 경우 + public static bool TryJoinToSyllable(char[] phonemes, out char syllable) + { + if (phonemes == null) { throw new ArgumentNullException(); } + + bool isSuccess = false; + // 초성, 중성(, 종성)으로 이루어진 문자 배열인지 확인 + if (phonemes.Length >= 2 && phonemes.Length <= 3) + { + bool check = Onset.Contains(phonemes[0]) && Nucleus.Contains(phonemes[1]); + isSuccess = phonemes.Length == 3 ? check && Coda.Contains(phonemes[2]) : check; + } + + syllable = (char)0x00; + // 한글 음절로의 합성이 불가능한 경우 + if (!isSuccess) + { + return false; + } + // 한글 음절로의 합성이 가능한 경우 + int onsetIndex = Array.IndexOf(Onset, phonemes[0]); + int nucleusIndex = Array.IndexOf(Nucleus, phonemes[1]); + int codaIndex = phonemes.Length == 3 ? Array.IndexOf(Coda, phonemes[2]) : 0; + int newCode = BeginCode + (onsetIndex * 588) + (nucleusIndex * 28) + codaIndex; + if (newCode < BeginCode || newCode > EndCode) + { + isSuccess = false; + } + else + { + syllable = Convert.ToChar(newCode); + } + + return isSuccess; + } + + /// + /// 인자의 음소 배열을 한글 음절로 합성합니다. + /// 합성이 불가능할 경우 예외를 발생시킵니다. + /// + /// 초성, 중성(, 종성) 순의 한글 음소 배열 + /// 인수의 배열이 합성 가능한 초성, 중성(, 종성)이 아닐 경우 + /// + public static char JoinToSyllable(char[] phonemes) + { + bool isSuccess = TryJoinToSyllable(phonemes, out char syllable); + + if (!isSuccess) + { + throw new InvalidOperationException("인수의 배열은 합성 가능한 한글 초성, 중성(, 종성)이 아닙니다."); + } + + return syllable; + } + + /// + /// 검색문자를 대상문자에 대해 (초성) 비교 후 일치 여부를 반환합니다. + /// 검색문자에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다. + /// + /// (초성) 비교할 문자 + /// 비교 대상 문자 + /// + public static bool IsOnsetMatch(char searchChar, char targetChar) + { + // 1. 검색문자가 초성인 경우 대응하는 대상문자도 초성을 비교 + // 2. 그렇지 않은 경우 대응하는 대상문자와 완전 일치 여부 비교 + HangulChar shc = new HangulChar(searchChar); + HangulChar thc = new HangulChar(targetChar); + if (shc.IsOnset() && thc.TrySplitSyllable(out char[] phonemes)) + { + targetChar = phonemes[0]; + } + + return searchChar == targetChar ? true : false; + } + + /// + /// 검색문자를 현재 인스턴스의 문자에 대해 (초성) 비교 후 일치 여부를 반환합니다. + /// 검색문자에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다. + /// + /// (초성) 비교할 문자 + /// + public bool IsOnsetMatch(char searchChar) + { + return HangulChar.IsOnsetMatch(searchChar, this.CurrentCharacter); + } + + /// + /// 초성으로 사용될 수 있는지 판단합니다. + /// + /// + public bool IsOnset() => Onset.Contains(CurrentCharacter); + + /// + /// 중성으로 사용될 수 있는지 판단합니다. + /// + /// + public bool IsNucleus() => Nucleus.Contains(CurrentCharacter); + + /// + /// 종성으로 사용될 수 있는지 판단합니다. + /// + /// + public bool IsCoda() => Coda.Contains(CurrentCharacter); + + /// + /// 자음인지 판단합니다. + /// + /// + public bool IsConsonant() => Onset.Contains(CurrentCharacter) || Coda.Contains(CurrentCharacter); + + /// + /// 모음인지 판단합니다. + /// + /// + public bool IsVowel() => Nucleus.Contains(CurrentCharacter); + + /// + /// 음소(낱소리)인지 판단합니다. + /// + /// + public bool IsPhoneme() => IsConsonant() || IsVowel(); + + /// + /// 음소(낱소리)가 아닌 완전한 한글 음절인지 판단합니다. + /// + /// + public bool IsSyllable() => BeginCode <= (int)CurrentCharacter && (int)CurrentCharacter <= EndCode; + + /// + /// 한글 문자인지 판단합니다. + /// + /// + public bool IsKoreanCharacter() => IsPhoneme() || IsSyllable(); + + /// + /// 한글 문자인지 판단합니다. (== IsKoreanCharacter()) + /// + /// + public bool IsHangul() => IsKoreanCharacter(); + + /// + /// 한글 음절을 초성, 중성, 종성 순으로 분리합니다. + /// 반환 결과는 분리의 성공(가능)여부를 나타냅니다. + /// + /// 초성, 중성, 종성 순으로 분리된 배열 + /// + public bool TrySplitSyllable(out char[] phonemes) + { + // 분리 가능한 한글이 아닌 경우 + if (!IsSyllable()) + { + phonemes = new char[] { (char)0x00, (char)0x00, (char)0x00 }; + return false; + } + + int foo = (int)CurrentCharacter - BeginCode; + int onsetIndex = (int)foo / 588; + int nucleusIndex = (int)(foo - onsetIndex * 588) / 28; + int codaIndex = foo - onsetIndex * 588 - 28 * nucleusIndex; + + phonemes = new char[] { Onset[onsetIndex], Nucleus[nucleusIndex], Coda[codaIndex] }; + return true; + } + + /// + /// 한글 음절을 초성, 중성, 종성 순으로 분리합니다. + /// 분리가 불가능한 경우 예외를 발생시킵니다. + /// + /// 인스턴스의 문자가 분리 가능한 한글이 아닌 경우 + /// + public char[] SplitSyllable() + { + bool isSuccess = TrySplitSyllable(out char[] phonemes); + + if (!isSuccess) + { + throw new InvalidOperationException("인스턴스의 문자가 분리 가능한 한글이 아닙니다."); + } + + return phonemes; + } + + /// + /// 한글 획수를 반환합니다. 한글이 아닌 문자의 경우 0을 반환합니다. + /// + /// + public int CountStrokes() + { + // 한글이 아닌 경우 0을 반환 + if (!IsHangul()) + { + return 0; + } + + int count; + // 한글 - 음소인 경우 + if (IsPhoneme()) + { + if (IsOnset()) + { + count = OnsetStrokes[Array.IndexOf(Onset, CurrentCharacter)]; + } + else if (IsNucleus()) + { + count = NucleusStrokes[Array.IndexOf(Nucleus, CurrentCharacter)]; + } + else + { + count = CodaStrokes[Array.IndexOf(Coda, CurrentCharacter)]; + } + } + // 한글 - 분리 가능한 음절인 경우 + else + { + _ = TrySplitSyllable(out char[] phonemes); + count = OnsetStrokes[Array.IndexOf(Onset, phonemes[0])]; + count += NucleusStrokes[Array.IndexOf(Nucleus, phonemes[1])]; + count += CodaStrokes[Array.IndexOf(Coda, phonemes[2])]; + } + + return count; + + } + } +} diff --git a/MBN_STOCK_N/Class/HangulString.cs b/MBN_STOCK_N/Class/HangulString.cs new file mode 100644 index 0000000..941d8e8 --- /dev/null +++ b/MBN_STOCK_N/Class/HangulString.cs @@ -0,0 +1,328 @@ + using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Util +{ + /// + /// 한글 문자열 클래스: (한글을 포함한) 문자열에 대해 한글 처리에 관련된 다양한 속성과 메서드를 제공하는 클래스입니다. + /// + public class HangulString + { + /// + /// 문자열로부터 한글 문자열 클래스의 인스턴스를 생성합니다. + /// + /// 인스턴스를 생성할 문자열 + public HangulString(string aString) => CurrentString = aString; + + /// + /// 현재 인스턴스의 문자열입니다. + /// + public string CurrentString { get; private set; } + + /// + /// 문자열을 HangulChar 클래스 인스턴스의 배열로 변환하여 반환합니다. + /// + /// + /// + /// 입력 인자가 null인 경우 + public static HangulChar[] ToHangulCharArray(string aString) + { + if (aString is null) + { + throw new ArgumentNullException(); + } + return aString.ToCharArray().Select(c => new HangulChar(c)).ToArray(); + } + + /// + /// 문자열을 한글 문자열 부분과 나머지 문자열 부분으로 구분하여 반환합니다. + /// + /// + /// + /// 입력 인자가 null인 경우 + public static string[] SeparateString(string aString) + { + if (aString is null) + { + throw new ArgumentNullException(); + } + + string[] result = new string[2]; + StringBuilder sbKorean = new StringBuilder(); + StringBuilder sbOthers = new StringBuilder(); + foreach (char c in aString) + { + HangulChar hc = new HangulChar(c); + if (hc.IsKoreanCharacter()) + { + sbKorean.Append(c); + } + else + { + sbOthers.Append(c); + } + } + result[0] = sbKorean.ToString(); + result[1] = sbOthers.ToString(); + return result; + } + + /// + /// 문자열이 모두 한글로만 이루어져 있는지의 여부를 반환합니다. + /// + /// + /// + public static bool IsAllHangul(string aString) + { + string checkPoint = HangulString.SeparateString(aString)[1]; + if (checkPoint.Length > 0) + { + return false; + } + else + { + return true; + } + } + + /// + /// 문자열에 대해 한글 음절을 초성, 중성, 종성으로 분리하여 반환합니다. + /// + /// + /// + /// 이 null인 경우 + public static string SplitToPhonemes(string aString) + { + if (aString == null) + { + throw new ArgumentNullException(); + } + + StringBuilder sb = new StringBuilder(); + foreach (char c in aString) + { + HangulChar hc = new HangulChar(c); + // 한글 음절로 판명되어 분리가 가능한 경우 + if (hc.TrySplitSyllable(out char[] phonemes)) + { + foreach (char pc in phonemes) + { + // 초성-중성으로만 이루어져 있는 경우 종성은 반환 문자열에 포함하지 않음 + if (pc != (char)0x00) + { + sb.Append(pc); + } + } + } + // 한글 음절이 아닌 경우 + else + { + sb.Append(c); + } + } + return sb.ToString(); + } + + /// + /// 문자열 내의 초성, 중성, 종성 음소를 합성하여 반환합니다. + /// 의도하지 않은 반환 결과를 피하기 위해 일반적으로 사용하는 방식의 + /// (완전한 한글 음절이 분리된) 자음/모음으로 구성된 문자열을 인수로 사용할 것을 권장합니다. + /// + /// + /// + /// 이 null인 경우 + public static string JoinPhonemes(string aString) + { + if (aString == null) { throw new ArgumentNullException(); } + StringBuilder sb = new StringBuilder(); + int curIdx = 0; + int lastIdx = aString.Length - 1; + // 마지막 인덱스 이후의 값 판단에 대한 예외를 피하기 위해 대상 문자열에 10개의 공백 임시 추가 + string newString = aString + new string(' ', 10); + + while (curIdx <= lastIdx) + { + // 현재 인덱스의 문자 + HangulChar hc = new HangulChar(newString[curIdx]); + // 현재 인덱스의 문자가 음소가 아닌 경우 현재 문자를 더하고 다음 인덱스로 이동 + if (!hc.IsPhoneme()) + { + sb.Append(hc.CurrentCharacter); + curIdx++; + continue; + } + + // 현재 인덱스의 문자가 음소인 경우에 대해 + // (1) 현재 인덱스로부터 2글자 합성이 가능하고 + // (2)-A 이후 첫 글자가 한글이 아니거나 + // (2)-B 이후 두 글자(초성-중성)가 합성이 가능한 경우 + // 현재 인덱스로부터 2글자를 합성하고, 인덱스를 2칸 전진 + bool isCur2SpanOk = HangulChar.TryJoinToSyllable( + new char[] { newString[curIdx], newString[curIdx + 1] }, + out char cur2SpanSyllable); + bool isCur2Next1Ok = !(new HangulChar(newString[curIdx + 2])).IsHangul(); + bool isCur2Next2Ok = HangulChar.TryJoinToSyllable( + new char[] { newString[curIdx + 2], newString[curIdx + 3] }, + out char _); + // (3) 현재 인덱스로부터 3글자 합성이 가능하고 + // (4)-A 이후 첫 글자가 한글이 아니거나 + // (4)-B 이후 두 글자(초성-중성)가 합성이 가능한 경우 + // 현재 인덱스로부터 3글자를 합성하고, 인덱스를 3칸 전진 + bool isCur3SpanOk = HangulChar.TryJoinToSyllable( + new char[] { newString[curIdx], newString[curIdx + 1], newString[curIdx + 2] }, + out char cur3SpanSyllable); + bool isCur3Next1Ok = !(new HangulChar(newString[curIdx + 3])).IsHangul(); + bool isCur3Next2Ok = HangulChar.TryJoinToSyllable( + new char[] { newString[curIdx + 3], newString[curIdx + 4] }, + out char _); + + // 상기 논리에 의한 판단부 + // 2글자 기준 판단 + if (isCur2SpanOk && (isCur2Next1Ok || isCur2Next2Ok)) + { + sb.Append(cur2SpanSyllable); + curIdx += 2; + } + // 3글자 기준 판단 + else if (isCur3SpanOk && (isCur3Next1Ok || isCur3Next2Ok)) + { + sb.Append(cur3SpanSyllable); + curIdx += 3; + } + else + { + sb.Append(hc.CurrentCharacter); + curIdx++; + } + } + + return sb.ToString(); + } + + /// + /// 문자열에 대해 초성 검색을 실시합니다. 반환값은 초성 검색에 대한 결과의 존재여부입니다. + /// 검색 문자열에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다. + /// + /// 검색할 문자열 + /// 대상 문자열 + /// (초성)일치가 발견된 대상 문자열 내 인덱스 배열 + /// + /// 또는 이 null인 경우 + public static bool GetOnsetMatches(string searchString, string targetString, out int[] indices) + { + if (searchString == null || targetString == null) + { + throw new ArgumentNullException(); + } + + List idxs = new List(); + + // 검색 문자열의 길이가 대상 문자열의 길이보다 긴 경우 + if (searchString.Length > targetString.Length) + { + indices = idxs.ToArray(); + return false; + } + + // 대상 문자열 내의 인덱스를 증가시켜 가며 + for (int curIdx = 0; curIdx < targetString.Length - searchString.Length + 1; curIdx++) + { + // 해당 인덱스로부터 검색 문자열의 길이만큼 초성일치 검색 수행 + // 초성 일치가 될 경우 해당 인덱스 저장 + bool isMatch = true; + for (int chkIdx = curIdx; chkIdx < curIdx + searchString.Length; chkIdx++) + { + if (!HangulChar.IsOnsetMatch(searchString[chkIdx - curIdx], targetString[chkIdx])) + { + isMatch = false; + break; + } + } + if (isMatch) + { + idxs.Add(curIdx); + } + } + indices = idxs.ToArray(); + if (indices.Length > 0) + { + return true; + } + else + { + return false; + } + } + + /// + /// 현재 인스턴스의 문자열을 HangulChar 클래스 인스턴스의 배열로 변환하여 반환합니다. + /// + /// + public HangulChar[] ToHangulCharArray() => HangulString.ToHangulCharArray(CurrentString); + + /// + /// 현재 인스턴스의 문자열을 한글 문자열 부분과 나머지 문자열 부분으로 구분하여 반환합니다. + /// + /// + public string[] SeparateString() => HangulString.SeparateString(CurrentString); + + /// + /// 현재 인스턴스의 문자열이 모두 한글로만 이루어져 있는지의 여부를 반환합니다. + /// + /// + public bool IsAllHangul() => HangulString.IsAllHangul(CurrentString); + + /// + /// 현재 인스턴스의 문자열에 대해 한글 음절을 초성, 중성, 종성으로 분리하여 반환합니다. + /// + /// + public string SplitToPhonemes() => HangulString.SplitToPhonemes(CurrentString); + + /// + /// 인스턴스 문자열 내의 초성, 중성, 종성 음소를 합성하여 반환합니다. + /// 의도하지 않은 반환 결과를 피하기 위해 일반적으로 사용하는 방식의 + /// (완전한 한글 음절이 분리된) 자음/모음으로 구성된 문자열을 인수로 사용할 것을 권장합니다. + /// + /// + public string JoinPhonemes() => HangulString.JoinPhonemes(CurrentString); + + /// + /// 인스턴스 문자열의 길이(글자수)를 반환합니다. + /// + /// + /// 윈도우 시스템에서는 개행문자가 2글자(2바이트)로 취급됨에 유의해야 합니다. + /// + /// 공백문자(whitespace) 무시 여부 + /// + public int GetStringLength(bool ignoreWhiteSpcaes = false) + { + string inputString = ignoreWhiteSpcaes ? RemoveWhiteSpaces(CurrentString) : CurrentString; + return inputString.Length; + } + + /// + /// 현재 인코딩에 대해 인스턴스 문자열의 길이(바이트)를 반환합니다. + /// + /// + /// 윈도우 시스템에서는 개행문자가 2글자(2바이트)로 취급됨에 유의해야 합니다. + /// + /// 공백문자(whitespace) 무시 여부 + /// + public int GetStringByteLength(bool ignoreWhiteSpcaes = false) + { + string inputString = ignoreWhiteSpcaes ? RemoveWhiteSpaces(CurrentString) : CurrentString; + return Encoding.Default.GetByteCount(inputString); + } + + /// + /// 인수의 문자열에서 공백문자(whitespace)를 제거한 문자열을 반환합니다. + /// + /// + /// + private static string RemoveWhiteSpaces(string aString) => + new string(aString.Where(c => !char.IsWhiteSpace(c)).Select(c => c).ToArray()); + } +} diff --git a/MBN_STOCK_N/Class/Nxt_PageN.cs b/MBN_STOCK_N/Class/Nxt_PageN.cs new file mode 100644 index 0000000..93cbcb1 --- /dev/null +++ b/MBN_STOCK_N/Class/Nxt_PageN.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class Nxt_PageN + { + MainForm mf = null; + public int m_pcnt = 0; + + // public PageN(Form frm, string code, string sub) + public Nxt_PageN(Form frm, string code, string sub, string title) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + 국내시장종류 type = 국내시장종류.NXT_KOSPI; + + if (code.Equals("코스닥_NXT")) + { + type = 국내시장종류.NXT_KOSDAQ; + } + + if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시가총액); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.상승률); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.하락률); + } + else if (sub.Contains("시간외상승")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + } + else if (sub.Contains("시간외하락")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + } + else if (sub.Contains("거래량")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.거래량); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + int a = 0; + int b = 0; + if (title.Contains("6종목 현재가")) + { + a = (mf.dataGridView1.RowCount - 1) / 6; + b = (mf.dataGridView1.RowCount - 1) % 6; + } + else if (title.Contains("12종목 현재가")) + { + a = (mf.dataGridView1.RowCount - 1) / 12; + b = (mf.dataGridView1.RowCount - 1) % 12; + } + else + { + a = (mf.dataGridView1.RowCount - 1) / 5; + b = (mf.dataGridView1.RowCount - 1) % 5; + } + + if (a > 20) + { + a = 20; + } + else + { + if (b != 0) + a = a + 1; + } + m_pcnt = a; + } + catch(Exception) + { + //MessageBox.Show("데이터가 없습니다"); + } + + //MessageBox.Show(a.ToString()); + } + } +} diff --git a/MBN_STOCK_N/Class/PageN.cs b/MBN_STOCK_N/Class/PageN.cs new file mode 100644 index 0000000..e5a107d --- /dev/null +++ b/MBN_STOCK_N/Class/PageN.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class PageN + { + MainForm mf = null; + public int m_pcnt = 0; + + // public PageN(Form frm, string code, string sub) + public PageN(Form frm, string code, string sub, string title) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + 국내시장종류 type = 국내시장종류.KOSPI; + + if (code.Equals("코스닥")) + { + type = 국내시장종류.KOSDAQ; + } + + if (sub.Contains("예상가 시가총액 상위")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.예상가시가총액상위); + } + else if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시가총액); + } + else if (sub.Contains("업종지수")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.업종); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.상승률); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.하락률); + } + else if (sub.Contains("시간외상승")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + } + else if (sub.Contains("시간외하락")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + } + else if (sub.Contains("52주 신고가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신고가52주); + + } + else if (sub.Contains("52주 신저가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신저가52주); + + } + else if (sub.Contains("코스피 200 종목")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.코스피200); + } + + else if (sub.Contains("ETF 종목")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.ETF); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + int a = 0; + int b = 0; + if (title.Contains("6종목 현재가")) + { + a = (mf.dataGridView1.RowCount - 1) / 6; + b = (mf.dataGridView1.RowCount - 1) % 6; + } + else if (title.Contains("12종목 현재가")) + { + a = (mf.dataGridView1.RowCount - 1) / 12; + b = (mf.dataGridView1.RowCount - 1) % 12; + } + else + { + a = (mf.dataGridView1.RowCount - 1) / 5; + b = (mf.dataGridView1.RowCount - 1) % 5; + } + + if (a > 20) + { + a = 20; + } + else + { + if (b != 0) + a = a + 1; + } + m_pcnt = a; + } + catch(Exception) + { + //MessageBox.Show("데이터가 없습니다"); + } + + //MessageBox.Show(a.ToString()); + } + } +} diff --git a/MBN_STOCK_N/Class/Program.cs b/MBN_STOCK_N/Class/Program.cs new file mode 100644 index 0000000..e9ce935 --- /dev/null +++ b/MBN_STOCK_N/Class/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + static class Program + { + /// + /// 해당 애플리케이션의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/MBN_STOCK_N/Class/Util.cs b/MBN_STOCK_N/Class/Util.cs new file mode 100644 index 0000000..8f48576 --- /dev/null +++ b/MBN_STOCK_N/Class/Util.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; +using FarPoint.Win.Spread; +using System.Windows.Forms; + + +class Util +{ + public Util() + { + + } +} + + diff --git a/MBN_STOCK_N/Control/UC1.Designer.cs b/MBN_STOCK_N/Control/UC1.Designer.cs new file mode 100644 index 0000000..c3e5237 --- /dev/null +++ b/MBN_STOCK_N/Control/UC1.Designer.cs @@ -0,0 +1,96 @@ + +namespace MBN_STOCK_N +{ + partial class UC1 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.treeView = new System.Windows.Forms.TreeView(); + this.label1 = new System.Windows.Forms.Label(); + this.chE = new System.Windows.Forms.CheckBox(); + this.SuspendLayout(); + // + // treeView + // + this.treeView.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.treeView.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.treeView.ForeColor = System.Drawing.Color.Black; + this.treeView.Location = new System.Drawing.Point(3, 42); + this.treeView.Name = "treeView"; + this.treeView.Size = new System.Drawing.Size(416, 780); + this.treeView.TabIndex = 1; + this.treeView.BeforeCollapse += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeCollapse); + this.treeView.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeExpand); + this.treeView.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_DrawNode); + this.treeView.BeforeSelect += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeSelect); + this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterSelect); + this.treeView.DoubleClick += new System.EventHandler(this.treeView_DoubleClick); + this.treeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseDown); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(7, 22); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(62, 15); + this.label1.TabIndex = 4; + this.label1.Text = "Category"; + // + // chE + // + this.chE.AutoSize = true; + this.chE.Location = new System.Drawing.Point(8, 4); + this.chE.Name = "chE"; + this.chE.Size = new System.Drawing.Size(67, 16); + this.chE.TabIndex = 3; + this.chE.Text = "Expand"; + this.chE.UseVisualStyleBackColor = true; + this.chE.CheckedChanged += new System.EventHandler(this.chE_CheckedChanged); + // + // UC1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.label1); + this.Controls.Add(this.chE); + this.Controls.Add(this.treeView); + this.Name = "UC1"; + this.Size = new System.Drawing.Size(524, 890); + this.Load += new System.EventHandler(this.UC1_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TreeView treeView; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.CheckBox chE; + } +} diff --git a/MBN_STOCK_N/Control/UC1.cs b/MBN_STOCK_N/Control/UC1.cs new file mode 100644 index 0000000..caf03eb --- /dev/null +++ b/MBN_STOCK_N/Control/UC1.cs @@ -0,0 +1,1428 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; +using System.Diagnostics.Eventing.Reader; + +namespace MBN_STOCK_N +{ + public partial class UC1 : UserControl + { + string[] m_pbuf = new string[20]; + string[,] m_sbuf = new string[20, 50]; + int[] m_row = new int[20]; + int m_idx = 0; + public TreeNode[] m_node = new TreeNode[20]; + + MainForm mf = null; + UC2 uc_2 = null; + UC3 uc_3 = null; + public string m_File = string.Empty; + int scnt = 0; + + public UC1(Form frm, string File, Control ct1, Control ct2) + { + mf = (MainForm)frm; + uc_2 = (UC2)ct1; + uc_3 = (UC3)ct2; + m_File = File; + InitializeComponent(); + } + + private void UC1_Load(object sender, EventArgs e) + { + try + { + + treeView.Font = new System.Drawing.Font("나눔고딕", 11.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + + INI_parser(Environment.CurrentDirectory + @"\Res\" + m_File + ".ini"); + treeView.DrawMode = TreeViewDrawMode.OwnerDrawText; + + ImageList imgList = new ImageList(); + imgList.Images.Add(Bitmap.FromFile(Environment.CurrentDirectory + @"\Res\a.png")); + imgList.Images.Add(Bitmap.FromFile(Environment.CurrentDirectory + @"\Res\aa.png")); + imgList.Images.Add(Bitmap.FromFile(Environment.CurrentDirectory + @"\Res\dot.png")); + treeView.ImageList = imgList; + + if (m_File == "종목비교") + scnt = 1; + + for (int i = scnt; i < m_idx; i++) + { + m_node[i] = new TreeNode(m_pbuf[i], 0, 0); + m_node[i].Tag = (i + 1).ToString(); + + for (int j = 0; j < m_row[i]; j++) + { + m_node[i].Nodes.Add(i.ToString() + j.ToString(), m_sbuf[i, j].Replace("&", "&").Trim(), 2, 1); + } + + treeView.Nodes.Add(m_node[i]); + } + chE.Checked = true; + //treeView.ExpandAll(); + + treeView.SelectedNode = m_node[scnt]; + m_node[scnt].EnsureVisible(); + + //------------------ + } + catch(Exception) + { + + } + } + + public void INI_parser(string path) + { + try + { + string str = string.Empty; + + m_idx = 0; + m_row = Enumerable.Repeat(0, 20).ToArray(); + + StreamReader sr = new StreamReader(path, Encoding.Default); + if (sr != null) + { + while (sr.Peek() > -1) + { + str = sr.ReadLine(); str = str.Trim(); + + if (str != "") + { + if (str.Substring(0, 1) == "[") + { + m_pbuf[m_idx] = str; + m_idx += 1; + } + else + { + m_sbuf[m_idx - 1, m_row[m_idx - 1]] = str; + m_row[m_idx - 1] += 1; + } + } + } + } + } + catch (Exception) + { + + } + } + + private void treeView_AfterSelect(object sender, TreeViewEventArgs e) + { + //string nodeKey = e.Node.Name; + //if (!string.IsNullOrEmpty(nodeKey)) + //{ + // //MessageBox.Show("선택된 노드 키 : " + nodeKey); + + // e.Node.BackColor = Color.Black; + // e.Node.ForeColor = Color.Black; + + //} + } + + private void treeView_BeforeSelect(object sender, TreeViewCancelEventArgs e) + { + //if (treeView1.SelectedNode != null) + // // 이전에 선택 된 TreeNode의 폰트를 원상태로 표시한다. + // treeView1.SelectedNode.NodeFont = new Font(treeView1.Font, FontStyle.Regular); + } + + private void treeView_DoubleClick(object sender, EventArgs e) + { + try + { + string[] buf = new string[100]; + int cnt = 0; + int row = 0; + string data1 = string.Empty; + string data2 = string.Empty; + string tstr = string.Empty; + string str = string.Empty; + string str1 = string.Empty; + + if (((TreeView)sender).SelectedNode.FullPath != null) + { + str = ((TreeView)sender).SelectedNode.FullPath; + + if (!str.Contains("\\")) + { + foreach (TreeNode child in ((TreeView)sender).SelectedNode.Nodes) + { + buf[cnt] = child.Text; + cnt += 1; + } + + str1 = str.Replace("[", "").Replace("]", "").Trim(); + + string ss = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) + "," + uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3); + + if ((str1 == "종목별 수익률 비교") && (ss.Contains("NXT"))) + { + MessageBox.Show("NXT는 제공하지 않습니다."); + return; + } + + + for (int i = 0; i < cnt; i++) + { + row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + if (m_File == "해외" || m_File == "환율") + { + if (m_File == "해외") + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외지수"); + else if (m_File == "환율") + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "환율"); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, buf[i].Replace("&&", "&").Trim()); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str.Replace("[", "").Replace("]", "").Trim()); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + if (buf[i].IndexOf('_') > 0) + { + data1 = buf[i].Substring(0, buf[i].IndexOf('_')); + data2 = buf[i].Substring(buf[i].IndexOf('_') + 1, buf[i].Length - buf[i].IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + } + + else if (m_File == "업종_코스피" || m_File == "업종_코스닥") + { + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, m_File); + + if (uc_2.listbox.SelectedIndex != -1) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, (string)uc_2.listbox.SelectedItem); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + if (buf[i].IndexOf('_') > 0) + { + data1 = buf[i].Substring(0, buf[i].IndexOf('_')); + data2 = buf[i].Substring(buf[i].IndexOf('_') + 1, buf[i].Length - buf[i].IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + else + { + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, buf[i]); + if (buf[i] == "5단 표그래프") + { + //페이지 수 + //mf.m_lcnt = 0; + +// string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { +// s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, "코스피_NXT", "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + // s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, "코스닥_NXT", "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { +// s = "코스피"; + PageN page = new PageN(mf, "코스피", "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { +// s = "코스닥"; + PageN page = new PageN(mf, "코스닥", "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (buf[i] == "6종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + //nxt20250330 PageN page = new PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + + } + else if (buf[i] == "12종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + + if (buf[i] == "2열판") + { + if (uc_2.txt1.Text != "" && uc_2.txt2.Text != "") + { + tstr = uc_2.txt1.Text + "-" + uc_2.txt2.Text; + mf.PlayList.ActiveSheet.SetText(row - 1, 2, tstr); + + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + } + else if (buf[i].Contains("1열판")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, (string)uc_2.listbox.SelectedItem); + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, m_File.Substring(m_File.IndexOf('_') + 1, m_File.Length - m_File.IndexOf('_') - 1)); + } + } + + + + } + else + { + if (buf[i] == "네모그래프" || buf[i] == "섹터지수" || buf[i] == "5단 표그래프" || buf[i] == "6종목 현재가") + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, m_File.Substring(m_File.IndexOf('_') + 1, m_File.Length - m_File.IndexOf('_') - 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, buf[i]); + + if (buf[i] == "5단 표그래프") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + + } + else if (buf[i] == "6종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + } + else if (buf[i] == "12종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", buf[i]); //12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + } + + else + { + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + } + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + + } + } + else if (m_File == "종목비교") + { + string a = string.Empty; + string s = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 1); + + if (uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) != "" && uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3) != "") + { + a = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) + "," + uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, a); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, buf[i]); + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + } + else if (m_File == "지수") + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, "지수"); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + str1 = str.Replace("[", "").Replace("]", "").Trim(); + if (str1 == "매매동향") + { + if (buf[i].IndexOf('_') > 0) + { + if (buf[i].Contains("코스피_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + else if (buf[i].Contains("코스닥_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + else if (buf[i].Contains("코스피")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + else if (buf[i].Contains("코스닥")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + else + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].IndexOf('_') - (buf[i].IndexOf("\\") + 1)); + data2 = buf[i].Substring(buf[i].IndexOf('_') + 1, buf[i].Length - buf[i].IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + } + else if (str1 == "5단 표그래프") + { + if (buf[i].Contains("코스피_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스피")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("ETF")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + + return; + } + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, buf[i]); + } + else if (str1 == "6종목 현재가") + { + if (buf[i].Contains("코스피_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 6종목 현재가 + + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 6종목 현재가 + + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스피")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 6종목 현재가 + + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 6종목 현재가 + + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("ETF")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 6종목 현재가 + + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + return; + } + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, buf[i]); + } + else if (str1 == "12종목 현재가") + { + if (buf[i].Contains("코스피_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥_NXT")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스피")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("코스닥")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (buf[i].Contains("ETF")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + data1 = buf[i].Substring(buf[i].IndexOf("\\") + 1, buf[i].Length - (buf[i].IndexOf("\\") + 1)); + + //페이지 수 + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + return; + } + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, buf[i]); + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, str1.Replace("[", "").Replace("]", "").Trim()); + + + if (buf[i].IndexOf('_') > 0) + { + data1 = buf[i].Substring(0, buf[i].IndexOf('_')); + data2 = buf[i].Substring(buf[i].IndexOf('_') + 1, buf[i].Length - buf[i].IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + } + } + + } + } + else + { + row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + string s1 = str.Substring(0, str.IndexOf("\\")).Replace("[", "").Replace("]", "").Trim(); + string s2 = str.Substring(str.IndexOf("\\"), str.Length - str.IndexOf("\\")).Substring(1).Replace("&&", "&").Trim(); + + if (m_File == "해외" || m_File == "환율") + { + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + if (m_File == "해외") + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외지수"); + else if (m_File == "환율") + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "환율"); + + if (s2.IndexOf('_') > 0) + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s2.Substring(0, s2.IndexOf('_'))); + else + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s2); + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, s1); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + if (str.IndexOf('_') > 0) + { + data2 = str.Substring(str.IndexOf('_') + 1, str.Length - str.IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + } + + else if (m_File == "업종_코스피" || m_File == "업종_코스닥") + { + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, m_File); + + if (uc_2.listbox.SelectedIndex != -1) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, (string)uc_2.listbox.SelectedItem); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + if (s2.IndexOf('_') > 0) + { + data1 = s2.Substring(0, s2.IndexOf('_')); + data2 = s2.Substring(s2.IndexOf('_') + 1, s2.Length - s2.IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + else + { + if (s2 == "2열판") + { + if (uc_2.txt1.Text != "" && uc_2.txt2.Text != "") + { + tstr = uc_2.txt1.Text + "-" + uc_2.txt2.Text; + mf.PlayList.ActiveSheet.SetText(row - 1, 2, tstr); + + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + } + else if (s2.Contains("1열판")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, (string)uc_2.listbox.SelectedItem); + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, m_File.Substring(m_File.IndexOf('_') + 1, m_File.Length - m_File.IndexOf('_') - 1)); + } + mf.PlayList.ActiveSheet.SetText(row - 1, 3, s2); + } + + if (s2 == "5단 표그래프") // 5단 표그래프 + { + string s = string.Empty; + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); // 5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); // 5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (s2 == "6종목 현재가") // 6종목 현재가 + { + string s = string.Empty; + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (s2 == "12종목 현재가") // 12종목 현재가 + { + string s = string.Empty; + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + //mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString());) + + } + else + { + if (s2 == "네모그래프" || s2 == "섹터지수" || s2 == "5단 표그래프" || s2 == "6종목 현재가") + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, m_File.Substring(m_File.IndexOf('_') + 1, m_File.Length - m_File.IndexOf('_') - 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, s2); + + if (s2 == "5단 표그래프") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + } + else if (s2 == "6종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); // 6종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (s2 == "12종목 현재가") + { + //페이지 수 + //mf.m_lcnt = 0; + + string s = string.Empty; + + if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피_NXT")) + { + s = "코스피_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥_NXT")) + { + s = "코스닥_NXT"; + Nxt_PageN page = new Nxt_PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스피")) + { + s = "코스피"; + PageN page = new PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else if (mf.PlayList.ActiveSheet.GetText(row - 1, 1).Contains("코스닥")) + { + s = "코스닥"; + PageN page = new PageN(mf, s, "업종지수", s2); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + + } + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + } + + } + else if (m_File == "종목비교") + { + string a = string.Empty; + string s = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 1); + + if (uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) != "" && uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3) != "") + { + a = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) + "," + uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3); + s1 = str.Substring(0, str.IndexOf("\\")).Replace("[", "").Replace("]", "").Trim(); + s2 = str.Substring(str.IndexOf("\\"), str.Length - str.IndexOf("\\")).Substring(1).Replace("&&", "&").Trim(); + + if ((s1 == "종목별 수익률 비교") && (a.Contains("NXT"))) + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + MessageBox.Show("NXT는 제공하지 않습니다."); + return; + } + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, a); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, s1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, s2); + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + } + else + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + } + else if (m_File == "지수") + { + mf.PlayList.ActiveSheet.SetText(row - 1, 2, "지수"); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + str1 = str.Replace("[", "").Replace("]", "").Trim().Substring(0, str.IndexOf("\\") -2); + + if (str1 == "매매동향") + { + if (str.IndexOf('_') > 0) + { + if (str.Contains("코스피_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + else if (str.Contains("코스닥_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + else if (str.Contains("코스피")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + else if (str.Contains("코스닥")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + else + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + + data1 = str.Substring(str.IndexOf("\\") +1, str.IndexOf('_') - (str.IndexOf("\\") + 1)); + data2 = str.Substring(str.IndexOf('_') + 1, str.Length - str.IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + else + { + //mf.PlayList.ActiveSheet.RemoveRows(mf.PlayList.ActiveSheet.ActiveRowIndex, 1); + str = str.Substring(str.IndexOf("\\") + 1, str.Length - str.IndexOf(" ") + 2); + + mf.PlayList.ActiveSheet.SetText(row - 1, 1, str); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "순매도 상위"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "순매도 상위"); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + FSell fm = new FSell(mf, str.Substring(0, str.IndexOf(" "))); + fm.ShowDialog(); + if (mf.m_st == 0) + { + mf.PlayList.ActiveSheet.RemoveRows(row-1, 1); + } + mf.m_st = 1; + + } + } + else if (str1 == "5단 표그래프") + { + if (str.Contains("코스피_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + else if (str.Contains("코스닥_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + else if (str.Contains("코스피")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + else if (str.Contains("코스닥")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + else + { + if (str.Contains("VI")) + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + VILIST fm = new VILIST(mf); + fm.ShowDialog(); + return; + } + else + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + } + + data1 = str.Substring(str.IndexOf("\\") + 1, str.Length - (str.IndexOf("\\") + 1)); + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data1); + + + //페이지 수 + if (str.Contains("_NXT")) + { + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (str1 == "6종목 현재가") + { + if (str.Contains("코스피_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + else if (str.Contains("코스닥_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + else if (str.Contains("코스피")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + else if (str.Contains("코스닥")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + else + { + if (str.Contains("VI")) + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + VILIST fm = new VILIST(mf); + fm.ShowDialog(); + return; + } + else + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + } + + data1 = str.Substring(str.IndexOf("\\") + 1, str.Length - (str.IndexOf("\\") + 1)); + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data1); + + + //페이지 수 + //mf.m_lcnt = 0; + if (str.Contains("_NXT")) + { + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); //5단 표그래프 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else if (str1 == "12종목 현재가") + { + if (str.Contains("코스피_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피_NXT"); + else if (str.Contains("코스닥_NXT")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥_NXT"); + else if (str.Contains("코스피")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스피"); + else if (str.Contains("코스닥")) + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "코스닥"); + else + { + if (str.Contains("VI")) + { + mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + VILIST fm = new VILIST(mf); + fm.ShowDialog(); + return; + } + else + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "전체"); + } + + data1 = str.Substring(str.IndexOf("\\") + 1, str.Length - (str.IndexOf("\\") + 1)); + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data1); + + + //페이지 수 + //mf.m_lcnt = 0; + if (str.Contains("_NXT")) + { + Nxt_PageN page = new Nxt_PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + else + { + PageN page = new PageN(mf, mf.PlayList.ActiveSheet.GetText(row - 1, 1), data1, str1); // 12종목 현재가 + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/" + page.m_pcnt.ToString()); + } + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, str1.Replace("[", "").Replace("]", "").Trim()); + + + if (str.IndexOf('_') > 0) + { + data1 = str.Substring(str.IndexOf("\\") + 1, str.IndexOf('_') - (str.IndexOf("\\") + 1)); + data2 = str.Substring(str.IndexOf('_') + 1, str.Length - str.IndexOf('_') - 1); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + } + } + } + + } + + if (str1 == "2열판") + { + string s = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 1); + + row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + if (s.Contains("지수")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "지수"); + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "종목"); + } + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + + //mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + else if (str1 == "2열판 예상체결") + { + string s = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 1); + if (s.Contains("NXT")) + { + MessageBox.Show("NXT는 제공하지 않습니다."); + return; + } + + row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + if (s.Contains("지수")) + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "지수"); + } + else + { + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "종목"); + } + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "2열판"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "예상체결"); + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + } + else if (str1 == "종목별 비교분석_캔들 그래프" || str1 == "종목별 비교분석_라인 그래프") + { + string a = string.Empty; + string s = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 1); + + if (s.Contains("NXT")) + { + MessageBox.Show("NXT는 제공하지 않습니다."); + return; + } + if (uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) != "" && uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3) != "") + { + a = uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 2) + "," + uc_3.FpSpread.ActiveSheet.GetText(uc_3.FpSpread.ActiveSheet.ActiveRowIndex, 3); + + row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, a); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/1"); + } + + //mf.PlayList.ActiveSheet.RemoveRows(row - 1, 1); + } + + + } + + + } + catch(Exception) + { + + } + } + + bool treeCanExpand = false; + + private void treeView_BeforeExpand(object sender, TreeViewCancelEventArgs e) + { + //if (m_chk == 1) + //{ + // m_chk = 0; + //} + //else + //{ + if (treeCanExpand == true && e.Action == TreeViewAction.Expand) + { e.Cancel = true; } + //} + + + } + + private void treeView_BeforeCollapse(object sender, TreeViewCancelEventArgs e) + { + //if (m_chk == 1) + //{ + // m_chk = 0; + //} + //else + //{ + if (treeCanExpand == true && e.Action == TreeViewAction.Collapse) + { e.Cancel = true; } + //} + + } + + private void treeView_MouseDown(object sender, MouseEventArgs e) + { + if (e.Clicks > 1) + treeCanExpand = true; + else + treeCanExpand = false; + } + + private void treeView_DrawNode(object sender, DrawTreeNodeEventArgs e) + { + + //this.treeView.Font = new System.Drawing.Font("나눔고딕", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + + Color back = (e.State & TreeNodeStates.Selected) == TreeNodeStates.Selected ? Color.LightGray : Color.White; + Color back1 = (e.State & TreeNodeStates.Selected) == TreeNodeStates.Selected ? Color.LightGray : Color.White; + + Rectangle rc = new Rectangle(e.Bounds.Left, e.Bounds.Top, this.ClientSize.Width - e.Bounds.Left, e.Bounds.Height); + if (e.Node.Level == 0) + { + e.Graphics.FillRectangle(new SolidBrush(back), rc); + ControlPaint.DrawBorder(e.Graphics, rc, back, ButtonBorderStyle.None); + + } + else + { + e.Graphics.FillRectangle(new SolidBrush(back1), rc); + ControlPaint.DrawBorder(e.Graphics, rc, back1, ButtonBorderStyle.None); + //e.Graphics.DrawString(e.Node.Text.ToString(), new Font("맑은 고딕", 19, FontStyle.Bold), Brushes.DarkGreen, e.Bounds.X, e.Bounds.Y); + + } + if (e.Node.Tag != null) + { + string notice = e.Node.Text.ToString(); + Size noticeSize = e.Graphics.MeasureString(notice, this.treeView.Font).ToSize(); + e.Graphics.DrawString(notice, new Font("맑은 고딕", 12F, FontStyle.Bold), Brushes.DarkGreen, e.Bounds.X, e.Bounds.Y); + } + else + { + e.Graphics.DrawString(e.Node.Text, this.treeView.Font, new SolidBrush(this.ForeColor), e.Bounds.Left, e.Bounds.Top); + } + + //TreeNodeStates state = e.State; + //Font font = e.Node.NodeFont ?? e.Node.TreeView.Font; + //Color fore = e.Node.ForeColor; + //if (fore == Color.Empty) fore = e.Node.TreeView.ForeColor; + //if (e.Node == e.Node.TreeView.SelectedNode) + //{ + // fore = SystemColors.HighlightText; + // e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds); + // ControlPaint.DrawFocusRectangle(e.Graphics, e.Bounds, fore, SystemColors.Highlight); + // TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, fore, TextFormatFlags.GlyphOverhangPadding); + //} + //else + //{ + // e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds); + // TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, fore, TextFormatFlags.GlyphOverhangPadding); + //} + } + + private void chE_CheckedChanged(object sender, EventArgs e) + { + treeCanExpand = false; + + if (chE.Checked) + { + this.treeView.ExpandAll(); + this.treeView.SelectedNode = m_node[scnt]; + m_node[scnt].EnsureVisible(); + } + else + { + this.treeView.CollapseAll(); + + } + + } + + private void btnswap_Click(object sender, EventArgs e) + { + //this.treeView.CollapseAll(); + + //if (chE.Checked) + //{ + // this.treeView.ExpandAll(); + // this.treeView.SelectedNode = m_node[scnt]; + // m_node[scnt].EnsureVisible(); + //} + //else + //{ + // this.treeView.CollapseAll(); + + //} + } + } +} diff --git a/MBN_STOCK_N/Control/UC1.resx b/MBN_STOCK_N/Control/UC1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Control/UC1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC2.Designer.cs b/MBN_STOCK_N/Control/UC2.Designer.cs new file mode 100644 index 0000000..c5f7eaf --- /dev/null +++ b/MBN_STOCK_N/Control/UC2.Designer.cs @@ -0,0 +1,144 @@ + +namespace MBN_STOCK_N +{ + partial class UC2 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.txt2 = new System.Windows.Forms.TextBox(); + this.btnswap = new System.Windows.Forms.Button(); + this.txt1 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.listbox = new System.Windows.Forms.ListBox(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.Controls.Add(this.txt2); + this.panel1.Controls.Add(this.btnswap); + this.panel1.Controls.Add(this.txt1); + this.panel1.Controls.Add(this.label1); + this.panel1.Location = new System.Drawing.Point(3, 297); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(416, 38); + this.panel1.TabIndex = 593; + // + // txt2 + // + this.txt2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt2.Location = new System.Drawing.Point(288, 5); + this.txt2.Name = "txt2"; + this.txt2.Size = new System.Drawing.Size(120, 25); + this.txt2.TabIndex = 592; + // + // btnswap + // + this.btnswap.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnswap.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnswap.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnswap.ForeColor = System.Drawing.Color.Black; + this.btnswap.Location = new System.Drawing.Point(200, 3); + this.btnswap.Name = "btnswap"; + this.btnswap.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnswap.Size = new System.Drawing.Size(82, 24); + this.btnswap.TabIndex = 591; + this.btnswap.Text = "◀▶"; + this.btnswap.UseVisualStyleBackColor = true; + this.btnswap.Click += new System.EventHandler(this.btnswap_Click); + // + // txt1 + // + this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt1.Location = new System.Drawing.Point(75, 5); + this.txt1.Name = "txt1"; + this.txt1.Size = new System.Drawing.Size(120, 25); + this.txt1.TabIndex = 590; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(4, 8); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(64, 17); + this.label1.TabIndex = 589; + this.label1.Text = "업종비교"; + // + // listbox + // + this.listbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listbox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listbox.FormattingEnabled = true; + this.listbox.ItemHeight = 17; + this.listbox.Location = new System.Drawing.Point(3, 3); + this.listbox.Name = "listbox"; + this.listbox.Size = new System.Drawing.Size(416, 291); + this.listbox.TabIndex = 592; + this.listbox.SelectedIndexChanged += new System.EventHandler(this.listbox_SelectedIndexChanged); + this.listbox.DoubleClick += new System.EventHandler(this.listbox_DoubleClick); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(37, 484); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(468, 150); + this.dataGridView1.TabIndex = 594; + // + // UC2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.panel1); + this.Controls.Add(this.listbox); + this.Name = "UC2"; + this.Size = new System.Drawing.Size(472, 354); + this.Load += new System.EventHandler(this.UC2_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + public System.Windows.Forms.TextBox txt2; + private System.Windows.Forms.Button btnswap; + public System.Windows.Forms.TextBox txt1; + private System.Windows.Forms.Label label1; + public System.Windows.Forms.ListBox listbox; + private System.Windows.Forms.DataGridView dataGridView1; + } +} diff --git a/MBN_STOCK_N/Control/UC2.cs b/MBN_STOCK_N/Control/UC2.cs new file mode 100644 index 0000000..450ce32 --- /dev/null +++ b/MBN_STOCK_N/Control/UC2.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class UC2 : UserControl + { + MainForm mf = null; + public int m_idx = 0; + //DBCon m_db = new DBCon(); + + public UC2() + { + InitializeComponent(); + } + + + public UC2(Form frm, int idx) + { + mf = (MainForm)frm; + m_idx = idx; + InitializeComponent(); + } + + private void UC2_Load(object sender, EventArgs e) + { + List list = new List(); + string query = string.Empty; + + if (m_idx == 0) + { + query = "SELECT F_PART_NAME, F_PART_CODE FROM T_PART WHERE F_PART_CODE <> '001' ORDER BY F_PART_NAME"; + } + else + { + query = "SELECT DISTINCT A.F_PART_CODE, A.F_PART_NAME FROM T_KOSDAQ_PART A, T_KOSDAQ_INDEX B"; + query = query + " WHERE A.F_PART_CODE = B.F_PART_CODE AND A.F_PART_CODE < > '001' ORDER BY A.F_PART_CODE"; + } + + + mf.m_db.ViewQuery(dataGridView1, query); + listbox.Items.Clear(); + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + listbox.Items.Add(dataGridView1.Rows[i].Cells[m_idx].Value.ToString()); + + } + } + + private void listbox_DoubleClick(object sender, EventArgs e) + { + txt2.Text = txt1.Text; + txt1.Text = (string)listbox.SelectedItem; + + } + + private void btnswap_Click(object sender, EventArgs e) + { + string tmp = string.Empty; + + tmp = txt1.Text; + + txt1.Text = txt2.Text; + txt2.Text = tmp; + } + + private void listbox_SelectedIndexChanged(object sender, EventArgs e) + { + + } + } +} diff --git a/MBN_STOCK_N/Control/UC2.resx b/MBN_STOCK_N/Control/UC2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Control/UC2.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC3.Designer.cs b/MBN_STOCK_N/Control/UC3.Designer.cs new file mode 100644 index 0000000..118143e --- /dev/null +++ b/MBN_STOCK_N/Control/UC3.Designer.cs @@ -0,0 +1,792 @@ + +namespace MBN_STOCK_N +{ + partial class UC3 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + System.Windows.Forms.Button btnswap; + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UC3)); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle7 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle8 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.listBox = new System.Windows.Forms.ListBox(); + this.btnsearch = new System.Windows.Forms.Button(); + this.txt2 = new System.Windows.Forms.TextBox(); + this.txt1 = new System.Windows.Forms.TextBox(); + this.tabp6_1 = new System.Windows.Forms.Panel(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.txtj = new System.Windows.Forms.TextBox(); + this.btnsearch2 = new System.Windows.Forms.Button(); + this.FpSpread2 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btnAdd = new System.Windows.Forms.Button(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btn4 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn1 = new System.Windows.Forms.Button(); + this.FpSpread = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.listBox1 = new System.Windows.Forms.ListBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + btnswap = new System.Windows.Forms.Button(); + this.tabp6_1.SuspendLayout(); + this.groupBox4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit(); + this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).BeginInit(); + this.groupBox2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.TextRotationAngle = 0D; + // + // btnswap + // + btnswap.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + btnswap.FlatStyle = System.Windows.Forms.FlatStyle.System; + btnswap.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + btnswap.ForeColor = System.Drawing.Color.Black; + btnswap.Location = new System.Drawing.Point(138, 2); + btnswap.Name = "btnswap"; + btnswap.RightToLeft = System.Windows.Forms.RightToLeft.No; + btnswap.Size = new System.Drawing.Size(43, 25); + btnswap.TabIndex = 597; + btnswap.Text = "◀▶"; + btnswap.UseVisualStyleBackColor = true; + btnswap.Click += new System.EventHandler(this.btnswap_Click); + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.TextRotationAngle = 0D; + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtSearch.Location = new System.Drawing.Point(6, 19); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(128, 25); + this.txtSearch.TabIndex = 591; + this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown); + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(5, 50); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(201, 225); + this.listBox.TabIndex = 594; + this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged); + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image"))); + this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.Location = new System.Drawing.Point(138, 17); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(67, 26); + this.btnsearch.TabIndex = 592; + this.btnsearch.Text = " 검색"; + this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // txt2 + // + this.txt2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt2.Location = new System.Drawing.Point(185, 4); + this.txt2.Name = "txt2"; + this.txt2.ReadOnly = true; + this.txt2.Size = new System.Drawing.Size(120, 25); + this.txt2.TabIndex = 598; + // + // txt1 + // + this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt1.Location = new System.Drawing.Point(13, 4); + this.txt1.Name = "txt1"; + this.txt1.ReadOnly = true; + this.txt1.Size = new System.Drawing.Size(120, 25); + this.txt1.TabIndex = 596; + // + // tabp6_1 + // + this.tabp6_1.Controls.Add(this.groupBox4); + this.tabp6_1.Controls.Add(this.btnAdd); + this.tabp6_1.Controls.Add(this.groupBox3); + this.tabp6_1.Controls.Add(this.groupBox2); + this.tabp6_1.Controls.Add(this.groupBox1); + this.tabp6_1.Controls.Add(this.txt1); + this.tabp6_1.Controls.Add(this.txt2); + this.tabp6_1.Controls.Add(btnswap); + this.tabp6_1.Location = new System.Drawing.Point(3, 0); + this.tabp6_1.Name = "tabp6_1"; + this.tabp6_1.Size = new System.Drawing.Size(439, 607); + this.tabp6_1.TabIndex = 599; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.panel1); + this.groupBox4.Controls.Add(this.txtj); + this.groupBox4.Controls.Add(this.btnsearch2); + this.groupBox4.Controls.Add(this.FpSpread2); + this.groupBox4.Location = new System.Drawing.Point(223, 162); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(189, 155); + this.groupBox4.TabIndex = 605; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "해외 종목"; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel1.Location = new System.Drawing.Point(7, 66); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(174, 1); + this.panel1.TabIndex = 622; + // + // txtj + // + this.txtj.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtj.Location = new System.Drawing.Point(5, 13); + this.txtj.Name = "txtj"; + this.txtj.Size = new System.Drawing.Size(114, 25); + this.txtj.TabIndex = 608; + this.txtj.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtj_KeyPress); + // + // btnsearch2 + // + this.btnsearch2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch2.ForeColor = System.Drawing.Color.Black; + this.btnsearch2.Location = new System.Drawing.Point(126, 11); + this.btnsearch2.Name = "btnsearch2"; + this.btnsearch2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch2.Size = new System.Drawing.Size(58, 29); + this.btnsearch2.TabIndex = 609; + this.btnsearch2.Text = "검색"; + this.btnsearch2.UseVisualStyleBackColor = true; + this.btnsearch2.Click += new System.EventHandler(this.btnsearch2_Click); + // + // FpSpread2 + // + this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread2.AutoClipboard = false; + this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.HorizontalScrollBar.Name = ""; + this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread2.HorizontalScrollBar.TabIndex = 363; + this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Location = new System.Drawing.Point(5, 41); + this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread2.Name = "FpSpread2"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer12; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer12; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread2_Sheet1, + this.FpSpread2_Sheet2}); + this.FpSpread2.Size = new System.Drawing.Size(178, 103); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread2.Skin = spreadSkin1; + this.FpSpread2.TabIndex = 612; + this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.VerticalScrollBar.Name = ""; + this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread2.VerticalScrollBar.TabIndex = 364; + this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick_1); + this.FpSpread2.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellDoubleClick); + // + // FpSpread2_Sheet1 + // + this.FpSpread2_Sheet1.Reset(); + this.FpSpread2_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet1.ColumnCount = 8; + this.FpSpread2_Sheet1.RowCount = 0; + this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread2_Sheet1.ActiveRowIndex = -1; + this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목"; + this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread2_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread2_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread2_Sheet1.Columns.Get(1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목"; + this.FpSpread2_Sheet1.Columns.Get(1).Width = 200F; + this.FpSpread2_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread2.SetActiveViewport(0, -1, 0); + // + // FpSpread2_Sheet2 + // + this.FpSpread2_Sheet2.Reset(); + this.FpSpread2_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btnAdd + // + this.btnAdd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnAdd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnAdd.ForeColor = System.Drawing.Color.Black; + this.btnAdd.Location = new System.Drawing.Point(322, 2); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnAdd.Size = new System.Drawing.Size(84, 29); + this.btnAdd.TabIndex = 603; + this.btnAdd.Text = "추가"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.label1); + this.groupBox3.Controls.Add(this.dataGridView1); + this.groupBox3.Controls.Add(this.panel2); + this.groupBox3.Controls.Add(this.btn4); + this.groupBox3.Controls.Add(this.btn3); + this.groupBox3.Controls.Add(this.btn2); + this.groupBox3.Controls.Add(this.btn1); + this.groupBox3.Controls.Add(this.FpSpread); + this.groupBox3.Location = new System.Drawing.Point(7, 321); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(405, 266); + this.groupBox3.TabIndex = 602; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "설정리스트"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(189, 2); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(223, 15); + this.label1.TabIndex = 620; + this.label1.Text = "해외시세는 현재가2열판 비교만 됩니다."; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(140, 203); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(159, 63); + this.dataGridView1.TabIndex = 617; + this.dataGridView1.Visible = false; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel2.Location = new System.Drawing.Point(8, 46); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(300, 1); + this.panel2.TabIndex = 618; + // + // btn4 + // + this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn4.ForeColor = System.Drawing.Color.Black; + this.btn4.Location = new System.Drawing.Point(323, 189); + this.btn4.Name = "btn4"; + this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn4.Size = new System.Drawing.Size(74, 27); + this.btn4.TabIndex = 592; + this.btn4.Text = "DOWN"; + this.btn4.UseVisualStyleBackColor = true; + this.btn4.Click += new System.EventHandler(this.btn4_Click); + // + // btn3 + // + this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn3.ForeColor = System.Drawing.Color.Black; + this.btn3.Location = new System.Drawing.Point(323, 153); + this.btn3.Name = "btn3"; + this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn3.Size = new System.Drawing.Size(74, 27); + this.btn3.TabIndex = 591; + this.btn3.Text = "UP"; + this.btn3.UseVisualStyleBackColor = true; + this.btn3.Click += new System.EventHandler(this.btn3_Click); + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(323, 117); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(74, 27); + this.btn2.TabIndex = 590; + this.btn2.Text = "DEL ALL"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn2_Click); + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(323, 81); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(74, 27); + this.btn1.TabIndex = 589; + this.btn1.Text = "DEL"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // FpSpread + // + this.FpSpread.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread.AutoClipboard = false; + this.FpSpread.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.HorizontalScrollBar.Name = ""; + this.FpSpread.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4; + this.FpSpread.HorizontalScrollBar.TabIndex = 345; + this.FpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread.Location = new System.Drawing.Point(5, 22); + this.FpSpread.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread.MoveActiveOnFocus = false; + this.FpSpread.Name = "FpSpread"; + namedStyle5.BackColor = System.Drawing.SystemColors.Window; + namedStyle5.CellType = generalCellType2; + namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle5.Renderer = generalCellType2; + namedStyle6.BackColor = System.Drawing.SystemColors.Control; + namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle6.Renderer = cornerRenderer2; + namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle7.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle7.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle7.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle7.Renderer = enhancedColumnHeaderRenderer11; + namedStyle7.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle8.BackColor = System.Drawing.SystemColors.Control; + namedStyle8.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle8.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle8.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle8.Renderer = rowHeaderRenderer11; + namedStyle8.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle5, + namedStyle6, + namedStyle7, + namedStyle8}); + this.FpSpread.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread_Sheet1, + this.FpSpread_Sheet2}); + this.FpSpread.Size = new System.Drawing.Size(305, 208); + spreadSkin2.ColumnHeaderDefaultStyle = namedStyle7; + spreadSkin2.DefaultStyle = namedStyle8; + spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin2.Name = "CustomSkin1"; + spreadSkin2.RowHeaderDefaultStyle = namedStyle7; + spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5; + spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread.Skin = spreadSkin2; + this.FpSpread.TabIndex = 0; + this.FpSpread.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.VerticalScrollBar.Name = ""; + this.FpSpread.VerticalScrollBar.Renderer = defaultScrollBarRenderer6; + this.FpSpread.VerticalScrollBar.TabIndex = 346; + this.FpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread_CellClick); + // + // FpSpread_Sheet1 + // + this.FpSpread_Sheet1.Reset(); + this.FpSpread_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet1.ColumnCount = 8; + this.FpSpread_Sheet1.RowCount = 0; + this.FpSpread_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread_Sheet1.ActiveRowIndex = -1; + this.FpSpread_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "Set List"; + this.FpSpread_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread_Sheet1.Columns.Get(0).Width = 66F; + this.FpSpread_Sheet1.Columns.Get(1).Label = "Set List"; + this.FpSpread_Sheet1.Columns.Get(1).Width = 262F; + this.FpSpread_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread.SetActiveViewport(0, -1, 0); + // + // FpSpread_Sheet2 + // + this.FpSpread_Sheet2.Reset(); + this.FpSpread_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.listBox1); + this.groupBox2.Location = new System.Drawing.Point(222, 31); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(189, 131); + this.groupBox2.TabIndex = 601; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "지수"; + // + // listBox1 + // + this.listBox1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox1.FormattingEnabled = true; + this.listBox1.ItemHeight = 17; + this.listBox1.Location = new System.Drawing.Point(5, 19); + this.listBox1.Name = "listBox1"; + this.listBox1.Size = new System.Drawing.Size(178, 106); + this.listBox1.TabIndex = 594; + this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_DoubleClick); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.txtSearch); + this.groupBox1.Controls.Add(this.listBox); + this.groupBox1.Controls.Add(this.btnsearch); + this.groupBox1.Location = new System.Drawing.Point(6, 31); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(211, 287); + this.groupBox1.TabIndex = 600; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "종목"; + // + // UC3 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.tabp6_1); + this.Name = "UC3"; + this.Size = new System.Drawing.Size(473, 640); + this.Load += new System.EventHandler(this.UC3_Load); + this.tabp6_1.ResumeLayout(false); + this.tabp6_1.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.TextBox txt2; + private System.Windows.Forms.TextBox txt1; + private System.Windows.Forms.Panel tabp6_1; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.ListBox listBox1; + private System.Windows.Forms.GroupBox groupBox1; + public FarPoint.Win.Spread.FpSpread FpSpread; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet2; + private System.Windows.Forms.Button btn4; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn1; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Button btnsearch2; + private System.Windows.Forms.TextBox txtj; + private System.Windows.Forms.DataGridView dataGridView1; + public FarPoint.Win.Spread.FpSpread FpSpread2; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + } +} diff --git a/MBN_STOCK_N/Control/UC3.cs b/MBN_STOCK_N/Control/UC3.cs new file mode 100644 index 0000000..252e249 --- /dev/null +++ b/MBN_STOCK_N/Control/UC3.cs @@ -0,0 +1,265 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Windows; +using FarPoint.Win.Spread; + +namespace MBN_STOCK_N +{ + public partial class UC3 : UserControl + { + MainForm mf = null; + + public UC3() + { + InitializeComponent(); + } + + + public UC3(Form frm) + { + mf = (MainForm)frm; + InitializeComponent(); + + } + + private void UC3_Load(object sender, EventArgs e) + { + mf.INI_parser(Environment.CurrentDirectory + @"\Res\종목비교.ini"); + listBox1.Items.Clear(); + for (int j = 0; j < mf.m_row[0]; j++) + { + listBox1.Items.Add(mf.m_sbuf[0, j]); + } + FpSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + Data_Load(); + FpSpread.Focus(); + } + + private void Data_Load() + { + FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true); + + if (FpSpread.ActiveSheet.RowCount != 0) + FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount); + + mf.ReadListFile(mf.m_DataPath + "종목비교.dat", '^', FpSpread.ActiveSheet, mf.m_DataPath, FpSpread, 0); + } + + protected override void OnKeyDown(KeyEventArgs e) + { + + //if (e.KeyCode == Keys.Enter) + //{ + // mf.searchStock(listBox, txtSearch); + //} + //base.OnKeyDown(e); + } + + private void button2_Click(object sender, EventArgs e) + { + mf.searchStock(listBox, txtSearch); + } + + private void btnsearch_Click(object sender, EventArgs e) + { + mf.searchStock(listBox, txtSearch); + } + + private void txtSearch_KeyDown(object sender, KeyEventArgs e) + { + this.OnKeyDown(e); + } + + private void listBox_DoubleClick(object sender, EventArgs e) + { + string tmp = txt1.Text; + txt1.Text = (string)listBox.SelectedItem; + txt2.Text = tmp; + } + + private void listBox_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void btnswap_Click(object sender, EventArgs e) + { + string tmp = txt1.Text; + txt1.Text = txt2.Text; + txt2.Text = tmp; + } + + private void listBox1_DoubleClick(object sender, EventArgs e) + { + string tmp = txt1.Text; + txt1.Text = (string)listBox1.SelectedItem; + txt2.Text = tmp; + } + + private void btnAdd_Click(object sender, EventArgs e) + { + string str = string.Empty; + string data1 = string.Empty; + string data2 = string.Empty; + + if (txt1.Text == "" || txt2.Text == "") return; + + int row = FpSpread.ActiveSheet.RowCount + 1; + mf.InsertRow(FpSpread, FpSpread.ActiveSheet, row, 1, 0); + + FpSpread.ActiveSheet.SetText(row - 1, 0, row.ToString()); + FpSpread.ActiveSheet.SetText(row - 1, 1, txt1.Text + "," + txt2.Text); + + str = mf.jongmokCode(txt1.Text); + + if (str != "") + { + //data1 = str.Substring(0, str.IndexOf('/')); + data2 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); + FpSpread.ActiveSheet.SetText(row - 1, 2, data2); + } + + str = mf.jongmokCode(txt2.Text); + + if (str != "") + { + //data1 = str.Substring(0, str.IndexOf('/')); + data2 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); + FpSpread.ActiveSheet.SetText(row - 1, 3, data2); + } + + + File_Save(); + } + + //파일삭제 + private void btn1_Click(object sender, EventArgs e) + { + if (FpSpread.ActiveSheet.ActiveRowIndex + 1 > 0) + { + FpSpread.ActiveSheet.RemoveRows(FpSpread.ActiveSheet.ActiveRowIndex, 1); + } + File_Save(); + } + + //전체삭제 + private void btn2_Click(object sender, EventArgs e) + { + if (MessageBox.Show("모두 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true); + if (FpSpread.ActiveSheet.RowCount != 0) + FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount); + File_Save(); + } + } + + //up + private void btn3_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 0, 1); + File_Save(); + } + + //down + private void btn4_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 1, 1); + File_Save(); + } + + private void File_Save() + { + + if (FpSpread.ActiveSheet.RowCount != 0) + mf.WriteListFile(mf.m_DataPath + "종목비교.dat", FpSpread.ActiveSheet, "^"); + + FpSpread.Focus(); + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + mf.searchStock(listBox, txtSearch); + } + } + + private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + } + + private void btnsearch2_Click(object sender, EventArgs e) + { + jongmok_search(); + } + + private void jongmok_search() + { + string query = string.Empty; + + FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true); + if (FpSpread2.ActiveSheet.RowCount != 0) + FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount); + + if (txtj.Text == "") + { + query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME"; + } + else + { + query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') and UPPER(F_INPUT_NAME) like '%" + txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME"; + } + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0); + FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + //FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString()); + } + } + + private void FpSpread2_CellClick_1(object sender, CellClickEventArgs e) + { + + } + + private void FpSpread2_CellDoubleClick(object sender, CellClickEventArgs e) + { + string tmp = txt1.Text; + txt1.Text = (string)listBox1.SelectedItem; + + txt1.Text = FpSpread2.ActiveSheet.GetText(e.Row, 1); + txt2.Text = tmp; + } + + private void txtj_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + jongmok_search(); + } + } + + private void FpSpread_CellClick(object sender, CellClickEventArgs e) + { + + } + } +} diff --git a/MBN_STOCK_N/Control/UC3.resx b/MBN_STOCK_N/Control/UC3.resx new file mode 100644 index 0000000..18bc3dc --- /dev/null +++ b/MBN_STOCK_N/Control/UC3.resx @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + + 670, 157 + + + 824, 157 + + + 510, 118 + + + 664, 118 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC4.Designer.cs b/MBN_STOCK_N/Control/UC4.Designer.cs new file mode 100644 index 0000000..08048df --- /dev/null +++ b/MBN_STOCK_N/Control/UC4.Designer.cs @@ -0,0 +1,793 @@ + +namespace MBN_STOCK_N +{ + partial class UC4 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer15 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer15 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer16 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer16 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle7 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle8 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder(); + this.btn1 = new System.Windows.Forms.Button(); + this.txts = new System.Windows.Forms.TextBox(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn4 = new System.Windows.Forms.Button(); + this.FpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btnpre = new System.Windows.Forms.Button(); + this.btnnow = new System.Windows.Forms.Button(); + this.FpSpread2 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.btnnow_6 = new System.Windows.Forms.Button(); + this.btnnow_12 = new System.Windows.Forms.Button(); + this.panel3 = new System.Windows.Forms.Panel(); + this.rb_up_rate = new System.Windows.Forms.RadioButton(); + this.rb_input = new System.Windows.Forms.RadioButton(); + this.rb_down_rate = new System.Windows.Forms.RadioButton(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.panel3.SuspendLayout(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer11.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13"; + enhancedColumnHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer13.TextRotationAngle = 0D; + rowHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer13.Name = "rowHeaderRenderer13"; + rowHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer13.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17"; + enhancedColumnHeaderRenderer17.TextRotationAngle = 0D; + rowHeaderRenderer17.Name = "rowHeaderRenderer17"; + rowHeaderRenderer17.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14"; + enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer14.TextRotationAngle = 0D; + rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer14.Name = "rowHeaderRenderer14"; + rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer14.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer15.Name = "enhancedColumnHeaderRenderer15"; + enhancedColumnHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer15.TextRotationAngle = 0D; + rowHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer15.Name = "rowHeaderRenderer15"; + rowHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer15.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer16.Name = "enhancedColumnHeaderRenderer16"; + enhancedColumnHeaderRenderer16.TextRotationAngle = 0D; + rowHeaderRenderer16.Name = "rowHeaderRenderer16"; + rowHeaderRenderer16.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18"; + enhancedColumnHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer18.TextRotationAngle = 0D; + rowHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer18.Name = "rowHeaderRenderer18"; + rowHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer18.TextRotationAngle = 0D; + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(147, 6); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(69, 24); + this.btn1.TabIndex = 607; + this.btn1.Text = "테마검색"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // txts + // + this.txts.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txts.Location = new System.Drawing.Point(3, 6); + this.txts.Name = "txts"; + this.txts.Size = new System.Drawing.Size(138, 25); + this.txts.TabIndex = 604; + this.txts.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txts_KeyDown); + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(219, 6); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(64, 24); + this.btn2.TabIndex = 608; + this.btn2.Text = "테마추가"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn2_Click); + // + // btn3 + // + this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn3.ForeColor = System.Drawing.Color.Black; + this.btn3.Location = new System.Drawing.Point(286, 6); + this.btn3.Name = "btn3"; + this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn3.Size = new System.Drawing.Size(64, 24); + this.btn3.TabIndex = 609; + this.btn3.Text = "테마편집"; + this.btn3.UseVisualStyleBackColor = true; + this.btn3.Click += new System.EventHandler(this.btn3_Click); + // + // btn4 + // + this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn4.ForeColor = System.Drawing.Color.Black; + this.btn4.Location = new System.Drawing.Point(353, 6); + this.btn4.Name = "btn4"; + this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn4.Size = new System.Drawing.Size(64, 24); + this.btn4.TabIndex = 610; + this.btn4.Text = "테마삭제"; + this.btn4.UseVisualStyleBackColor = true; + this.btn4.Click += new System.EventHandler(this.btn4_Click); + // + // FpSpread1 + // + this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread1.AutoClipboard = false; + this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.HorizontalScrollBar.Name = ""; + this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread1.HorizontalScrollBar.TabIndex = 0; + this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread1.Location = new System.Drawing.Point(3, 38); + this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread1.Name = "FpSpread1"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer16; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer16; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread1_Sheet1, + this.FpSpread1_Sheet2}); + this.FpSpread1.Size = new System.Drawing.Size(416, 455); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread1.Skin = spreadSkin1; + this.FpSpread1.TabIndex = 611; + this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.VerticalScrollBar.Name = ""; + this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread1.VerticalScrollBar.TabIndex = 374; + this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick); + this.FpSpread1.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellDoubleClick); + this.FpSpread1.DoubleClick += new System.EventHandler(this.FpSpread1_DoubleClick); + // + // FpSpread1_Sheet1 + // + this.FpSpread1_Sheet1.Reset(); + this.FpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet1.ColumnCount = 9; + this.FpSpread1_Sheet1.RowCount = 0; + this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread1_Sheet1.ActiveRowIndex = -1; + this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "테마명"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Border = emptyBorder1; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "Set List"; + this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread1_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(0).Width = 59F; + this.FpSpread1_Sheet1.Columns.Get(1).Label = "테마명"; + this.FpSpread1_Sheet1.Columns.Get(1).Width = 455F; + this.FpSpread1_Sheet1.Columns.Get(2).Label = "Set List"; + this.FpSpread1_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(2).Width = 278F; + this.FpSpread1_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(8).Visible = false; + this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread1.SetActiveViewport(0, -1, 0); + // + // FpSpread1_Sheet2 + // + this.FpSpread1_Sheet2.Reset(); + this.FpSpread1_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btnpre + // + this.btnpre.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnpre.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnpre.ForeColor = System.Drawing.Color.Black; + this.btnpre.Location = new System.Drawing.Point(337, 519); + this.btnpre.Name = "btnpre"; + this.btnpre.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnpre.Size = new System.Drawing.Size(84, 31); + this.btnpre.TabIndex = 613; + this.btnpre.Text = "예상체결가"; + this.btnpre.UseVisualStyleBackColor = true; + this.btnpre.Click += new System.EventHandler(this.btnpre_Click); + // + // btnnow + // + this.btnnow.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnnow.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnnow.ForeColor = System.Drawing.Color.Black; + this.btnnow.Location = new System.Drawing.Point(245, 519); + this.btnnow.Name = "btnnow"; + this.btnnow.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnnow.Size = new System.Drawing.Size(84, 31); + this.btnnow.TabIndex = 612; + this.btnnow.Text = "현재가"; + this.btnnow.UseVisualStyleBackColor = true; + this.btnnow.Click += new System.EventHandler(this.btnnow_Click); + // + // FpSpread2 + // + this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread2.AutoClipboard = false; + this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.HorizontalScrollBar.Name = ""; + this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4; + this.FpSpread2.HorizontalScrollBar.TabIndex = 363; + this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Location = new System.Drawing.Point(3, 557); + this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread2.Name = "FpSpread2"; + namedStyle5.BackColor = System.Drawing.SystemColors.Window; + namedStyle5.CellType = generalCellType2; + namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle5.Renderer = generalCellType2; + namedStyle6.BackColor = System.Drawing.SystemColors.Control; + namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle6.Renderer = cornerRenderer2; + namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle7.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle7.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle7.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle7.Renderer = enhancedColumnHeaderRenderer16; + namedStyle7.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle8.BackColor = System.Drawing.SystemColors.Control; + namedStyle8.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle8.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle8.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle8.Renderer = rowHeaderRenderer16; + namedStyle8.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle5, + namedStyle6, + namedStyle7, + namedStyle8}); + this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread2_Sheet1, + this.FpSpread2_Sheet2}); + this.FpSpread2.Size = new System.Drawing.Size(416, 241); + spreadSkin2.ColumnHeaderDefaultStyle = namedStyle7; + spreadSkin2.DefaultStyle = namedStyle8; + spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin2.Name = "CustomSkin1"; + spreadSkin2.RowHeaderDefaultStyle = namedStyle7; + spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5; + spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread2.Skin = spreadSkin2; + this.FpSpread2.TabIndex = 614; + this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.VerticalScrollBar.Name = ""; + this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer6; + this.FpSpread2.VerticalScrollBar.TabIndex = 364; + this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick); + // + // FpSpread2_Sheet1 + // + this.FpSpread2_Sheet1.Reset(); + this.FpSpread2_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet1.ColumnCount = 9; + this.FpSpread2_Sheet1.RowCount = 0; + this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread2_Sheet1.ActiveRowIndex = -1; + this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목명"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Border = emptyBorder2; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "Set List"; + this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread2_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(1).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목명"; + this.FpSpread2_Sheet1.Columns.Get(1).Width = 455F; + this.FpSpread2_Sheet1.Columns.Get(2).Label = "Set List"; + this.FpSpread2_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(2).Width = 278F; + this.FpSpread2_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(8).Visible = false; + this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread2.SetActiveViewport(0, -1, 0); + // + // FpSpread2_Sheet2 + // + this.FpSpread2_Sheet2.Reset(); + this.FpSpread2_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(53, 349); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(342, 114); + this.dataGridView1.TabIndex = 615; + this.dataGridView1.Visible = false; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel1.Location = new System.Drawing.Point(3, 59); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(413, 1); + this.panel1.TabIndex = 616; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel2.Location = new System.Drawing.Point(4, 578); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(412, 1); + this.panel2.TabIndex = 617; + // + // timer1 + // + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // btnnow_6 + // + this.btnnow_6.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnnow_6.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnnow_6.ForeColor = System.Drawing.Color.Black; + this.btnnow_6.Location = new System.Drawing.Point(4, 519); + this.btnnow_6.Name = "btnnow_6"; + this.btnnow_6.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnnow_6.Size = new System.Drawing.Size(103, 31); + this.btnnow_6.TabIndex = 618; + this.btnnow_6.Text = "6종목 현재가"; + this.btnnow_6.UseVisualStyleBackColor = true; + this.btnnow_6.Click += new System.EventHandler(this.btnnow_6_Click); + // + // btnnow_12 + // + this.btnnow_12.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnnow_12.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnnow_12.ForeColor = System.Drawing.Color.Black; + this.btnnow_12.Location = new System.Drawing.Point(113, 519); + this.btnnow_12.Name = "btnnow_12"; + this.btnnow_12.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnnow_12.Size = new System.Drawing.Size(103, 31); + this.btnnow_12.TabIndex = 619; + this.btnnow_12.Text = "12종목 현재가"; + this.btnnow_12.UseVisualStyleBackColor = true; + this.btnnow_12.Click += new System.EventHandler(this.btnnow_12_Click); + // + // panel3 + // + this.panel3.Controls.Add(this.rb_down_rate); + this.panel3.Controls.Add(this.rb_up_rate); + this.panel3.Controls.Add(this.rb_input); + this.panel3.Location = new System.Drawing.Point(197, 498); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(222, 22); + this.panel3.TabIndex = 622; + // + // rb_up_rate + // + this.rb_up_rate.AutoSize = true; + this.rb_up_rate.Location = new System.Drawing.Point(71, 2); + this.rb_up_rate.Name = "rb_up_rate"; + this.rb_up_rate.Size = new System.Drawing.Size(71, 16); + this.rb_up_rate.TabIndex = 623; + this.rb_up_rate.Text = "상승률순"; + this.rb_up_rate.UseVisualStyleBackColor = true; + // + // rb_input + // + this.rb_input.AutoSize = true; + this.rb_input.Checked = true; + this.rb_input.Location = new System.Drawing.Point(5, 2); + this.rb_input.Name = "rb_input"; + this.rb_input.Size = new System.Drawing.Size(59, 16); + this.rb_input.TabIndex = 622; + this.rb_input.TabStop = true; + this.rb_input.Text = "입력순"; + this.rb_input.UseVisualStyleBackColor = true; + // + // rb_down_rate + // + this.rb_down_rate.AutoSize = true; + this.rb_down_rate.Location = new System.Drawing.Point(148, 3); + this.rb_down_rate.Name = "rb_down_rate"; + this.rb_down_rate.Size = new System.Drawing.Size(71, 16); + this.rb_down_rate.TabIndex = 624; + this.rb_down_rate.Text = "하락률순"; + this.rb_down_rate.UseVisualStyleBackColor = true; + // + // UC4 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.panel3); + this.Controls.Add(this.btnnow_12); + this.Controls.Add(this.btnnow_6); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.FpSpread2); + this.Controls.Add(this.btnpre); + this.Controls.Add(this.btnnow); + this.Controls.Add(this.FpSpread1); + this.Controls.Add(this.btn4); + this.Controls.Add(this.btn3); + this.Controls.Add(this.btn2); + this.Controls.Add(this.btn1); + this.Controls.Add(this.txts); + this.Name = "UC4"; + this.Size = new System.Drawing.Size(469, 864); + this.Load += new System.EventHandler(this.UC4_Load); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btn1; + private System.Windows.Forms.TextBox txts; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn4; + public FarPoint.Win.Spread.FpSpread FpSpread1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2; + private System.Windows.Forms.Button btnpre; + private System.Windows.Forms.Button btnnow; + public FarPoint.Win.Spread.FpSpread FpSpread2; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Button btnnow_6; + private System.Windows.Forms.Button btnnow_12; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.RadioButton rb_up_rate; + private System.Windows.Forms.RadioButton rb_input; + private System.Windows.Forms.RadioButton rb_down_rate; + } +} diff --git a/MBN_STOCK_N/Control/UC4.cs b/MBN_STOCK_N/Control/UC4.cs new file mode 100644 index 0000000..3357308 --- /dev/null +++ b/MBN_STOCK_N/Control/UC4.cs @@ -0,0 +1,440 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics.Eventing.Reader; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class UC4 : UserControl + { + MainForm mf = null; + int m_idx = 0; + //DBCon m_db = new DBCon(); + string m_code = string.Empty; + string m_tname = string.Empty; + + public UC4() + { + InitializeComponent(); + } + + + public UC4(Form frm, int idx) + { + mf = (MainForm)frm; + m_idx = idx; + + InitializeComponent(); + FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + + //FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + //if (FpSpread1.ActiveSheet.RowCount != 0) + // FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + //mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST"); + + //for (int i = 0; i < dataGridView1.RowCount - 1; i++) + //{ + // mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + // FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + // FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + + //} + + + } + + private void UC4_Load(object sender, EventArgs e) + { + timer1.Start(); + } + + private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + m_code = FpSpread1.ActiveSheet.GetText(e.Row, 0); + m_tname = FpSpread1.ActiveSheet.GetText(e.Row, 1); + string query = string.Empty; + + if (FpSpread2.ActiveSheet.RowCount != 0) + FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount); + + if (m_tname.Contains("(NXT)")) + { + query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + " WHERE a.SB_M_CODE = '" + m_code + "' " + + " and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " and b.f_stop_gubun = 'N' " + + " ORDER BY a.SB_I_INDEX"; + + mf.m_db.Nxt_ViewQuery(dataGridView1, query); + } + else + { + query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + " WHERE a.SB_M_CODE = '" + m_code + "' " + + " and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + + mf.m_db.ViewQuery(dataGridView1, query); + } + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0); + FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + } + } + + protected override void OnKeyDown(KeyEventArgs e) + { + + if (e.KeyCode == Keys.Enter) + { + GetThemeByKeyword(); + } + base.OnKeyDown(e); + } + + private void btn1_Click(object sender, EventArgs e) + { + GetThemeByKeyword(); + } + + private void GetThemeByKeyword() + { + List addItem_name = new List(); + string name, code; + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'"); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem_name.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()+";"+ + dataGridView1.Rows[i].Cells[1].Value.ToString() ); + } + + // NXT추가 + mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'"); + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem_name.Add(dataGridView1.Rows[i].Cells[0].Value.ToString() + "(NXT);" + + dataGridView1.Rows[i].Cells[1].Value.ToString()); + } + + for (int i = 0; i < addItem_name.Count ; i++) + { + name = addItem_name[i].Substring(0, addItem_name[i].IndexOf(";")); + code = addItem_name[i].Substring(addItem_name[i].IndexOf(";")+1, addItem_name[i].Length-name.Length-1); + + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + + FpSpread1.ActiveSheet.SetText(i, 1, name ); // title + FpSpread1.ActiveSheet.SetText(i, 0, code); // code + } + + + //FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + //if (FpSpread1.ActiveSheet.RowCount != 0) + // FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + //mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'"); + + //for (int i = 0; i < dataGridView1.RowCount - 1; i++) + //{ + // mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + + // FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); // title + // FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); // code + // tot_cnt = i; + //} + ////NXT용 + //mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'"); + //nxt_cnt = dataGridView1.RowCount; + + //// for (int i = 0; i < dataGridView1.RowCount - 1 + trx_cnt; i++) + //for (int i = krx_cnt; i < krx_cnt + nxt_cnt - 1; i++) + //{ + // mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + + // FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString() + "(NXT)"); // title + // FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); // code + //} + + } + + private void btn2_Click(object sender, EventArgs e) + { + Theme fm = new Theme(mf, "", ""); + + fm.ShowDialog(); + + } + + private void btn3_Click(object sender, EventArgs e) + { + + if (m_code != "") + { + Theme fm = new Theme(mf, m_code, m_tname); + + fm.ShowDialog(); + } + + } + + private void btn4_Click(object sender, EventArgs e) + { + + if (MessageBox.Show("선택한 테마를 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + if (FpSpread1.ActiveSheet.ActiveRowIndex + 1 > 0) + { + FpSpread1.ActiveSheet.RemoveRows(FpSpread1.ActiveSheet.ActiveRowIndex, 1); + + if (m_tname.Contains("(NXT)")) + { + mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'"); + mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'"); + + m_code = ""; m_tname = ""; + } + else + { + mf.m_db.ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'"); + mf.m_db.ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'"); + + m_code = ""; m_tname = ""; + } + + if (FpSpread2.ActiveSheet.RowCount != 0) + FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount); + } + } + + } + + //현재가 + private void btnnow_Click(object sender, EventArgs e) + { + SetNowPrice(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가"); + } + + //예상체결가 + private void btnpre_Click(object sender, EventArgs e) + { + SetNowPrice(FpSpread1.ActiveSheet.ActiveRowIndex, "예상체결가"); + } + + private void txts_KeyDown(object sender, KeyEventArgs e) + { + this.OnKeyDown(e); + } + + private void FpSpread1_DoubleClick(object sender, EventArgs e) + { + + + } + + private void FpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + SetNowPrice(e.Row, "현재가"); + } + + private void SetNowPrice(int nrow, string now) + { + + string tname = FpSpread1.ActiveSheet.GetText(nrow, 1); + + if (now == "예상체결가") + { + if (tname.Contains("(NXT")) + { + MessageBox.Show("NXT는 데이터가 없습니다."); + return; + } + } + + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + if (tname.Contains("(NXT")) + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT"); + else + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마"); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "5단 표그래프"); + // mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-"+ now); + if (rb_up_rate.Checked == true) // 상승률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)"); + } + else if (rb_down_rate.Checked == true) // 하락률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)"); + } + else if (rb_input.Checked == true) // 입력순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)"); + } + + mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가 + + int cnt = FpSpread2.ActiveSheet.RowCount; + int lcnt = 0; + + if ((cnt % 5) != 0) + lcnt = 1; + + lcnt = (cnt / 5) + lcnt; + + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString()); + + } + private void SetNowPrice_6(int nrow, string now) + { + string tname = FpSpread1.ActiveSheet.GetText(nrow, 1); + + if (now == "예상체결가") + { + if (tname.Contains("(NXT")) + { + MessageBox.Show("NXT는 데이터가 없습니다."); + return; + } + } + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + if (tname.Contains("(NXT")) + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT"); + else + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마"); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "6종목 현재가"); + // mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now); + if (rb_up_rate.Checked == true) // 상승률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)"); + } + else if (rb_down_rate.Checked == true) // 하락률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)"); + } + else if (rb_input.Checked == true) // 입력순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)"); + } + + mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가 + + int cnt = FpSpread2.ActiveSheet.RowCount; + int lcnt = 0; + + if ((cnt % 6) != 0) + lcnt = 1; + + lcnt = (cnt / 6) + lcnt; + + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString()); + + } + + private void SetNowPrice_12(int nrow, string now) + { + string tname = FpSpread1.ActiveSheet.GetText(nrow, 1); + + if (now == "예상체결가") + { + if (tname.Contains("(NXT")) + { + MessageBox.Show("NXT는 데이터가 없습니다."); + return; + } + } + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + if (tname.Contains("(NXT")) + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT"); + else + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마"); + +// mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "12종목 현재가"); + // mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now); + if (rb_up_rate.Checked == true) // 상승률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)"); + } + else if (rb_down_rate.Checked == true) // 하락률순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)"); + } + else if (rb_input.Checked == true) // 입력순 + { + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)"); + } + + + mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가 + + int cnt = FpSpread2.ActiveSheet.RowCount; + int lcnt = 0; + + if ((cnt % 12) != 0) + lcnt = 1; + + lcnt = (cnt / 12) + lcnt; + + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString()); + + } + + + private void timer1_Tick(object sender, EventArgs e) + { + GetThemeByKeyword(); + timer1.Stop(); + } + + private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + } + + private void btnnow_6_Click(object sender, EventArgs e) // 6종목 현재가 + { + SetNowPrice_6(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가"); + } + + private void btnnow_12_Click(object sender, EventArgs e) // 12종목 현재가 + { + SetNowPrice_12(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가"); + + } + } +} diff --git a/MBN_STOCK_N/Control/UC4.resx b/MBN_STOCK_N/Control/UC4.resx new file mode 100644 index 0000000..2e890e9 --- /dev/null +++ b/MBN_STOCK_N/Control/UC4.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 811, 118 + + + 958, 118 + + + 1073, 118 + + + 1188, 118 + + + 1342, 118 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC5.Designer.cs b/MBN_STOCK_N/Control/UC5.Designer.cs new file mode 100644 index 0000000..d450a79 --- /dev/null +++ b/MBN_STOCK_N/Control/UC5.Designer.cs @@ -0,0 +1,1064 @@ + +namespace MBN_STOCK_N +{ + partial class UC5 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer15 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer15 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer16 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer16 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer19 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer19 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer7 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle7 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType3 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle8 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer3 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.SpreadSkin spreadSkin3 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer8 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer9 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder3 = new FarPoint.Win.EmptyBorder(); + this.tabp6_1 = new System.Windows.Forms.Panel(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.FpSpread2 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.button5 = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.button8 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.btnsearch2 = new System.Windows.Forms.Button(); + this.txtj = new System.Windows.Forms.TextBox(); + this.button4 = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.FpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btnsearch1 = new System.Windows.Forms.Button(); + this.txts = new System.Windows.Forms.TextBox(); + this.button6 = new System.Windows.Forms.Button(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.button1 = new System.Windows.Forms.Button(); + this.btn4 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn1 = new System.Windows.Forms.Button(); + this.FpSpread = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.tabp6_1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit(); + this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).BeginInit(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer7.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer7.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer7.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer7.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer11.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13"; + enhancedColumnHeaderRenderer13.TextRotationAngle = 0D; + rowHeaderRenderer13.Name = "rowHeaderRenderer13"; + rowHeaderRenderer13.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14"; + enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer14.TextRotationAngle = 0D; + rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer14.Name = "rowHeaderRenderer14"; + rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer14.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer15.Name = "enhancedColumnHeaderRenderer15"; + enhancedColumnHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer15.TextRotationAngle = 0D; + rowHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer15.Name = "rowHeaderRenderer15"; + rowHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer15.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer16.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer16.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer16.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer16.Name = "enhancedColumnHeaderRenderer16"; + enhancedColumnHeaderRenderer16.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer16.TextRotationAngle = 0D; + rowHeaderRenderer16.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer16.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer16.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer16.Name = "rowHeaderRenderer16"; + rowHeaderRenderer16.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer16.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17"; + enhancedColumnHeaderRenderer17.TextRotationAngle = 0D; + rowHeaderRenderer17.Name = "rowHeaderRenderer17"; + rowHeaderRenderer17.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18"; + enhancedColumnHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer18.TextRotationAngle = 0D; + rowHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer18.Name = "rowHeaderRenderer18"; + rowHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer18.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer19.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer19.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer19.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer19.Name = "enhancedColumnHeaderRenderer19"; + enhancedColumnHeaderRenderer19.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer19.TextRotationAngle = 0D; + rowHeaderRenderer19.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer19.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer19.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer19.Name = "rowHeaderRenderer19"; + rowHeaderRenderer19.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer19.TextRotationAngle = 0D; + // + // tabp6_1 + // + this.tabp6_1.Controls.Add(this.groupBox2); + this.tabp6_1.Controls.Add(this.groupBox1); + this.tabp6_1.Controls.Add(this.groupBox3); + this.tabp6_1.Location = new System.Drawing.Point(3, 3); + this.tabp6_1.Name = "tabp6_1"; + this.tabp6_1.Size = new System.Drawing.Size(466, 893); + this.tabp6_1.TabIndex = 600; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.panel3); + this.groupBox2.Controls.Add(this.FpSpread2); + this.groupBox2.Controls.Add(this.button5); + this.groupBox2.Controls.Add(this.button7); + this.groupBox2.Controls.Add(this.button8); + this.groupBox2.Controls.Add(this.button9); + this.groupBox2.Controls.Add(this.button10); + this.groupBox2.Controls.Add(this.btnsearch2); + this.groupBox2.Controls.Add(this.txtj); + this.groupBox2.Controls.Add(this.button4); + this.groupBox2.Location = new System.Drawing.Point(4, 551); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(451, 282); + this.groupBox2.TabIndex = 604; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "해외 종목"; + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.White; + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel3.Location = new System.Drawing.Point(6, 73); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(288, 1); + this.panel3.TabIndex = 619; + // + // FpSpread2 + // + this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread2.AutoClipboard = false; + this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.HorizontalScrollBar.Name = ""; + this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread2.HorizontalScrollBar.TabIndex = 359; + this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Location = new System.Drawing.Point(5, 52); + this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread2.Name = "FpSpread2"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer17; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer17; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread2_Sheet1, + this.FpSpread2_Sheet2}); + this.FpSpread2.Size = new System.Drawing.Size(308, 214); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread2.Skin = spreadSkin1; + this.FpSpread2.TabIndex = 611; + this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.VerticalScrollBar.Name = ""; + this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread2.VerticalScrollBar.TabIndex = 360; + this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + // + // FpSpread2_Sheet1 + // + this.FpSpread2_Sheet1.Reset(); + this.FpSpread2_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet1.ColumnCount = 8; + this.FpSpread2_Sheet1.RowCount = 0; + this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread2_Sheet1.ActiveRowIndex = -1; + this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목"; + this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread2_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread2_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목"; + this.FpSpread2_Sheet1.Columns.Get(1).Width = 332F; + this.FpSpread2_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread2.SetActiveViewport(0, -1, 0); + // + // FpSpread2_Sheet2 + // + this.FpSpread2_Sheet2.Reset(); + this.FpSpread2_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // button5 + // + this.button5.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button5.ForeColor = System.Drawing.Color.Black; + this.button5.Location = new System.Drawing.Point(325, 238); + this.button5.Name = "button5"; + this.button5.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button5.Size = new System.Drawing.Size(79, 27); + this.button5.TabIndex = 614; + this.button5.Tag = "12"; + this.button5.Text = "240일"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.btn1_Click); + // + // button7 + // + this.button7.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button7.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button7.ForeColor = System.Drawing.Color.Black; + this.button7.Location = new System.Drawing.Point(325, 202); + this.button7.Name = "button7"; + this.button7.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button7.Size = new System.Drawing.Size(79, 27); + this.button7.TabIndex = 613; + this.button7.Tag = "11"; + this.button7.Text = "120일"; + this.button7.UseVisualStyleBackColor = true; + this.button7.Click += new System.EventHandler(this.btn1_Click); + // + // button8 + // + this.button8.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button8.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button8.ForeColor = System.Drawing.Color.Black; + this.button8.Location = new System.Drawing.Point(325, 166); + this.button8.Name = "button8"; + this.button8.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button8.Size = new System.Drawing.Size(79, 27); + this.button8.TabIndex = 612; + this.button8.Tag = "10"; + this.button8.Text = "60일"; + this.button8.UseVisualStyleBackColor = true; + this.button8.Click += new System.EventHandler(this.btn1_Click); + // + // button9 + // + this.button9.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button9.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button9.ForeColor = System.Drawing.Color.Black; + this.button9.Location = new System.Drawing.Point(325, 130); + this.button9.Name = "button9"; + this.button9.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button9.Size = new System.Drawing.Size(79, 27); + this.button9.TabIndex = 611; + this.button9.Tag = "9"; + this.button9.Text = "20일"; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.btn1_Click); + // + // button10 + // + this.button10.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button10.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button10.ForeColor = System.Drawing.Color.Black; + this.button10.Location = new System.Drawing.Point(325, 94); + this.button10.Name = "button10"; + this.button10.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button10.Size = new System.Drawing.Size(79, 27); + this.button10.TabIndex = 610; + this.button10.Tag = "8"; + this.button10.Text = "5일"; + this.button10.UseVisualStyleBackColor = true; + this.button10.Click += new System.EventHandler(this.btn1_Click); + // + // btnsearch2 + // + this.btnsearch2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch2.ForeColor = System.Drawing.Color.Black; + this.btnsearch2.Location = new System.Drawing.Point(218, 19); + this.btnsearch2.Name = "btnsearch2"; + this.btnsearch2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch2.Size = new System.Drawing.Size(92, 29); + this.btnsearch2.TabIndex = 609; + this.btnsearch2.Text = "종목 검색"; + this.btnsearch2.UseVisualStyleBackColor = true; + this.btnsearch2.Click += new System.EventHandler(this.btnsearch2_Click); + // + // txtj + // + this.txtj.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtj.Location = new System.Drawing.Point(5, 22); + this.txtj.Name = "txtj"; + this.txtj.Size = new System.Drawing.Size(195, 25); + this.txtj.TabIndex = 608; + this.txtj.TextChanged += new System.EventHandler(this.txtj_TextChanged); + this.txtj.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtj_KeyPress); + // + // button4 + // + this.button4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button4.ForeColor = System.Drawing.Color.Black; + this.button4.Location = new System.Drawing.Point(325, 51); + this.button4.Name = "button4"; + this.button4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button4.Size = new System.Drawing.Size(79, 27); + this.button4.TabIndex = 589; + this.button4.Tag = "7"; + this.button4.Text = "1열판"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.btn1_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.panel1); + this.groupBox1.Controls.Add(this.FpSpread1); + this.groupBox1.Controls.Add(this.btnsearch1); + this.groupBox1.Controls.Add(this.txts); + this.groupBox1.Controls.Add(this.button6); + this.groupBox1.Location = new System.Drawing.Point(4, 273); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(451, 270); + this.groupBox1.TabIndex = 603; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "해외 업종지수"; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel1.Location = new System.Drawing.Point(8, 84); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(306, 1); + this.panel1.TabIndex = 619; + // + // FpSpread1 + // + this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread1.AutoClipboard = false; + this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.HorizontalScrollBar.Name = ""; + this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4; + this.FpSpread1.HorizontalScrollBar.TabIndex = 357; + this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread1.Location = new System.Drawing.Point(6, 58); + this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread1.Name = "FpSpread1"; + namedStyle5.BackColor = System.Drawing.SystemColors.Window; + namedStyle5.CellType = generalCellType2; + namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle5.Renderer = generalCellType2; + namedStyle6.BackColor = System.Drawing.SystemColors.Control; + namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle6.Renderer = cornerRenderer2; + namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle5, + namedStyle6, + namedStyle3, + namedStyle4}); + this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread1_Sheet1, + this.FpSpread1_Sheet2}); + this.FpSpread1.Size = new System.Drawing.Size(308, 198); + spreadSkin2.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin2.DefaultStyle = namedStyle4; + spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin2.Name = "CustomSkin1"; + spreadSkin2.RowHeaderDefaultStyle = namedStyle3; + spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5; + spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread1.Skin = spreadSkin2; + this.FpSpread1.TabIndex = 610; + this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.VerticalScrollBar.Name = ""; + this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer6; + this.FpSpread1.VerticalScrollBar.TabIndex = 358; + this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + // + // FpSpread1_Sheet1 + // + this.FpSpread1_Sheet1.Reset(); + this.FpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet1.ColumnCount = 8; + this.FpSpread1_Sheet1.RowCount = 0; + this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread1_Sheet1.ActiveRowIndex = -1; + this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "업종"; + this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread1_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread1_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread1_Sheet1.Columns.Get(1).Label = "업종"; + this.FpSpread1_Sheet1.Columns.Get(1).Width = 330F; + this.FpSpread1_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread1.SetActiveViewport(0, -1, 0); + // + // FpSpread1_Sheet2 + // + this.FpSpread1_Sheet2.Reset(); + this.FpSpread1_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btnsearch1 + // + this.btnsearch1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch1.ForeColor = System.Drawing.Color.Black; + this.btnsearch1.Location = new System.Drawing.Point(221, 20); + this.btnsearch1.Name = "btnsearch1"; + this.btnsearch1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch1.Size = new System.Drawing.Size(93, 26); + this.btnsearch1.TabIndex = 609; + this.btnsearch1.Text = "업종 검색"; + this.btnsearch1.UseVisualStyleBackColor = true; + this.btnsearch1.Click += new System.EventHandler(this.btnsearch1_Click); + // + // txts + // + this.txts.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txts.Location = new System.Drawing.Point(6, 23); + this.txts.Name = "txts"; + this.txts.Size = new System.Drawing.Size(195, 25); + this.txts.TabIndex = 608; + this.txts.TextChanged += new System.EventHandler(this.txts_TextChanged); + this.txts.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txts_KeyPress); + // + // button6 + // + this.button6.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button6.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button6.ForeColor = System.Drawing.Color.Black; + this.button6.Location = new System.Drawing.Point(325, 58); + this.button6.Name = "button6"; + this.button6.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button6.Size = new System.Drawing.Size(79, 27); + this.button6.TabIndex = 589; + this.button6.Tag = "6"; + this.button6.Text = "1열판"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.btn1_Click); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.panel2); + this.groupBox3.Controls.Add(this.dataGridView1); + this.groupBox3.Controls.Add(this.button1); + this.groupBox3.Controls.Add(this.btn4); + this.groupBox3.Controls.Add(this.btn3); + this.groupBox3.Controls.Add(this.btn2); + this.groupBox3.Controls.Add(this.btn1); + this.groupBox3.Controls.Add(this.FpSpread); + this.groupBox3.Location = new System.Drawing.Point(3, 3); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(451, 263); + this.groupBox3.TabIndex = 602; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "해외지수"; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel2.Location = new System.Drawing.Point(9, 41); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(304, 1); + this.panel2.TabIndex = 619; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(140, 147); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(159, 63); + this.dataGridView1.TabIndex = 616; + this.dataGridView1.Visible = false; + // + // button1 + // + this.button1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button1.ForeColor = System.Drawing.Color.Black; + this.button1.Location = new System.Drawing.Point(326, 160); + this.button1.Name = "button1"; + this.button1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button1.Size = new System.Drawing.Size(79, 27); + this.button1.TabIndex = 593; + this.button1.Tag = "5"; + this.button1.Text = "240일"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.btn1_Click); + // + // btn4 + // + this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn4.ForeColor = System.Drawing.Color.Black; + this.btn4.Location = new System.Drawing.Point(326, 124); + this.btn4.Name = "btn4"; + this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn4.Size = new System.Drawing.Size(79, 27); + this.btn4.TabIndex = 592; + this.btn4.Tag = "4"; + this.btn4.Text = "120일"; + this.btn4.UseVisualStyleBackColor = true; + this.btn4.Click += new System.EventHandler(this.btn1_Click); + // + // btn3 + // + this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn3.ForeColor = System.Drawing.Color.Black; + this.btn3.Location = new System.Drawing.Point(326, 88); + this.btn3.Name = "btn3"; + this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn3.Size = new System.Drawing.Size(79, 27); + this.btn3.TabIndex = 591; + this.btn3.Tag = "3"; + this.btn3.Text = "60일"; + this.btn3.UseVisualStyleBackColor = true; + this.btn3.Click += new System.EventHandler(this.btn1_Click); + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(326, 52); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(79, 27); + this.btn2.TabIndex = 590; + this.btn2.Tag = "2"; + this.btn2.Text = "20일"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn1_Click); + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(326, 16); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(79, 27); + this.btn1.TabIndex = 589; + this.btn1.Tag = "1"; + this.btn1.Text = "5일"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // FpSpread + // + this.FpSpread.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread.AutoClipboard = false; + this.FpSpread.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.HorizontalScrollBar.Name = ""; + this.FpSpread.HorizontalScrollBar.Renderer = defaultScrollBarRenderer7; + this.FpSpread.HorizontalScrollBar.TabIndex = 359; + this.FpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread.Location = new System.Drawing.Point(7, 16); + this.FpSpread.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread.Name = "FpSpread"; + namedStyle7.BackColor = System.Drawing.SystemColors.Window; + namedStyle7.CellType = generalCellType3; + namedStyle7.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle7.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle7.Renderer = generalCellType3; + namedStyle8.BackColor = System.Drawing.SystemColors.Control; + namedStyle8.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle8.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle8.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle8.Renderer = cornerRenderer3; + namedStyle8.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle7, + namedStyle8, + namedStyle3, + namedStyle4}); + this.FpSpread.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread_Sheet1, + this.FpSpread_Sheet2}); + this.FpSpread.Size = new System.Drawing.Size(308, 232); + spreadSkin3.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin3.DefaultStyle = namedStyle4; + spreadSkin3.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin3.Name = "CustomSkin1"; + spreadSkin3.RowHeaderDefaultStyle = namedStyle3; + spreadSkin3.ScrollBarRenderer = defaultScrollBarRenderer8; + spreadSkin3.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread.Skin = spreadSkin3; + this.FpSpread.TabIndex = 588; + this.FpSpread.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.VerticalScrollBar.Name = ""; + this.FpSpread.VerticalScrollBar.Renderer = defaultScrollBarRenderer9; + this.FpSpread.VerticalScrollBar.TabIndex = 360; + this.FpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread_CellClick); + // + // FpSpread_Sheet1 + // + this.FpSpread_Sheet1.Reset(); + this.FpSpread_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet1.ColumnCount = 8; + this.FpSpread_Sheet1.RowCount = 0; + this.FpSpread_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread_Sheet1.ActiveRowIndex = -1; + this.FpSpread_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder3; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "지수"; + this.FpSpread_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread_Sheet1.Columns.Get(1).Label = "지수"; + this.FpSpread_Sheet1.Columns.Get(1).Width = 333F; + this.FpSpread_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread.SetActiveViewport(0, -1, 0); + // + // FpSpread_Sheet2 + // + this.FpSpread_Sheet2.Reset(); + this.FpSpread_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // UC5 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.tabp6_1); + this.Name = "UC5"; + this.Size = new System.Drawing.Size(473, 908); + this.Load += new System.EventHandler(this.UC5_Load); + this.tabp6_1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit(); + this.groupBox3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel tabp6_1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button btn4; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn1; + public FarPoint.Win.Spread.FpSpread FpSpread; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet2; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button btnsearch2; + private System.Windows.Forms.TextBox txtj; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button btnsearch1; + private System.Windows.Forms.TextBox txts; + public FarPoint.Win.Spread.FpSpread FpSpread2; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2; + public FarPoint.Win.Spread.FpSpread FpSpread1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + } +} diff --git a/MBN_STOCK_N/Control/UC5.cs b/MBN_STOCK_N/Control/UC5.cs new file mode 100644 index 0000000..4e87423 --- /dev/null +++ b/MBN_STOCK_N/Control/UC5.cs @@ -0,0 +1,260 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class UC5 : UserControl + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public UC5() + { + InitializeComponent(); + } + + public UC5(Form frm) + { + mf = (MainForm)frm; + InitializeComponent(); + + } + + //string[] worldstock = { "다우존스", "나스닥", "S&P500", "독일 DAX 30", "영국 FTSE 100", "프랑스 CAC 40", + //"일본 니케이", "중국 상해종합", "홍콩 항셍", "대만 가권", "싱가포르 지수", "태국 SET", "필리핀", "말레이시아 KLSE", "인도네시아 JKSE"}; + + string[] worldstock = { "다우존스", "나스닥", "S&P500", "독일 DAX 30", "영국 FTSE 100", "프랑스 CAC 40", + "일본 니케이", "중국 상해종합", "홍콩 항셍", "대만 가권"}; + + private void UC5_Load(object sender, EventArgs e) + { + FpSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + + for (int i=0; i< worldstock.Length; i++) + { + mf.InsertRow(FpSpread, FpSpread.ActiveSheet, FpSpread.ActiveSheet.RowCount + 1, 1, 0); + FpSpread.ActiveSheet.SetText(i, 1, worldstock[i]); + } + } + + + //업종검색 + private void btnsearch1_Click(object sender, EventArgs e) + { + upjong_search(); + } + + + //종목검색 + private void btnsearch2_Click(object sender, EventArgs e) + { + jongmok_search(); + } + + private void txts_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + upjong_search(); + } + } + + private void txtj_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + jongmok_search(); + } + } + + private void upjong_search() + { + string query = string.Empty; + + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + if (txts.Text == "") + { + query = "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' ORDER BY F_KNAM"; + } + else + { + query = "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' and F_KNAM like '%" + txts.Text.ToUpper() + "%' ORDER BY F_KNAM"; + } + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[0].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString()); + } + } + + private void jongmok_search() + { + string query = string.Empty; + + FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true); + if (FpSpread2.ActiveSheet.RowCount != 0) + FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount); + + if (txtj.Text == "") + { +// query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME"; + query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME"; + } + else + { +// query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') and UPPER(F_INPUT_NAME) like '%"+ txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME"; + query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and UPPER(F_INPUT_NAME) like '%" + txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME"; + } + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0); + FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + //FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString()); + } + } + + + + private void btn1_Click(object sender, EventArgs e) + { + + Button btn = (Button)sender; + string date = string.Empty; + + if ((string)btn.Tag == "1") + date = "5일"; + else if ((string)btn.Tag == "2") + date = "20일"; + else if ((string)btn.Tag == "3") + date = "60일"; + else if ((string)btn.Tag == "4") + date = "120일"; + else if ((string)btn.Tag == "5") + date = "240일"; + else if ((string)btn.Tag == "6") //업종 1열판 + { + if (FpSpread1.ActiveSheet.RowCount != 0) + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외업종"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "1열판기본"); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + return; + } + else if ((string)btn.Tag == "7") //해외종목 1열판 + { + if (FpSpread2.ActiveSheet.RowCount != 0) + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외종목"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread2.ActiveSheet.GetText(FpSpread2.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "1열판기본"); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + return; + + } + else if ((string)btn.Tag == "8") //해외종목 5일 + { + Account_Graph("5일"); + return; + } + else if ((string)btn.Tag == "9") //해외종목 20일 + { + Account_Graph("20일"); + return; + } + else if ((string)btn.Tag == "10") //해외종목 60일 + { + Account_Graph("60일"); + return; + } + else if ((string)btn.Tag == "11") //해외종목 120일 + { + Account_Graph("120일"); + return; + } + else if ((string)btn.Tag == "12") //해외종목 240일 + { + Account_Graph("240일"); + return; + } + + + if (FpSpread.ActiveSheet.GetText(FpSpread.ActiveSheet.ActiveRowIndex, 1) != "") + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외지수"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread.ActiveSheet.GetText(FpSpread.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "캔들그래프"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, date); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + } + + public void Account_Graph(string date) + { + if (FpSpread2.ActiveSheet.RowCount != 0) + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외종목"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread2.ActiveSheet.GetText(FpSpread2.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "캔들그래프"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, date); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + } + } + + private void FpSpread_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + } + + private void txts_TextChanged(object sender, EventArgs e) + { + //txts.CharacterCasing = CharacterCasing.Upper; ; + } + + private void txtj_TextChanged(object sender, EventArgs e) + { + // txtj.CharacterCasing = CharacterCasing.Upper; ; + } + } +} diff --git a/MBN_STOCK_N/Control/UC5.resx b/MBN_STOCK_N/Control/UC5.resx new file mode 100644 index 0000000..0a9a252 --- /dev/null +++ b/MBN_STOCK_N/Control/UC5.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 401, 157 + + + 516, 157 + + + 171, 157 + + + 286, 157 + + + 811, 118 + + + 958, 118 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC6.Designer.cs b/MBN_STOCK_N/Control/UC6.Designer.cs new file mode 100644 index 0000000..cfebb88 --- /dev/null +++ b/MBN_STOCK_N/Control/UC6.Designer.cs @@ -0,0 +1,709 @@ + +namespace MBN_STOCK_N +{ + partial class UC6 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UC6)); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder(); + this.btlistadd = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.listBox = new System.Windows.Forms.ListBox(); + this.btnsearch = new System.Windows.Forms.Button(); + this.tabp6_1 = new System.Windows.Forms.Panel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btnsave = new System.Windows.Forms.Button(); + this.btndel = new System.Windows.Forms.Button(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.FpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btnDelete = new System.Windows.Forms.Button(); + this.btnAdd = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.tabp6_1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer11.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13"; + enhancedColumnHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer13.TextRotationAngle = 0D; + rowHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer13.Name = "rowHeaderRenderer13"; + rowHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer13.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer17.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer17.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer17.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17"; + enhancedColumnHeaderRenderer17.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer17.TextRotationAngle = 0D; + rowHeaderRenderer17.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer17.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer17.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer17.Name = "rowHeaderRenderer17"; + rowHeaderRenderer17.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer17.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18"; + enhancedColumnHeaderRenderer18.TextRotationAngle = 0D; + rowHeaderRenderer18.Name = "rowHeaderRenderer18"; + rowHeaderRenderer18.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14"; + enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer14.TextRotationAngle = 0D; + rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer14.Name = "rowHeaderRenderer14"; + rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer14.TextRotationAngle = 0D; + // + // btlistadd + // + this.btlistadd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btlistadd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btlistadd.ForeColor = System.Drawing.Color.Black; + this.btlistadd.Location = new System.Drawing.Point(9, 309); + this.btlistadd.Name = "btlistadd"; + this.btlistadd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btlistadd.Size = new System.Drawing.Size(187, 35); + this.btlistadd.TabIndex = 595; + this.btlistadd.Text = "송출 리스트에 추가"; + this.btlistadd.UseVisualStyleBackColor = true; + this.btlistadd.Click += new System.EventHandler(this.btlistadd_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.txtSearch); + this.groupBox1.Controls.Add(this.listBox); + this.groupBox1.Controls.Add(this.btnsearch); + this.groupBox1.Location = new System.Drawing.Point(202, 51); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(209, 294); + this.groupBox1.TabIndex = 600; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "종목"; + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtSearch.Location = new System.Drawing.Point(6, 21); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(128, 25); + this.txtSearch.TabIndex = 591; + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(6, 60); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(192, 225); + this.listBox.TabIndex = 594; + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image"))); + this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.Location = new System.Drawing.Point(140, 17); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(63, 26); + this.btnsearch.TabIndex = 592; + this.btnsearch.Text = " 검색"; + this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // tabp6_1 + // + this.tabp6_1.Controls.Add(this.panel1); + this.tabp6_1.Controls.Add(this.panel2); + this.tabp6_1.Controls.Add(this.btnsave); + this.tabp6_1.Controls.Add(this.btndel); + this.tabp6_1.Controls.Add(this.dataGridView1); + this.tabp6_1.Controls.Add(this.btlistadd); + this.tabp6_1.Controls.Add(this.FpSpread1); + this.tabp6_1.Controls.Add(this.FpSpread2); + this.tabp6_1.Controls.Add(this.btnDelete); + this.tabp6_1.Controls.Add(this.btnAdd); + this.tabp6_1.Controls.Add(this.groupBox1); + this.tabp6_1.Location = new System.Drawing.Point(4, 2); + this.tabp6_1.Name = "tabp6_1"; + this.tabp6_1.Size = new System.Drawing.Size(460, 812); + this.tabp6_1.TabIndex = 602; + this.tabp6_1.Paint += new System.Windows.Forms.PaintEventHandler(this.tabp6_1_Paint); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel1.Location = new System.Drawing.Point(10, 390); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(398, 1); + this.panel1.TabIndex = 621; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel2.Location = new System.Drawing.Point(10, 38); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(184, 1); + this.panel2.TabIndex = 620; + // + // btnsave + // + this.btnsave.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsave.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsave.ForeColor = System.Drawing.Color.Black; + this.btnsave.Location = new System.Drawing.Point(305, 753); + this.btnsave.Name = "btnsave"; + this.btnsave.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsave.Size = new System.Drawing.Size(105, 29); + this.btnsave.TabIndex = 619; + this.btnsave.Text = "저장"; + this.btnsave.UseVisualStyleBackColor = true; + this.btnsave.Click += new System.EventHandler(this.btnsave_Click); + // + // btndel + // + this.btndel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btndel.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btndel.ForeColor = System.Drawing.Color.Black; + this.btndel.Location = new System.Drawing.Point(189, 753); + this.btndel.Name = "btndel"; + this.btndel.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btndel.Size = new System.Drawing.Size(105, 29); + this.btndel.TabIndex = 618; + this.btndel.Text = "종목삭제"; + this.btndel.UseVisualStyleBackColor = true; + this.btndel.Click += new System.EventHandler(this.btndel_Click); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(37, 455); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(179, 63); + this.dataGridView1.TabIndex = 617; + this.dataGridView1.Visible = false; + // + // FpSpread1 + // + this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread1.AutoClipboard = false; + this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.HorizontalScrollBar.Name = ""; + this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread1.HorizontalScrollBar.TabIndex = 361; + this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread1.Location = new System.Drawing.Point(9, 12); + this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread1.Name = "FpSpread1"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer18; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer18; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread1_Sheet1, + this.FpSpread1_Sheet2}); + this.FpSpread1.Size = new System.Drawing.Size(187, 291); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread1.Skin = spreadSkin1; + this.FpSpread1.TabIndex = 605; + this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.VerticalScrollBar.Name = ""; + this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread1.VerticalScrollBar.TabIndex = 362; + this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick); + // + // FpSpread1_Sheet1 + // + this.FpSpread1_Sheet1.Reset(); + this.FpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet1.ColumnCount = 7; + this.FpSpread1_Sheet1.RowCount = 0; + this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread1_Sheet1.ActiveRowIndex = -1; + this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "전문가"; + this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread1_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread1_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread1_Sheet1.Columns.Get(1).Label = "전문가"; + this.FpSpread1_Sheet1.Columns.Get(1).Width = 193F; + this.FpSpread1_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread1.SetActiveViewport(0, -1, 0); + // + // FpSpread1_Sheet2 + // + this.FpSpread1_Sheet2.Reset(); + this.FpSpread1_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // FpSpread2 + // + this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread2.AllowDragDrop = true; + this.FpSpread2.AllowDragFill = true; + this.FpSpread2.AllowUserFormulas = true; + this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.HorizontalScrollBar.Name = ""; + this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4; + this.FpSpread2.HorizontalScrollBar.TabIndex = 363; + this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Location = new System.Drawing.Point(8, 364); + this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread2.Name = "FpSpread2"; + namedStyle5.BackColor = System.Drawing.SystemColors.Window; + namedStyle5.CellType = generalCellType2; + namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle5.Renderer = generalCellType2; + namedStyle6.BackColor = System.Drawing.SystemColors.Control; + namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle6.Renderer = cornerRenderer2; + namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle5, + namedStyle6, + namedStyle3, + namedStyle4}); + this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread2_Sheet1, + this.FpSpread2_Sheet2}); + this.FpSpread2.Size = new System.Drawing.Size(402, 382); + spreadSkin2.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin2.DefaultStyle = namedStyle4; + spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin2.Name = "CustomSkin1"; + spreadSkin2.RowHeaderDefaultStyle = namedStyle3; + spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5; + spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread2.Skin = spreadSkin2; + this.FpSpread2.TabIndex = 1; + this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.VerticalScrollBar.Name = ""; + this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer6; + this.FpSpread2.VerticalScrollBar.TabIndex = 364; + this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick); + this.FpSpread2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FpSpread2_KeyDown); + // + // FpSpread2_Sheet1 + // + this.FpSpread2_Sheet1.Reset(); + this.FpSpread2_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet1.ColumnCount = 8; + this.FpSpread2_Sheet1.RowCount = 0; + this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread2_Sheet1.ActiveRowIndex = -1; + this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "매수가"; + this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread2_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread2_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목"; + this.FpSpread2_Sheet1.Columns.Get(1).Width = 273F; + this.FpSpread2_Sheet1.Columns.Get(2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.Columns.Get(2).Label = "매수가"; + this.FpSpread2_Sheet1.Columns.Get(2).Width = 163F; + this.FpSpread2_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread2.SetActiveViewport(0, -1, 0); + // + // FpSpread2_Sheet2 + // + this.FpSpread2_Sheet2.Reset(); + this.FpSpread2_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btnDelete + // + this.btnDelete.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnDelete.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnDelete.ForeColor = System.Drawing.Color.Black; + this.btnDelete.Location = new System.Drawing.Point(312, 12); + this.btnDelete.Name = "btnDelete"; + this.btnDelete.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnDelete.Size = new System.Drawing.Size(93, 29); + this.btnDelete.TabIndex = 604; + this.btnDelete.Text = "삭제"; + this.btnDelete.UseVisualStyleBackColor = true; + this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click); + // + // btnAdd + // + this.btnAdd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnAdd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnAdd.ForeColor = System.Drawing.Color.Black; + this.btnAdd.Location = new System.Drawing.Point(208, 12); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.TabIndex = 603; + this.btnAdd.Text = "추가"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // UC6 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.tabp6_1); + this.Controls.Add(rowHeaderRenderer1); + this.Controls.Add(enhancedColumnHeaderRenderer1); + this.Name = "UC6"; + this.Size = new System.Drawing.Size(470, 817); + this.Load += new System.EventHandler(this.UC6_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.tabp6_1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button btlistadd; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.Panel tabp6_1; + public FarPoint.Win.Spread.FpSpread FpSpread2; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2; + private System.Windows.Forms.Button btnDelete; + private System.Windows.Forms.Button btnAdd; + public FarPoint.Win.Spread.FpSpread FpSpread1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Button btnsave; + private System.Windows.Forms.Button btndel; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel1; + } +} diff --git a/MBN_STOCK_N/Control/UC6.cs b/MBN_STOCK_N/Control/UC6.cs new file mode 100644 index 0000000..21bbffd --- /dev/null +++ b/MBN_STOCK_N/Control/UC6.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class UC6 : UserControl + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + string m_code = string.Empty; + string m_name = string.Empty; + string m_scode = string.Empty; + public UC6() + { + InitializeComponent(); + } + + + public UC6(Form frm) + { + mf = (MainForm)frm; + InitializeComponent(); + + } + + + private void btnAdd_Click(object sender, EventArgs e) + { + EList fm = new EList(mf); + fm.ShowDialog(); + + Data_Load(); + } + + private void UC6_Load(object sender, EventArgs e) + { + + FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + Data_Load(); + FpSpread2.Focus(); + + } + + private void Data_Load() + { + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + mf.m_db.ViewQuery(dataGridView1, "SELECT EP_NAME, EP_CODE FROM EXPERT_LIST"); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + + } + } + + private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true); + + if (FpSpread2.ActiveSheet.RowCount != 0) + FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount); + + m_code = FpSpread1.ActiveSheet.GetText(e.Row, 0); + m_name = FpSpread1.ActiveSheet.GetText(e.Row, 1); + + mf.m_db.ViewQuery(dataGridView1, "SELECT * FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "' order by PLAYINDEX"); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0); + FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[2].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[3].Value.ToString()); + FpSpread2.ActiveSheet.SetText(i, 3, dataGridView1.Rows[i].Cells[0].Value.ToString()); + + } + + + } + + private void btnDelete_Click(object sender, EventArgs e) + { + + if (m_code != "") + { + if (MessageBox.Show("선택한 전문가를 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + if (FpSpread1.ActiveSheet.ActiveRowIndex + 1 > 0) + { + FpSpread1.ActiveSheet.RemoveRows(FpSpread1.ActiveSheet.ActiveRowIndex, 1); + } + + mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "'"); + mf.m_db.ExecuteQuery("DELETE FROM EXPERT_LIST WHERE EP_CODE = '" + m_code + "'"); + } + } + + } + + + //종목삭제 + private void btndel_Click(object sender, EventArgs e) + { + if (FpSpread2.ActiveSheet.ActiveRowIndex + 1 > 0) + { + //mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "' AND RC_STOCK_CODE = '" + m_scode + "'"); + FpSpread2.ActiveSheet.RemoveRows(FpSpread2.ActiveSheet.ActiveRowIndex, 1); + } + } + + + //저장 + private void btnsave_Click(object sender, EventArgs e) + { + + if (m_code != "" && FpSpread2.ActiveSheet.RowCount != 0) + { + mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "'"); + mf.m_db.ExecuteQuery("DELETE FROM EXPERT_LIST WHERE EP_CODE = '" + m_code + "'"); + + + mf.m_db.ExecuteQuery("INSERT INTO EXPERT_LIST(EP_CODE, EP_NAME) VALUES('" + m_code + "', '" + m_name + "')"); + + for (int i = 0; i < FpSpread2.ActiveSheet.RowCount; i++) + { + //상세종목 입력 + mf.m_db.ExecuteQuery("INSERT INTO RECOMMEND_LIST (RC_CODE, RC_STOCK_CODE, RC_STOCK_NAME, RC_BUY_AMOUNT, PLAYINDEX) VALUES('" + m_code + "', '" + FpSpread2.ActiveSheet.GetText(i, 0) + "', '" + FpSpread2.ActiveSheet.GetText(i, 1) + "', '" + FpSpread2.ActiveSheet.GetText(i, 2) + "','" + i.ToString() + "')"); + } + + MessageBox.Show("저장되었습니다"); + } + + + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + mf.searchStock(listBox, txtSearch); + } + } + + private void btnsearch_Click(object sender, EventArgs e) + { + mf.searchStock(listBox, txtSearch); + } + + private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + + if (e.Column == 2) + { + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.Normal; + // MessageBox.Show("A"); + } + else + { + FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + } + m_scode = FpSpread2.ActiveSheet.GetText(e.Row, 0); + } + + private void listBox_DoubleClick(object sender, EventArgs e) + { + string str = mf.jongmokCode((string)listBox.SelectedItem); + + string data3 = str.Substring(0, str.IndexOf('/')); //종목코드 + string data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); //코스피, 코스닥체크 + string jcode = string.Empty; + + + + + //열추가 + int row = FpSpread2.ActiveSheet.RowCount + 1; + mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, row, 1, 0); + + FpSpread2.ActiveSheet.SetText(row - 1, 1, (string)listBox.SelectedItem); + FpSpread2.ActiveSheet.SetText(row - 1, 0, data3); + FpSpread2.ActiveSheet.SetText(row - 1, 3, m_code); + } + + private void btlistadd_Click(object sender, EventArgs e) + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + + mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "전문가 추천"); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "5단 표그래프"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "현재가"); + mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가 + + int cnt = FpSpread2.ActiveSheet.RowCount; + int lcnt = 0; + + if ((cnt % 5) != 0) + lcnt = 1; + + lcnt = (cnt / 5) + lcnt; + + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString()); + } + + private void tabp6_1_Paint(object sender, PaintEventArgs e) + { + + } + + private void FpSpread2_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Delete) + { + btndel_Click(null, null); + } + } + } +} diff --git a/MBN_STOCK_N/Control/UC6.resx b/MBN_STOCK_N/Control/UC6.resx new file mode 100644 index 0000000..f56eeaf --- /dev/null +++ b/MBN_STOCK_N/Control/UC6.resx @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + + 1073, 118 + + + 1188, 118 + + + 811, 118 + + + 958, 118 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Control/UC7.Designer.cs b/MBN_STOCK_N/Control/UC7.Designer.cs new file mode 100644 index 0000000..baa52ff --- /dev/null +++ b/MBN_STOCK_N/Control/UC7.Designer.cs @@ -0,0 +1,393 @@ + +namespace MBN_STOCK_N +{ + partial class UC7 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.btnsearch = new System.Windows.Forms.Button(); + this.txts = new System.Windows.Forms.TextBox(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn1 = new System.Windows.Forms.Button(); + this.FpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.TextRotationAngle = 0D; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.panel1); + this.groupBox3.Controls.Add(this.btnsearch); + this.groupBox3.Controls.Add(this.txts); + this.groupBox3.Controls.Add(this.dataGridView1); + this.groupBox3.Controls.Add(this.btn2); + this.groupBox3.Controls.Add(this.btn1); + this.groupBox3.Controls.Add(this.FpSpread1); + this.groupBox3.Location = new System.Drawing.Point(2, 12); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(451, 602); + this.groupBox3.TabIndex = 603; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "거래정지 종목"; + this.groupBox3.Enter += new System.EventHandler(this.groupBox3_Enter); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel1.Location = new System.Drawing.Point(6, 80); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(301, 1); + this.panel1.TabIndex = 622; + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Location = new System.Drawing.Point(226, 19); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(88, 31); + this.btnsearch.TabIndex = 618; + this.btnsearch.Text = "검 색"; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // txts + // + this.txts.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txts.Location = new System.Drawing.Point(6, 24); + this.txts.Name = "txts"; + this.txts.Size = new System.Drawing.Size(195, 25); + this.txts.TabIndex = 0; + this.txts.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txts_KeyPress); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(32, 450); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(243, 130); + this.dataGridView1.TabIndex = 616; + this.dataGridView1.Visible = false; + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(321, 340); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(90, 34); + this.btn2.TabIndex = 593; + this.btn2.Tag = "2"; + this.btn2.Text = "120일 캔들"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn4_Click); + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(321, 288); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(90, 34); + this.btn1.TabIndex = 592; + this.btn1.Tag = "1"; + this.btn1.Text = "현재가"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn4_Click); + // + // FpSpread1 + // + this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread1.AutoClipboard = false; + this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.HorizontalScrollBar.Name = ""; + this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread1.HorizontalScrollBar.TabIndex = 349; + this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread1.Location = new System.Drawing.Point(6, 56); + this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread1.Name = "FpSpread1"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer4; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer4; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread1_Sheet1, + this.FpSpread1_Sheet2}); + this.FpSpread1.Size = new System.Drawing.Size(303, 533); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread1.Skin = spreadSkin1; + this.FpSpread1.TabIndex = 588; + this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.VerticalScrollBar.Name = ""; + this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread1.VerticalScrollBar.TabIndex = 350; + this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick); + // + // FpSpread1_Sheet1 + // + this.FpSpread1_Sheet1.Reset(); + this.FpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet1.ColumnCount = 8; + this.FpSpread1_Sheet1.RowCount = 0; + this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread1_Sheet1.ActiveRowIndex = -1; + this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목명"; + this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread1_Sheet1.Columns.Get(0).Label = "Index"; + this.FpSpread1_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(0).Width = 79F; + this.FpSpread1_Sheet1.Columns.Get(1).Label = "종목명"; + this.FpSpread1_Sheet1.Columns.Get(1).Width = 327F; + this.FpSpread1_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread1_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread1.SetActiveViewport(0, -1, 0); + // + // FpSpread1_Sheet2 + // + this.FpSpread1_Sheet2.Reset(); + this.FpSpread1_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // UC7 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox3); + this.Name = "UC7"; + this.Size = new System.Drawing.Size(458, 715); + this.Load += new System.EventHandler(this.UC7_Load); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn1; + public FarPoint.Win.Spread.FpSpread FpSpread1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.TextBox txts; + private System.Windows.Forms.Panel panel1; + } +} diff --git a/MBN_STOCK_N/Control/UC7.cs b/MBN_STOCK_N/Control/UC7.cs new file mode 100644 index 0000000..f9ef9f0 --- /dev/null +++ b/MBN_STOCK_N/Control/UC7.cs @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class UC7 : UserControl + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + + + public UC7() + { + InitializeComponent(); + } + + + public UC7(Form frm) + { + mf = (MainForm)frm; + InitializeComponent(); + + } + + private void UC7_Load(object sender, EventArgs e) + { + FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + } + + //검색 + private void btnsearch_Click(object sender, EventArgs e) + { + search(); + } + + private void txts_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + search(); + } + } + + private void search() + { + string query = string.Empty; + + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + if (txts.Text == "") + { + //query = "SELECT DISTINCT b.F_STOCK_WANNAME stock_name, b.f_stock_code stock_code "; + //query = query + "FROM t_stop_online1 a, t_stock b "; + //query = query + "WHERE b.f_mkt_halt = 'Y' "; + //query = query + "AND a.f_curr_price < > 0 "; + //query = query + "AND a.f_stock_code = b.f_stock_code"; + + + query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + query = query + "FROM t_stop_online1 a, t_stock b "; + query = query + "WHERE b.f_mkt_halt = 'Y' "; + query = query + "and a.f_stock_code = b.f_stock_code order by 2"; + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + //FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 0, "코스피"); + } + + int cnt = dataGridView1.RowCount-1; + query = ""; + //query = "SELECT DISTINCT b.F_STOCK_WANNAME stock_name, b.f_stock_code stock_code "; + //query = query + "FROM T_STOP_KOSDAQ_ONLINE1 a, T_KOSDAQ_STOCK b "; + //query = query + "WHERE b.f_mkt_halt = 'Y' "; + //query = query + "AND a.f_curr_price < > 0 "; + //query = query + "AND a.f_stock_code = b.f_stock_code"; + + query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b "; + query = query + "WHERE b.f_mkt_halt = 'Y' "; + query = query + "and a.f_stock_code = b.f_stock_code order by 2"; + + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + //FpSpread1.ActiveSheet.SetText(i + cnt, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i + cnt, 1, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i + cnt, 0, "코스닥"); + + } + + } + else + { + string s = string.Empty; + + s = txts.Text.ToUpper(); + //query = "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_STOCK WHERE F_MKT_HALT = 'Y' AND UPPER(F_STOCK_WANNAME) LIKE '%" + s + "%'"; + + //query = "select stock_name, stock_code "; + //query = query + "from( "; + //query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + //query = query + "FROM t_stop_online1 a, t_stock b "; + //query = query + "WHERE b.f_mkt_halt = 'Y' "; + //query = query + "and a.f_stock_code = b.f_stock_code "; + //query = query + "union "; + //query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + //query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b "; + //query = query + " WHERE b.f_mkt_halt = 'Y' "; + //query = query + "and a.f_stock_code = b.f_stock_code) "; + //query = query + "where stock_name like '%" + s + "%' "; + + + + query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + query = query + "FROM t_stop_online1 a, t_stock b "; + query = query + "WHERE b.f_mkt_halt = 'Y' "; + query = query + "and a.f_stock_code = b.f_stock_code "; + query = query + "and b.F_STOCK_WANNAME like '%" + s + "%' "; + + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + //FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i, 0, "코스피"); + + } + + int cnt = dataGridView1.RowCount - 1; + query = ""; + query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name "; + query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b "; + query = query + "WHERE b.f_mkt_halt = 'Y' "; + query = query + "and a.f_stock_code = b.f_stock_code "; + query = query + "and b.F_STOCK_WANNAME like '%" + s + "%' "; + + + mf.m_db.ViewQuery(dataGridView1, query); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0); + //FpSpread1.ActiveSheet.SetText(i + cnt, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i + cnt, 1, dataGridView1.Rows[i].Cells[1].Value.ToString()); + FpSpread1.ActiveSheet.SetText(i + cnt, 0, "코스닥"); + } + } + } + + bool[] sortAscending = new bool[6]; + private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + if (e.ColumnHeader) + { + if (e.Column == 1) + { + FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[2]; + + //int sindex = (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : 0))); + int sindex = (e.Column == 1 ? 0 : (e.Column == 3 ? 1 : (e.Column == 5 ? 2 : 3))); + si[0] = new FarPoint.Win.Spread.SortInfo(e.Column, sortAscending[sindex], System.Collections.Comparer.Default); + + sortAscending[sindex] = (sortAscending[sindex] == false ? true : false); + FpSpread1.Sheets[0].SortRange(0, 0, FpSpread1.Sheets[0].GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data), FpSpread1.Sheets[0].ColumnCount, true, si); + } + + } + } + + //현재가 + private void btn4_Click(object sender, EventArgs e) + { + Button btn = (Button)sender; + string data1 = string.Empty; + string data2 = string.Empty; + + if ((string)btn.Tag == "1") + { + data1 = "1열판기본"; + data2 = "거래정지-현재가"; + } + else if ((string)btn.Tag == "2") + { + data1 = "캔들그래프-거래정지"; + data2 = "120일"; + } + + + + if (FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1) != "") + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 1, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 0)); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1)); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + + //string s = mf.jongmokCode(FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1)); + + //if (s != "") + //{ + // string data3 = s.Substring(s.IndexOf('/') + 1, s.Length - s.IndexOf('/') - 1); + // mf.PlayList.ActiveSheet.SetText(row - 1, 1, data3); + //} + + + } + } + + private void groupBox3_Enter(object sender, EventArgs e) + { + + } + } +} diff --git a/MBN_STOCK_N/Control/UC7.resx b/MBN_STOCK_N/Control/UC7.resx new file mode 100644 index 0000000..36e4751 --- /dev/null +++ b/MBN_STOCK_N/Control/UC7.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1104, 118 + + + 1251, 118 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Data/Classification/CutList.cs b/MBN_STOCK_N/Data/Classification/CutList.cs new file mode 100644 index 0000000..16829b6 --- /dev/null +++ b/MBN_STOCK_N/Data/Classification/CutList.cs @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Classification +{ + public class CutList + { + public string cutPath = @"D:\매경TVCuts\"; + public string videoPath = @"D:\매경TVCuts\Video\"; + + + public string[] getCutInfo(string info) + { + string[] rtn = new string[] { "", "" }; + try + { + string path = cutPath; + + if (info.Contains("해외증시 - ")) + { + rtn[0] = "6001"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("영업이익수동^")) + { + rtn[0] = "5081"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("매출액수동^")) + { + rtn[0] = "5080"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("성장성수동^")) + { + rtn[0] = "5079"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("원그래프수동^")) + { + rtn[0] = "5076"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("순매도수동^")) + { + rtn[0] = "5025"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("5단수동^")) + { + rtn[0] = "50740"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("5단표 - ")) + { + rtn[0] = "5074"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("호가창 - ")) + { + rtn[0] = "8003"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("거래원 - ")) + { + rtn[0] = "5037"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("수급 - ")) + { + //디자인 미완성 + } + else if (info.Contains("선그래프 - 주체별 - ")) + { + rtn[0] = "5083"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("선그래프 - 종류별 - ")) + { + rtn[0] = "5084"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("막대그래프 - ")) + { + rtn[0] = "5024"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("유가금값 - ")) + { + rtn[0] = "8086"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("업종별 등락 - 코스피")) + { + rtn[0] = "8001"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("업종별 등락 - 코스닥")) + { + rtn[0] = "8002"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("업종별 섹터지수 - ")) + { + rtn[0] = "5078"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("3열판 - ")) + { + rtn[0] = "5016"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("매매동향 - 주체별")) + { + rtn[0] = "5082"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("매매동향 - 지수별")) + { + rtn[0] = "5023"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("프로그램 매매")) + { + rtn[0] = "5085"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("기관 순매수")) + { + rtn[0] = "6067"; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (CutList_WorldMap.ContainsValue(info)) + { + rtn[0] = CutList_WorldMap.FirstOrDefault(x => x.Value == info).Key; + rtn[1] = path + rtn[0] + ".t2s"; + } + + + + string[] infos = info.Split('-'); + string infoPlate1 = info.Replace(infos[infos.Length - 1], " "); + string infoGraph = info.Remove(info.IndexOf('-')-1); + + if (info.Contains("캔들 그래프")) + { + string term = infos[1]; + + if (term.Equals(" 일봉 (5분) ")) + rtn[0] = "8035"; + else if (term.Equals(" 5일 ")) + rtn[0] = "8061"; + else if (term.Equals(" 1개월 ")) + rtn[0] = "8040"; + else if (term.Equals(" 3개월 ")) + rtn[0] = "8046"; + else if (term.Equals(" 6개월 ")) + rtn[0] = "8051"; + else if (term.Equals(" 1년 ")) + rtn[0] = "8056"; + + + + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (info.Contains("2열판")) + { + if (info.Contains("비교분석 캔들형")) + { + rtn[0] = "5026"; + } + else if (info.Contains("비교분석 라인형")) + { + rtn[0] = "5087"; + } + else if (info.Contains("수익률 비교")) + { + rtn[0] = "5029"; + } + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (CutList_Plate1.ContainsValue(infoPlate1)) + { + rtn[0] = CutList_Plate1.FirstOrDefault(x => x.Value == infoPlate1).Key; + rtn[1] = path + rtn[0] + ".t2s"; + } + else if (CutList_Graph.ContainsValue(infoGraph)) + { + rtn[0] = CutList_Graph.FirstOrDefault(x => x.Value == infoGraph).Key; + rtn[1] = path + rtn[0] + ".t2s"; + } + + } + catch (Exception) + { + } + + + + return rtn; + } + + + public Dictionary CutList_Plate1 = new Dictionary + { + { "5001", "1열판 - 기본 - " }, + { "5006", "1열판 - 시가 - " }, + { "5012", "1열판 - 액면가 - " }, + { "5012_NE", "1열판 - PBR - " }, //디자인 변경해야함 + { "5011", "1열판 - 거래량 - " } + }; + + + public Dictionary CutList_Graph = new Dictionary + { + { "5086", "수익률 그래프" } + }; + + public Dictionary CutList_Candle = new Dictionary + { + {"8035", "5분봉" }, + {"8040", "1개월" }, + {"8046", "3개월" }, + {"8051", "6개월" }, + {"8056", "12개월" }, + {"8061", "1주일" } + }; + + //세계지도 관련 컷 + public Dictionary CutList_WorldMap = new Dictionary + { + { "8067", "세계지도 1장" }, + { "5068", "미국지도" }, + { "5070", "유럽지도" }, + { "5072", "아시아지도" } + }; + + + } +} diff --git a/MBN_STOCK_N/Data/DBDefine.cs b/MBN_STOCK_N/Data/DBDefine.cs new file mode 100644 index 0000000..7959e8e --- /dev/null +++ b/MBN_STOCK_N/Data/DBDefine.cs @@ -0,0 +1,353 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp +{ + public static class DBDefine + { + + [Flags] + public enum 요구데이터분류 + { + 지수, + 종목, + 환율, + 업종과동향 + } + + /// + /// Cut_5,10참조 + /// + public enum 선그래프데이터분류 + { + 원달러, + 원엔, + 원위엔, + 원유로, + 코스피수익률, + 코스닥수익률, + 코스피200수익률, + KRX100수익률, + 코스피업종지수수익률, + 코스닥업종지수수익률, + 코스피종목수익률, + 코스닥종목수익률, + 개인매매동향, + 외국인매매동향, + 기관매매동향, + 코스피매매동향, + 코스닥매매동향 + } + + /// + /// Cut_7참조 + /// + public enum 봉차트데이터분류 + { + KOSPI, + KOSDAQ, + KOSPI200, + KRX100, + 선물, + 코스피종목, + 코스닥종목, + 코스피업종지수, + 코스닥업종지수, + 해외지수, + 해외종목, + 거래정지, + 거래정지k + } + + /// + /// Cut_7 세부종목 + /// KRX100, 업종지수는 예상지수가 없음. + /// + public enum 봉차트세부종목 + { + 예상지수, + 일반지수, + 거래량 + } + + /// + /// Cut_8, Cut_9 참조 + /// + public enum 봉차트매매동향 + { + 주체별매매동향, + 코스피매매동향5단, + 코스닥매매동향5단 + } + + + public enum 그리드표그래프종류 + { + 투자자순매수매도상위14번컷, + 프로그램매매13번컷, + 기관순매수현황11번컷, + 지수별매매동향9번컷, + 주체별매매동향8번컷 + } + + + public enum 데이터기간 + { + [StringValue("1")] + 일, + [StringValue("5")] + 주, + [StringValue("20")] + 월, + [StringValue("60")] + 분기, + [StringValue("120")] + 반기, + [StringValue("240")] + 연 + } + + public enum 환율 + { + [StringValue("A09")] + 달러, + + [StringValue("A10")] + 엔, + + [StringValue("A90")] + 위엔, + + [StringValue("A91")] + 유로 + } + + [Flags] + public enum 국내지수종류 + { + KOSPI, KOSDAQ, NXT_KOSPI, NXT_KOSDAQ, KOSPI200, KRX100, 선물 + } + + [Flags] + public enum 국제지수종류 + { + 다우, 나스닥, SP, 독일, 영국, 프랑스, 니케이, 중국상해, 홍콩항셍, 대만가권, + 싱가포르지수, 태국지수, 필리핀지수, 말레이시아지수, 인도네시아지수, 일본, + 유가두바이지수, 유가WTI지수, 유가브랜드유지수, 금지수 + } + + [Flags] + public enum 국내시장종류 + { + KOSPI, KOSDAQ, NXT_KOSPI, NXT_KOSDAQ, 거래정지, 거래정지K + } + + [Flags] + public enum 종목데이터분류 + { + 거래량, PBR, 현재가, 시가, 액면가, 시가총액, + 등락비율, 주52고저, 시간외등락, 예상시가총액최고최저 + } + + [Flags] + public enum 원환율 + { + 원위엔, 원달러, 원엔, 원유로 + } + + [Flags] + public enum 달러환율 + { + 달러엔, 달러유로, 달러위안 + } + + [Flags] + public enum 업종데이터 + { + KOSPI, KOSDAQ, 해외 + } + + [Flags] + public enum 매매동향 + { + 개인, 외국인, 기관, 코스피, 코스닥, 해외종목 + } + + public enum 섹터지수막대그래프분류 + { + 코스피, 코스닥, 다우, 나스닥, SNP + } + + public enum 판1그래프데이터지수류 + { + 예상지수, + 현재지수, + } + + public enum 판1그래프데이터산업및종목류 + { + 종목현재가, + 종목예상체결가, + 종목시간외단일가, + 지수업종 + } + + + public enum 판1그래프데이터해외류 + { + 해외업종, + 해외종목 + } + + public enum 판3데이터분류 + { + 주요지수_코스피_코스닥_코스피200, + 주요지수_코스피_코스닥_선물, + 예상체결지수_코스피_코스닥_코스피200, + 예상체결지수_코스피_코스닥_선물, + 미국지수, + 중화권지수, + 유럽지수, + 아시아지수_상해_대만_일본, + 달러환율_엔_위안_유로, + 원환율_달러_엔_유로, + 미국국채, + 채권금리, + 유가_두바이_WTI_브랜트, + 광물, + 식자재, + 소맥_옥수수_밀, + 대두_콩_현미, + 커피_코코아_설탕, + 생우_비육우_돈육, + 구리_철광석_니켈, + 천연가스_백금_팔라듐, + 납_아연_주석, + 원면_목화, + 국제금, + 국내금 + } + + + public enum 해외지수종류 + { + [StringValue("DJI@DJI")] + 다우, + [StringValue("NAS@IXIC")] + 나스닥, + [StringValue("SPI@SPX")] + SNP, + [StringValue("XTR@DAX30")] + 독일, + [StringValue("LNS@FTSE100")] + 영국, + [StringValue("PAS@CAC40")] + 프랑스, + [StringValue("NII@NI225")] + 니케이, + [StringValue("SHS@000001")] + 중국상해, + [StringValue("HSI@HSI")] + 홍콩항셍, + [StringValue("TWS@TI01")] + 대만가권, + [StringValue("SGI@STI")] + 싱가포르지수, + [StringValue("THI@SET")] + 태국지수, + [StringValue("PHI@COMP")] + 필리핀, + [StringValue("IDI@JKSE")] + 인도네시아, + [StringValue("MYI@KLSE")] + 말레이시아 + } + + public enum 상세판데이터분류 + { + 시가, + 액면가, + PBR, + 거래량 + } + + public enum 지도데이터분류 + { + 글로벌, + 아시아, + 미국, + 유럽 + } + + public enum 데이터5단판지수별 + { + 시가총액, + 상승률, + 하락률, + 신고가52주, + 신저가52주, + 시간외상승률, + 시간외하락률, + 예상가시가총액상위, + 업종, + 코스피200, + 거래량, + ETF + } + + public enum 데이터5단판기타 + { + 전문가추천, + 테마주, + 테마예상 + } + + public static string GetStringValue(this Enum value) + { + // Get the type + Type type = value.GetType(); + + // Get fieldinfo for this type + FieldInfo fieldInfo = type.GetField(value.ToString()); + + // Get the stringvalue attributes + StringValueAttribute[] attribs = fieldInfo.GetCustomAttributes( + typeof(StringValueAttribute), false) as StringValueAttribute[]; + + // Return the first if there was a match. + return attribs.Length > 0 ? attribs[0].StringValue : null; + } + + public class StringValueAttribute : Attribute + { + + #region Properties + + /// + /// Holds the stringvalue for a value in an enum. + /// + public string StringValue { get; protected set; } + + #endregion + + #region Constructor + + /// + /// Constructor used to init a StringValue Attribute + /// + /// + public StringValueAttribute(string value) + { + this.StringValue = value; + } + + #endregion + + } + + } +} diff --git a/MBN_STOCK_N/Data/DBManager.cs b/MBN_STOCK_N/Data/DBManager.cs new file mode 100644 index 0000000..443702e --- /dev/null +++ b/MBN_STOCK_N/Data/DBManager.cs @@ -0,0 +1,266 @@ +using Oracle.ManagedDataAccess.Client; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading; +using System.Windows.Forms; +using MySql.Data.MySqlClient; +using System.Security.Cryptography; + +namespace MMoneyCoderSharp.DB +{ + public class DBManager + { + + #region "싱글턴" + private static volatile DBManager mInstance = null; + + private static object mSingletonLocker = new object(); + + private static System.Threading.Timer timerForCheck; + private DBManager() + { + timerForCheck = new System.Threading.Timer(callBackOfChecker); + timerForCheck.Change(0, 10000); + } + + delegate void TimerEventDelegate(); + private void callBackOfChecker(object state) + { + DBAliveChecker(); + //invoke(new TimerEventDelegate(DBAliveChecker)); + } + + private void DBAliveChecker() + { + if (strConn == "") + { + Console.WriteLine("DBManager DB 미연결"); + } + + bool alived = false; + OracleConnection conn = new OracleConnection(strConn); + try + { + if (conn.State == ConnectionState.Closed) + { + conn.Open(); + } + + if (conn.State == ConnectionState.Open) + { + alived = true; + } + + } + catch (Exception) + { + + } + finally + { + conn.Close(); + } + + if (alived) + { + Console.WriteLine("DBManager DB 생존"); + } + else + { + Console.WriteLine("DBManager DB 사망"); + } + + MySqlConnection nxt_conn = new MySqlConnection(strConn); + try + { + if (conn.State == ConnectionState.Closed) + { + conn.Open(); + } + + if (conn.State == ConnectionState.Open) + { + alived = true; + } + + } + catch (Exception) + { + + } + finally + { + conn.Close(); + } + + if (alived) + { + Console.WriteLine("DBManager DB 생존"); + } + else + { + Console.WriteLine("DBManager DB 사망"); + } + } + + public static DBManager getInstance() + { + lock (mSingletonLocker) + { + if (mInstance == null) + { + mInstance = new DBManager(); + } + } + + return mInstance; + } + + #endregion + + string DBHOST = ""; + string DBPORT = ""; + string ID = ""; + string PASS = ""; + string CONNECT_DATA = ""; + + string nxt_DBHOST = ""; + string nxt_DBPORT = ""; + string nxt_ID = ""; + string nxt_PASS = ""; + string nxt_CONNECT_DATA = ""; + + public void setDB_HOST(string value, string nxt_value) + { + DBHOST = value; + nxt_DBHOST = nxt_value; + + setStrConn(); + } + + public void setDB_PORT(string value, string nxt_value) + { + DBPORT = value; + nxt_DBPORT = nxt_value; + + setStrConn(); + } + public void setDB_ID(string value, string nxt_value) + { + ID = value; + nxt_ID = nxt_value; + + setStrConn(); + } + public string getDB_ID() { return ID; } + public void setDB_PASS(string value, string nxt_value) + { + PASS = value; + nxt_PASS = nxt_value; + setStrConn(); + } + public string getDB_PASS() { return PASS; } + public void setDB_CONNECT_DATA(string value, string nxt_value) + { + CONNECT_DATA = value; + nxt_CONNECT_DATA = nxt_value; + setStrConn(); + } + public string getDB_CONNECT_DATA() { return CONNECT_DATA; } + + + private void setStrConn() + { + //strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DBHOST + ")" + + // "(PORT=" + DBPORT + ")))(CONNECT_DATA=" + CONNECT_DATA + "));User Id=" + ID + ";Password=" + PASS + ";"; + + strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DBHOST + ")(PORT=" + DBPORT + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SID=" + CONNECT_DATA + ")));User Id=" + ID + ";Password=" + PASS + ";"; + // nxt_strConn = "SERVER=" + nxt_DBHOST + " PORT=" + nxt_DBPORT + " DATABASE= "+nxt_CONNECT_DATA+" User Id=" + nxt_ID + " Password=" + nxt_PASS ; + nxt_strConn = "SERVER=" + nxt_DBHOST + "; DATABASE=" + nxt_CONNECT_DATA + "; UId=" + nxt_ID + "; Pwd=" + nxt_PASS; + + } + + string strConn = ""; + string nxt_strConn = ""; + + //private IDBDataHandle mCallback = null; + + + public DataTable requestData(string tableName, string recvQuery) + { + + DataTable dt = new DataTable(); + + try + { + + OracleConnection conn = new OracleConnection(strConn); + + conn.Open(); + + OracleDataAdapter adapter = new OracleDataAdapter(); + + adapter.SelectCommand = new OracleCommand(recvQuery, conn); + + adapter.Fill(dt); + + conn.Close(); + + dt.TableName = tableName; + + return dt; + + + } + catch (Exception) + { + MessageBox.Show("데이터베이스가 연결되지 않았습니다." + Environment.NewLine + "연결정보를 확인하세요."); + Application.Exit(); + throw; + } + + } + + public DataTable Nxt_requestData(string tableName, string recvQuery) + { + DataTable nxt_dt = new DataTable(); + + try + { + + MySqlConnection nxt_conn = new MySqlConnection(nxt_strConn); + + nxt_conn.Open(); + + MySqlDataAdapter nxt_adapter = new MySqlDataAdapter(); + + nxt_adapter.SelectCommand = new MySqlCommand(recvQuery, nxt_conn); + + nxt_adapter.Fill(nxt_dt); + + nxt_conn.Close(); + + nxt_dt.TableName = tableName; + + return nxt_dt; + + } + catch (Exception e) + { + MessageBox.Show(e.ToString()); + MessageBox.Show("NXT 데이터베이스가 연결되지 않았습니다." + Environment.NewLine + "연결정보를 확인하세요."); + Application.Exit(); + throw; + } + + } + + + } + + + +} diff --git a/MBN_STOCK_N/Data/DataDefineBuilder.cs b/MBN_STOCK_N/Data/DataDefineBuilder.cs new file mode 100644 index 0000000..bca556e --- /dev/null +++ b/MBN_STOCK_N/Data/DataDefineBuilder.cs @@ -0,0 +1,131 @@ +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data +{ + + /// + /// 데이터의 입/출력에 관한 정의를 위해 만든 추상화 빌더객체. + /// 필요한 데이터를 순서대로 빌드 할 수 있도록 리턴값으로 유도하고, + /// 모든 데이터가 있다면 최종적인 객체를 Struct형태로 리턴이 가능하도록 유도한다. + /// + /// 내부의 데이터에 관련된 내용은 enum으로 정의하고 Int로 최종적으로 리턴받아 멤버변수로 보유한다. + /// + /// 20210207 규합할수 없는 부분(지수와 종목의 쿼리합)에 대한 정의가 불가능하여 버린다. + /// 데이터를 기반으로 씬에 접근하려는 계획은 포기해야겠다. 이미 쿼리 자체가 그래픽에 파편화되어있어서 데이터를 기반으로 추상화 하기 불가능하다. + /// + public class DataDefineBuilder + { + + // protected int mBuildedIntValue = 0; + + // public static DataDefineBuilder setDefine(요구데이터분류 requestDataType) + // { + + // switch (requestDataType) + // { + // case 요구데이터분류.환율 : + // return new 환율분류(); + + // case 요구데이터분류.종목: + // return new 종목(); + + // case 요구데이터분류.지수: + // return new 지수(); + + // default: + // return null; + + // } + + // } + + //#region "환율" + + // public class 환율분류 : DataDefineBuilder, IBuilderDefined + // { + + // private Exchange mRequestInstance = null; + + // private 원환율? mExchangeValueWON; + + // private 달러환율? mExchangeValueDOLLOR; + + // private bool mIsLastDataRequest = false; + + // public void build() + // { + + // if (mExchangeValueWON.HasValue) + // { + // //this.mBuildedIntValue = (int)mRecvEnum; + // } + // else + // { + // throw new Exception("환율분류 잘못된 빌드시도"); + // } + + // } + + // public static DataDefineBuilder setDefine(원환율 requestDataType) + // { + // switch(requestDataType) + // { + // case 원환율.원달러: + // return new Exchange(); + // case 환율기준통화.달러: + // return new 달러기준환율(); + // default: + // return null; + // } + + // } + + // public static DataDefineBuilder setDefine(달러환율 requestDataType) + // { + + + // } + + // public DataDefineBuilder IsNeedLastDataList(bool recvNeedLastData) + // { + // this.mIsLastDataRequest = recvNeedLastData; + // } + + // } + + + //#endregion + + // public class 지수빌더 : DataDefineBuilder + // { + + // } + + // public class 종목빌더 : DataDefineBuilder + // { + + // } + + // public class 업종과동향빌더 : DataDefineBuilder + // { + + // } + + + // } + + // public interface IBuilderDefined + // { + // void build(); + // } + + + } + +} diff --git a/MBN_STOCK_N/Data/DataManager.cs b/MBN_STOCK_N/Data/DataManager.cs new file mode 100644 index 0000000..cf1e49f --- /dev/null +++ b/MBN_STOCK_N/Data/DataManager.cs @@ -0,0 +1,666 @@ +using MMoneyCoderSharp.Data.Request; +using MMoneyCoderSharp.Data.Request.봉차트; +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Data; +using System.Diagnostics.Eventing.Reader; +using System.Linq; +using System.Text; +//using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data +{ + /// + /// 씬단위로 요청사항을 매핑해서 DB에서 받은 데이터를 리턴해줄 매니저 객체. + /// + public class DataManager + { + + + #region "싱글턴" + private static volatile DataManager mInstance = null; + + private static object mSingletonLocker = new object(); + + private DataManager() + { + + } + + public static DataManager getInstance() + { + lock (mSingletonLocker) + { + if (mInstance == null) + { + mInstance = new DataManager(); + } + } + + return mInstance; + } + + #endregion + + + /// + /// 스탁포멧정리기준.hwp로 컷 대 기준을 작성함. + /// 1. 1열판 기본 -> 판그래프데이터참조 + /// 2. 2열판 상세 -> 판그래프데이터참조 + /// 3. 2열판 기본 -> 판그래프데이터참조 + /// 4. 3열판 그래프 -> 판3데이터분류 + /// 5. 라인그래프 -> 선그래프데이터분류 + /// 6. 캔들차트 -> 봉차트데이터분류 + /// 7. 캔들차트 -> 봉차트데이터분류 + /// 8. 주체별매매동향 -> 그리드표 + /// 9. 지수별매매동향 -> 그리드표 + /// 10. 매매동향선그래프 -> 선그래프데이터분류 + /// 11. 기관순매수현황 -> 그리드표 + /// 12. 매매동향막대그래프 -> 막대그래프데이터분류 + /// 13. 프로그램매매 표그래프 -> 그리드표 + /// 14. 외국인투자자 순매도 상위 -> 쿼리가 없음 + /// 15~18 -> 지도그래프 + /// 19. 이미지 그래프 -> 아직안함 + /// 20. 네모그래프 -> 네모그래프 + /// 21. 섹터지수 막대그래프 -> 막대그래프데이터분류 + /// 22. 캔들차트 두개 -> 이거 고민되네.. + /// 23. 선그래프 두개 -> 이거도 고민되네.. + /// 24. 종목별 수익률 -> 선그래프데이터분류(아직안함) + /// 25. 5단그래프 -> + /// 26. 호가창 + /// 27. 거래원 + /// 28. 수급동향 + /// 29. 매출구성 원그래프 + /// 30. 성장지표 선그래프 + /// 31. 종목매출액 막대그래프 -> 쿼리가 없음 + /// 32. 영업이익 막대그래프 -> 쿼리가 없음 + /// + + + private DataSet mStockInfoDataSet = null; + + public DataSet getStocksInfoTable() + { + + if (mStockInfoDataSet == null) + { + updateStocksInfoSet(); + } + + return mStockInfoDataSet; + + } + + + public void updateStocksInfoSet() + { + + string sql = string.Empty; + + mStockInfoDataSet = new DataSet(); + + DataTable bufTableKospi = DBManager.getInstance().requestData("코스피", "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_STOCK WHERE F_MKT_HALT = 'N'"); + mStockInfoDataSet.Tables.Add(bufTableKospi); + + DataTable bufTableKosdaq = DBManager.getInstance().requestData("코스닥", "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_KOSDAQ_STOCK WHERE F_MKT_HALT = 'N'"); + mStockInfoDataSet.Tables.Add(bufTableKosdaq); + + DataTable bufTableNXTKospi = DBManager.getInstance().Nxt_requestData("NXT코스피", "SELECT CONCAT(F_STOCK_NAME, '(NXT)') F_STOCK_NAME, F_STOCK_CODE FROM N_STOCK WHERE F_STOP_GUBUN = 'N'"); + mStockInfoDataSet.Tables.Add(bufTableNXTKospi); + + DataTable bufTableNXTKosdaq = DBManager.getInstance().Nxt_requestData("NXT코스닥", "SELECT CONCAT(F_STOCK_NAME, '(NXT)') F_STOCK_NAME, F_STOCK_CODE FROM N_KOSDAQ_STOCK WHERE F_STOP_GUBUN = 'N'"); + mStockInfoDataSet.Tables.Add(bufTableNXTKosdaq); + + DataTable bufTableForgien = DBManager.getInstance().requestData("해외", "SELECT F_KNAM, F_SYMB FROM T_WORLD_IX_EQ_MASTER"); + mStockInfoDataSet.Tables.Add(bufTableForgien); + + DataTable bufTableKOSPI_INDUSTRY = DBManager.getInstance().requestData("코스피업종", "select a.f_part_code, b.f_part_name from t_index a, t_part b where a.f_part_code = b.f_part_code order by a.f_part_code"); + mStockInfoDataSet.Tables.Add(bufTableKOSPI_INDUSTRY); + + DataTable bufTableKOSDAQ_INDUSTRY = DBManager.getInstance().requestData("코스닥업종", "select a.f_part_code, b.f_part_name from t_kosdaq_index a, t_kosdaq_part b where a.f_part_code = b.f_part_code order by a.f_part_code"); + mStockInfoDataSet.Tables.Add(bufTableKOSDAQ_INDUSTRY); + + DataTable bufTableKFORGIEN_INDUSTRY = DBManager.getInstance().requestData("해외업종", "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' ORDER BY F_KNAM"); + mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_INDUSTRY); + + DataTable bufTableKFORGIEN_INDEX = DBManager.getInstance().requestData("해외지수", "select F_SYMB, F_KNAM, F_ENAM, F_INPUT_NAME from t_world_ix_eq_master WHERE F_FDTC = '0'"); + mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_INDEX); + + DataTable bufTableKFORGIEN_STOCK = DBManager.getInstance().requestData("해외종목", "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME"); + mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_STOCK); + + } + + + /// + /// 선그래프 데이터 요청 메서드 + /// 마지막 매개변수는 종목일때는 한글종목명, 지수일때는 분류코드. + /// + /// 여기가 기존 코드 중 cut_5,10으로 검색해서 나오는 데이터 모두. + /// + /// + /// 선그래프씬 데이터 분류 + /// 선그래프씬 데이터 길이 + /// 종목은 해당 종목의 한글명으로, 지수는 코드값으로.... + /// + public DataSet createLineGraphData(선그래프데이터분류 recvDataType, 데이터기간 recvDataLength, string recvArgData = null) + { + + IDataRequest bufInstance = null; + + switch (recvDataType) + { + case 선그래프데이터분류.원달러: + bufInstance = new Exchange(환율.달러, recvDataLength); + break; + case 선그래프데이터분류.원엔: + bufInstance = new Exchange(환율.엔, recvDataLength); + break; + case 선그래프데이터분류.원위엔: + bufInstance = new Exchange(환율.위엔, recvDataLength); + break; + case 선그래프데이터분류.원유로: + bufInstance = new Exchange(환율.유로, recvDataLength); + break; + case 선그래프데이터분류.코스피수익률: + bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSPI); + break; + case 선그래프데이터분류.코스닥수익률: + bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSDAQ); + break; + case 선그래프데이터분류.코스피200수익률: + bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSPI200); + break; + case 선그래프데이터분류.KRX100수익률: + bufInstance = new IndexYield(recvDataLength, 국내지수종류.KRX100); + break; + case 선그래프데이터분류.코스피업종지수수익률: + bufInstance = new IndexIndustryYield(recvArgData, recvDataLength, 국내시장종류.KOSPI); + break; + case 선그래프데이터분류.코스닥업종지수수익률: + bufInstance = new IndexIndustryYield(recvArgData, recvDataLength, 국내시장종류.KOSDAQ); + break; + case 선그래프데이터분류.코스피종목수익률: + bufInstance = new StockYield(recvArgData, recvDataLength, 국내시장종류.KOSPI); + break; + case 선그래프데이터분류.코스닥종목수익률: + bufInstance = new StockYield(recvArgData, recvDataLength, 국내시장종류.KOSDAQ); + break; + case 선그래프데이터분류.개인매매동향: + case 선그래프데이터분류.기관매매동향: + case 선그래프데이터분류.외국인매매동향: + case 선그래프데이터분류.코스피매매동향: + case 선그래프데이터분류.코스닥매매동향: + bufInstance = new Trading(recvDataType); + break; + default: + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + + } + + /// + /// 봉차트를 위한데이터 + /// 종목과 업종지수 모두 추가 데이터로는 Code를 받는다. + /// + /// 기존 코드에서 6,7컷부분 + /// + /// + /// + /// + /// 종목은 코드값 지수는 한글명.. + /// + public DataSet createCandleChartData(봉차트데이터분류 recvDataTypeMain, 봉차트세부종목 recvDataTypeSub, 데이터기간 recvDataLength, string recvArgData = null) + { + + IDataRequest bufInstance = null; + + switch (recvDataTypeMain) + { + case 봉차트데이터분류.KOSPI: + bufInstance = new CandleKOSPI(recvDataTypeSub, recvDataLength); + break; + case 봉차트데이터분류.KOSDAQ: + bufInstance = new CandleKOSDAQ(recvDataTypeSub, recvDataLength); + break; + case 봉차트데이터분류.KOSPI200: + bufInstance = new CandleKOSPI200(recvDataTypeSub, recvDataLength); + break; + case 봉차트데이터분류.KRX100: + bufInstance = new CandleKRX100(recvDataTypeSub, recvDataLength); + break; + case 봉차트데이터분류.선물: + bufInstance = new CandleFutures(recvDataTypeSub, recvDataLength); + break; + case 봉차트데이터분류.코스피종목: + bufInstance = new CandleStockKOSPI(recvDataTypeSub, recvDataLength, recvArgData); + break; + case 봉차트데이터분류.코스닥종목: + bufInstance = new CandleStockKOSDAQ(recvDataTypeSub, recvDataLength, recvArgData); + break; + case 봉차트데이터분류.코스피업종지수: + bufInstance = new CandleIndustryKOSPI(recvDataTypeSub, recvDataLength, recvArgData); + break; + case 봉차트데이터분류.코스닥업종지수: + bufInstance = new CandleIndustryKOSDAQ(recvDataTypeSub, recvDataLength, recvArgData); + break; + + case 봉차트데이터분류.해외지수: + bufInstance = new Candleforeign(recvDataTypeSub, recvDataLength, recvArgData); + break; + + case 봉차트데이터분류.해외종목: + bufInstance = new CandleforeignStock(recvDataTypeSub, recvDataLength, recvArgData); + break; + + case 봉차트데이터분류.거래정지: + bufInstance = new CandleStockDIS(recvDataTypeSub, recvDataLength, recvArgData); + + break; + + case 봉차트데이터분류.거래정지k: + bufInstance = new CandleStockDISK(recvDataTypeSub, recvDataLength, recvArgData); + + break; + default: + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + + } + + /// + /// 그리드표 그래프 데이터 + /// 컷14번은 쿼리가 없음 + /// + /// + /// + public DataSet createGridChartData(그리드표그래프종류 recvDataType, 국내시장종류? recvMarketType = null) + { + IDataRequest bufInstance = null; + + switch (recvDataType) + { + case 그리드표그래프종류.투자자순매수매도상위14번컷: + throw new Exception("쿼리가 없음"); + //break; + case 그리드표그래프종류.프로그램매매13번컷: + bufInstance = new Grid13(); + break; + case 그리드표그래프종류.기관순매수현황11번컷: + bufInstance = new Grid11(); + break; + case 그리드표그래프종류.지수별매매동향9번컷: + bufInstance = new Grid9(recvMarketType.Value); + break; + case 그리드표그래프종류.주체별매매동향8번컷: + bufInstance = new Grid8(); + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 20번컷 사각그래프용 데이터. + /// 국내시장 업종별 네모그래프 + /// 15개종목이 이미 정해져있음.(선택불가) + /// + /// 시장종류 + /// + public DataSet createSquareChartData_Cut20(국내시장종류 recvDataType) + { + + IDataRequest bufInstance = new Square20(recvDataType); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 12번컷 데이터. + /// HWP 표와는 다르게 선물은 없음. + /// + /// + /// + public DataSet createCut12StickData(국내시장종류 recvDataType) + { + IDataRequest bufInstance = new Stick12(recvDataType); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 21번컷 데이터. + /// 12번과 헷갈리지 말 것 + /// + /// + /// + public DataSet createCut21StickData(섹터지수막대그래프분류 recvDataType) + { + IDataRequest bufInstance = new Stick21(recvDataType); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + + + public DataSet createWorldMapData(지도데이터분류 recvDataType) + { + IDataRequest bufInstance = null; + + switch (recvDataType) + { + case 지도데이터분류.글로벌: + bufInstance = new MapWorld(); + break; + case 지도데이터분류.아시아: + bufInstance = new MapAsia(); + break; + case 지도데이터분류.미국: + bufInstance = new MapUSA(); + break; + case 지도데이터분류.유럽: + bufInstance = new MapEurope(); + break; + default: + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + #region "판데이터" + + /// + /// 1열판 국내지수류 데이터 + /// + /// + /// + /// + public DataSet createPlateData(판1그래프데이터지수류 recvDataList, 국내지수종류 recvDataType) + { + IDataRequest bufInstance = null; + + switch (recvDataList) + { + case 판1그래프데이터지수류.현재지수: + bufInstance = new INDEX_PAN(recvDataType); + break; + case 판1그래프데이터지수류.예상지수: + bufInstance = new INDEX_FORECAST_PAN(recvDataType); + break; + } + + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 1열판 산업종목류 데이터 + /// + /// + /// + /// + /// + public DataSet createPlateData(판1그래프데이터산업및종목류 recvDataList, 국내시장종류 recvDataType, string recvDataCode) + { + IDataRequest bufInstance = null; + Nxt_IDataRequest Nxt_bufInstance = null; + + switch (recvDataList) + { + case 판1그래프데이터산업및종목류.종목현재가: + if ((recvDataType == 국내시장종류.NXT_KOSPI) || (recvDataType == 국내시장종류.NXT_KOSDAQ)) + Nxt_bufInstance = new Nxt_STOCK_PAN(recvDataType, recvDataCode); + else + bufInstance = new STOCK_PAN(recvDataType, recvDataCode); + break; + case 판1그래프데이터산업및종목류.종목예상체결가: + bufInstance = new STOCK_FORECAST_PAN(recvDataType, recvDataCode); + break; + case 판1그래프데이터산업및종목류.종목시간외단일가: + bufInstance = new STOCK_OVERTIME_PAN(recvDataType, recvDataCode); + break; + case 판1그래프데이터산업및종목류.지수업종: + bufInstance = new INDUSTRY_PAN(recvDataType, recvDataCode); + break; + } + + if ((recvDataType == 국내시장종류.NXT_KOSPI) || (recvDataType == 국내시장종류.NXT_KOSDAQ)) + { + Nxt_bufInstance.Nxt_buildData(); + return Nxt_bufInstance.Nxt_getResult(); + } + else + { + bufInstance.buildData(); + return bufInstance.getResult(); + } + + } + + /// + /// 1열판 해외산업종목 데이터 + /// + /// + /// + /// + public DataSet createPlateData(판1그래프데이터해외류 recvDataList, string recvDataCode) + { + IDataRequest bufInstance = null; + + switch (recvDataList) + { + case 판1그래프데이터해외류.해외업종: + bufInstance = new INDUSTRY_FORGIEN_PAN(recvDataCode); + break; + case 판1그래프데이터해외류.해외종목: + bufInstance = new STOCK_FORGIEN_PAN(recvDataCode); + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 1열판해외지수류 데이터 + /// + /// + /// + public DataSet createPlateData(해외지수종류 recvDataList, string recvDataCode) + { + IDataRequest bufInstance = new INDEX_FORGIEN_PAN(recvDataList, recvDataCode); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + /// + /// 1열판원환율 + /// + /// + /// + public DataSet createPlateData(원환율 recvDataList) + { + IDataRequest bufInstance = new EXCHANGE_PAN(recvDataList); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + public DataSet createPlate3Data_Cut4(판3데이터분류 recvDataList) + { + IDataRequest bufInstance = new DataObject_3PAN(recvDataList); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + public DataSet createPlateData(국내시장종류 recvDataType1, 상세판데이터분류 recvDataType2, string recvStockCode) + { + IDataRequest bufInstance = new SANGSE_PAN(recvDataType1, recvDataType2, recvStockCode); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + public DataSet createPlateNxtData(국내시장종류 recvDataType1, 상세판데이터분류 recvDataType2, string recvStockCode) + { + Nxt_IDataRequest bufInstance = new Nxt_SANGSE_PAN(recvDataType1, recvDataType2, recvStockCode); + + bufInstance.Nxt_buildData(); + + return bufInstance.Nxt_getResult(); + } + + + #endregion + + + public DataSet createCut26Data(국내시장종류 recvDataType1, string recvStockCode) + { + IDataRequest bufInstance = new Quote_Stocks(recvDataType1, recvStockCode); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + public DataSet createCut27Data(국내시장종류 recvDataType1, string recvStockCode) + { + IDataRequest bufInstance = new Trader_Stocks(recvDataType1, recvStockCode); + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + public DataSet create5DanDataIndex(국내시장종류 recvDataType1, 데이터5단판지수별 recvDataType2) + { + IDataRequest bufInstance = null; + + switch (recvDataType2) + { + + case 데이터5단판지수별.하락률: + bufInstance = new lower_5dan(recvDataType1); + break; + case 데이터5단판지수별.신고가52주: + bufInstance = new high52_5dan(recvDataType1); + break; + case 데이터5단판지수별.신저가52주: + bufInstance = new low52_5dan(recvDataType1); + break; + case 데이터5단판지수별.시간외상승률: + bufInstance = new high_overtime_5dan(recvDataType1); + break; + case 데이터5단판지수별.시간외하락률: + bufInstance = new low_overtime_5dan(recvDataType1); + break; + case 데이터5단판지수별.예상가시가총액상위: + bufInstance = new capital_forecast_5dan(recvDataType1); + break; + case 데이터5단판지수별.업종: + bufInstance = new upjong_5dan(recvDataType1); + break; + case 데이터5단판지수별.시가총액: + bufInstance = new capital_5dan(recvDataType1); + break; + case 데이터5단판지수별.상승률: + bufInstance = new upper_5dan(recvDataType1); + break; + case 데이터5단판지수별.코스피200: + bufInstance = new kospi200(recvDataType1); + break; + case 데이터5단판지수별.ETF: + bufInstance = new ETF(recvDataType1); + + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + public DataSet Nxt_create5DanDataIndex(국내시장종류 recvDataType1, 데이터5단판지수별 recvDataType2) + { + Nxt_IDataRequest Nxt_bufInstance = null; + + switch (recvDataType2) + { + case 데이터5단판지수별.상승률: + Nxt_bufInstance = new Nxt_upper_5dan(recvDataType1); + break; + case 데이터5단판지수별.하락률: + Nxt_bufInstance = new Nxt_lower_5dan(recvDataType1); + break; + case 데이터5단판지수별.거래량: + Nxt_bufInstance = new Nxt_vol_5dan(recvDataType1); + break; + case 데이터5단판지수별.시간외상승률: + Nxt_bufInstance = new Nxt_high_overtime_5dan(recvDataType1); + break; + case 데이터5단판지수별.시간외하락률: + Nxt_bufInstance = new Nxt_low_overtime_5dan(recvDataType1); + break; + case 데이터5단판지수별.시가총액: + Nxt_bufInstance = new Nxt_capital_5dan(recvDataType1); + break; + } + + Nxt_bufInstance.Nxt_buildData(); + + return Nxt_bufInstance.Nxt_getResult(); + } + + public DataSet create5DanDataTheme(데이터5단판기타 recvDataType2, List 테마주코드리스트) + { + IDataRequest bufInstance = null; + + switch (recvDataType2) + { + case 데이터5단판기타.전문가추천: + bufInstance = new suggest_5dan(테마주코드리스트); + break; + case 데이터5단판기타.테마주: + bufInstance = new theme_5dan(테마주코드리스트); + break; + case 데이터5단판기타.테마예상: + bufInstance = new theme_yesang_5dan(테마주코드리스트); + break; + } + + bufInstance.buildData(); + + return bufInstance.getResult(); + } + + } +} diff --git a/MBN_STOCK_N/Data/IDBDataHandle.cs b/MBN_STOCK_N/Data/IDBDataHandle.cs new file mode 100644 index 0000000..870e3e2 --- /dev/null +++ b/MBN_STOCK_N/Data/IDBDataHandle.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp +{ + /// + /// 콜백 인터페이스 + /// + public interface IDBDataHandle + { + + void onDataReceived(); + + void onDBError(); + + } +} diff --git a/MBN_STOCK_N/Data/Request/ADataObject.cs b/MBN_STOCK_N/Data/Request/ADataObject.cs new file mode 100644 index 0000000..4abf655 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/ADataObject.cs @@ -0,0 +1,50 @@ +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request +{ + /// + /// Data Access Object + /// + public abstract class ADataObject : IDataRequest + { + + public ADataObject() + { + mRequestQuery = new Dictionary(); + mReturnDataSet = new DataSet(); + } + + /// + /// 완성되어 DB로 전송될 쿼리 + /// + protected Dictionary mRequestQuery = new Dictionary(); + + /// + /// 완성되어 결과를 리턴할 데이터 셋 + /// + protected DataSet mReturnDataSet = null; + + public string getQuery(string tableName) + { + return mRequestQuery[tableName]; + } + + public abstract IDataRequest buildData(); + + public DataSet getResult() + { + foreach (KeyValuePair item in mRequestQuery) + { + mReturnDataSet.Tables.Add(DBManager.getInstance().requestData(item.Key, item.Value)); + } + + return mReturnDataSet; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/IDataRequest.cs b/MBN_STOCK_N/Data/Request/IDataRequest.cs new file mode 100644 index 0000000..89c4534 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/IDataRequest.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request +{ + public interface IDataRequest + { + + string getQuery(string recvTableName); + + DataSet getResult(); + + IDataRequest buildData(); + + } +} diff --git a/MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs b/MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs new file mode 100644 index 0000000..60561a5 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs @@ -0,0 +1,51 @@ +using MMoneyCoderSharp.Data.Request; +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request +{ + /// + /// Data Access Object + /// + public abstract class Nxt_ADataObject : Nxt_IDataRequest + { + + public Nxt_ADataObject() + { + Nxt_mRequestQuery = new Dictionary(); + Nxt_mReturnDataSet = new DataSet(); + } + + /// + /// 완성되어 DB로 전송될 쿼리 + /// + protected Dictionary Nxt_mRequestQuery = new Dictionary(); + + /// + /// 완성되어 결과를 리턴할 데이터 셋 + /// + protected DataSet Nxt_mReturnDataSet = null; + + public string Nxt_getQuery(string tableName) + { + return Nxt_mRequestQuery[tableName]; + } + + public abstract Nxt_IDataRequest Nxt_buildData(); + + public DataSet Nxt_getResult() + { + foreach (KeyValuePair item in Nxt_mRequestQuery) + { + Nxt_mReturnDataSet.Tables.Add(DBManager.getInstance().Nxt_requestData(item.Key, item.Value)); + } + + return Nxt_mReturnDataSet; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs b/MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs new file mode 100644 index 0000000..82334a4 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request +{ + public interface Nxt_IDataRequest + { + + string Nxt_getQuery(string recvTableName); + + DataSet Nxt_getResult(); + + Nxt_IDataRequest Nxt_buildData(); + + } +} diff --git a/MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs b/MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs new file mode 100644 index 0000000..5aa7ae3 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs @@ -0,0 +1,263 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Trader_Stocks : ADataObject + { + + internal Trader_Stocks(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + + this.mStockCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mStockCode = ""; + + #region 쿼리 + //코스피 상단 + string queryKOSPI상단 = @"SELECT DISTINCT b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_wanname in('{0}')"; + + + string queryKOSPI매도 = @"select f_sale_nick_kname sale_name, f_sell_vol sell_vol + from( + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_1 f_sell_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_1 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_2 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_3 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_4 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_5 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + ) + order by f_sell_vol desc"; + + string queryKOSPI매수 = @"select f_sale_nick_kname sale_name, f_buy_vol buy_vol + from( + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_1 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_2 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_3 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_4 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol + from t_dealer a, t_sale_member b, t_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_5 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + ) + order by f_buy_vol desc"; + + string queryKOSDAQ상단 = @"SELECT DISTINCT b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_wanname in('{0}')"; + + string queryKOSDAQ매도 = @"select f_sale_nick_kname sale_name, f_sell_vol sell_vol + from( + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_sell_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_1 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_2 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_3 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_4 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_sell_dealer_no_5 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + ) + order by f_sell_vol desc"; + + string queryKOSDAQ매수 = @"select f_sale_nick_kname sale_name, f_buy_vol buy_vol + from( + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_1 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_2 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_3 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_4 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + union + select a.f_stock_code, + b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol + from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c + where c.f_stock_wanname = '{0}' + and c.f_mkt_halt = 'N' + and a.f_buy_dealer_no_5 = b.f_sale_no + and a.f_stock_code = c.f_stock_code + ) + order by f_buy_vol desc"; + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("상단", String.Format(queryKOSPI상단, this.mStockCode)); + mRequestQuery.Add("매도", String.Format(queryKOSPI매도, this.mStockCode)); + mRequestQuery.Add("매수", String.Format(queryKOSPI매수, this.mStockCode)); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("상단", String.Format(queryKOSDAQ상단, this.mStockCode)); + mRequestQuery.Add("매도", String.Format(queryKOSDAQ매도, this.mStockCode)); + mRequestQuery.Add("매수", String.Format(queryKOSDAQ매수, this.mStockCode)); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/그리드/Grid11.cs b/MBN_STOCK_N/Data/Request/그리드/Grid11.cs new file mode 100644 index 0000000..6f1f66e --- /dev/null +++ b/MBN_STOCK_N/Data/Request/그리드/Grid11.cs @@ -0,0 +1,67 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Grid11 : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"select '코스피' name, + decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금') invest_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000') + group by decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금') + union + select '코스닥' name, + decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금') invest_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000') + group by decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금') + union + select '코스피200' name, + decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금') invest_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_invest + where F_PART_CODE = '029' + and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000') + group by decode(f_invest_code, '1000', '증권', '2000', '보험', + '3000', '투신', + '4000', '은행', '6000', '기금')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/그리드/Grid13.cs b/MBN_STOCK_N/Data/Request/그리드/Grid13.cs new file mode 100644 index 0000000..b1159c0 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/그리드/Grid13.cs @@ -0,0 +1,76 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Grid13 : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"select '차익' name, + round(((F_CCON_BUY_W_AMT + F_CCON_BUY_J_AMT) - (F_CCON_SELL_W_AMT + F_CCON_SELL_J_AMT)) / 100000000) part_idx + from t_pgm_tot + union + select '비차익' name, + round(((F_BCON_BUY_W_AMT + F_BCON_BUY_J_AMT) - (F_BCON_SELL_W_AMT + F_BCON_SELL_J_AMT)) / 100000000) part_idx + from t_pgm_tot + union + select '순매수' name, + round((((F_BCON_BUY_W_AMT + F_BCON_BUY_J_AMT) - (F_BCON_SELL_W_AMT + F_BCON_SELL_J_AMT)) + + ((F_CCON_BUY_W_AMT + F_CCON_BUY_J_AMT) - (F_CCON_SELL_W_AMT + F_CCON_SELL_J_AMT))) / 100000000) part_idx + from t_pgm_tot + union + SELECT '코스피200' name, decode(f_chg_type, '-', (f_part_idx / 100) * -1, f_part_idx / 100) part_idx + FROM T_200_INDEX + WHERE f_part_code = '029' + union + SELECT '선물' name, decode(chg_type, '-', part_idx * -1, part_idx) part_idx + FROM(SELECT f_curr_price / 100 part_idx, + decode(sign(f_curr_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type + FROM t_sunmul_online + WHERE f_stock_code = (select f_stock_code from t_sunmul_batch + where f_market_date = (select max(f_market_date) + from t_sunmul_batch) + and substr(f_stock_code, 4, 1) = '1' + and F_MONTH_GUBUN = '1') + ) + union + select '베이시스' name, + b.part_idx - a.part_idx part_idx + from + (SELECT '코스피200' name, decode(f_chg_type, '-', (f_part_idx / 100) * -1, f_part_idx / 100) part_idx + FROM T_200_INDEX + WHERE f_part_code = '029') A, + (SELECT '선물' name, decode(chg_type, '-', part_idx * -1, part_idx) part_idx + FROM(SELECT f_curr_price / 100 part_idx, + decode(sign(f_curr_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type + FROM t_sunmul_online + WHERE f_stock_code = (select f_stock_code from t_sunmul_batch + where f_market_date = (select max(f_market_date) + from t_sunmul_batch) + and substr(f_stock_code, 4, 1) = '1' + and F_MONTH_GUBUN = '1') + )) B"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/그리드/Grid14.cs b/MBN_STOCK_N/Data/Request/그리드/Grid14.cs new file mode 100644 index 0000000..a51b90d --- /dev/null +++ b/MBN_STOCK_N/Data/Request/그리드/Grid14.cs @@ -0,0 +1,33 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Grid14 : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @""; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/그리드/Grid8.cs b/MBN_STOCK_N/Data/Request/그리드/Grid8.cs new file mode 100644 index 0000000..7977941 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/그리드/Grid8.cs @@ -0,0 +1,70 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Grid8 : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"select + name, + sum(decode(invest, '개인', org_amt, 0)) ""개인"", + sum(decode(invest, '외국인', org_amt, 0)) ""외국인"", + sum(decode(invest, '기관', org_amt, 0)) ""기관"" + from( + select + 1 s, + '코스피' name, + decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') + UNION + select + 2 s, + '코스닥' name, + decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') + UNION + select + 3 s, + '코스피200' name, + decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt + from t_invest + where F_PART_CODE = '029' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') + ) + group by name, s + order by s"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/그리드/Grid9.cs b/MBN_STOCK_N/Data/Request/그리드/Grid9.cs new file mode 100644 index 0000000..be24a0c --- /dev/null +++ b/MBN_STOCK_N/Data/Request/그리드/Grid9.cs @@ -0,0 +1,232 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Grid9 : ADataObject + { + + public Grid9(국내시장종류 recvMarketType) + { + this.mMarketType = recvMarketType; + } + + private 국내시장종류 mMarketType; + + /// + /// 금일 데이터 쿼리 + /// + string queryKOSPIList = @"select + (select max(open_day) from v_open_day) f_data_time, + P_1 ""개인"", + P_2 ""외국인"", + P_3 ""기관"" + FROM( + select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1, + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2, + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3 + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code + ) + UNION + select + f_data_time, + sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + substr(f_data_time, 1, 8) f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time in ( + select data_time || '1535' + from(select open_day data_time from v_open_day + minus + select substr(f_data_time, 1, 8) data_time + from t_index + where f_part_code = '001' + order by data_time desc + ) + where rownum< 5 + ) + group by f_data_time, f_invest_code + ) + group by f_data_time + order by f_data_time desc"; + + string queryKOSPISum = @"select + sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1, + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2, + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3 + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code + union + select + sum(p_1) p_1, + sum(p_2) p_2, + sum(p_3) p_3 + from( + select + f_data_time f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time in ( + select + data_time + from( + select + open_day || '1535' data_time + from v_open_day + minus + select + substr(f_data_time, 1, 8) data_time + from t_index + where f_part_code = '001' + order by data_time desc + ) + where rownum< 20 + ) + group by f_data_time, f_invest_code + ) + )"; + + string queryKOSDAQList = @"select + (select max(open_day) from v_open_day) f_data_time, + P_1 ""개인"", + P_2 ""외국인"", + P_3 ""기관"" + FROM( + select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1, + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2, + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3 + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code + ) + UNION + select + f_data_time, + sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + substr(f_data_time, 1, 8) f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time in ( + select data_time || '1535' + from( + select open_day data_time from v_open_day + minus + select substr(f_data_time, 1, 8) data_time from t_index + where f_part_code = '001' + order by data_time desc + ) + where rownum< 5 + ) + group by f_data_time, f_invest_code + ) + group by f_data_time + order by f_data_time desc"; + + string queryKOSDAQSum = @"select + sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1, + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2, + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3 + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code + union + select + sum(p_1) p_1, + sum(p_2) p_2, + sum(p_3) p_3 + from( + select + f_data_time f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time in ( + select + data_time + from( + select + open_day || '1535' data_time + from v_open_day + minus + select + substr(f_data_time, 1, 8) data_time + from t_index + where f_part_code = '001' + order by data_time desc + ) + where rownum< 20 + ) + group by f_data_time, f_invest_code + ) + )"; + + public override IDataRequest buildData() + { + + + if (mMarketType == 국내시장종류.KOSPI) + { + mRequestQuery.Add("일별리스트", queryKOSPIList); + mRequestQuery.Add("한달합계", queryKOSPISum); + } + else + { + mRequestQuery.Add("일별리스트", queryKOSDAQList); + mRequestQuery.Add("한달합계", queryKOSDAQSum); + } + + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs b/MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs new file mode 100644 index 0000000..de0d649 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs @@ -0,0 +1,64 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Stick12 : ADataObject + { + + + public Stick12(국내시장종류 recvMarketType) + { + this.mMarketType = recvMarketType; + } + + private 국내시장종류 mMarketType; + + /// + /// 금일 데이터 쿼리 + /// + string queryKOSPI = @"select + decode(f_invest_code,'8000','개인','9000','외국인','9001','외국인','기관') invest_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')"; + + + string queryKOSDAQ = @"select + decode(f_invest_code,'8000','개인','9000','외국인','9001','외국인','기관') invest_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mMarketType) + { + case 국내시장종류.KOSPI: + bufQuery = queryKOSPI; + break; + case 국내시장종류.KOSDAQ: + bufQuery = queryKOSDAQ; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs b/MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs new file mode 100644 index 0000000..89d5fa9 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs @@ -0,0 +1,112 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Stick21 : ADataObject + { + + + public Stick21(섹터지수막대그래프분류 recvDataType) + { + this.mDataType = recvDataType; + } + + private 섹터지수막대그래프분류 mDataType; + + /// + /// 금일 데이터 쿼리 + /// + string queryKOSPI = @"select + b.f_part_name, + a.F_PART_IDX/100, + a.F_CHG_TYPE, + a.F_PART_CHG/100, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_index a, t_part b + where a.f_part_code = b.f_part_code + and a.f_part_code in('013', '009', '011', '016', '018', '021', '008', '007', '015', '005') + order by a.f_part_code"; + + + string queryKOSDAQ = @"select + b.f_part_name, + a.F_PART_IDX/100, + a.F_CHG_TYPE, + a.F_PART_CHG/100, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_kosdaq_index a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and a.f_part_code in('159', '160', '066', '154', '065', '031', '029', '070', '024', '153') + order by a.f_part_code"; + + string queryDOW = @"select + a.f_input_name name, + round(b.f_last,2) part_idx, + b.f_sign chg_type, + ABS(round(b.f_diff, 2)) part_chg, + round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('DJI@DJINET', 'DJI@DJUSAU', 'DJI@DJUSCH', 'DJI@DJUSNF', 'DJI@DJUSCN', 'DJI@DJT', 'DJI@DJU', 'DJI@DJUSFB', 'DJI@DJUSCFT', 'DJI@DJUSEE')"; + + + string queryNASDAQ = @"select + a.f_input_name name, + round(b.f_last,2) part_idx, + b.f_sign chg_type, + ABS(round(b.f_diff, 2)) part_chg, + round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('NAS@CXBT', 'NAS@NDX', 'NAS@NQSSSE', 'NAS@IXBK', 'NAS@IXIS', 'NAS@IXUT', 'NAS@IXK', 'NAS@NBI', 'NAS@IXF', 'NAS@NDXT')"; + + + string querySNP = @"select + a.f_input_name name, + round(b.f_last,2) part_idx, + b.f_sign chg_type, + ABS(round(b.f_diff, 2)) part_chg, + round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('SPI@S5ENRS', 'SPI@S5RLST', 'SPI@S5AUCO', 'SPI@S5INFT', 'SPI@S5COND', 'SPI@S5INSU', 'SPI@S5ELUTX', 'SPI@S5HLTH', 'SPI@S5FINL', 'SPI@S5TELS')"; + + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mDataType) + { + case 섹터지수막대그래프분류.코스피: + bufQuery = queryKOSPI; + break; + case 섹터지수막대그래프분류.코스닥: + bufQuery = queryKOSDAQ; + break; + case 섹터지수막대그래프분류.다우: + bufQuery = queryDOW; + break; + case 섹터지수막대그래프분류.나스닥: + bufQuery = queryNASDAQ; + break; + case 섹터지수막대그래프분류.SNP: + bufQuery = querySNP; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs b/MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs new file mode 100644 index 0000000..a5fe7c3 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data.Request +{ + internal abstract class ACandleData : ADataObject + { + + /// + /// + /// + /// + /// + public ACandleData(봉차트세부종목 recvDataType, 데이터기간 recvDataLength) + { + this.mDataLength = recvDataLength; + this.mDataType = recvDataType; + this.setQuery(); + } + + protected 데이터기간 mDataLength; + + protected 봉차트세부종목 mDataType; + + protected string mStockCode = string.Empty; + + protected string queryForecastToday = @""; + + protected string queryForecastLast = @""; + + protected string queryIndexNow = @""; + + protected string queryIndexToday = @""; + + protected string queryIndexLast = @""; + + protected string queryQuantityToday = @""; + + protected string queryQuantityLast = @""; + + + public override IDataRequest buildData() + { + + switch (mDataType) + { + case 봉차트세부종목.예상지수: + buildQueryMethod(queryForecastToday, queryForecastLast); + break; + case 봉차트세부종목.일반지수: + buildQueryMethod(queryIndexNow, queryIndexLast, queryIndexToday); + break; + case 봉차트세부종목.거래량: + buildQueryMethod(queryIndexNow, queryQuantityLast, queryQuantityToday); + break; + } + + + return this; + + } + + private void buildQueryMethod(string query1, string query2, string query3 = null) + { + + if (this.mStockCode != string.Empty) + { + mRequestQuery.Add("현재", string.Format(query1, this.mStockCode)); + + if (mDataLength == 데이터기간.일 && query3 != null) + { + mRequestQuery.Add("누적", string.Format(query3, this.mStockCode)); + } + else + { + mRequestQuery.Add("누적", String.Format(query2, this.mDataLength.GetStringValue(), this.mStockCode)); + } + + } + else + { + + mRequestQuery.Add("현재", query1); + + if (mDataLength == 데이터기간.일 && query3 != null) + { + mRequestQuery.Add("누적", query3); + } + else + { + mRequestQuery.Add("누적", String.Format(query2, this.mDataLength.GetStringValue())); + } + } + + } + + + protected abstract void setQuery(); + + } + +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs new file mode 100644 index 0000000..8c4ebb6 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleFutures : ACandleData + { + public CandleFutures(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength) + { + + if (recvDataType == DBDefine.봉차트세부종목.거래량) + { + throw new Exception("선물은 거래량 쿼리가 없음."); + } + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT + '선물' name, + part_idx part_idx, + chg_type, + ABS(part_chg) part_chg, + round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), '-', (part_idx / 100) + (part_chg / 100), 1), 2) rate + FROM ( + SELECT decode(a.f_fo_price,0, b.F_JUN_LAST_PRICE, a.f_fo_price) part_idx, + decode(a.f_fo_price, 0, 0, (a.f_fo_price - b.F_JUN_LAST_PRICE)/100) part_chg, + decode(a.f_fo_price, 0, ' ', decode(sign(a.f_fo_price -b.F_JUN_LAST_PRICE),1,'+',-1,'-',0,' ')) chg_type + FROM t_sunmul_online a, t_sunmul_batch b +WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_seq = 1 + AND b.f_market_date = (select max(OPEN_DAY) from v_open_day) + AND b.F_MONTH_GUBUN = '1' + )"; + + this.queryForecastLast = @"select + F_DATA_DAY, + chg_type, + part_chg, + part_high_idx / 100 part_high_idx, + part_low_idx / 100 part_low_idx, + part_init_idx / 100 part_init_idx, + part_idx / 100 part_idx, + part_ma5_idx / 100 part_ma5_idx, + part_ma20_idx / 100 part_ma20_idx + FROM( + select F_DATA_DAY, F_CHG_TYPE chg_type, F_PART_CHG part_chg, + F_PART_HIGH_IDX part_high_idx, F_PART_LOW_IDX part_low_idx, F_PART_INIT_IDX part_init_idx, + F_PART_IDX part_idx, F_PART_MA5_IDX part_ma5_idx, F_PART_MA20_IDX part_ma20_idx + from T_SUNMUL_HIS_DAY + order by f_data_day desc) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + '선물' name, + part_idx part_idx, + chg_type, + ABS(part_chg) part_chg, + ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), '-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate + FROM ( + SELECT decode(a.f_curr_price,0, b.F_JUN_LAST_PRICE/100, a.f_curr_price/100) part_idx, a.F_NET_VOL, a.f_out_vol, a.F_NET_TURNOVER, + decode(a.f_curr_price, 0, 0, (a.f_curr_price - b.F_JUN_LAST_PRICE*100)/100) part_chg, + decode(a.f_curr_price, 0, ' ', decode(sign(a.f_curr_price -b.F_JUN_LAST_PRICE*100),1,'+',-1,'-',0,' ')) chg_type + FROM t_sunmul_online a, t_sunmul_batch b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_seq = 1 + AND b.f_market_date = (select max(OPEN_DAY) from v_open_day) + AND b.F_MONTH_GUBUN = '1' + )"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_IDX/100, + a.F_CHG_TYPE, + a.F_PART_CHG, + a.F_PART_HIGH_IDX/100, + a.F_PART_LOW_IDX/100, + a.F_PART_INIT_IDX/100 + from t_sunmul_his_5M a + where a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + chg_type, + part_chg, + part_high_idx/100, + part_low_idx/100, + part_init_idx/100, + part_idx/100, + part_ma5_idx/100, + part_ma20_idx/100 + FROM ( + select + F_DATA_DAY, + F_CHG_TYPE chg_type, + F_PART_CHG part_chg, + F_PART_HIGH_IDX part_high_idx, + F_PART_LOW_IDX part_low_idx, + F_PART_INIT_IDX part_init_idx, + F_PART_IDX part_idx, + F_PART_MA5_IDX part_ma5_idx, + F_PART_MA20_IDX part_ma20_idx + from T_SUNMUL_HIS_DAY + order by f_data_day desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @""; + + + this.queryQuantityLast = @""; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs new file mode 100644 index 0000000..5072030 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs @@ -0,0 +1,142 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleIndustryKOSDAQ : ACandleData + { + public CandleIndustryKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + if (recvDataType == DBDefine.봉차트세부종목.예상지수) + { + throw new Exception("업종지수는 예상지수 쿼리가 없음."); + } + + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @""; + + this.queryForecastLast = @""; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + b.f_part_name part_name, + f_part_vol part_vol, + round(f_part_idx/100,2) part_idx, + f_chg_type chg_type, + round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_kosdaq_index a, t_kosdaq_part b + WHERE a.f_part_code = b.f_part_code + AND b.f_part_name = '{0}'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + b.f_part_name, + a.F_CHG_TYPE chg_type, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + a.f_part_vol + from t_kosdaq_index_his_5M a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{0}' + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + f_part_name part_name, + F_CHG_TYPE chg_type, + f_part_vol part_vol, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_kosdaq_index_his_day a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{1}' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + b.f_part_name, + a.F_CHG_TYPE chg_type, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + a.f_part_vol part_vol + from t_kosdaq_index_his_5M a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{0}' + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + f_part_name part_name, + F_CHG_TYPE chg_type, + f_part_vol part_vol, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_kosdaq_index_his_day a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{1}' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs new file mode 100644 index 0000000..b979736 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleIndustryKOSPI : ACandleData + { + public CandleIndustryKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + if (recvDataType == DBDefine.봉차트세부종목.예상지수) + { + throw new Exception("업종지수는 예상지수 쿼리가 없음."); + } + + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @""; + + this.queryForecastLast = @""; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + b.f_part_name part_name, + a.f_part_vol part_vol, + round(f_part_idx / 100, 2) part_idx, + f_chg_type chg_type, + round(f_part_chg / 100, 2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_index a, t_part b + WHERE a.f_part_code = b.f_part_code + AND b.f_part_name = '{0}'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + b.f_part_name, + a.F_CHG_TYPE, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + F_PART_VOL + from t_index_his_5M a, t_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{0}' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + f_part_name part_name, + F_CHG_TYPE chg_type, + f_part_vol part_vol, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name, + a.F_CHG_TYPE, a.F_PART_CHG, a.F_PART_VOL, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_index_his_day a, t_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{1}' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + b.f_part_name, + a.F_CHG_TYPE, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + F_PART_VOL part_vol + from t_index_his_5M a, t_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{0}' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + f_part_name part_name, + F_CHG_TYPE chg_type, + f_part_vol part_vol, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name, + a.F_CHG_TYPE, a.F_PART_CHG, a.F_PART_VOL, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_index_his_day a, t_part b + where a.f_part_code = b.f_part_code + and b.f_part_name = '{1}' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs new file mode 100644 index 0000000..9769ea7 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleKOSDAQ : ACandleData + { + public CandleKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength) + { + + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT + '코스닥 예상' NAME, + round(f_part_idx / 100, 2) part_idx, + f_chg_type chg_type, + ABS(round(f_part_chg / 100, 2)) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg),1) * 100, 2) rate + FROM t_kosdaq_fo_index + WHERE f_part_code = '001'"; + + this.queryForecastLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_kosdaq_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + round(f_part_idx/100,2) part_idx, + f_chg_type chg_type, + round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_kosdaq_index + WHERE f_part_code = '001'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx + from t_kosdaq_index_his_5M a + where a.f_part_code = '001' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_kosdaq_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_VOL part_vol + from t_kosdaq_index_his_5M a + where a.f_part_code = '001' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_VOL part_vol, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_kosdaq_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs new file mode 100644 index 0000000..193605e --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleKOSPI : ACandleData + { + public CandleKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength) + { + + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT + '코스피 예상' NAME, + round(f_part_idx / 100, 2) part_idx, + f_chg_type chg_type, + ABS(round(f_part_chg / 100, 2)) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_fo_index + WHERE f_part_code = '001'"; + + this.queryForecastLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + round(f_part_idx/100,2) part_idx, + f_chg_type chg_type, + round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_index + WHERE f_part_code = '001'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + a.F_CHG_TYPE chg_type, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx + from t_index_his_5M a + where a.f_part_code = '001' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, F_PART_LOW_IDX / 100 part_low_idx, F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, F_PART_MA5_IDX / 100 part_ma5_idx, F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + a.F_CHG_TYPE chg_type, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + a.F_PART_VOL part_vol + from t_index_his_5M a + where a.f_part_code = '001' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_VOL part_vol, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_index_his_day a + where a.f_part_code = '001' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs new file mode 100644 index 0000000..ebeb841 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleKOSPI200 : ACandleData + { + public CandleKOSPI200(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength) + { + + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT + 'KOSPI200' name, + f_part_idx/100 part_idx, + f_chg_type chg_type, + ABS(round(f_part_chg/100,2)) part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), '-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate + FROM T_200_FO_INDEX + WHERE f_part_code = '029'"; + + this.queryForecastLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_200_index_his_day a + where a.f_part_code = '029' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + round(f_part_idx/100,2) part_idx, + f_chg_type chg_type, + round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM T_200_INDEX + WHERE f_part_code = '029'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + a.F_CHG_TYPE chg_type, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx + from t_200_index_his_5M a + where a.f_part_code = '029' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_200_index_his_day a + where a.f_part_code = '029' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + a.F_PART_CHG / 100 part_chg, + a.F_PART_HIGH_IDX / 100 part_high_idx, + a.F_PART_LOW_IDX / 100 part_low_idx, + a.F_PART_INIT_IDX / 100 part_init_idx, + a.F_PART_IDX / 100 part_idx, + F_PART_VOL part_vol + from t_200_index_his_5M a + where a.f_part_code = '029' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_VOL part_vol, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from (select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_200_index_his_day a + where a.f_part_code = '029' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs new file mode 100644 index 0000000..e81f8fb --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleKRX100 : ACandleData + { + public CandleKRX100(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength) + { + + if (recvDataType == DBDefine.봉차트세부종목.예상지수) + { + throw new Exception("KRX100은 예상지수 쿼리가 없음."); + } + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @""; + + this.queryForecastLast = @""; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT + round(f_part_idx/100,2) part_idx, + f_chg_type chg_type, + round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_krx100_index + WHERE f_part_code = '043'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx + from t_krx100_index_his_5M a + where a.f_part_code = '043' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + this.queryIndexLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_krx100_index_his_day a + where a.f_part_code = '043' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + #endregion + + #region 거래량 + + //this.queryQuantityToday = @"select + // a.F_DATA_DAY, + // a.F_DATA_TIME, + // a.F_PART_CODE, + // F_CHG_TYPE chg_type, + // F_PART_CHG / 100 part_chg, + // F_PART_HIGH_IDX / 100 part_high_idx, + // F_PART_LOW_IDX / 100 part_low_idx, + // F_PART_INIT_IDX / 100 part_init_idx, + // F_PART_IDX / 100 part_idx + //from t_krx100_index_his_5M a + //where a.f_part_code = '043' + // and a.f_data_day = (select max(open_day) from v_open_day) + //order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_PART_CODE, + a.F_CHG_TYPE, + F_PART_CHG / 100 part_chg, + F_PART_VOL part_vol, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + a.F_DATA_TIME + from t_krx100_index_his_5M a + where a.f_part_code = '043' + and a.f_data_day = (select max(open_day) from v_open_day) + order by a.F_DATA_DAY, a.F_DATA_TIME"; + + + + this.queryQuantityLast = @"select + F_DATA_DAY, + F_PART_CODE, + F_CHG_TYPE chg_type, + F_PART_CHG / 100 part_chg, + F_PART_VOL part_vol, + F_PART_HIGH_IDX / 100 part_high_idx, + F_PART_LOW_IDX / 100 part_low_idx, + F_PART_INIT_IDX / 100 part_init_idx, + F_PART_IDX / 100 part_idx, + F_PART_MA5_IDX / 100 part_ma5_idx, + F_PART_MA20_IDX / 100 part_ma20_idx + from ( + select a.F_DATA_DAY, a.F_PART_CODE, + a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol, + a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX, + a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX + from t_krx100_index_his_day a + where a.f_part_code = '043' + order by a.F_DATA_DAY desc + ) + where rownum <= {0} order by F_DATA_DAY asc"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs new file mode 100644 index 0000000..b32b6d9 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleStockDIS : ACandleData + { + public CandleStockDIS(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 지수 + + this.queryIndexNow = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME stock_name, + a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_stop_online1 a, t_stock b + WHERE b.f_mkt_halt = 'Y' + + AND a.f_curr_price < > 0 + + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}'"; + + + + this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_candle_history a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'Y' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0} ) O + + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + #endregion + } + } + } diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs new file mode 100644 index 0000000..53ef69c --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleStockDISK : ACandleData + { + public CandleStockDISK(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 지수 + + this.queryIndexNow = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME stock_name, + a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'Y' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}'"; + + + + this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_kosdaq_candle_history a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'Y' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + #endregion + } + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs new file mode 100644 index 0000000..905a5c4 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs @@ -0,0 +1,219 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleStockKOSDAQ : ACandleData + { + public CandleStockKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.f_stock_nickname nickname, + b.F_STOCK_WANNAME wanname, + a.f_fore_price curr_price, + a.f_fore_vol net_vol, + c.f_final_price final_price, + ABS(a.f_fore_price - c.f_final_price) net_chg, + ' ' f_net_chg, + case when(a.f_fore_price - c.f_final_price) > 0 then '+' + when(a.f_fore_price - c.f_final_price) = 0 then '' + when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c + WHERE a.f_stock_code = b.f_stock_code + AND b.f_mkt_halt = 'N' + AND c.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}'"; + + ////////////this.queryForecastToday = @"SELECT DISTINCT + //////////// b.f_stock_code stock_code, + //////////// b.f_stock_nickname nickname, + //////////// b.F_STOCK_WANNAME wanname, + //////////// a.f_fore_price curr_price, + //////////// a.f_fore_vol net_vol, + //////////// c.f_final_price final_price, + //////////// a.f_fore_price - c.f_final_price net_chg, + //////////// a.f_net_chg, + //////////// case when(a.f_fore_price - c.f_final_price) > 0 then '+' + //////////// when(a.f_fore_price - c.f_final_price) = 0 then '' + //////////// when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + //////////// round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + ////////////FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c + ////////////WHERE a.f_stock_code = b.f_stock_code + //////////// AND b.f_mkt_halt = 'N' + //////////// AND c.f_stock_code = b.f_stock_code + //////////// and b.f_stock_wanname = '{0}'"; + // 테스트로 막아놓음 + //this.queryForecastLast = @"select + // F_DATA_DATE, + // F_STOCK_CODE, + // f_stock_wanname, + // F_CHG_TYPE, + // F_NET_CHG, + // F_HIGH_PRICE, + // F_LOW_PRICE, + // F_INIT_PRICE, + // F_CURR_PRICE, + // F_MA5_PRICE, + // F_MA20_PRICE + //from ( + // select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + // a.F_CHG_TYPE, a.F_NET_CHG, + // a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + // a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + // from t_kosdaq_candle_history a, t_kosdaq_stock b + // where a.f_stock_code = b.f_stock_code + // and b.f_stock_wanname = '{1}' + // order by a.F_DATA_DATE desc + //) + //where rownum <= {0} order by F_DATA_DATE asc"; + + this.queryForecastLast = @"select + O.OPEN_DAY F_DATA_DATE, + X.F_STOCK_CODE, + X.f_stock_wanname, + X.F_CHG_TYPE, + X.F_NET_CHG, + X.F_HIGH_PRICE, + X.F_LOW_PRICE, + X.F_INIT_PRICE, + X.F_CURR_PRICE, + X.F_MA5_PRICE, + X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_kosdaq_candle_history a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME stock_name , + a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), '2', (a.f_curr_price - a.f_net_chg), '3', (a.f_curr_price), '4', -1*(a.f_curr_price + a.f_net_chg), '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_STOCK_CODE, + b.f_stock_wanname, + a.F_CURR_PRICE, + a.F_CHG_TYPE, + a.F_NET_CHG, + a.F_NET_VOL, + a.F_HIGH_PRICE, + a.F_LOW_PRICE, + a.F_INIT_PRICE + from t_kosdaq_online_his_5M a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}' + and b.f_mkt_halt = 'N' + and a.f_data_day = ( + select max(open_day) from v_open_day + ) + ORDER BY a.F_DATA_TIME"; + + this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_kosdaq_candle_history a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_STOCK_CODE, + b.f_stock_wanname, + a.F_CURR_PRICE, + a.F_CHG_TYPE, + a.F_NET_CHG, + a.F_NET_VOL, + a.F_HIGH_PRICE, + a.F_LOW_PRICE, + a.F_INIT_PRICE + from t_kosdaq_online_his_5M a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}' + and a.f_data_day = (select max(open_day) from v_open_day) + ORDER BY a.F_DATA_TIME"; + + this.queryQuantityLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, X.F_NET_VOL, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, a.F_NET_VOL, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_kosdaq_candle_history a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs new file mode 100644 index 0000000..f7ce756 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs @@ -0,0 +1,221 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleStockKOSPI : ACandleData + { + public CandleStockKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 예상지수 + + this.queryForecastToday = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.f_stock_nickname nickname, + b.F_STOCK_WANNAME wanname, + a.f_fore_price curr_price, + a.f_fore_vol net_vol, + c.f_final_price final_price, + ABS(a.f_fore_price - c.f_final_price) net_chg, + '' f_net_chg, + case when(a.f_fore_price - c.f_final_price) > 0 then '+' + when(a.f_fore_price - c.f_final_price) = 0 then '' + when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + FROM t_online1_call a, t_stock b, t_batch_day c + WHERE b.f_stock_code = a.f_stock_code + AND c.f_stock_code = a.f_stock_code + AND b.f_mkt_halt = 'N' + and b.f_STOCK_wanname = '{0}'"; + + //////////this.queryForecastToday = @"SELECT DISTINCT + ////////// b.f_stock_code stock_code, + ////////// b.f_stock_nickname nickname, + ////////// b.F_STOCK_WANNAME wanname, + ////////// a.f_fore_price curr_price, + ////////// a.f_fore_vol net_vol, + ////////// c.f_final_price final_price, + ////////// a.f_fore_price - c.f_final_price net_chg, + ////////// a.f_net_chg, + ////////// case when(a.f_fore_price - c.f_final_price) > 0 then '+' when(a.f_fore_price - c.f_final_price) = 0 then '' when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + ////////// round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + //////////FROM t_online1 a, t_stock b, t_batch_day c + //////////WHERE b.f_stock_code = a.f_stock_code + ////////// AND c.f_stock_code = a.f_stock_code + ////////// AND b.f_mkt_halt = 'N' + ////////// and b.f_STOCK_wanname = '{0}'"; + + //==================== + //this.queryForecastLast = @"select + // F_DATA_DATE, + // F_STOCK_CODE, + // f_stock_wanname, + // F_CHG_TYPE, + // F_NET_CHG, + // F_HIGH_PRICE, + // F_LOW_PRICE, + // F_INIT_PRICE, + // F_CURR_PRICE, + // F_MA5_PRICE, + // F_MA20_PRICE + //from ( + // select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + // a.F_CHG_TYPE, a.F_NET_CHG, + // a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + // a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + // from t_candle_history a, t_stock b + // where a.f_stock_code = b.f_stock_code + // and b.f_stock_wanname = '{1}' + // and b.f_mkt_halt = 'N' + // order by a.F_DATA_DATE desc + //) + //where rownum <= {0} order by F_DATA_DATE asc"; + this.queryForecastLast = @"select + O.OPEN_DAY F_DATA_DATE, + X.F_STOCK_CODE, + X.f_stock_wanname, + X.F_CHG_TYPE, + X.F_NET_CHG, + X.F_HIGH_PRICE, + X.F_LOW_PRICE, + X.F_INIT_PRICE, + X.F_CURR_PRICE, + X.F_MA5_PRICE, + X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_candle_history a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + //================================= + + #endregion + + #region 지수 + + this.queryIndexNow = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME stock_name , + a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + a.f_net_vol, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), '2', (a.f_curr_price - a.f_net_chg), '3', (a.f_curr_price), '4', -1*(a.f_curr_price + a.f_net_chg), '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}'"; + + this.queryIndexToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_STOCK_CODE, + b.f_stock_wanname, + a.F_CURR_PRICE, + a.F_CHG_TYPE, + a.F_NET_CHG, + a.F_NET_VOL, + a.F_HIGH_PRICE, + a.F_LOW_PRICE, + a.F_INIT_PRICE + from t_online_his_5M a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}' + and a.f_data_day = ( + select max(open_day) from v_open_day + ) + ORDER BY a.F_DATA_TIME"; + + this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_candle_history a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + #endregion + + #region 거래량 + + this.queryQuantityToday = @"select + a.F_DATA_DAY, + a.F_DATA_TIME, + a.F_STOCK_CODE, + b.f_stock_wanname, + a.F_CURR_PRICE, + a.F_CHG_TYPE, + a.F_NET_CHG, + a.F_NET_VOL, + a.F_HIGH_PRICE, + a.F_LOW_PRICE, + a.F_INIT_PRICE + from t_online_his_5M a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + AND b.f_stock_wanname = '{0}' + and a.f_data_day = (select max(open_day) from v_open_day) + ORDER BY a.F_DATA_TIME"; + + + this.queryQuantityLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname, + X.F_CHG_TYPE, X.F_NET_CHG, X.F_NET_VOL, + X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE, + X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE + from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname, + a.F_CHG_TYPE, a.F_NET_CHG, a.F_NET_VOL, + a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE, + a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE + from t_candle_history a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{1}' + and b.f_mkt_halt = 'N' + order by a.F_DATA_DATE desc) X, + (select open_day from(select open_day from v_open_day + order by open_day desc) + where rownum <= {0}) O + where X.f_data_date(+) = o.open_day + order by O.OPEN_DAY"; + + } + + #endregion + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs b/MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs new file mode 100644 index 0000000..06d96dd --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class Candleforeign : ACandleData + { + public Candleforeign(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 지수 + + //this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last,2) part_idx, b.f_sign chg_type, + //ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + //from t_world_ix_eq_master a, t_world_ix_eq_sise b + //where a.f_symb = b.f_symb + // and a.f_input_name like '{0}' + // and b.f_fdtc = '0'"; + + this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type, + ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_input_name like '{0}' + and b.f_fdtc in ('0', '1')"; + + this.queryIndexLast = @"select name, F_xYMD ymd, part_idx, chg_type, part_chg, rate, high, open, low + from(select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type, + b.f_high high, b.f_open open, b.f_low low, + ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_his b + where a.f_symb = b.f_symb + and a.f_input_name like '{1}' + and b.f_fdtc in ( '0','1') + order by b.F_xYMD desc) + where rownum <= {0} order by ymd asc"; + + + + + #endregion + + + } + + + } +} diff --git a/MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs b/MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs new file mode 100644 index 0000000..187324c --- /dev/null +++ b/MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MMoneyCoderSharp.Data.Request.봉차트 +{ + internal class CandleforeignStock : ACandleData + { + public CandleforeignStock(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength) + { + + this.mStockCode = recvStockCode; + + } + + protected override void setQuery() + { + + #region 종목 + + + + this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type, + ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_input_name like '{0}' + and b.f_fdtc = '1'"; + + + + + + this.queryIndexLast = @"select name, F_xYMD ymd, part_idx, chg_type, part_chg, rate, high, open, low + from(select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type, + b.f_high high, b.f_open open, b.f_low low, + ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_his b + where a.f_symb = b.f_symb + and a.f_input_name like '{1}' + and b.f_fdtc = '1' + order by b.F_xYMD desc) + where rownum <= {0} order by ymd asc"; + + #endregion + + + } + + + } +} diff --git a/MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs b/MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs new file mode 100644 index 0000000..1c9da57 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs @@ -0,0 +1,65 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Square20 : ADataObject + { + + + public Square20(국내시장종류 recvMarketType) + { + this.mMarketType = recvMarketType; + } + + private 국내시장종류 mMarketType; + + /// + /// 금일 데이터 쿼리 + /// + string queryKOSPI = @"select b.f_part_name, a.F_PART_IDX/100 part_idx, a.F_CHG_TYPE, a.F_PART_CHG/100 part_chg, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), + '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_index a, t_part b + where a.f_part_code = b.f_part_code + and a.f_part_code in('013', '009', '011', '016', '018', + '021', '008', '020', '007', '012','015', '005', '014', '006', '019') order by a.f_part_code"; + + + string queryKOSDAQ = @"select b.f_part_name, a.F_PART_IDX/100 part_idx, a.F_CHG_TYPE, a.F_PART_CHG/100 part_chg, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), + '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_kosdaq_index a, t_kosdaq_part b + where a.f_part_code = b.f_part_code + and a.f_part_code in('066', '159', '154', '160', '065', + '031', '029', '070', '026', '024', + '041', '056', '153', '027', '062') order by a.f_part_code"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mMarketType) + { + case 국내시장종류.KOSPI: + bufQuery = queryKOSPI; + break; + case 국내시장종류.KOSDAQ: + bufQuery = queryKOSDAQ; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/선그래프/Exchange.cs b/MBN_STOCK_N/Data/Request/선그래프/Exchange.cs new file mode 100644 index 0000000..1bf3116 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/선그래프/Exchange.cs @@ -0,0 +1,105 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// 환율선그래프관련 DB데이터 쿼리매핑 오브젝트. + /// + /// 오늘데이터를 가져오는 쿼리와 기존 데이터 목록을 가져오는 쿼리가 각각 정리되어있다. + /// 선그래프등의 여러 데이터를 가져와야하는 쿼리의 경우 해당 쿼리를 union하여 더해서 리턴한다. + /// + internal class Exchange : ADataObject + { + + public Exchange(환율 recvDataType, 데이터기간 recvDataLength) + { + + this.dataType = recvDataType; + this.dataLenght = recvDataLength; + + } + + /// + /// 환율데이터 종류 + /// + private 환율 dataType; + + /// + /// 가져올 데이터 기간 + /// + private 데이터기간 dataLenght; + + /// + /// 누적데이터 쿼리 + /// + const string queryLast = @"select + a.f_data_day data_day, + a.f_input_code input_code, + b.f_input_name, + a.f_curr_price curr_price, + a.F_net_CHG net_chg, + a.f_chg_type chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - a.f_net_chg), '', (a.f_curr_price), '-', (a.f_curr_price + a.f_net_chg), 1)) * 100, 2) rate + from t_week_index a, t_input_code b + where a.f_input_code = b.f_input_code + and a.f_input_code = '{0}' + and a.f_data_day in ( + select open_day + from ( + select open_day + from v_open_day + minus + select f_data_day data_day + from t_input_index + where f_input_code = '{0}' + order by open_day desc + ) + where rownum < {1} + ) + "; + + /// + /// 금일 데이터 쿼리 + /// + const string queryToday = @"SELECT + a.f_data_day data_day, + a.f_input_code input_code, + b.f_input_name input_name, + a.f_curr_price curr_price, + a.f_net_chg net_chg, + a.f_chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - a.f_net_chg), '', (a.f_curr_price), '-', (a.f_curr_price + a.f_net_chg), 1)) * 100, 2) rate + FROM t_input_index a, t_input_code b + WHERE a.f_input_code = b.f_input_code + AND a.f_input_code = '{0}' + order by data_day desc + "; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + if (dataLenght != 데이터기간.일) + { + + bufQuery += String.Format(queryLast, dataType.GetStringValue(), dataLenght.GetStringValue()); + + bufQuery += " union "; + + } + + bufQuery += String.Format(queryToday, dataType.GetStringValue()); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs b/MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs new file mode 100644 index 0000000..a9b678a --- /dev/null +++ b/MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs @@ -0,0 +1,117 @@ +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data.Request +{ + internal class IndexIndustryYield : ADataObject + { + + /// + /// + /// + /// + /// + public IndexIndustryYield(string recvIndustryCode, 데이터기간 recvDataLength, 국내시장종류 recvMarketType) + { + this.mIndustryCode = recvIndustryCode; + this.mDataLength = recvDataLength; + this.mMarketType = recvMarketType; + } + + private string mIndustryCode = ""; + + private 데이터기간 mDataLength; + + private 국내시장종류 mMarketType; + + const string queryKOSPI = @"select + substr(f_data_time, 1,8) data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate + from t_index_his + where f_part_code = '{0}' + and Rtrim(f_data_time) in ( + select open_day || '1535' + from ( + select open_day from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_index + where f_part_code = '001' + order by open_day desc + ) + where rownum < {1} + ) + UNION + select + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 curr_price, + f_chg_type chg_type, + F_PART_CHG / 100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate + from t_index + where f_part_code = '{0}' + order by data_day desc"; + + + + const string queryKOSDAQ = @"select + substr(f_data_time, 1,8) data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate + from t_kosdaq_index_his + where f_part_code = '{0}' + and Rtrim(f_data_time) in ( + select open_day || '1535' + from ( + select open_day from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_kosdaq_index + where f_part_code = '001' + order by open_day desc + ) + where rownum < {1} + ) + UNION + select + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 curr_price, + f_chg_type chg_type, + F_PART_CHG / 100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate + from t_kosdaq_index + where f_part_code = '{0}' + order by data_day desc"; + + public override IDataRequest buildData() + { + string bufQuery = string.Empty; + + if (mMarketType == 국내시장종류.KOSPI) + { + bufQuery = String.Format(queryKOSPI, this.mIndustryCode, this.mDataLength.GetStringValue()); + } + else + { + bufQuery = String.Format(queryKOSDAQ, this.mIndustryCode, this.mDataLength.GetStringValue()); + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } + +} diff --git a/MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs b/MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs new file mode 100644 index 0000000..d17c2a7 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs @@ -0,0 +1,312 @@ +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data.Request +{ + internal class IndexYield : ADataObject + { + + /// + /// + /// + /// + /// + public IndexYield(데이터기간 recvDataLength, 국내지수종류 recvIndexType) + { + this.mDataLength = recvDataLength; + this.mIndexType = recvIndexType; + } + + private 데이터기간 mDataLength; + + private 국내지수종류 mIndexType; + + //const string queryKOSPI = @"select + // substr(f_data_time, 1,8) data_day, + // f_part_idx/100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG/100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from t_index_his + // where f_part_code = '001' + // and Rtrim(f_data_time) in( + // select open_day || '1535' + // from ( + // select open_day + // from v_open_day + // where open_day <> to_char(sysdate, 'yyyymmdd') + // minus + // select substr(f_data_time, 1, 8) data_day + // from t_index + // where f_part_code = '001' + // order by open_day desc + // ) + // where rownum < {0} + // ) + // UNION + // select + // substr(f_data_time, 1, 8) data_day, + // f_part_idx / 100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG / 100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from t_index + // where f_part_code = '001' + // order by data_day desc"; + + const string queryKOSPI = @"select + f_data_day data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from t_index_his_day + where f_part_code = '001' + and Rtrim(f_data_day) in( + select open_day + from ( + select open_day + from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_index + where f_part_code = '001' + order by open_day desc + ) + where rownum < {0} + ) + UNION + select + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 curr_price, + f_chg_type chg_type, + F_PART_CHG / 100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from t_index + where f_part_code = '001' + order by data_day desc"; + + //const string queryKOSDAQ = @"select + // substr(f_data_time, 1,8) data_day, + // f_part_idx/100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG/100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from t_kosdaq_index_his + // where f_part_code = '001' + // and Rtrim(f_data_time) in ( + // select open_day || '1535' + // from ( + // select open_day from v_open_day + // where open_day <> to_char(sysdate, 'yyyymmdd') + // minus + // select substr(f_data_time, 1, 8) data_day + // from t_kosdaq_index + // where f_part_code = '001' + // order by open_day desc + // ) + // where rownum < {0} + // ) + // UNION + // select + // substr(f_data_time, 1, 8) data_day, + // f_part_idx / 100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG / 100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from t_kosdaq_index + // where f_part_code = '001' + // order by data_day desc"; + const string queryKOSDAQ = @"select + f_data_day data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from t_kosdaq_index_his_day + where f_part_code = '001' + and Rtrim(f_data_day) in ( + select open_day + from ( + select open_day from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_kosdaq_index + where f_part_code = '001' + order by open_day desc + ) + where rownum < {0} + ) + UNION + select + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 curr_price, + f_chg_type chg_type, + F_PART_CHG / 100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from t_kosdaq_index + where f_part_code = '001' + order by data_day desc"; + + //const string queryKOSPI200 = @"select + // substr(f_data_time, 1,8) data_day, + // f_part_idx/100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG/100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from T_200_INDEX_his + // where f_part_code = '029' + // and Rtrim(f_data_time) in ( + // select open_day || '1535' + // from ( + // select open_day from v_open_day + // where open_day <> to_char(sysdate, 'yyyymmdd') + // minus + // select substr(f_data_time, 1, 8) data_day + // from t_200_index + // where f_part_code = '029' + // order by open_day desc + // ) + // where rownum < {0} + // ) + // UNION + // SELECT + // substr(f_data_time, 1, 8) data_day, + // f_part_idx / 100 part_idx, + // f_chg_type chg_type, + // f_part_chg / 100 part_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // FROM T_200_INDEX + // WHERE f_part_code = '029' + // order by data_day desc"; + const string queryKOSPI200 = @"select + f_data_day data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from T_200_INDEX_his_day + where f_part_code = '029' + and Rtrim(f_data_day) in ( + select open_day + from ( + select open_day from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_200_index + where f_part_code = '029' + order by open_day desc + ) + where rownum < {0} + ) + UNION + SELECT + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 part_idx, + f_chg_type chg_type, + f_part_chg / 100 part_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + FROM T_200_INDEX + WHERE f_part_code = '029' + order by data_day desc"; + + //const string queryKRX100 = @"select + // substr(f_data_time, 1,8) data_day, + // f_part_idx/100 curr_price, + // f_chg_type chg_type, + // F_PART_CHG/100 net_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // from T_KRX100_INDEX_his + // where f_part_code = '043' + // and Rtrim(f_data_time) in ( + // select open_day || '1535' + // from ( + // select open_day from v_open_day + // where open_day <> to_char(sysdate, 'yyyymmdd') + // minus + // select substr(f_data_time, 1, 8) data_day + // from t_krx100_index + // where f_part_code = '043' + // order by open_day desc + // ) + // where rownum < {0} + // ) + // UNION + // SELECT + // substr(f_data_time, 1, 8) data_day, + // f_part_idx / 100 part_idx, + // f_chg_type chg_type, + // f_part_chg / 100 part_chg, + // round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + // FROM T_KRX100_INDEX + // WHERE f_part_code = '043' + // order by data_day desc"; + + const string queryKRX100 = @"select + f_data_day data_day, + f_part_idx/100 curr_price, + f_chg_type chg_type, + F_PART_CHG/100 net_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + from T_KRX100_INDEX_his_day + where f_part_code = '043' + and f_data_day in ( + select open_day + from ( + select open_day from v_open_day + where open_day <> to_char(sysdate, 'yyyymmdd') + minus + select substr(f_data_time, 1, 8) data_day + from t_krx100_index + where f_part_code = '043' + order by open_day desc + ) + where rownum < {0} + ) + UNION + SELECT + substr(f_data_time, 1, 8) data_day, + f_part_idx / 100 part_idx, + f_chg_type chg_type, + f_part_chg / 100 part_chg, + round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate + FROM T_KRX100_INDEX + WHERE f_part_code = '043' + order by data_day desc"; + + public override IDataRequest buildData() + { + string bufQuery = string.Empty; + + if (mIndexType == 국내지수종류.KOSPI) + { + bufQuery = String.Format(queryKOSPI, this.mDataLength.GetStringValue()); + } + else if (mIndexType == 국내지수종류.KOSDAQ) + { + bufQuery = String.Format(queryKOSDAQ, this.mDataLength.GetStringValue()); + } + else if (mIndexType == 국내지수종류.KOSPI200) + { + bufQuery = String.Format(queryKOSPI200, this.mDataLength.GetStringValue()); + } + else if (mIndexType == 국내지수종류.KRX100) + { + bufQuery = String.Format(queryKRX100, this.mDataLength.GetStringValue()); + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } + +} diff --git a/MBN_STOCK_N/Data/Request/선그래프/StockYield.cs b/MBN_STOCK_N/Data/Request/선그래프/StockYield.cs new file mode 100644 index 0000000..2ff467e --- /dev/null +++ b/MBN_STOCK_N/Data/Request/선그래프/StockYield.cs @@ -0,0 +1,128 @@ +using MMoneyCoderSharp.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.Data.Request +{ + internal class StockYield : ADataObject + { + + /// + /// + /// + /// + /// + public StockYield(string recvStockNameKorean, 데이터기간 recvDataLength, 국내시장종류 recvMarketType) + { + if (recvStockNameKorean == "" || recvStockNameKorean == null) + { + throw new Exception("선그래프, 종목수익률, 종목명이 없음"); + } + + this.mStockNameKorean = recvStockNameKorean; + this.mDataLength = recvDataLength; + this.mMarketType = recvMarketType; + } + + private string mStockNameKorean = ""; + + private 데이터기간 mDataLength; + + private 국내시장종류 mMarketType; + + const string queryKOSPI = @"select O.open_day data_day , X.curr_price, X.chg_type, + X.rate, X.net_chg, X.f_stock_wanname + from(select a.f_stock_code, a.f_data_date data_day, a.f_curr_price curr_price, a.f_chg_type chg_type, a.F_net_CHG net_chg, + b.f_stock_wanname, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + from t_candle_history a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}' + and b.f_mkt_halt = 'N') X, + (select open_day from(select open_day from v_open_day + minus + select substr(f_data_time, 1, 8) data_day + from t_index + where f_part_code = '001' + order by open_day desc) + where rownum< {1}) O + where X.data_day(+) = o.open_day + UNION + select(select substr(f_data_time, 1, 8) data_day from t_index where f_part_code = '001') data_day, + a.f_curr_price curr_price, a.f_chg_type chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate, + a.F_net_CHG net_chg, b.f_stock_wanname + from t_online1 a, t_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}' + and b.f_mkt_halt = 'N' + order by data_day desc"; + + const string queryKOSDAQ = @"select O.open_day data_day , X.curr_price, X.chg_type, + X.rate, X.net_chg, X.f_stock_wanname + from(select a.f_stock_code, a.f_data_date data_day, a.f_curr_price curr_price, a.f_chg_type chg_type, a.F_net_CHG net_chg, + b.f_stock_wanname, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + from t_kosdaq_candle_history a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}' + and b.f_mkt_halt = 'N') X, + (select open_day from(select open_day from v_open_day + minus + select substr(f_data_time, 1, 8) data_day + from t_index + where f_part_code = '001' + order by open_day desc) + where rownum < {1}) O + where X.data_day(+) = o.open_day + UNION + select(select substr(f_data_time, 1, 8) data_day from t_index where f_part_code = '001') data_day, + a.f_curr_price curr_price, a.f_chg_type chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate, + a.F_net_CHG net_chg, b.f_stock_wanname + from t_kosdaq_online1 a, t_kosdaq_stock b + where a.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}' + and b.f_mkt_halt = 'N' + order by data_day desc"; + + public override IDataRequest buildData() + { + string bufQuery = string.Empty; + + if (mMarketType == 국내시장종류.KOSPI) + { + bufQuery = String.Format(queryKOSPI, this.mStockNameKorean, this.mDataLength.GetStringValue()); + } + else + { + bufQuery = String.Format(queryKOSDAQ, this.mStockNameKorean, this.mDataLength.GetStringValue()); + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } + +} diff --git a/MBN_STOCK_N/Data/Request/선그래프/Trading.cs b/MBN_STOCK_N/Data/Request/선그래프/Trading.cs new file mode 100644 index 0000000..7a358e1 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/선그래프/Trading.cs @@ -0,0 +1,296 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// 10번컷 + /// + internal class Trading : ADataObject + { + + + public Trading(선그래프데이터분류 recvDataType) + { + this.mDataType = recvDataType; + } + + private 선그래프데이터분류 mDataType; + + #region 개인쿼리 + + string queryRetailNumber = @"select + '코스피' name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE = '8000' + UNION + select + '코스닥' name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE = '8000' + union + select + '코스피200' name, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt + from t_invest + where F_PART_CODE = '029' + and F_INVEST_CODE = '8000'"; + + string queryRetailGraph = @"select + '코스피' f_name, + f_data_time f_data_time, + round((F_SELL_turnover - F_BUY_turnover) / 100000000) price + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE = '8000' + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + union + select + '코스닥' f_name, + f_data_time f_data_time, + round((F_SELL_turnover - F_BUY_turnover) / 100000000) price + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE = '8000' + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + union + select + '코스피200' f_name, + f_data_time f_data_time, + round((F_SELL_turnover - F_BUY_turnover) / 100000000) price + from t_invest_his + where F_PART_CODE = '029' + and F_INVEST_CODE = '8000' + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + order by f_name, f_data_time"; + + #endregion + + #region "외국인" + + string queryForgienNumber = @"select + '코스피' name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('9000', '9001') + UNION + select + '코스닥' name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('9000', '9001') + union + select + '코스피200' name, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt + from t_invest + where F_PART_CODE = '029' + and F_INVEST_CODE in('9000', '9001')"; + + string queryForgienGraph = @"select + '코스피' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('9000', '9001') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + union + select + '코스닥' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('9000', '9001') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + union + select + '코스피200' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_invest_his + where F_PART_CODE = '029' + and F_INVEST_CODE in('9000', '9001') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + order by f_name, f_data_time"; + + #endregion + + #region "기관" + + string queryInstitutionalNumber = @"select + '코스피' f_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000') + group by f_part_code + UNION + select + '코스닥' f_name, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000') + group by f_part_code + union + select + '코스피200' f_name, + round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt + from t_invest + where F_PART_CODE = '029' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')"; + + string queryInstitutionalGraph = @"select + '코스피' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + union + select + '코스닥' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + union + select + '코스피200' f_name, + f_data_time f_data_time, + round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price + from t_invest_his + where F_PART_CODE = '029' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time + order by f_name, f_data_time"; + + #endregion + + #region "코스피" + + string queryKOSPINumber = @"select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000),0) ) ""개인"", + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) ""외국인"", + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) ""기관"" + from t_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code"; + + string queryKOSPIGraph = @"select + f_data_time, sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + f_data_time f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time, f_invest_code + ) + group by f_data_time + order by f_data_time"; + + #endregion + + #region "코스닥" + + string queryKOSDAQNumber = @"select + sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000),0) ) ""개인"", + sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) ""외국인"", + sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) ""기관"" + from t_kosdaq_invest + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + group by f_invest_code"; + + string queryKOSDAQGraph = @"select + f_data_time, + sum(p_1) ""개인"", + sum(p_2) ""외국인"", + sum(p_3) ""기관"" + from( + select + f_data_time f_data_time, + decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1, + decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2, + decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3 + from t_kosdaq_invest_his + where F_PART_CODE = '001' + and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001') + and f_data_time like(select max(open_day) || '%' data_time from v_open_day) + group by f_data_time, f_invest_code + ) + group by f_data_time + order by f_data_time"; + + #endregion + + public override IDataRequest buildData() + { + + string bufQueryNumber = ""; + + string bufQueryGraph = ""; + + switch (this.mDataType) + { + case 선그래프데이터분류.개인매매동향: + bufQueryNumber = queryRetailNumber; + bufQueryGraph = queryRetailGraph; + break; + case 선그래프데이터분류.기관매매동향: + bufQueryNumber = queryInstitutionalNumber; + bufQueryGraph = queryInstitutionalGraph; + break; + case 선그래프데이터분류.외국인매매동향: + bufQueryNumber = queryForgienNumber; + bufQueryGraph = queryForgienGraph; + break; + case 선그래프데이터분류.코스피매매동향: + bufQueryNumber = queryKOSPINumber; + bufQueryGraph = queryKOSPIGraph; + break; + case 선그래프데이터분류.코스닥매매동향: + bufQueryNumber = queryKOSDAQNumber; + bufQueryGraph = queryKOSDAQGraph; + break; + default: + throw new Exception("잘못 참조한 데이터(매매동향에 없는 데이터)"); + } + + mRequestQuery.Add("현재지수", bufQueryNumber); + mRequestQuery.Add("그래프데이터", bufQueryGraph); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs b/MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs new file mode 100644 index 0000000..f8b7f5d --- /dev/null +++ b/MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs @@ -0,0 +1,49 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class MapAsia : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT + '한국' NAME, + round(f_part_idx/100,2) curr_price, + round(f_part_chg/100,2) net_chg, + f_chg_type chg_type, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg)) * 100, 2) rate + FROM t_index + WHERE f_part_code = '001' + UNION + SELECT + decode(f_symb, 'SHS@000001', '중국', 'HSI@HSI', '홍콩', 'NII@NI225', '일본', 'TWS@TI01', '대만') NAME, + to_number(f_last) curr_price, + to_number(f_diff) net_chg, + f_sign chg_type, + to_number(f_rate) rate + FROM t_world_ix_eq_sise + WHERE f_symb in('SHS@000001', 'HSI@HSI', 'NII@NI225', 'TWS@TI01')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs b/MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs new file mode 100644 index 0000000..2ef97a8 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs @@ -0,0 +1,40 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class MapEurope : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT + decode(f_symb, 'LNS@FTSE100', '영국', 'XTR@DAX30', '독일', 'PAS@CAC40', '프랑스', 'ITI@FTSEMIB', '이탈리아') NAME, + to_number(f_last) curr_price, + to_number(f_diff) net_chg, + f_sign chg_type, + to_number(f_rate) rate + FROM t_world_ix_eq_sise + WHERE f_symb in('LNS@FTSE100', 'XTR@DAX30', 'PAS@CAC40', 'ITI@FTSEMIB')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs b/MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs new file mode 100644 index 0000000..c8208c6 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs @@ -0,0 +1,40 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class MapUSA : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT + decode(f_symb, 'DJI@DJI', '다우', 'NAS@IXIC', '나스닥', 'SPI@SPX', 'S&P') NAME, + to_number(f_last) curr_price, + to_number(f_diff) net_chg, + f_sign chg_type, + to_number(f_rate) rate + FROM t_world_ix_eq_sise + WHERE f_symb in('DJI@DJI', 'NAS@IXIC', 'SPI@SPX')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs b/MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs new file mode 100644 index 0000000..2b544f7 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs @@ -0,0 +1,49 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class MapWorld : ADataObject + { + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT + '한국' NAME, + round(f_part_idx / 100, 2) curr_price, + round(f_part_chg / 100, 2) net_chg, + f_chg_type chg_type, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg)) * 100, 2) rate + FROM t_index + WHERE f_part_code = '001' + UNION + SELECT + decode(f_symb, 'SHS@000001', '중국', 'HSI@HSI', '홍콩', 'NII@NI225', '일본', 'TWS@TI01', '대만', 'DJI@DJI', '다우', 'NAS@IXIC', '나스닥', 'SPI@SPX', 'S&P', 'LNS@FTSE100', '영국', 'XTR@DAX30', '독일', 'PAS@CAC40', '프랑스') NAME, + to_number(f_last) curr_price, + to_number(f_diff) net_chg, + f_sign chg_type, + to_number(f_rate) rate + FROM t_world_ix_eq_sise + WHERE f_symb in('SHS@000001', 'HSI@HSI', 'NII@NI225', 'TWS@TI01', 'DJI@DJI', 'NAS@IXIC', 'SPI@SPX', 'LNS@FTSE100', 'XTR@DAX30', 'PAS@CAC40')"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/ETF.cs b/MBN_STOCK_N/Data/Request/판5단/ETF.cs new file mode 100644 index 0000000..3a4daea --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/ETF.cs @@ -0,0 +1,88 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class ETF : ADataObject + { + + internal ETF(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num * a.f_curr_price sigachong, + round((a.f_net_chg/decode(a.f_chg_type,'1', (a.f_curr_price-a.f_net_chg), + '2', (a.f_curr_price-a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price+a.f_net_chg), + '5', -1*(a.f_curr_price+a.f_net_chg)) ) * 100,2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price <> 0 + AND f_sect_code = 'EF' + ORDER BY sigachong DESC"; + + string queryKOSDAQ = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from ( + select f_stock_code, max(f_low_price) f_low_price + from t_kosdaq_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_kosdaq_stock b, t_kosdaq_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code + and a.f_low_price <= d.f_low_price order by rate desc"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs new file mode 100644 index 0000000..6c9551a --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs @@ -0,0 +1,73 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_capital_5dan : Nxt_ADataObject + { + + internal Nxt_capital_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + // + } + + 국내시장종류 mDataType; + + #region 쿼리 + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num * a.f_curr_price sigachong, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_online a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + ORDER BY sigachong DESC"; + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num * a.f_curr_price sigachong, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + ORDER BY sigachong DESC"; + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs new file mode 100644 index 0000000..46a7ffd --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs @@ -0,0 +1,80 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_high_overtime_5dan : Nxt_ADataObject + { + + internal Nxt_high_overtime_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + + string queryNXT_KOSPI = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_NAME wanname, a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_overtime a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in ('1', '2') + ORDER BY rate DESC"; + + + string queryNXT_KOSDAQ = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, + a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_overtime a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in ('1', '2') + ORDER BY rate DESC"; + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs new file mode 100644 index 0000000..a128c9f --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs @@ -0,0 +1,75 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_low_overtime_5dan : Nxt_ADataObject + { + + internal Nxt_low_overtime_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, a.f_net_chg net_chg, + a.f_chg_type chg_type, a.f_curr_price, a.f_init_price, a.f_high_price, a.f_low_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_overtime a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, a.f_net_chg net_chg, + a.f_chg_type chg_type, a.f_curr_price, a.f_init_price, a.f_high_price, a.f_low_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_overtime a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs new file mode 100644 index 0000000..8478f30 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs @@ -0,0 +1,79 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_lower_5dan : Nxt_ADataObject + { + + internal Nxt_lower_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_online a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs new file mode 100644 index 0000000..f97a9b2 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs @@ -0,0 +1,79 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_upper_5dan : Nxt_ADataObject + { + + internal Nxt_upper_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_online a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('1', '2') + ORDER BY rate DESC"; + + + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + AND a.f_chg_type in('1', '2') + ORDER BY rate DESC"; + + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs new file mode 100644 index 0000000..cb2c9af --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs @@ -0,0 +1,77 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_vol_5dan : Nxt_ADataObject + { + + internal Nxt_vol_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, a.f_net_vol, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_online a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + ORDER BY a.F_NET_VOL desc "; + + + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, a.f_net_vol, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price != 0 + ORDER BY a.F_NET_VOL desc"; + + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.NXT_KOSPI: + Nxt_mRequestQuery.Add("", queryNXT_KOSPI); + break; + case 국내시장종류.NXT_KOSDAQ: + Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs new file mode 100644 index 0000000..596d6f3 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs @@ -0,0 +1,114 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class capital_5dan : ADataObject + { + + internal capital_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + // + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 +// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + // a.f_curr_price curr_price, + // a.f_net_chg net_chg, a.f_chg_type chg_type, + // b.f_list_num * a.f_curr_price sigachong, + // round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + // '2', (a.f_curr_price - a.f_net_chg), + // '3', (a.f_curr_price), + // '4', -1*(a.f_curr_price + a.f_net_chg), + // '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + // FROM t_online1 a, t_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + //AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // AND a.f_curr_price < > 0 + // ORDER BY sigachong DESC"; + + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num * a.f_curr_price sigachong, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_curr_price < > 0 + ORDER BY sigachong DESC"; + + + + // string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + // a.f_curr_price curr_price, + // a.f_net_chg net_chg, a.f_chg_type chg_type, + // b.f_list_num * a.f_curr_price sigachong, + // round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + // '2', (a.f_curr_price - a.f_net_chg), + // '3', (a.f_curr_price), + // '4', -1*(a.f_curr_price + a.f_net_chg), + // '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + // FROM t_kosdaq_online1 a, t_kosdaq_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + //AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // AND a.f_curr_price < > 0 + // ORDER BY sigachong DESC"; + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num * a.f_curr_price sigachong, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_curr_price < > 0 + ORDER BY sigachong DESC"; + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + return this; + } + + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs new file mode 100644 index 0000000..96a55ed --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs @@ -0,0 +1,116 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class capital_forecast_5dan : ADataObject + { + + internal capital_forecast_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_fore_price curr_price, + ABS((a.f_fore_price - c.f_final_price)) net_chg, + CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + b.F_LIST_NUM * a.f_fore_price sigachong, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate + FROM t_online1_call a, t_stock b, t_batch_day c + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_fore_price <> 0 + AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + ORDER BY sigachong DESC"; + +//////// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, +//////// b.F_STOCK_WANNAME wanname, +//////// a.f_fore_price curr_price, +//////// ABS((a.f_fore_price - c.f_final_price)) net_chg, +//////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE +//////// CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, +//////// b.F_LIST_NUM * a.f_fore_price sigachong, +//////// ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2)) rate +//////// FROM t_online1 a, t_stock b, t_batch_day c +//////// WHERE b.f_mkt_halt = 'N' +//////// AND b.f_stock_nickname is not null +//////// AND a.f_stock_code = b.f_stock_code +//////// AND a.f_fore_price <> 0 +////////AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') +//////// AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 +//////// ORDER BY sigachong DESC"; + + + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_fore_price curr_price, + ABS((a.f_fore_price - c.f_final_price)) net_chg, + CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + b.F_LIST_NUM * a.f_fore_price sigachong, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate + FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_fore_price < > 0 + AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + ORDER BY sigachong DESC"; + +//// string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, +//// b.F_STOCK_WANNAME wanname, +//// a.f_fore_price curr_price, +//// ABS((a.f_fore_price - c.f_final_price)) net_chg, +//// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE +//// CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, +//// b.F_LIST_NUM * a.f_fore_price sigachong, +//// round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate +//// FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c +//// WHERE b.f_mkt_halt = 'N' +//// AND b.f_stock_nickname is not null +//// AND a.f_stock_code = b.f_stock_code +//// AND a.f_fore_price < > 0 +////AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') +//// AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 +//// ORDER BY sigachong DESC"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs new file mode 100644 index 0000000..bf08e5c --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs @@ -0,0 +1,101 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class high52_5dan : ADataObject + { + + internal high52_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from + (select f_stock_code, max(f_high_price) f_high_price + from t_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_stock b, t_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + and a.f_high_price <= d.f_high_price order by rate desc"; + + + + string queryKOSDAQ = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from ( + select f_stock_code, max(f_high_price) f_high_price + from t_kosdaq_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_kosdaq_stock b, t_kosdaq_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + and a.f_high_price <= d.f_high_price order by rate desc"; + + + + + #endregion + + public override IDataRequest buildData() + { + + string bufStartDay = DateTime.Now.ToString("yyyyMMdd"); + string bufEndDay = (DateTime.Now - TimeSpan.FromDays(52*7)).ToString("yyyyMMdd"); + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", string.Format(queryKOSPI, bufEndDay, bufStartDay)); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", string.Format(queryKOSDAQ, bufEndDay, bufStartDay)); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs new file mode 100644 index 0000000..0308705 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs @@ -0,0 +1,119 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class high_overtime_5dan : ADataObject + { + + internal high_overtime_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + //string queryKOSPI = @"SELECT DISTINCT + // b.f_stock_code stock_code, + // b.F_STOCK_WANNAME wanname, + // a.f_net_chg net_chg, + // a.f_chg_type chg_type, + // a.f_curr_price, + // round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, '2', a.f_curr_price - a.f_net_chg)) * 100, 2) rate + // FROM t_overtime_sise a, t_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + // AND a.f_curr_price < > 0 + // AND a.f_chg_type in('1', '2') + // AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // ORDER BY rate DESC"; + + string queryKOSPI = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, '2', a.f_curr_price - a.f_net_chg)) * 100, 2) rate + FROM t_overtime_sise a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND a.f_chg_type in('1', '2') + AND b.f_sect_code = 'ST' + ORDER BY rate DESC"; + + + + // string queryKOSDAQ = @"SELECT DISTINCT + // b.f_stock_code stock_code, + // b.F_STOCK_WANNAME wanname, + // a.f_net_chg net_chg, + // a.f_chg_type chg_type, + // a.f_curr_price, + // round( + // a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + // '2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, '4', + // -1 * (a.f_curr_price + a.f_net_chg), '5', + // -1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate + // FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + // AND a.f_curr_price < > 0 + // AND a.f_chg_type in('1', '2') + //AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // ORDER BY rate DESC"; + + + string queryKOSDAQ = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + a.f_chg_type chg_type, + a.f_curr_price, + round( + a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + '2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, '4', + -1 * (a.f_curr_price + a.f_net_chg), '5', + -1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate + FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND a.f_chg_type in('1', '2') + AND b.f_sect_code = 'ST' + ORDER BY rate DESC"; + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/kospi200.cs b/MBN_STOCK_N/Data/Request/판5단/kospi200.cs new file mode 100644 index 0000000..f173eb3 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/kospi200.cs @@ -0,0 +1,113 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class kospi200 : ADataObject + { + + internal kospi200(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + //string queryKOSPI = @"select + // b.f_stock_code, + // b.f_stock_wanname, + // d.f_curr_price, + // d.f_chg_type, + // d.f_net_chg, + // round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + // '2', d.f_curr_price - d.f_net_chg, + // '3', d.f_curr_price, + // '4', -1*(d.f_curr_price + d.f_net_chg), + // '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + // from + // (select f_stock_code, max(f_low_price) f_low_price + // from t_candle_history + // where f_data_date between '{0}' and '{1}' + // group by f_stock_code) a, + // t_stock b, t_online1 d + // where a.f_stock_code = b.f_stock_code + // and d.f_mkt_halt = 'N' + // and d.f_curr_price > 0 + // and a.f_stock_code = d.f_stock_code + // and a.f_low_price <= d.f_low_price order by rate"; + + + + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_curr_price curr_price, + a.f_net_chg net_chg, a.f_chg_type chg_type, + b.f_list_num* a.f_curr_price sigachong, + round((a.f_net_chg/decode(a.f_chg_type,'1', (a.f_curr_price-a.f_net_chg), + '2', (a.f_curr_price-a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price+a.f_net_chg), + '5', -1*(a.f_curr_price+a.f_net_chg)) ) * 100,2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price<> 0 + AND b.f_kospi200_gubun<> '0' + ORDER BY sigachong DESC"; + + string queryKOSDAQ = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from ( + select f_stock_code, max(f_low_price) f_low_price + from t_kosdaq_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_kosdaq_stock b, t_kosdaq_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code + and a.f_low_price <= d.f_low_price order by rate desc"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs new file mode 100644 index 0000000..ddfbc4a --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs @@ -0,0 +1,101 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class low52_5dan : ADataObject + { + + internal low52_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from + (select f_stock_code, max(f_low_price) f_low_price + from t_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_stock b, t_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + and a.f_low_price <= d.f_low_price order by rate"; + + + + string queryKOSDAQ = @"select + b.f_stock_code, + b.f_stock_wanname, + d.f_curr_price, + d.f_chg_type, + d.f_net_chg, + round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg, + '2', d.f_curr_price - d.f_net_chg, + '3', d.f_curr_price, + '4', -1*(d.f_curr_price + d.f_net_chg), + '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate + from ( + select f_stock_code, max(f_low_price) f_low_price + from t_kosdaq_candle_history + where f_data_date between '{0}' and '{1}' + group by f_stock_code) a, + t_kosdaq_stock b, t_kosdaq_online1 d + where a.f_stock_code = b.f_stock_code + and d.f_mkt_halt = 'N' + and d.f_curr_price > 0 + and a.f_stock_code = d.f_stock_code +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + and a.f_low_price <= d.f_low_price order by rate desc"; + + + + + #endregion + + public override IDataRequest buildData() + { + + string bufStartDay = DateTime.Now.ToString("yyyyMMdd"); + string bufEndDay = (DateTime.Now - TimeSpan.FromDays(52 * 7)).ToString("yyyyMMdd"); + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", string.Format(queryKOSPI, bufEndDay, bufStartDay)); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", string.Format(queryKOSDAQ, bufEndDay, bufStartDay)); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs new file mode 100644 index 0000000..f1d6722 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs @@ -0,0 +1,125 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class low_overtime_5dan : ADataObject + { + + internal low_overtime_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + // string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, + // b.F_STOCK_WANNAME wanname, + // a.f_net_chg net_chg, + // a.f_chg_type chg_type, + // a.f_curr_price, + // a.f_init_price, + // a.f_high_price, + // a.f_low_price, + // round((a.f_net_chg / decode(a.f_chg_type, '4', -1 * (a.f_curr_price + a.f_net_chg), + // '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + // FROM t_overtime_sise a, t_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + // AND a.f_curr_price < > 0 + //AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // AND a.f_chg_type in('4', '5') + // ORDER BY rate"; + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + a.f_chg_type chg_type, + a.f_curr_price, + a.f_init_price, + a.f_high_price, + a.f_low_price, + round((a.f_net_chg / decode(a.f_chg_type, '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_overtime_sise a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND b.f_sect_code = 'ST' + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + + // string queryKOSDAQ = @"SELECT DISTINCT + // b.f_stock_code stock_code, + // b.F_STOCK_WANNAME wanname, + // a.f_net_chg net_chg, + // a.f_chg_type chg_type, + // a.f_curr_price, + // a.f_init_price, + // a.f_high_price, + // a.f_low_price, + // round((a.f_net_chg / decode('4', a.f_curr_price + a.f_net_chg, + // '5', a.f_curr_price + a.f_net_chg) * -1) * 100, 2) rate + // FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b + // WHERE b.f_mkt_halt = 'N' + // AND b.f_stock_nickname is not null + // AND a.f_stock_code = b.f_stock_code + // AND a.f_curr_price < > 0 + //AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + // AND a.f_chg_type in('4', '5') + // ORDER BY rate "; + + string queryKOSDAQ = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + a.f_chg_type chg_type, + a.f_curr_price, + a.f_init_price, + a.f_high_price, + a.f_low_price, + round((a.f_net_chg / decode('4', a.f_curr_price + a.f_net_chg, + '5', a.f_curr_price + a.f_net_chg) * -1) * 100, 2) rate + FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND b.f_sect_code = 'ST' + AND a.f_chg_type in('4', '5') + ORDER BY rate "; + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs new file mode 100644 index 0000000..1c58967 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs @@ -0,0 +1,87 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class lower_5dan : ADataObject + { + + internal lower_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b, t_batch_day c + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, a.f_net_vol net_vol, a.F_NET_TURNOVER, a.f_chg_type chg_type, + b.F_LIST_NUM * A.F_CURR_PRICE sigachong, + a.f_init_price, + a.f_high_price, + a.f_low_price, + a.f_curr_price, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_chg_type in('4', '5') + ORDER BY rate"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs new file mode 100644 index 0000000..ea39a83 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs @@ -0,0 +1,77 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class suggest_5dan : ADataObject + { + + internal suggest_5dan(List recvStockList) + { + this.mStockCodeList = recvStockList; + } + + //국내시장종류 mDataType; + + List mStockCodeList = null; + + #region 쿼리 + //코스피 상단 + string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + a.f_chg_type CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_code = '{0}' + union + SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + a.f_chg_type CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_code = '{0}' "; + + + + + #endregion + + public override IDataRequest buildData() + { + + + mStockCodeList.ForEach(s => + { + mRequestQuery.Add(s, string.Format(query, s)); + }); + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs new file mode 100644 index 0000000..95a2c06 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs @@ -0,0 +1,76 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class theme_5dan : ADataObject + { + + internal theme_5dan(List recvStockList) + { + this.mStockCodeList = recvStockList; + } + + + List mStockCodeList = null; + + #region 쿼리 + //코스피 상단 + string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + a.f_chg_type CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_wanname in('{0}') + union + SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_curr_price CURR_PRICE, + a.f_net_chg NET_CHG, + a.f_chg_type CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_stock_wanname in('{0}')"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + mStockCodeList.ForEach(s => + { + mRequestQuery.Add(s, string.Format(query, s)); + }); + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs new file mode 100644 index 0000000..7d71dfc --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs @@ -0,0 +1,102 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class theme_yesang_5dan : ADataObject + { + + internal theme_yesang_5dan(List recvStockList) + { + this.mStockCodeList = recvStockList; + } + + + List mStockCodeList = null; + + #region 쿼리 + //코스피 상단 + string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_fore_price CURR_PRICE, + ABS((a.f_fore_price - c.f_final_price)) net_chg, + CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate + FROM t_online1_call a, t_stock b, t_batch_day c + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_fore_price < > 0 + AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + AND b.f_stock_code = '{0}' + union + SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE, + b.f_stock_wanname STOCK_NAME, + a.f_fore_price CURR_PRICE, + ABS((a.f_fore_price - c.f_final_price)) net_chg, + CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate + FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_fore_price < > 0 + AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + AND b.f_stock_code = '{0}' "; + + + //////////// string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE, + ////////////b.f_stock_wanname STOCK_NAME, + ////////////a.f_fore_price CURR_PRICE, + ////////////ABS((a.f_fore_price - c.f_final_price)) net_chg, + //////////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + ////////////CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + ////////////ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate + //////////// FROM t_online1 a, t_stock b, t_batch_day c + ////////////WHERE b.f_mkt_halt = 'N' + ////////////AND b.f_stock_nickname is not null + ////////////AND a.f_stock_code = b.f_stock_code + ////////////AND a.f_fore_price < > 0 + ////////////AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + ////////////AND b.f_stock_code = '{0}' + ////////////union + ////////////SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE, + ////////////b.f_stock_wanname STOCK_NAME, + ////////////a.f_fore_price CURR_PRICE, + ////////////ABS((a.f_fore_price - c.f_final_price)) net_chg, + //////////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE + ////////////CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE, + //////////// ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate + //////////// FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c + ////////////WHERE b.f_mkt_halt = 'N' + ////////////AND b.f_stock_nickname is not null + ////////////AND a.f_stock_code = b.f_stock_code + ////////////AND a.f_fore_price < > 0 + ////////////AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0 + ////////////AND b.f_stock_code = '{0}' "; + + + + #endregion + + public override IDataRequest buildData() + { + + + mStockCodeList.ForEach(s => + { + mRequestQuery.Add(s, string.Format(query, s)); + }); + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs new file mode 100644 index 0000000..7b8cb9b --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs @@ -0,0 +1,71 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class upjong_5dan : ADataObject + { + + internal upjong_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"select + b.f_part_name, + a.F_PART_IDX/100 part_idx, + a.F_CHG_TYPE, + a.F_PART_CHG/100 part_chg, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_index a, t_part b + where a.f_part_code = b.f_part_code and a.f_part_code <> '001' + order by a.f_part_code"; + + + + string queryKOSDAQ = @"select + b.f_part_name, + a.F_PART_IDX/100 part_idx, + a.F_CHG_TYPE, + a.F_PART_CHG/100 part_chg, + round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate + from t_kosdaq_index a, t_kosdaq_part b + where a.f_part_code = b.f_part_code and a.f_part_code <> '001' + order by a.f_part_code"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs b/MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs new file mode 100644 index 0000000..536ea59 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs @@ -0,0 +1,87 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class upper_5dan : ADataObject + { + + internal upper_5dan(국내시장종류 recvDataType) + { + this.mDataType = recvDataType; + + } + + 국내시장종류 mDataType; + + #region 쿼리 + //코스피 상단 + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, a.f_chg_type chg_type, + a.f_curr_price, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_chg_type in('1', '2') + ORDER BY rate DESC"; + + + + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, a.f_net_vol net_vol, a.F_NET_TURNOVER, a.f_chg_type chg_type, + b.F_LIST_NUM * A.F_CURR_PRICE sigachong, + a.f_init_price, + a.f_high_price, + a.f_low_price, + a.f_curr_price, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 +AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF') + AND a.f_chg_type in('1', '2') + ORDER BY rate DESC"; + + + + + #endregion + + public override IDataRequest buildData() + { + + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + mRequestQuery.Add("", queryKOSPI); + break; + case 국내시장종류.KOSDAQ: + mRequestQuery.Add("", queryKOSDAQ); + break; + } + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs new file mode 100644 index 0000000..6d4ea3c --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs @@ -0,0 +1,471 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class DataObject_3PAN : ADataObject + { + + internal DataObject_3PAN(판3데이터분류 recvDataType) + { + this.mDataType = recvDataType; + } + + 판3데이터분류 mDataType; + + #region "쿼리" + + string query주요지수200 = @"SELECT 'KOSPI' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM t_index + WHERE f_part_code = '001' + union + + SELECT '코스닥' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_KOSDAQ_INDEX + WHERE f_part_code = '001' + union + + SELECT '코스피200' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_200_INDEX + WHERE f_part_code = '029'"; + + string query주요지수선물 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), + '-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate + FROM t_index + WHERE f_part_code = '001' + union + SELECT 'KOSQ' name, f_part_idx / 100 part_idx, f_chg_type chg_type, f_part_chg / 100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), + '-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate + FROM T_KOSDAQ_INDEX + WHERE f_part_code = '001' + union + SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg, + ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), + '-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate + FROM(SELECT decode(a.f_curr_price,0, b.F_JUN_LAST_PRICE/100, a.f_curr_price/100) part_idx, + decode(a.f_curr_price, 0, 0, (a.f_curr_price - b.F_JUN_LAST_PRICE*100)/100) part_chg, + decode(a.f_curr_price, 0, ' ', decode(sign(a.f_curr_price -b.F_JUN_LAST_PRICE*100),1,'+',-1,'-',0,' ')) chg_type + FROM t_sunmul_online a, t_sunmul_batch b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_seq = 1 + AND b.f_market_date = (select max(OPEN_DAY) from v_open_day) + AND b.F_MONTH_GUBUN = '1')"; + + + string query예상지수200 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, ABS(f_part_chg/100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM t_fo_index + WHERE f_part_code = '001' + UNION + SELECT '코스닥' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_KOSDAQ_FO_INDEX + WHERE f_part_code = '001' + UNION + SELECT '코스피200' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_200_FO_INDEX + WHERE f_part_code = '029'"; + + + string query예상지수선물 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), + '-', (f_part_idx / 100) + (f_part_chg / 100),1), 2) rate + FROM t_fo_index + WHERE f_part_code = '001' + UNION + SELECT 'KOSQ' name, f_part_idx / 100 part_idx, f_chg_type chg_type, f_part_chg / 100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), + '-', (f_part_idx / 100) + (f_part_chg / 100),1), 2) rate + FROM T_KOSDAQ_FO_INDEX + WHERE f_part_code = '001' + UNION + SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg, + ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), + '-', (part_idx / 100) + (part_chg / 100),1), 2)) rate + FROM(SELECT decode(a.f_fo_price,0, b.F_JUN_LAST_PRICE, a.f_fo_price) part_idx, + decode(a.f_fo_price, 0, 0, (a.f_fo_price - b.F_JUN_LAST_PRICE)/100) part_chg, + decode(a.f_fo_price, 0, ' ', decode(sign(a.f_fo_price -b.F_JUN_LAST_PRICE),1,'+',-1,'-',0,' ')) chg_type + FROM t_sunmul_online a, t_sunmul_batch b +WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_seq = 1 + AND b.f_market_date = (select max(OPEN_DAY) from v_open_day) + AND b.F_MONTH_GUBUN = '1')"; + + + + + string query미국 = @"select decode(a.f_symb, 'DJI@DJI', 1, + 'NAS@IXIC', 2, + 'SPI@SPX', 3) ss, + a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, round(b.f_diff, 2) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('DJI@DJI', 'NAS@IXIC', 'SPI@SPX')"; + + + string query중화권 = @"select decode(a.f_symb, 'HSI@HSI', 1, + 'SHS@000001', 2, + 'TWS@TI01', 3) ss, + a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('SHS@000001', 'HSI@HSI', 'TWS@TI01') + order by ss"; + + + string query유럽 = @"select decode(a.f_symb, 'LNS@FTSE100', 1, + 'PAS@CAC40', 2, + 'XTR@DAX30', 3) ss, + a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('PAS@CAC40', 'XTR@DAX30', 'LNS@FTSE100') + order by ss"; + + + string query아시아 = @"select decode(a.f_symb, 'SHS@000001', 1, + 'TWS@TI01', 2, + 'NII@NI225', 3) ss, + a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('SHS@000001', 'TWS@TI01', 'NII@NI225') + order by ss"; + + + string query달러환율 = @"select decode(a.f_symb, 'USDJPYCOMP', 1, + 'EURUSDCOMP', 2, + 'USDCNYCOMP', 3) ss, + a.f_input_name name, ABS(b.f_last) part_idx, + ABS(b.f_diff) part_chg, + case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate, 2) rate + from t_world_forex_master a, t_world_forex_sise b + where a.f_symb = b.f_symb + and a.f_symb in('USDJPYCOMP', 'EURUSDCOMP', 'USDCNYCOMP') --USDJPYCOMP 엔, USDCNYCOMP 위안화, EURUSDCOMP유로 + order by ss"; + +// string query원환율 = @"select decode(a.f_input_code,'A09','원/달러','A10','원/엔','A91','원/유로') name, + // a.f_curr_price part_idx, a.f_chg_type chg_type, ABS(a.f_net_chg) part_chg, + // round(a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price / 100) - (ABS(a.f_net_chg) / 100), + // '-', (a.f_curr_price / 100) + ((a.f_net_chg) / 100)), 2) rate + // from t_input_index a, t_input_code b + //where a.f_input_code in('A09', 'A10', 'A91') + // and a.f_input_code = b.f_input_code + // order by a.f_input_code"; + string query원환율 = @"select decode(a.f_input_code,'A09','원/달러','A10','원/엔','A91','원/유로') name, + a.f_curr_price part_idx, a.f_chg_type chg_type, ABS(a.f_net_chg) part_chg, + round(a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price / 100) - (ABS(a.f_net_chg) / 100), + '-', (a.f_curr_price / 100) + ((a.f_net_chg) / 100), 1), 2) rate + from t_input_index a, t_input_code b + where a.f_input_code in('A09', 'A10', 'A91') + and a.f_input_code = b.f_input_code + order by a.f_input_code"; + + + string query미국국채 = @"select decode(a.f_symb, 'GVO@TR02Y', 1, + 'GVO@TR03Y', 2, + 'GVO@TR05Y', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + b.f_sign chg_type, round(b.f_diff, 2) part_chg, round(b.f_rate, 2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb in('GVO@TR02Y', 'GVO@TR03Y', 'GVO@TR05Y') + order by ss"; + + + string query채권금리 = @"SELECT decode(a.f_symb, 'KIR@CMAA', 1, + 'KIR@NB03Y', 2, + 'KIR@CD91', 3) ss, + b.f_input_name part_name, ABS(round(a.f_last, 2)) part_idx, a.f_sign chg_type, + round(a.f_diff, 2) part_chg, round(a.f_rate, 2) rate + FROM t_world_ix_eq_sise a, t_world_ix_eq_master b + WHERE a.f_symb = b.f_symb + and b.f_symb in('KIR@CMAA', 'KIR@NB03Y', 'KIR@CD91') + order by ss"; + + + string query유가 = @"select decode(a.f_symb, 'SPT@DU', 1, + 'SPT@EB', 2, + 'SPT@CL', 3) ss, + a.f_input_name name, round(b.f_last, 2) part_idx, round(b.f_diff, 2) part_chg, + case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate, 2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in('SPT@DU', 'SPT@EB', 'SPT@CL') --SPT@DU 두바이, SPT@CL' WTI, SPT@EB 브렌트 + order by ss"; + + + string query광물 = @"select decode(a.f_symb, 'COM@GC', 1, + 'COM@SI', 2, + 'LME@CDY', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, ABS(round(b.f_diff, 2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate, 2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in('COM@GC', 'COM@SI', 'LME@CDY') + order by ss"; + + + string query식자재 = @"select decode(a.f_symb, 'CBT$CORN', 1, + 'CBT@SOYBEAN', 2, + 'CBT@WHEAT', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, ABS(round(b.f_diff, 2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate, 2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in('CBT@SOYBEAN', 'CBT$CORN', 'CBT@WHEAT') + order by ss"; + + string query소맥_옥수수_밀 = @"select decode(a.f_symb, 'MK@WHEAT', 1, + 'CBT$CORN', 2, + 'CBT@WHEAT', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate, 2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('MK@WHEAT', 'CBT$CORN' , 'CBT@WHEAT') + order by ss"; + + string query대두_콩_현미 = @"select decode(a.f_symb, 'CBT@SOYBEAN', 1, + 'MK@BEAN', 2, + 'MK@RICE', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('CBT@SOYBEAN' , 'MK@BEAN' , 'MK@RICE') + order by ss"; + + string query커피_코코아_설탕 = @"select decode(a.f_symb, 'NYB@KC', 1, + 'MK@COCOA', 2, + 'NYB@SB', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('NYB@KC' , 'MK@COCOA', 'NYB@SB') + order by ss"; + + string query생우_비육우_돈육 = @"select decode(a.f_symb, 'MK@LC', 1, + 'MK@FC', 2, + 'MK@PORK', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('MK@LC', 'MK@FC', 'MK@PORK') + order by ss"; + + + string query구리_철광석_니켈 = @"select decode(a.f_symb, 'LME@CDY', 1, + 'MK@IRON', 2, + 'LME@NDY', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('LME@CDY', 'MK@IRON', 'LME@NDY') + order by ss"; + + string query천연가스_백금_팔라듐 = @"select decode(a.f_symb, 'NYM@NG', 1, + 'NYM@PL', 2, + 'NYM@PA', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + ABS(round(b.f_diff,2)) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('NYM@NG', 'NYM@PL', 'NYM@PA') + order by ss"; + + string query납_아연_주석 = @"select decode(a.f_symb, 'MK@PDA', 1, + 'MK@ZDA', 2, + 'LME@SDY', 3) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + round(b.f_diff,2) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('MK@PDA', 'MK@ZDA', 'LME@SDY') + order by ss"; + + string query원면_목화 = @"select decode(a.f_symb, 'MK@COTTON', 1, + 'NYB@CT', 2) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + round(b.f_diff,2) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('MK@COTTON', 'NYB@CT') + order by ss"; + + string query국제금 = @"select decode(a.f_symb, 'COM@GC', 1, + 'COM@SI', 2) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + round(b.f_diff,2) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('COM@GC' , 'COM@SI') + order by ss"; + + string query국내금 = @"select decode(a.f_symb, 'MK@GC', 1, + 'MK@SI', 2) ss, + a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, + round(b.f_diff,2) part_chg, + case when to_number(b.f_diff) > 0 then '+' + when to_number(b.f_diff) < 0 then '-' else '' end sign, + round(b.f_rate,2) rate + from t_world_future_master a, t_world_future_sise b + where a.f_symb = b.f_symb + and a.f_symb in ('MK@GC', 'MK@SI') + order by ss"; + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 판3데이터분류.주요지수_코스피_코스닥_코스피200: + bufQuery = query주요지수200; + break; + case 판3데이터분류.주요지수_코스피_코스닥_선물: + bufQuery = query주요지수선물; + break; + case 판3데이터분류.예상체결지수_코스피_코스닥_코스피200: + bufQuery = query예상지수200; + break; + case 판3데이터분류.예상체결지수_코스피_코스닥_선물: + bufQuery = query예상지수선물; + break; + case 판3데이터분류.미국지수: + bufQuery = query미국; + break; + case 판3데이터분류.중화권지수: + bufQuery = query중화권; + break; + case 판3데이터분류.유럽지수: + bufQuery = query유럽; + break; + case 판3데이터분류.아시아지수_상해_대만_일본: + bufQuery = query아시아; + break; + case 판3데이터분류.달러환율_엔_위안_유로: + bufQuery = query달러환율; + break; + case 판3데이터분류.원환율_달러_엔_유로: + bufQuery = query원환율; + break; + case 판3데이터분류.미국국채: + bufQuery = query미국국채; + break; + case 판3데이터분류.채권금리: + bufQuery = query채권금리; + break; + case 판3데이터분류.유가_두바이_WTI_브랜트: + bufQuery = query유가; + break; + case 판3데이터분류.광물: + bufQuery = query광물; + break; + case 판3데이터분류.식자재: + bufQuery = query식자재; + break; + + case 판3데이터분류.소맥_옥수수_밀: + bufQuery = query소맥_옥수수_밀; + break; + + case 판3데이터분류.대두_콩_현미: + bufQuery = query대두_콩_현미; + break; + + case 판3데이터분류.커피_코코아_설탕: + bufQuery = query커피_코코아_설탕; + break; + + case 판3데이터분류.생우_비육우_돈육: + bufQuery = query생우_비육우_돈육; + break; + + case 판3데이터분류.구리_철광석_니켈: + bufQuery = query구리_철광석_니켈; + break; + + case 판3데이터분류.천연가스_백금_팔라듐: + bufQuery = query천연가스_백금_팔라듐; + break; + + case 판3데이터분류.납_아연_주석: + bufQuery = query납_아연_주석; + break; + + case 판3데이터분류.원면_목화: + bufQuery = query원면_목화; + break; + + case 판3데이터분류.국제금: + bufQuery = query국제금; + break; + + case 판3데이터분류.국내금: + bufQuery = query국내금; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs new file mode 100644 index 0000000..54313e9 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs @@ -0,0 +1,81 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class EXCHANGE_PAN : ADataObject + { + + internal EXCHANGE_PAN(원환율 recvDataType) + { + this.mDataType = recvDataType; + } + + 원환율 mDataType; + + #region "쿼리" + + string queryDOLLOR = @"SELECT a.f_input_code stock_code, '원/달러' stock_name, + a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate + FROM t_input_index a, t_input_code b + WHERE a.f_input_code = b.f_input_code + AND a.f_input_code = 'A09'"; + + string queryJPY = @"SELECT a.f_input_code stock_code, '원/엔' stock_name, + a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate + FROM t_input_index a, t_input_code b + WHERE a.f_input_code = b.f_input_code + AND a.f_input_code = 'A10'"; + + string queryYUAN = @"SELECT a.f_input_code stock_code, '원/위엔' stock_name, + a.f_curr_price curr_price, abs(a.f_net_chg) net_chg, a.f_chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate + FROM t_input_index a, t_input_code b + WHERE a.f_input_code = b.f_input_code + AND a.f_input_code = 'A90'"; + + string queryEURO = @"SELECT a.f_input_code stock_code, '원/유로' stock_name, + a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type, + round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate + FROM t_input_index a, t_input_code b + WHERE a.f_input_code = b.f_input_code + AND a.f_input_code = 'A91'"; + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 원환율.원위엔: + bufQuery = queryYUAN; + break; + case 원환율.원달러: + bufQuery = queryDOLLOR; + break; + case 원환율.원엔: + bufQuery = queryJPY; + break; + case 원환율.원유로: + bufQuery = queryEURO; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs new file mode 100644 index 0000000..fa1ea06 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs @@ -0,0 +1,370 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_SANGSE_PAN : Nxt_ADataObject + { + + internal Nxt_SANGSE_PAN(국내시장종류 recvDataType, 상세판데이터분류 recvDataType2, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataType2 = recvDataType2; + this.mStockCode = recvStockCode; + } + + 국내시장종류 mDataType; + + 상세판데이터분류 mDataType2; + + string mStockCode = ""; + + #region 쿼리 + + // 시가 + string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2), + round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate, + a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2), + round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate, + a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2), + round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate + FROM V_2 a + WHERE a.stock_code = '{0}'"; + + // 시가_코스닥 + string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2), + round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate, + a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2), + round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate, + a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2), + round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate + FROM V_2_kosdaq a + WHERE a.stock_code = '{0}'"; + + // 시가_NXT + string queryNXT_KOSPI1 = @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + a.f_init_price, if (c.f_final_price = 0, round(((a.f_init_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_init_price - c.f_final_price) / c.f_final_price) * 100,2)) init_rate, + a.f_high_price, if (c.f_final_price = 0, round(((a.f_high_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_high_price - c.f_final_price) / c.f_final_price) * 100,2)) high_rate, + a.f_low_price, if (c.f_final_price = 0, round(((a.f_low_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_low_price - c.f_final_price) / c.f_final_price) * 100,2)) low_rate + FROM n_online a, n_stock b, n_batch_his c + WHERE a.f_stock_code = b.f_stock_code + and a.f_stock_code = c.f_stock_code + and a.f_curr_price != 0 + and a.f_stock_code = b.F_STOCK_CODE + and c.f_data_day = (select max(f_data_day) from n_batch_his where f_stock_code = a.f_stock_code) + and a.f_stock_code = '{0}'"; + + // 시가_코스닥_NXT + string queryNXT_KOSDAQ1 = @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + a.f_init_price, if (c.f_final_price = 0, round(((a.f_init_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_init_price - c.f_final_price) / c.f_final_price) * 100,2)) init_rate, + a.f_high_price, if (c.f_final_price = 0, round(((a.f_high_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_high_price - c.f_final_price) / c.f_final_price) * 100,2)) high_rate, + a.f_low_price, if (c.f_final_price = 0, round(((a.f_low_price - c.f_base_price) / c.f_base_price) * 100,2), + round(((a.f_low_price - c.f_final_price) / c.f_final_price) * 100,2)) low_rate + FROM n_kosdaq_online a, n_kosdaq_stock b, n_kosdaq_batch_his c + WHERE a.f_stock_code = b.f_stock_code + and a.f_stock_code = c.f_stock_code + and a.f_curr_price != 0 + and a.f_stock_code = b.F_STOCK_CODE + and c.f_data_day = (select max(f_data_day) from n_kosdaq_batch_his where f_stock_code = a.f_stock_code) + and a.f_stock_code = '{0}'"; + + // 액면가 + string queryKOSPI2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.list_price, a.capital_price, a.siga_price, b.rank_num + FROM V_2 A, + (select z.f_stock_code stock_code, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from t_online1 y, t_stock z + where y.f_stock_code = z.f_stock_code + and z.f_mkt_halt = 'N') B + WHERE a.stock_code = b.stock_code + and a.stock_code = '{0}'"; + + // 액면가_코스닥 + string queryKOSDAQ2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.list_price, a.capital_price, a.siga_price, b.rank_num + FROM V_2_kosdaq A, + (select z.f_stock_code stock_code, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from t_kosdaq_online1 y, t_kosdaq_stock z + where y.f_stock_code = z.f_stock_code + and z.f_mkt_halt = 'N') B + WHERE a.stock_code = b.stock_code + and a.stock_code = '{0}'"; + + // 액면가_NXT + string queryNXT_KOSPI2 = + @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + b.f_list_price list_price, b.f_capital_price capital_price, b.f_list_num * a.f_curr_price siga_price, b.rank_num + FROM n_online a, + (select z.f_stock_code f_stock_code, z.f_stock_name, z.f_list_price, z.f_capital_price, z.f_list_num, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from n_online y, n_stock z + where y.f_stock_code = z.f_stock_code + and z.f_stop_gubun = 'N') b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_code = '{0}'"; + + // 액면가_코스닥_NXT + string queryNXT_KOSDAQ2 = + @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + b.f_list_price list_price, b.f_capital_price capital_price, b.f_list_num * a.f_curr_price siga_price, b.rank_num + FROM n_kosdaq_online a, + (select z.f_stock_code f_stock_code, z.f_stock_name, z.f_list_price, z.f_capital_price, z.f_list_num, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from n_kosdaq_online y, n_kosdaq_stock z + where y.f_stock_code = z.f_stock_code + and z.f_stop_gubun = 'N') b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_code = '{0}'"; + + // PBR + string queryKOSPI3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.pbr, a.per, a.bps, a.eps + FROM V_2 A + WHERE a.stock_code = '{0}'"; + + // PBR_코스닥 + string queryKOSDAQ3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.pbr, a.per, a.bps, a.eps + FROM V_2_kosdaq A + WHERE a.stock_code = '{0}'"; + + // PBR_NXT + string queryNXT_KOSPI3 = + @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + 0 pbr, 0 per, 0 bps, 0 eps + FROM n_online a, n_stock b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_code = '{0}'"; + + // PBR_코스닥 + string queryNXT_KOSDAQ3 = + @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + 0 pbr, 0 per, 0 bps, 0 eps + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_code = '{0}'"; + + // 거래량 + string queryKOSPI4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20 + FROM V_2 a, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5 + FROM (SELECT f_stock_code, f_curr_price + FROM T_CANDLE_HISTORY + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{0}' + AND ROWNUM < 5 + ORDER BY F_DATA_DATE DESC) a, t_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) c, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20 + FROM (SELECT f_stock_code, b1.f_curr_price + FROM T_CANDLE_HISTORY b1 + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{1}' + AND ROWNUM < 20 + ORDER BY F_DATA_DATE DESC) a, t_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) d + WHERE a.stock_code = c.f_stock_code (+) + AND a.stock_code = d.f_stock_code (+) + AND a.stock_code = '{1}' "; + + // 거래량_코스닥 + string queryKOSDAQ4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20 + FROM V_2_kosdaq a, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5 + FROM (SELECT f_stock_code, f_curr_price + FROM T_kosdaq_CANDLE_HISTORY + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{0}' + AND ROWNUM < 5 + ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) c, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20 + FROM (SELECT f_stock_code, b1.f_curr_price + FROM T_kosdaq_CANDLE_HISTORY b1 + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{1}' + AND ROWNUM < 20 + ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) d + WHERE a.stock_code = c.f_stock_code (+) + AND a.stock_code = d.f_stock_code (+) + AND a.stock_code = '{1}' "; + + // 거래량_NXT + string queryNXT_KOSPI4 = @"SELECT a.f_stock_code stock_code, z.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + a.f_net_vol net_vol, a.f_net_turnover net_turnover, 0 avg_5, 0 avg_20 + FROM n_online a, n_stock z + WHERE a.f_stock_code = z.f_stock_code + AND a.f_stock_code = '{1}' "; + + // 거래량_코스닥 + string queryNXT_KOSDAQ4 = @"SELECT a.f_stock_code stock_code, z.f_stock_name stock_name, a.f_curr_price curr_price, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , + a.f_net_vol net_vol, a.f_net_turnover net_turnover, 0 avg_5, 0 avg_20 + FROM n_kosdaq_online a, n_kosdaq_stock z + WHERE a.f_stock_code = z.f_stock_code + AND a.f_stock_code = '{1}' "; + + #endregion + + public override Nxt_IDataRequest Nxt_buildData() + { + string bufQuery = ""; + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryKOSPI1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryKOSPI2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryKOSPI3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryKOSPI4, mStockCode, mStockCode); + break; + } + break; + case 국내시장종류.KOSDAQ: + + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryKOSDAQ1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryKOSDAQ2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryKOSDAQ3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryKOSDAQ4, mStockCode, mStockCode); + break; + } + break; + case 국내시장종류.NXT_KOSPI: + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryNXT_KOSPI1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryNXT_KOSPI2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryNXT_KOSPI3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryNXT_KOSPI4, mStockCode, mStockCode); + break; + } + break; + case 국내시장종류.NXT_KOSDAQ: + + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryNXT_KOSDAQ1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryNXT_KOSDAQ2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryNXT_KOSDAQ3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryNXT_KOSDAQ4, mStockCode, mStockCode); + break; + } + break; + } + + Nxt_mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs new file mode 100644 index 0000000..63bf630 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs @@ -0,0 +1,199 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class SANGSE_PAN : ADataObject + { + + internal SANGSE_PAN(국내시장종류 recvDataType, 상세판데이터분류 recvDataType2, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataType2 = recvDataType2; + this.mStockCode = recvStockCode; + } + + 국내시장종류 mDataType; + + 상세판데이터분류 mDataType2; + + string mStockCode = ""; + + #region 쿼리 + // string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + //a.init_price, round(((a.init_price - a.final_price) / a.final_price) * 100, 2) init_rate, + //a.high_price, round(((a.high_price - a.final_price) / a.final_price) * 100, 2) high_rate, + //a.low_price, round(((a.low_price - a.final_price) / a.final_price) * 100, 2) low_rate + //FROM V_2 a + //WHERE a.stock_code = '{0}'"; + + string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2), + round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate, + a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2), + round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate, + a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2), + round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate + FROM V_2 a + WHERE a.stock_code = '{0}'"; + + + // string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + //a.init_price, round(((a.init_price - a.final_price) / a.final_price) * 100, 2) init_rate, + //a.high_price, round(((a.high_price - a.final_price) / a.final_price) * 100, 2) high_rate, + //a.low_price, round(((a.low_price - a.final_price) / a.final_price) * 100, 2) low_rate + //FROM V_2_kosdaq a + //WHERE a.stock_code = '{0}'"; + + string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2), + round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate, + a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2), + round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate, + a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2), + round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate + FROM V_2_kosdaq a + WHERE a.stock_code = '{0}'"; + + + string queryKOSPI2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.list_price, a.capital_price, a.siga_price, b.rank_num + FROM V_2 A, + (select z.f_stock_code stock_code, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from t_online1 y, t_stock z + where y.f_stock_code = z.f_stock_code and z.f_mkt_halt = 'N') B + WHERE a.stock_code = b.stock_code + and a.stock_code = '{0}'"; + + string queryKOSDAQ2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.list_price, a.capital_price, a.siga_price, b.rank_num + FROM V_2_kosdaq A, + (select z.f_stock_code stock_code, + rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num + from t_kosdaq_online1 y, t_kosdaq_stock z + where y.f_stock_code = z.f_stock_code and z.f_mkt_halt = 'N') B + WHERE a.stock_code = b.stock_code + and a.stock_code = '{0}'"; + + string queryKOSPI3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.pbr, a.per, a.bps, a.eps + FROM V_2 A + WHERE a.stock_code = '{0}'"; + + string queryKOSDAQ3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.pbr, a.per, a.bps, a.eps + FROM V_2_kosdaq A + WHERE a.stock_code = '{0}'"; + + string queryKOSPI4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20 + FROM V_2 a, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5 + FROM (SELECT f_stock_code, f_curr_price + FROM T_CANDLE_HISTORY + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{0}' + AND ROWNUM < 5 + ORDER BY F_DATA_DATE DESC) a, t_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) c, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20 + FROM (SELECT f_stock_code, b1.f_curr_price + FROM T_CANDLE_HISTORY b1 + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{1}' + AND ROWNUM < 20 + ORDER BY F_DATA_DATE DESC) a, t_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) d + WHERE a.stock_code = c.f_stock_code (+) + AND a.stock_code = d.f_stock_code (+) + AND a.stock_code = '{1}' "; + + string queryKOSDAQ4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate, + a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20 + FROM V_2_kosdaq a, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5 + FROM (SELECT f_stock_code, f_curr_price + FROM T_kosdaq_CANDLE_HISTORY + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{0}' + AND ROWNUM < 5 + ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) c, + (SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20 + FROM (SELECT f_stock_code, b1.f_curr_price + FROM T_kosdaq_CANDLE_HISTORY b1 + WHERE F_DATA_DATE < (select max(open_day) from v_open_day) + AND f_stock_code = '{1}' + AND ROWNUM < 20 + ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b + WHERE a.f_stock_code = b.f_stock_code + GROUP by b.f_stock_code, b.f_curr_price) d + WHERE a.stock_code = c.f_stock_code (+) + AND a.stock_code = d.f_stock_code (+) + AND a.stock_code = '{1}' "; + + + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryKOSPI1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryKOSPI2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryKOSPI3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryKOSPI4, mStockCode, mStockCode); + break; + } + break; + case 국내시장종류.KOSDAQ: + + switch (this.mDataType2) + { + case 상세판데이터분류.시가: + bufQuery = String.Format(queryKOSDAQ1, mStockCode); + break; + case 상세판데이터분류.액면가: + bufQuery = String.Format(queryKOSDAQ2, mStockCode); + break; + case 상세판데이터분류.PBR: + bufQuery = String.Format(queryKOSDAQ3, mStockCode); + break; + case 상세판데이터분류.거래량: + bufQuery = String.Format(queryKOSDAQ4, mStockCode, mStockCode); + break; + } + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs new file mode 100644 index 0000000..9165766 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs @@ -0,0 +1,47 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class INDUSTRY_FORGIEN_PAN : ADataObject + { + + public INDUSTRY_FORGIEN_PAN(string recvCode) + { + this.mDataCode = recvCode; + } + + string mDataCode = ""; + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT b.f_knam part_name, + a.f_last part_idx, + a.f_sign chg_type, + ABS(round(a.f_diff, 2)) part_chg, + round(a.f_rate, 2) rate + FROM t_world_ix_eq_sise a, t_world_ix_eq_master b + WHERE a.f_symb = b.f_symb + and b.f_knam = '{0}'"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday, mDataCode); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs new file mode 100644 index 0000000..f797ae7 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs @@ -0,0 +1,66 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class INDUSTRY_PAN : ADataObject + { + + + internal INDUSTRY_PAN(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mDataCode = String.Empty; + + #region "쿼리" + + string queryKOSPI = @"SELECT b.f_part_name, + round(a.f_part_idx / 100, 2) part_idx, a.f_chg_type chg_type, round(a.f_part_chg / 100, 2) part_chg, + round((a.f_part_chg / decode(a.f_chg_type, '+', a.f_part_idx - a.f_part_chg, '-', a.f_part_idx + a.f_part_chg)) * 100, 2) rate + FROM t_index a, t_part b + WHERE a.f_part_code = b.f_part_code + and b.f_part_name = '{0}'"; + + string queryKOSDAQ = @"SELECT b.f_part_name, + round(a.f_part_idx / 100, 2) part_idx, a.f_chg_type chg_type, round(a.f_part_chg / 100, 2) part_chg, + round((a.f_part_chg / decode(a.f_chg_type, '+', a.f_part_idx - a.f_part_chg, '-', a.f_part_idx + a.f_part_chg)) * 100, 2) rate + FROM t_kosdaq_index a, t_kosdaq_part b + WHERE a.f_part_code = b.f_part_code + and b.f_part_name = '{0}'"; + + #endregion + + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 국내시장종류.KOSPI: + bufQuery = string.Format(queryKOSPI, mDataCode); + break; + case 국내시장종류.KOSDAQ: + bufQuery = string.Format(queryKOSDAQ, mDataCode); + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/종목/Nxt_STOCK_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/종목/Nxt_STOCK_PAN.cs new file mode 100644 index 0000000..9327662 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/종목/Nxt_STOCK_PAN.cs @@ -0,0 +1,122 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Nxt_STOCK_PAN : Nxt_ADataObject + { + + internal Nxt_STOCK_PAN(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mDataCode = String.Empty; + + #region "쿼리" + + string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , 'NXT_KOSPI' market + FROM n_online a, n_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_curr_price != 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_name = '{0}'"; + + string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, a.f_net_chg net_chg, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , 'NXT_KOSDAQ' market + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_stop_gubun = 'N' + AND a.f_curr_price != 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_name = '{0}'"; + + // string queryNXT_Dis = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, + //ABS(a.f_net_chg) net_chg, + //case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + // when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + //round((a.f_net_chg / + // case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + // when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + // when a.f_chg_type = '3' then (a.f_curr_price) + // when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + // when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , , 'NXT_KOSPI' market + //FROM n_stop_online a, n_stock b + //WHERE b.f_stop_gubun = 'Y' + //AND a.f_curr_price != 0 + //AND a.f_stock_code = b.f_stock_code + //and b.f_STOCK_name = '{0}'"; + + // string queryNXT_Disk = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, + //ABS(a.f_net_chg) net_chg, + //case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + // when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + //round((a.f_net_chg / + // case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + // when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + // when a.f_chg_type = '3' then (a.f_curr_price) + // when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + // when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , 'NXT_KOSDAQ' market + //FROM n_stop_kosdaq_online a, t_kosdaq_stock b + //WHERE b.f_stop_gubun = 'Y' + //AND a.f_curr_price != 0 + //AND a.f_stock_code = b.f_stock_code + //and b.f_STOCK_name = '{0}'"; + + + #endregion + + + public override Nxt_IDataRequest Nxt_buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 국내시장종류.NXT_KOSPI: + bufQuery = string.Format(queryNXT_KOSPI, mDataCode); + break; + case 국내시장종류.NXT_KOSDAQ: + bufQuery = string.Format(queryNXT_KOSDAQ, mDataCode); + break; + //case 국내시장종류.거래정지: + // bufQuery = string.Format(queryNXT_Dis, mDataCode); + // break; + //case 국내시장종류.거래정지K: + // bufQuery = string.Format(queryNXT_Disk, mDataCode); + // break; + } + + Nxt_mRequestQuery.Add("", bufQuery); + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORECAST_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORECAST_PAN.cs new file mode 100644 index 0000000..abc7353 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORECAST_PAN.cs @@ -0,0 +1,108 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class STOCK_FORECAST_PAN : ADataObject + { + + + internal STOCK_FORECAST_PAN(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mDataCode = String.Empty; + + #region "쿼리" + + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + a.f_fore_vol net_vol, c.f_final_price final_price, + ABS(a.f_fore_price - c.f_final_price) net_chg, '' f_net_chg, + case when(a.f_fore_price - c.f_final_price) > 0 then '+' + when(a.f_fore_price - c.f_final_price) = 0 then '' + when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + FROM t_online1_call a, t_stock b, t_batch_day c + WHERE b.f_stock_code = a.f_stock_code + AND c.f_stock_code = a.f_stock_code + AND b.f_mkt_halt = 'N' + and b.f_STOCK_wanname = '{0}' + and a.f_fore_price <> 0"; + ////////// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + //////////a.f_fore_vol net_vol, c.f_final_price final_price, + //////////a.f_fore_price - c.f_final_price net_chg, a.f_net_chg, + //////////case when(a.f_fore_price - c.f_final_price) > 0 then '+' + //////////when(a.f_fore_price - c.f_final_price) = 0 then '' + //////////when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + //////////round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + //////////FROM t_online1 a, t_stock b, t_batch_day c + //////////WHERE b.f_stock_code = a.f_stock_code + //////////AND c.f_stock_code = a.f_stock_code + //////////AND b.f_mkt_halt = 'N' + //////////and b.f_STOCK_wanname = '{0}' + ////////// and a.f_fore_price <> 0"; +// and a.f_fore_price < > 0"; + + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + a.f_fore_vol net_vol, c.f_final_price final_price, + ABS(a.f_fore_price - c.f_final_price) net_chg, '' f_net_chg, + case when(a.f_fore_price - c.f_final_price) > 0 then '+' + when(a.f_fore_price - c.f_final_price) = 0 then '' + when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c + WHERE a.f_stock_code = b.f_stock_code + AND b.f_mkt_halt = 'N' + AND c.f_stock_code = b.f_stock_code + and b.f_stock_wanname = '{0}' + and a.f_fore_price <> 0"; + //////////////// string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + ////////////////a.f_fore_vol net_vol, c.f_final_price final_price, + ////////////////a.f_fore_price - c.f_final_price net_chg, a.f_net_chg, + ////////////////case when(a.f_fore_price - c.f_final_price) > 0 then '+' + ////////////////when(a.f_fore_price - c.f_final_price) = 0 then '' + ////////////////when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + ////////////////round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + ////////////////FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c + ////////////////WHERE a.f_stock_code = b.f_stock_code + ////////////////AND b.f_mkt_halt = 'N' + ////////////////AND c.f_stock_code = b.f_stock_code + ////////////////and b.f_stock_wanname = '{0}' + //////////////// and a.f_fore_price <> 0"; + //////////////// // and a.f_fore_price < > 0"; + + #endregion + + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 국내시장종류.KOSPI: + bufQuery = string.Format(queryKOSPI, mDataCode); + break; + case 국내시장종류.KOSDAQ: + bufQuery = string.Format(queryKOSDAQ, mDataCode); + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORGIEN_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORGIEN_PAN.cs new file mode 100644 index 0000000..2c711d1 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_FORGIEN_PAN.cs @@ -0,0 +1,47 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class STOCK_FORGIEN_PAN : ADataObject + { + + public STOCK_FORGIEN_PAN(string recvCode) + { + this.mDataCode = recvCode; + } + + string mDataCode = ""; + + /// + /// 금일 데이터 쿼리 + /// + string queryToday = @"SELECT b.f_input_name part_name, + a.f_last part_idx, + a.f_sign chg_type, + ABS(round(a.f_diff, 2)) part_chg, + round(a.f_rate, 2) rate + FROM t_world_ix_eq_sise a, t_world_ix_eq_master b + WHERE a.f_symb = b.f_symb + and b.f_input_name = '{0}'"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryToday, mDataCode); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_OVERTIME_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_OVERTIME_PAN.cs new file mode 100644 index 0000000..f156e21 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_OVERTIME_PAN.cs @@ -0,0 +1,116 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class STOCK_OVERTIME_PAN : ADataObject + { + + + internal STOCK_OVERTIME_PAN(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mDataCode = String.Empty; + + #region "쿼리" + + // string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + //a.f_fore_vol net_vol, c.f_final_price final_price, + //ABS(a.f_fore_price - c.f_final_price) net_chg, '' f_net_chg, + //case when(a.f_fore_price - c.f_final_price) > 0 then '+' + //when(a.f_fore_price - c.f_final_price) = 0 then '' + //when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + //round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + //FROM t_online1_call a, t_stock b, t_batch_day c + //WHERE b.f_stock_code = a.f_stock_code + //AND c.f_stock_code = a.f_stock_code + //AND b.f_mkt_halt = 'N' + //and b.f_STOCK_wanname = '{0}' + // and a.f_fore_price <> 0"; + string queryKOSPI = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + a.f_curr_price, + round( + a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + '2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate + FROM t_overtime_sise a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND b.f_sect_code = 'ST' + AND b.f_STOCK_wanname = '{0}' + ORDER BY rate DESC"; + + // string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, + //a.f_fore_vol net_vol, c.f_final_price final_price, + //ABS(a.f_fore_price - c.f_final_price) net_chg, '' f_net_chg, + //case when(a.f_fore_price - c.f_final_price) > 0 then '+' + //when(a.f_fore_price - c.f_final_price) = 0 then '' + //when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, + //round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate + //FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c + //WHERE a.f_stock_code = b.f_stock_code + //AND b.f_mkt_halt = 'N' + //AND c.f_stock_code = b.f_stock_code + //and b.f_stock_wanname = '{0}' + // and a.f_fore_price <> 0"; + string queryKOSDAQ = @"SELECT DISTINCT + b.f_stock_code stock_code, + b.F_STOCK_WANNAME wanname, + a.f_net_chg net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, + a.f_curr_price, + round( + a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + '2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate + FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_stock_code = b.f_stock_code + AND a.f_curr_price < > 0 + AND b.f_sect_code = 'ST' + AND b.f_STOCK_wanname = '{0}' + ORDER BY rate DESC"; + + #endregion + + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 국내시장종류.KOSPI: + bufQuery = string.Format(queryKOSPI, mDataCode); + break; + case 국내시장종류.KOSDAQ: + bufQuery = string.Format(queryKOSDAQ, mDataCode); + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_PAN.cs new file mode 100644 index 0000000..b4b7bd9 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/종목/STOCK_PAN.cs @@ -0,0 +1,162 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class STOCK_PAN : ADataObject + { + + internal STOCK_PAN(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mDataCode = String.Empty; + + #region "쿼리" + + string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name , a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate , 'KOSPI' market + FROM t_online1 a, t_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_wanname = '{0}'"; + + string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name , a.f_curr_price curr_price, a.f_net_chg net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate , 'KOSDAQ' market + FROM t_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_wanname = '{0}'"; + + string queryNXTKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , 'KOSPI' market + FROM n_online a, n_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price != 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_name = '{0}'"; + + string queryNXTKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME stock_name , a.f_curr_price curr_price, a.f_net_chg net_chg, + case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' + when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / + case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg) + when a.f_chg_type = '3' then (a.f_curr_price) + when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg) + when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate , 'KOSDAQ' market + FROM n_kosdaq_online a, n_kosdaq_stock b + WHERE b.f_mkt_halt = 'N' + AND a.f_curr_price != 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_name = '{0}'"; + + string queryDis = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name , a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_stop_online1 a, t_stock b + WHERE b.f_mkt_halt = 'Y' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_wanname = '{0}'"; + + string queryDisk = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name , a.f_curr_price curr_price, + ABS(a.f_net_chg) net_chg, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, a.f_net_vol net_vol, + round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), + '2', (a.f_curr_price - a.f_net_chg), + '3', (a.f_curr_price), + '4', -1 * (a.f_curr_price + a.f_net_chg), + '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate + FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b + WHERE b.f_mkt_halt = 'Y' + AND a.f_curr_price < > 0 + AND a.f_stock_code = b.f_stock_code + and b.f_STOCK_wanname = '{0}'"; + + + // SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name, a.f_curr_price curr_price, \ + + // ABS(a.f_net_chg) net_chg, \ + //decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type, \ + //round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), \ + // '2', (a.f_curr_price - a.f_net_chg), \ + // '3', (a.f_curr_price), \ + // '4', -1 * (a.f_curr_price + a.f_net_chg), \ + // '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate \ + //FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b \ + + // WHERE b.f_mkt_halt = 'Y' \ + //AND a.f_curr_price<> 0 \ + + // AND a.f_stock_code = b.f_stock_code \ + + // AND b.f_stock_wanname = '%s'" + #endregion + + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (mDataType) + { + case 국내시장종류.KOSPI: + bufQuery = string.Format(queryKOSPI, mDataCode); + break; + case 국내시장종류.KOSDAQ: + bufQuery = string.Format(queryKOSDAQ, mDataCode); + break; + case 국내시장종류.거래정지: + bufQuery = string.Format(queryDis, mDataCode); + break; + case 국내시장종류.거래정지K: + bufQuery = string.Format(queryDisk, mDataCode); + break; + } + + mRequestQuery.Add("", bufQuery); + + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORECAST_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORECAST_PAN.cs new file mode 100644 index 0000000..cc75d5b --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORECAST_PAN.cs @@ -0,0 +1,92 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class INDEX_FORECAST_PAN : ADataObject + { + + internal INDEX_FORECAST_PAN(국내지수종류 recvDataType) + { + this.mDataType = recvDataType; + } + + 국내지수종류 mDataType; + + #region 쿼리 + string queryKOSPI = @"SELECT '코스피 예상체결지수' NAME, + round(f_part_idx / 100, 2) part_idx, f_chg_type chg_type, ABS(round(f_part_chg / 100, 2)) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_fo_index + WHERE f_part_code = '001'"; + + string queryKOSDAQ = @"SELECT '코스닥 예상체결지수' NAME, + round(f_part_idx / 100, 2) part_idx, f_chg_type chg_type, ABS(round(f_part_chg / 100, 2)) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_kosdaq_fo_index + WHERE f_part_code = '001'"; + + string queryKOSPI200 = @"SELECT '코스피200 예상체결지수' name,f_part_idx/100 part_idx, f_chg_type chg_type, + ABS(round(f_part_chg / 100, 2)) part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, + '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_200_FO_INDEX + WHERE f_part_code = '029'"; + + string queryKRX100 = @"SELECT 'KRX100 예상체결지수' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), '-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate + FROM t_krx100_FO_index WHERE f_part_code = '043'"; + + + string queryFUTURE = @"SELECT '선물 예상체결지수' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg, + round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), + '-', (part_idx / 100) + (part_chg / 100), 1), 2) rate + FROM(SELECT f_fo_price / 100 part_idx, + round((f_fo_price - f_base_price) / 100, 2) part_chg, + decode(sign(f_fo_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type + FROM t_sunmul_online + WHERE f_stock_code = (select f_stock_code from t_sunmul_batch + where f_market_date = (select max(f_market_date) + from t_sunmul_batch) + and substr(f_stock_code, 4, 1) = '1' + and F_MONTH_GUBUN = '1'))"; + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mDataType) + { + case 국내지수종류.KOSPI: + bufQuery = queryKOSPI; + break; + case 국내지수종류.KOSDAQ: + bufQuery = queryKOSDAQ; + break; + case 국내지수종류.KOSPI200: + bufQuery = queryKOSPI200; + break; + case 국내지수종류.KRX100: + bufQuery = queryKRX100; + break; + case 국내지수종류.선물: + bufQuery = queryFUTURE; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORGIEN_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORGIEN_PAN.cs new file mode 100644 index 0000000..62dcb44 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_FORGIEN_PAN.cs @@ -0,0 +1,45 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class INDEX_FORGIEN_PAN : ADataObject + { + + internal INDEX_FORGIEN_PAN(해외지수종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + this.mDataCode = recvStockCode; + } + + 해외지수종류 mDataType; + + string mDataCode = String.Empty; + /// + /// 금일 데이터 쿼리 + /// + string queryBASIC = @"select a.f_input_name stock_name, round(b.f_last,2) curr_price, b.f_sign chg_type, round(b.f_diff,2) net_chg, round(b.f_rate,2) rate + from t_world_ix_eq_master a, t_world_ix_eq_sise b + where a.f_symb = b.f_symb + and a.f_symb = '{0}'"; + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + bufQuery += String.Format(queryBASIC, mDataCode); + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_PAN.cs b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_PAN.cs new file mode 100644 index 0000000..ae82cb5 --- /dev/null +++ b/MBN_STOCK_N/Data/Request/판데이터기본/지수/INDEX_PAN.cs @@ -0,0 +1,105 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class INDEX_PAN : ADataObject + { + + internal INDEX_PAN(국내지수종류 recvDataType) + { + this.mDataType = recvDataType; + } + + 국내지수종류 mDataType; + + #region 쿼리 + string queryKOSPI = @"SELECT '코스피' name, round(f_part_idx/100,2) part_idx, f_chg_type chg_type, round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_index + WHERE f_part_code = '001'"; + + string queryKOSDAQ = @"SELECT '코스닥' name, round(f_part_idx/100,2) part_idx, f_chg_type chg_type, round(f_part_chg/100,2) part_chg, + round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate + FROM t_kosdaq_index + WHERE f_part_code = '001'"; + + string queryKOSPI200 = @"SELECT '코스피200' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1) * 100, 2) rate + FROM T_200_INDEX + WHERE f_part_code = '029'"; + + //string queryKRX100 = @"SELECT 'KRX100' name, f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, 1 + //round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), '-', (f_part_idx / 100) + (f_part_chg / 100)), 2) rate + //FROM t_krx100_index WHERE f_part_code = '043'"; + string queryKRX100 = @"SELECT 'KRX100' name, f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg, + round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), '-', (f_part_idx / 100) + (f_part_chg / 100)), 2) rate + FROM t_krx100_index WHERE f_part_code = '043'"; + + + //string queryFUTURE = @"SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg,F_NET_VOL,f_out_vol, F_NET_TURNOVER, + // ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), + // '-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate + // FROM(SELECT f_curr_price / 100 part_idx, F_NET_VOL, f_out_vol, F_NET_TURNOVER, + // (f_curr_price - f_base_price) / 100 part_chg, + // decode(sign(f_curr_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type + // FROM t_sunmul_online + // WHERE f_stock_code = (select f_stock_code from t_sunmul_batch + //where f_market_date = (select max(f_market_date) + // from t_sunmul_batch) + // and substr(f_stock_code, 4, 1) = '1' + // and F_MONTH_GUBUN = '1'))"; + + + string queryFUTURE = @"SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg,F_NET_VOL,f_out_vol, F_NET_TURNOVER, + ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), + '-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate + FROM(SELECT decode(a.f_curr_price,0, b.F_JUN_LAST_PRICE/100, a.f_curr_price/100) part_idx, a.F_NET_VOL, a.f_out_vol, a.F_NET_TURNOVER, + decode(a.f_curr_price, 0, 0, (a.f_curr_price - b.F_JUN_LAST_PRICE*100)/100) part_chg, + decode(a.f_curr_price, 0, ' ', decode(sign(a.f_curr_price -b.F_JUN_LAST_PRICE*100),1,'+',-1,'-',0,' ')) chg_type + FROM t_sunmul_online a, t_sunmul_batch b + WHERE a.f_stock_code = b.f_stock_code + AND a.f_stock_seq = 1 + AND b.f_market_date = (select max(OPEN_DAY) from v_open_day) + AND b.F_MONTH_GUBUN = '1') "; + + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mDataType) + { + case 국내지수종류.KOSPI: + bufQuery = queryKOSPI; + break; + case 국내지수종류.KOSDAQ: + bufQuery = queryKOSDAQ; + break; + case 국내지수종류.KOSPI200: + bufQuery = queryKOSPI200; + break; + case 국내지수종류.KRX100: + bufQuery = queryKRX100; + break; + case 국내지수종류.선물: + bufQuery = queryFUTURE; + break; + } + + mRequestQuery.Add("", bufQuery); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Data/Request/호가/Quote_Stocks.cs b/MBN_STOCK_N/Data/Request/호가/Quote_Stocks.cs new file mode 100644 index 0000000..b70e5ec --- /dev/null +++ b/MBN_STOCK_N/Data/Request/호가/Quote_Stocks.cs @@ -0,0 +1,109 @@ +using MMoneyCoderSharp.Data.Request; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static MMoneyCoderSharp.DBDefine; + +namespace MMoneyCoderSharp.DB +{ + /// + /// + internal class Quote_Stocks : ADataObject + { + + internal Quote_Stocks(국내시장종류 recvDataType, string recvStockCode) + { + this.mDataType = recvDataType; + + this.mStockCode = recvStockCode; + } + + 국내시장종류 mDataType; + + string mStockCode = ""; + + #region 쿼리 + string queryKOSPI = @"select a.f_stock_code , b.f_stock_wanname, a.f_curr_price, + a.f_net_chg NET_CHG, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + '2', a.f_curr_price - a.f_net_chg, + '3', a.f_curr_price, + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate, + c.f_call_sell_1, + c.f_call_sell_2, + c.f_call_sell_3, + c.f_call_sell_jan_1, + c.f_call_sell_jan_2, + c.f_call_sell_jan_3, + c.f_call_buy_1, + c.f_call_buy_2, + c.f_call_buy_3, + c.f_call_buy_jan_1, + c.f_call_buy_jan_2, + c.f_call_buy_jan_3, + c.f_t_call_sell_jan, + c.f_t_call_buy_jan + from t_online1 a, t_stock b , t_online1_CALL c + where a.f_stock_code = b.f_stock_code + and a.f_stock_code = c.f_stock_code + and a.f_mkt_halt = 'N' + and a.f_curr_price > 0 + and a.f_stock_code = '{0}'"; + + string queryKOSDAQ = @"select a.f_stock_code , b.f_stock_wanname, a.f_curr_price, + a.f_net_chg NET_CHG, + decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, + round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, + '2', a.f_curr_price - a.f_net_chg, + '3', a.f_curr_price, + '4', -1*(a.f_curr_price + a.f_net_chg), + '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate, + c.f_call_sell_1, + c.f_call_sell_2, + c.f_call_sell_3, + c.f_call_sell_jan_1, + c.f_call_sell_jan_2, + c.f_call_sell_jan_3, + c.f_call_buy_1, + c.f_call_buy_2, + c.f_call_buy_3, + c.f_call_buy_jan_1, + c.f_call_buy_jan_2, + c.f_call_buy_jan_3, + c.f_t_call_sell_jan, + c.f_t_call_buy_jan + FROM t_kosdaq_online1 a, t_kosdaq_stock b , t_kosdaq_online1_CALL c + where a.f_stock_code = b.f_stock_code + and a.f_stock_code = c.f_stock_code + and a.f_mkt_halt = 'N' + and a.f_curr_price > 0 + and a.f_stock_code = '{0}'"; + + + #endregion + + public override IDataRequest buildData() + { + + string bufQuery = ""; + + switch (this.mDataType) + { + case 국내시장종류.KOSPI: + bufQuery = queryKOSPI; + break; + case 국내시장종류.KOSDAQ: + bufQuery = queryKOSDAQ; + break; + } + + mRequestQuery.Add("", String.Format(bufQuery, this.mStockCode)); + + return this; + } + } +} diff --git a/MBN_STOCK_N/Form/AList.Designer.cs b/MBN_STOCK_N/Form/AList.Designer.cs new file mode 100644 index 0000000..9c06dde --- /dev/null +++ b/MBN_STOCK_N/Form/AList.Designer.cs @@ -0,0 +1,139 @@ + +namespace MBN_STOCK_N +{ + partial class AList + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label5 = new System.Windows.Forms.Label(); + this.btnok = new System.Windows.Forms.Button(); + this.txtname = new System.Windows.Forms.TextBox(); + this.btncn = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCode = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label5.Location = new System.Drawing.Point(18, 49); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(67, 15); + this.label5.TabIndex = 591; + this.label5.Text = "프로그램명"; + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnok.Location = new System.Drawing.Point(204, 80); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(71, 25); + this.btnok.TabIndex = 590; + this.btnok.Text = "확인"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // txtname + // + this.txtname.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtname.Location = new System.Drawing.Point(93, 44); + this.txtname.Name = "txtname"; + this.txtname.Size = new System.Drawing.Size(261, 25); + this.txtname.TabIndex = 589; + // + // btncn + // + this.btncn.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncn.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btncn.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncn.ForeColor = System.Drawing.Color.Black; + this.btncn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btncn.Location = new System.Drawing.Point(283, 80); + this.btncn.Name = "btncn"; + this.btncn.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncn.Size = new System.Drawing.Size(71, 25); + this.btncn.TabIndex = 592; + this.btncn.Text = "취소"; + this.btncn.UseVisualStyleBackColor = true; + this.btncn.Click += new System.EventHandler(this.btncn_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(18, 18); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(67, 15); + this.label1.TabIndex = 593; + this.label1.Text = "프로그램명"; + // + // txtCode + // + this.txtCode.Enabled = false; + this.txtCode.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtCode.Location = new System.Drawing.Point(93, 12); + this.txtCode.Name = "txtCode"; + this.txtCode.Size = new System.Drawing.Size(115, 25); + this.txtCode.TabIndex = 594; + // + // AList + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(366, 113); + this.Controls.Add(this.txtCode); + this.Controls.Add(this.label1); + this.Controls.Add(this.btncn); + this.Controls.Add(this.label5); + this.Controls.Add(this.btnok); + this.Controls.Add(this.txtname); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "AList"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "프로그램 추가"; + this.Load += new System.EventHandler(this.AList_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.TextBox txtname; + private System.Windows.Forms.Button btncn; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCode; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/AList.cs b/MBN_STOCK_N/Form/AList.cs new file mode 100644 index 0000000..0f6205c --- /dev/null +++ b/MBN_STOCK_N/Form/AList.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class AList : Form + { + PList pl = null; + MainForm mf = null; + + public AList(Form frm, Form fm) + { + pl = (PList)frm; + mf = (MainForm)fm; + InitializeComponent(); + } + + + private void btnok_Click(object sender, EventArgs e) + { + //pl.m_FileName = txtname.Text; + if (txtname.Text == "") + { + MessageBox.Show("프로그램명을 입력하세요"); + } + else + { + //DB 저장 + mf.m_db.ExecuteQuery("INSERT INTO DC_LIST(DC_CODE, DC_TITLE) VALUES ('" + txtCode.Text + "', '" + txtname.Text + "')"); + Close(); + } + Close(); + } + private void btncn_Click(object sender, EventArgs e) + { + pl.m_FileName = ""; + Close(); + } + + public string GetNextCode(string query) + { + string code = string.Empty; + + mf.m_db.ViewQuery(mf.dataGridView1, query); + + if (mf.dataGridView1.RowCount > 0) + { + int lastcode = Convert.ToInt32(mf.dataGridView1.Rows[0].Cells[0].Value.ToString()) + 1; + code = string.Format("{0:D8}", lastcode); + } + + return code; + } + + private void AList_Load(object sender, EventArgs e) + { + txtCode.Text = GetNextCode("SELECT to_number(max(DC_CODE)) FROM DC_LIST"); + } + } +} diff --git a/MBN_STOCK_N/Form/AList.resx b/MBN_STOCK_N/Form/AList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Form/AList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/EList.Designer.cs b/MBN_STOCK_N/Form/EList.Designer.cs new file mode 100644 index 0000000..efd00f0 --- /dev/null +++ b/MBN_STOCK_N/Form/EList.Designer.cs @@ -0,0 +1,154 @@ + +namespace MBN_STOCK_N +{ + partial class EList + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btncn = new System.Windows.Forms.Button(); + this.label5 = new System.Windows.Forms.Label(); + this.btnok = new System.Windows.Forms.Button(); + this.txtname = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCode = new System.Windows.Forms.TextBox(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // btncn + // + this.btncn.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncn.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btncn.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncn.ForeColor = System.Drawing.Color.Black; + this.btncn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btncn.Location = new System.Drawing.Point(286, 80); + this.btncn.Name = "btncn"; + this.btncn.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncn.Size = new System.Drawing.Size(71, 25); + this.btncn.TabIndex = 596; + this.btncn.Text = "취소"; + this.btncn.UseVisualStyleBackColor = true; + this.btncn.Click += new System.EventHandler(this.btncn_Click); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label5.Location = new System.Drawing.Point(21, 49); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(39, 15); + this.label5.TabIndex = 595; + this.label5.Text = "이 름"; + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnok.Location = new System.Drawing.Point(207, 80); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(71, 25); + this.btnok.TabIndex = 594; + this.btnok.Text = "확인"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // txtname + // + this.txtname.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtname.Location = new System.Drawing.Point(96, 44); + this.txtname.Name = "txtname"; + this.txtname.Size = new System.Drawing.Size(261, 25); + this.txtname.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(21, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(39, 15); + this.label1.TabIndex = 597; + this.label1.Text = "코 드"; + // + // txtCode + // + this.txtCode.Enabled = false; + this.txtCode.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtCode.Location = new System.Drawing.Point(96, 12); + this.txtCode.Name = "txtCode"; + this.txtCode.Size = new System.Drawing.Size(109, 25); + this.txtCode.TabIndex = 598; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(38, 75); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(79, 30); + this.dataGridView1.TabIndex = 617; + this.dataGridView1.Visible = false; + // + // EList + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(370, 113); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.txtCode); + this.Controls.Add(this.label1); + this.Controls.Add(this.btncn); + this.Controls.Add(this.label5); + this.Controls.Add(this.btnok); + this.Controls.Add(this.txtname); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "EList"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "전문가 추가"; + this.Load += new System.EventHandler(this.EList_Load); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btncn; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.TextBox txtname; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCode; + private System.Windows.Forms.DataGridView dataGridView1; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/EList.cs b/MBN_STOCK_N/Form/EList.cs new file mode 100644 index 0000000..277c566 --- /dev/null +++ b/MBN_STOCK_N/Form/EList.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class EList : Form + { + //DBCon m_db = new DBCon(); + MainForm mf = null; + + public EList(Form frm) + { + mf = (MainForm)frm; + InitializeComponent(); + } + + + + private void btnok_Click(object sender, EventArgs e) + { + if (txtname.Text == "") + { + MessageBox.Show("이름을 입력하세요"); + } + else + { + //DB 저장 + mf.m_db.ExecuteQuery("INSERT INTO EXPERT_LIST(EP_CODE, EP_NAME) VALUES('" + txtCode.Text + "', '" + txtname.Text + "')"); + Close(); + } + + } + + private void btncn_Click(object sender, EventArgs e) + { + Close(); + } + + + public string GetNextCode(string query) + { + string code = string.Empty; + + mf.m_db.ViewQuery(dataGridView1, query); + + if (dataGridView1.RowCount > 0) + { + int lastcode = Convert.ToInt32(dataGridView1.Rows[dataGridView1.RowCount - 2].Cells[0].Value.ToString()) + 1; + code = string.Format("{0:D4}", lastcode); + } + + return code; + } + + private void EList_Load(object sender, EventArgs e) + { + txtCode.Text = GetNextCode("Select * From EXPERT_LIST Order by EP_CODE"); + } + } +} diff --git a/MBN_STOCK_N/Form/EList.resx b/MBN_STOCK_N/Form/EList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Form/EList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/FSell.Designer.cs b/MBN_STOCK_N/Form/FSell.Designer.cs new file mode 100644 index 0000000..2296440 --- /dev/null +++ b/MBN_STOCK_N/Form/FSell.Designer.cs @@ -0,0 +1,374 @@ + +namespace MBN_STOCK_N +{ + partial class FSell + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.btncn = new System.Windows.Forms.Button(); + this.btnok = new System.Windows.Forms.Button(); + this.tj1 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.ts1 = new System.Windows.Forms.TextBox(); + this.ts3 = new System.Windows.Forms.TextBox(); + this.tj3 = new System.Windows.Forms.TextBox(); + this.ts5 = new System.Windows.Forms.TextBox(); + this.tj5 = new System.Windows.Forms.TextBox(); + this.ts9 = new System.Windows.Forms.TextBox(); + this.tj9 = new System.Windows.Forms.TextBox(); + this.ts7 = new System.Windows.Forms.TextBox(); + this.tj7 = new System.Windows.Forms.TextBox(); + this.ts10 = new System.Windows.Forms.TextBox(); + this.tj10 = new System.Windows.Forms.TextBox(); + this.ts8 = new System.Windows.Forms.TextBox(); + this.tj8 = new System.Windows.Forms.TextBox(); + this.ts6 = new System.Windows.Forms.TextBox(); + this.tj6 = new System.Windows.Forms.TextBox(); + this.ts4 = new System.Windows.Forms.TextBox(); + this.tj4 = new System.Windows.Forms.TextBox(); + this.ts2 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.tj2 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.Controls.Add(this.ts10); + this.panel1.Controls.Add(this.tj10); + this.panel1.Controls.Add(this.ts8); + this.panel1.Controls.Add(this.tj8); + this.panel1.Controls.Add(this.ts6); + this.panel1.Controls.Add(this.tj6); + this.panel1.Controls.Add(this.ts4); + this.panel1.Controls.Add(this.tj4); + this.panel1.Controls.Add(this.ts2); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.tj2); + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.ts9); + this.panel1.Controls.Add(this.tj9); + this.panel1.Controls.Add(this.ts7); + this.panel1.Controls.Add(this.tj7); + this.panel1.Controls.Add(this.ts5); + this.panel1.Controls.Add(this.tj5); + this.panel1.Controls.Add(this.ts3); + this.panel1.Controls.Add(this.tj3); + this.panel1.Controls.Add(this.ts1); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.tj1); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.btncn); + this.panel1.Controls.Add(this.btnok); + this.panel1.Location = new System.Drawing.Point(3, 2); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(574, 273); + this.panel1.TabIndex = 594; + // + // btncn + // + this.btncn.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncn.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btncn.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncn.ForeColor = System.Drawing.Color.Black; + this.btncn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btncn.Location = new System.Drawing.Point(458, 224); + this.btncn.Name = "btncn"; + this.btncn.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncn.Size = new System.Drawing.Size(93, 30); + this.btncn.TabIndex = 21; + this.btncn.Text = "취소"; + this.btncn.UseVisualStyleBackColor = true; + this.btncn.Click += new System.EventHandler(this.btncn_Click); + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnok.Location = new System.Drawing.Point(342, 224); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(93, 30); + this.btnok.TabIndex = 20; + this.btnok.Text = "확인"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // tj1 + // + this.tj1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj1.Location = new System.Drawing.Point(21, 36); + this.tj1.Name = "tj1"; + this.tj1.Size = new System.Drawing.Size(120, 25); + this.tj1.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(62, 14); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(31, 15); + this.label1.TabIndex = 599; + this.label1.Text = "종목"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label2.Location = new System.Drawing.Point(194, 14); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(31, 15); + this.label2.TabIndex = 601; + this.label2.Text = "금액"; + // + // ts1 + // + this.ts1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts1.Location = new System.Drawing.Point(154, 36); + this.ts1.Name = "ts1"; + this.ts1.Size = new System.Drawing.Size(120, 25); + this.ts1.TabIndex = 1; + // + // ts3 + // + this.ts3.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts3.Location = new System.Drawing.Point(154, 70); + this.ts3.Name = "ts3"; + this.ts3.Size = new System.Drawing.Size(120, 25); + this.ts3.TabIndex = 5; + // + // tj3 + // + this.tj3.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj3.Location = new System.Drawing.Point(21, 70); + this.tj3.Name = "tj3"; + this.tj3.Size = new System.Drawing.Size(120, 25); + this.tj3.TabIndex = 4; + // + // ts5 + // + this.ts5.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts5.Location = new System.Drawing.Point(154, 103); + this.ts5.Name = "ts5"; + this.ts5.Size = new System.Drawing.Size(120, 25); + this.ts5.TabIndex = 9; + // + // tj5 + // + this.tj5.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj5.Location = new System.Drawing.Point(21, 103); + this.tj5.Name = "tj5"; + this.tj5.Size = new System.Drawing.Size(120, 25); + this.tj5.TabIndex = 8; + // + // ts9 + // + this.ts9.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts9.Location = new System.Drawing.Point(154, 171); + this.ts9.Name = "ts9"; + this.ts9.Size = new System.Drawing.Size(120, 25); + this.ts9.TabIndex = 17; + // + // tj9 + // + this.tj9.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj9.Location = new System.Drawing.Point(21, 171); + this.tj9.Name = "tj9"; + this.tj9.Size = new System.Drawing.Size(120, 25); + this.tj9.TabIndex = 16; + // + // ts7 + // + this.ts7.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts7.Location = new System.Drawing.Point(154, 138); + this.ts7.Name = "ts7"; + this.ts7.Size = new System.Drawing.Size(120, 25); + this.ts7.TabIndex = 13; + // + // tj7 + // + this.tj7.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj7.Location = new System.Drawing.Point(21, 138); + this.tj7.Name = "tj7"; + this.tj7.Size = new System.Drawing.Size(120, 25); + this.tj7.TabIndex = 12; + // + // ts10 + // + this.ts10.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts10.Location = new System.Drawing.Point(431, 171); + this.ts10.Name = "ts10"; + this.ts10.Size = new System.Drawing.Size(120, 25); + this.ts10.TabIndex = 19; + // + // tj10 + // + this.tj10.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj10.Location = new System.Drawing.Point(298, 171); + this.tj10.Name = "tj10"; + this.tj10.Size = new System.Drawing.Size(120, 25); + this.tj10.TabIndex = 18; + // + // ts8 + // + this.ts8.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts8.Location = new System.Drawing.Point(431, 138); + this.ts8.Name = "ts8"; + this.ts8.Size = new System.Drawing.Size(120, 25); + this.ts8.TabIndex = 15; + // + // tj8 + // + this.tj8.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj8.Location = new System.Drawing.Point(298, 138); + this.tj8.Name = "tj8"; + this.tj8.Size = new System.Drawing.Size(120, 25); + this.tj8.TabIndex = 14; + // + // ts6 + // + this.ts6.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts6.Location = new System.Drawing.Point(431, 103); + this.ts6.Name = "ts6"; + this.ts6.Size = new System.Drawing.Size(120, 25); + this.ts6.TabIndex = 11; + // + // tj6 + // + this.tj6.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj6.Location = new System.Drawing.Point(298, 103); + this.tj6.Name = "tj6"; + this.tj6.Size = new System.Drawing.Size(120, 25); + this.tj6.TabIndex = 10; + // + // ts4 + // + this.ts4.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts4.Location = new System.Drawing.Point(431, 70); + this.ts4.Name = "ts4"; + this.ts4.Size = new System.Drawing.Size(120, 25); + this.ts4.TabIndex = 7; + // + // tj4 + // + this.tj4.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj4.Location = new System.Drawing.Point(298, 70); + this.tj4.Name = "tj4"; + this.tj4.Size = new System.Drawing.Size(120, 25); + this.tj4.TabIndex = 6; + // + // ts2 + // + this.ts2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts2.Location = new System.Drawing.Point(431, 36); + this.ts2.Name = "ts2"; + this.ts2.Size = new System.Drawing.Size(120, 25); + this.ts2.TabIndex = 3; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label3.Location = new System.Drawing.Point(471, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(31, 15); + this.label3.TabIndex = 613; + this.label3.Text = "금액"; + // + // tj2 + // + this.tj2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tj2.Location = new System.Drawing.Point(298, 36); + this.tj2.Name = "tj2"; + this.tj2.Size = new System.Drawing.Size(120, 25); + this.tj2.TabIndex = 2; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label4.Location = new System.Drawing.Point(339, 14); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(31, 15); + this.label4.TabIndex = 611; + this.label4.Text = "종목"; + // + // FSell + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(579, 277); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "FSell"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "순매도 상위 10"; + this.Load += new System.EventHandler(this.FSell_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button btncn; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.TextBox ts10; + private System.Windows.Forms.TextBox tj10; + private System.Windows.Forms.TextBox ts8; + private System.Windows.Forms.TextBox tj8; + private System.Windows.Forms.TextBox ts6; + private System.Windows.Forms.TextBox tj6; + private System.Windows.Forms.TextBox ts4; + private System.Windows.Forms.TextBox tj4; + private System.Windows.Forms.TextBox ts2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox tj2; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox ts9; + private System.Windows.Forms.TextBox tj9; + private System.Windows.Forms.TextBox ts7; + private System.Windows.Forms.TextBox tj7; + private System.Windows.Forms.TextBox ts5; + private System.Windows.Forms.TextBox tj5; + private System.Windows.Forms.TextBox ts3; + private System.Windows.Forms.TextBox tj3; + private System.Windows.Forms.TextBox ts1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox tj1; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/FSell.cs b/MBN_STOCK_N/Form/FSell.cs new file mode 100644 index 0000000..f127016 --- /dev/null +++ b/MBN_STOCK_N/Form/FSell.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; + +namespace MBN_STOCK_N +{ + public partial class FSell : Form + { + MainForm mf = null; + string m_File = string.Empty; + + public FSell(Form frm, string file) + { + mf = (MainForm)frm; + m_File = file; + InitializeComponent(); + } + + private void FSell_Load(object sender, EventArgs e) + { + data_load(); + } + + public void data_load() + { + ReadListFile(mf.m_DataPath + m_File + ".dat"); + } + + private void btnok_Click(object sender, EventArgs e) + { + WriteListFile(mf.m_DataPath + m_File + ".dat"); + mf.m_st = 1; + Close(); + } + + public void WriteListFile(string path) + { + try + { + string strdata = string.Empty; + + FileInfo fileInfoM = new FileInfo(path); + fileInfoM.Delete(); + + + StreamWriter sw = new StreamWriter(path, true, Encoding.Default); + + strdata = tj1.Text + "^" + ts1.Text + "^" + tj2.Text + "^" + ts2.Text + Environment.NewLine; + strdata += tj3.Text + "^" + ts3.Text + "^" + tj4.Text + "^" + ts4.Text + Environment.NewLine; + strdata += tj5.Text + "^" + ts5.Text + "^" + tj6.Text + "^" + ts6.Text + Environment.NewLine; + strdata += tj7.Text + "^" + ts7.Text + "^" + tj8.Text + "^" + ts8.Text + Environment.NewLine; + strdata += tj9.Text + "^" + ts9.Text + "^" + tj10.Text + "^" + ts10.Text + Environment.NewLine; + + sw.WriteLine(strdata); + sw.Close(); + + } + catch (Exception) + { + + } + } + + + public void ReadListFile(string path) + { + try + { + string str = string.Empty; + int row = 0; + string[,] buf = new string[500, 50]; + + StreamReader sr = new StreamReader(path, Encoding.Default); + if (sr != null) + { + while (sr.Peek() > -1) + { + str = sr.ReadLine(); str = str.Trim(); + string[] rs = str.Split('^'); + + for (int i = 0; i < rs.Length; i++) + { + if (row == 0) + { tj1.Text = rs[0]; ts1.Text = rs[1]; tj2.Text = rs[2]; ts2.Text = rs[3]; } + else if (row == 1) + { tj3.Text = rs[0]; ts3.Text = rs[1]; tj4.Text = rs[2]; ts4.Text = rs[3]; } + else if (row == 2) + { tj5.Text = rs[0]; ts5.Text = rs[1]; tj6.Text = rs[2]; ts6.Text = rs[3]; } + else if (row == 3) + { tj7.Text = rs[0]; ts7.Text = rs[1]; tj8.Text = rs[2]; ts8.Text = rs[3]; } + else if (row == 4) + { tj9.Text = rs[0]; ts9.Text = rs[1]; tj10.Text = rs[2]; ts10.Text = rs[3]; } + + + } + row += 1; + } + sr.Close(); + } + } + catch (Exception) + { + + } + } + + private void btncn_Click(object sender, EventArgs e) + { + mf.m_st = 0; + Close(); + } + } +} diff --git a/MBN_STOCK_N/Form/FSell.resx b/MBN_STOCK_N/Form/FSell.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Form/FSell.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/GraphE.Designer.cs b/MBN_STOCK_N/Form/GraphE.Designer.cs new file mode 100644 index 0000000..65478b0 --- /dev/null +++ b/MBN_STOCK_N/Form/GraphE.Designer.cs @@ -0,0 +1,1439 @@ + +namespace MBN_STOCK_N +{ + partial class GraphE + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GraphE)); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + this.pictureBox = new System.Windows.Forms.PictureBox(); + this.upSearch = new System.Windows.Forms.Button(); + this.txt1 = new System.Windows.Forms.TextBox(); + this.downSearch = new System.Windows.Forms.Button(); + this.FpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btndel = new System.Windows.Forms.Button(); + this.btnall = new System.Windows.Forms.Button(); + this.btnAdd = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.listBox = new System.Windows.Forms.ListBox(); + this.btnsearch = new System.Windows.Forms.Button(); + this.gb = new System.Windows.Forms.GroupBox(); + this.t1 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.btadd = new System.Windows.Forms.Button(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label20 = new System.Windows.Forms.Label(); + this.td6_2 = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.td1_2 = new System.Windows.Forms.TextBox(); + this.label23 = new System.Windows.Forms.Label(); + this.td2_2 = new System.Windows.Forms.TextBox(); + this.label24 = new System.Windows.Forms.Label(); + this.td3_2 = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.td4_2 = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.td5_2 = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.td6_1 = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.td1_1 = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.td2_1 = new System.Windows.Forms.TextBox(); + this.label28 = new System.Windows.Forms.Label(); + this.td3_1 = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.td4_1 = new System.Windows.Forms.TextBox(); + this.label30 = new System.Windows.Forms.Label(); + this.td5_1 = new System.Windows.Forms.TextBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.t3 = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.t2 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.t4 = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.t7_1 = new System.Windows.Forms.TextBox(); + this.t5 = new System.Windows.Forms.TextBox(); + this.t6_1 = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.t5_1 = new System.Windows.Forms.TextBox(); + this.t6 = new System.Windows.Forms.TextBox(); + this.t4_1 = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.t3_1 = new System.Windows.Forms.TextBox(); + this.t7 = new System.Windows.Forms.TextBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.ts5_4 = new System.Windows.Forms.TextBox(); + this.ts5_3 = new System.Windows.Forms.TextBox(); + this.ts5_2 = new System.Windows.Forms.TextBox(); + this.ts5_1 = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.ts4_4 = new System.Windows.Forms.TextBox(); + this.ts4_3 = new System.Windows.Forms.TextBox(); + this.ts4_2 = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.ts4_1 = new System.Windows.Forms.TextBox(); + this.ts3_4 = new System.Windows.Forms.TextBox(); + this.ts3_3 = new System.Windows.Forms.TextBox(); + this.ts3_2 = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.ts3_1 = new System.Windows.Forms.TextBox(); + this.ts2_4 = new System.Windows.Forms.TextBox(); + this.ts2_3 = new System.Windows.Forms.TextBox(); + this.ts2_2 = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.ts2_1 = new System.Windows.Forms.TextBox(); + this.ts1_4 = new System.Windows.Forms.TextBox(); + this.ts1_3 = new System.Windows.Forms.TextBox(); + this.ts1_2 = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.ts1_1 = new System.Windows.Forms.TextBox(); + this.btnok = new System.Windows.Forms.Button(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.panel10 = new System.Windows.Forms.Panel(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit(); + this.groupBox1.SuspendLayout(); + this.gb.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + // + // pictureBox + // + this.pictureBox.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox.Image"))); + this.pictureBox.Location = new System.Drawing.Point(63, 5); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.Size = new System.Drawing.Size(482, 270); + this.pictureBox.TabIndex = 0; + this.pictureBox.TabStop = false; + // + // upSearch + // + this.upSearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.upSearch.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.upSearch.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.upSearch.ForeColor = System.Drawing.Color.Black; + this.upSearch.Location = new System.Drawing.Point(339, 284); + this.upSearch.Name = "upSearch"; + this.upSearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.upSearch.Size = new System.Drawing.Size(93, 27); + this.upSearch.TabIndex = 606; + this.upSearch.Text = "위로 찾기"; + this.upSearch.UseVisualStyleBackColor = true; + this.upSearch.Click += new System.EventHandler(this.upSearch_Click); + // + // txt1 + // + this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt1.Location = new System.Drawing.Point(63, 286); + this.txt1.Name = "txt1"; + this.txt1.Size = new System.Drawing.Size(256, 25); + this.txt1.TabIndex = 605; + this.txt1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt1_KeyPress); + // + // downSearch + // + this.downSearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.downSearch.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.downSearch.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.downSearch.ForeColor = System.Drawing.Color.Black; + this.downSearch.Location = new System.Drawing.Point(452, 284); + this.downSearch.Name = "downSearch"; + this.downSearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.downSearch.Size = new System.Drawing.Size(93, 27); + this.downSearch.TabIndex = 607; + this.downSearch.Text = "아래로 찾기"; + this.downSearch.UseVisualStyleBackColor = true; + this.downSearch.Click += new System.EventHandler(this.downSearch_Click); + // + // FpSpread1 + // + this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread1.AutoClipboard = false; + this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.HorizontalScrollBar.Name = ""; + this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread1.HorizontalScrollBar.TabIndex = 351; + this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread1.Location = new System.Drawing.Point(12, 325); + this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread1.MoveActiveOnFocus = false; + this.FpSpread1.Name = "FpSpread1"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer5; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer5; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread1_Sheet1, + this.FpSpread1_Sheet2}); + this.FpSpread1.Size = new System.Drawing.Size(475, 320); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread1.Skin = spreadSkin1; + this.FpSpread1.TabIndex = 1; + this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread1.VerticalScrollBar.Name = ""; + this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread1.VerticalScrollBar.TabIndex = 352; + this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick); + this.FpSpread1.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellDoubleClick); + // + // FpSpread1_Sheet1 + // + this.FpSpread1_Sheet1.Reset(); + this.FpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet1.ColumnCount = 7; + this.FpSpread1_Sheet1.RowCount = 0; + this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread1_Sheet1.ActiveRowIndex = -1; + this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Border = emptyBorder1; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "종목"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "날짜"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 9.75F); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "구성1"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 3).Font = new System.Drawing.Font("나눔고딕", 9.75F); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 3).Value = "구성2"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 4).Font = new System.Drawing.Font("나눔고딕", 9.75F); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 4).Value = "구성3"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 5).Font = new System.Drawing.Font("나눔고딕", 9.75F); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 5).Value = "구성4"; + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 6).Font = new System.Drawing.Font("나눔고딕", 9.75F); + this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 6).Value = "구성5"; + this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread1_Sheet1.Columns.Get(0).Label = "종목"; + this.FpSpread1_Sheet1.Columns.Get(0).Width = 118F; + this.FpSpread1_Sheet1.Columns.Get(1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread1_Sheet1.Columns.Get(1).Label = "날짜"; + this.FpSpread1_Sheet1.Columns.Get(1).Width = 85F; + this.FpSpread1_Sheet1.Columns.Get(2).Label = "구성1"; + this.FpSpread1_Sheet1.Columns.Get(2).Width = 98F; + this.FpSpread1_Sheet1.Columns.Get(3).Label = "구성2"; + this.FpSpread1_Sheet1.Columns.Get(3).Locked = true; + this.FpSpread1_Sheet1.Columns.Get(3).Width = 98F; + this.FpSpread1_Sheet1.Columns.Get(4).Label = "구성3"; + this.FpSpread1_Sheet1.Columns.Get(4).Width = 98F; + this.FpSpread1_Sheet1.Columns.Get(5).Label = "구성4"; + this.FpSpread1_Sheet1.Columns.Get(5).Width = 98F; + this.FpSpread1_Sheet1.Columns.Get(6).Label = "구성5"; + this.FpSpread1_Sheet1.Columns.Get(6).Width = 98F; + this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread1.SetActiveViewport(0, -1, 0); + // + // FpSpread1_Sheet2 + // + this.FpSpread1_Sheet2.Reset(); + this.FpSpread1_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btndel + // + this.btndel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btndel.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btndel.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btndel.ForeColor = System.Drawing.Color.Black; + this.btndel.Location = new System.Drawing.Point(515, 337); + this.btndel.Name = "btndel"; + this.btndel.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btndel.Size = new System.Drawing.Size(93, 42); + this.btndel.TabIndex = 609; + this.btndel.Text = "DEL"; + this.btndel.UseVisualStyleBackColor = true; + this.btndel.Click += new System.EventHandler(this.btndel_Click); + // + // btnall + // + this.btnall.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnall.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnall.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnall.ForeColor = System.Drawing.Color.Black; + this.btnall.Location = new System.Drawing.Point(515, 387); + this.btnall.Name = "btnall"; + this.btnall.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnall.Size = new System.Drawing.Size(93, 42); + this.btnall.TabIndex = 610; + this.btnall.Text = "DEL ALL"; + this.btnall.UseVisualStyleBackColor = true; + this.btnall.Click += new System.EventHandler(this.btnall_Click); + // + // btnAdd + // + this.btnAdd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnAdd.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnAdd.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnAdd.ForeColor = System.Drawing.Color.Black; + this.btnAdd.Location = new System.Drawing.Point(516, 592); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnAdd.Size = new System.Drawing.Size(93, 56); + this.btnAdd.TabIndex = 611; + this.btnAdd.Text = "ADD & PLAYLIST"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.txtSearch); + this.groupBox1.Controls.Add(this.listBox); + this.groupBox1.Controls.Add(this.btnsearch); + this.groupBox1.Location = new System.Drawing.Point(12, 653); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(227, 273); + this.groupBox1.TabIndex = 612; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "종목"; + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtSearch.Location = new System.Drawing.Point(6, 17); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(138, 25); + this.txtSearch.TabIndex = 591; + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 15; + this.listBox.Location = new System.Drawing.Point(5, 49); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(216, 214); + this.listBox.TabIndex = 594; + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image"))); + this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.Location = new System.Drawing.Point(152, 18); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(65, 24); + this.btnsearch.TabIndex = 592; + this.btnsearch.Text = " 검색"; + this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // gb + // + this.gb.Controls.Add(this.t1); + this.gb.Controls.Add(this.label1); + this.gb.Controls.Add(this.btadd); + this.gb.Controls.Add(this.panel2); + this.gb.Controls.Add(this.panel3); + this.gb.Controls.Add(this.panel1); + this.gb.Location = new System.Drawing.Point(245, 653); + this.gb.Name = "gb"; + this.gb.Size = new System.Drawing.Size(364, 273); + this.gb.TabIndex = 613; + this.gb.TabStop = false; + // + // t1 + // + this.t1.Enabled = false; + this.t1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t1.Location = new System.Drawing.Point(76, 14); + this.t1.Name = "t1"; + this.t1.ReadOnly = true; + this.t1.Size = new System.Drawing.Size(136, 25); + this.t1.TabIndex = 601; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.Location = new System.Drawing.Point(34, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(31, 15); + this.label1.TabIndex = 600; + this.label1.Text = "종목"; + // + // btadd + // + this.btadd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btadd.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btadd.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btadd.ForeColor = System.Drawing.Color.Black; + this.btadd.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btadd.Location = new System.Drawing.Point(259, 11); + this.btadd.Name = "btadd"; + this.btadd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btadd.Size = new System.Drawing.Size(77, 28); + this.btadd.TabIndex = 599; + this.btadd.Text = "추가"; + this.btadd.UseVisualStyleBackColor = true; + this.btadd.Click += new System.EventHandler(this.btadd_Click); + // + // panel3 + // + this.panel3.Controls.Add(this.label20); + this.panel3.Controls.Add(this.td6_2); + this.panel3.Controls.Add(this.label21); + this.panel3.Controls.Add(this.td1_2); + this.panel3.Controls.Add(this.label23); + this.panel3.Controls.Add(this.td2_2); + this.panel3.Controls.Add(this.label24); + this.panel3.Controls.Add(this.td3_2); + this.panel3.Controls.Add(this.label26); + this.panel3.Controls.Add(this.td4_2); + this.panel3.Controls.Add(this.label27); + this.panel3.Controls.Add(this.td5_2); + this.panel3.Controls.Add(this.label19); + this.panel3.Controls.Add(this.td6_1); + this.panel3.Controls.Add(this.label22); + this.panel3.Controls.Add(this.td1_1); + this.panel3.Controls.Add(this.label25); + this.panel3.Controls.Add(this.td2_1); + this.panel3.Controls.Add(this.label28); + this.panel3.Controls.Add(this.td3_1); + this.panel3.Controls.Add(this.label29); + this.panel3.Controls.Add(this.td4_1); + this.panel3.Controls.Add(this.label30); + this.panel3.Controls.Add(this.td5_1); + this.panel3.Location = new System.Drawing.Point(29, 45); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(311, 215); + this.panel3.TabIndex = 625; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label20.Location = new System.Drawing.Point(166, 179); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(39, 15); + this.label20.TabIndex = 636; + this.label20.Text = "금액6"; + // + // td6_2 + // + this.td6_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td6_2.Location = new System.Drawing.Point(211, 176); + this.td6_2.Name = "td6_2"; + this.td6_2.Size = new System.Drawing.Size(90, 22); + this.td6_2.TabIndex = 12; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label21.Location = new System.Drawing.Point(166, 7); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(39, 15); + this.label21.TabIndex = 626; + this.label21.Text = "금액1"; + // + // td1_2 + // + this.td1_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td1_2.Location = new System.Drawing.Point(211, 4); + this.td1_2.Name = "td1_2"; + this.td1_2.Size = new System.Drawing.Size(90, 22); + this.td1_2.TabIndex = 2; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label23.Location = new System.Drawing.Point(166, 42); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(39, 15); + this.label23.TabIndex = 628; + this.label23.Text = "금액2"; + // + // td2_2 + // + this.td2_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td2_2.Location = new System.Drawing.Point(211, 39); + this.td2_2.Name = "td2_2"; + this.td2_2.Size = new System.Drawing.Size(90, 22); + this.td2_2.TabIndex = 4; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label24.Location = new System.Drawing.Point(166, 77); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(39, 15); + this.label24.TabIndex = 630; + this.label24.Text = "금액3"; + // + // td3_2 + // + this.td3_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td3_2.Location = new System.Drawing.Point(211, 74); + this.td3_2.Name = "td3_2"; + this.td3_2.Size = new System.Drawing.Size(90, 22); + this.td3_2.TabIndex = 6; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label26.Location = new System.Drawing.Point(166, 113); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(39, 15); + this.label26.TabIndex = 632; + this.label26.Text = "금액4"; + // + // td4_2 + // + this.td4_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td4_2.Location = new System.Drawing.Point(211, 110); + this.td4_2.Name = "td4_2"; + this.td4_2.Size = new System.Drawing.Size(90, 22); + this.td4_2.TabIndex = 8; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label27.Location = new System.Drawing.Point(166, 148); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(39, 15); + this.label27.TabIndex = 634; + this.label27.Text = "금액5"; + // + // td5_2 + // + this.td5_2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td5_2.Location = new System.Drawing.Point(211, 145); + this.td5_2.Name = "td5_2"; + this.td5_2.Size = new System.Drawing.Size(90, 22); + this.td5_2.TabIndex = 10; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label19.Location = new System.Drawing.Point(3, 179); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(39, 15); + this.label19.TabIndex = 624; + this.label19.Text = "분기6"; + // + // td6_1 + // + this.td6_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td6_1.Location = new System.Drawing.Point(48, 176); + this.td6_1.Name = "td6_1"; + this.td6_1.Size = new System.Drawing.Size(106, 22); + this.td6_1.TabIndex = 11; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label22.Location = new System.Drawing.Point(3, 7); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(39, 15); + this.label22.TabIndex = 602; + this.label22.Text = "분기1"; + // + // td1_1 + // + this.td1_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td1_1.Location = new System.Drawing.Point(48, 4); + this.td1_1.Name = "td1_1"; + this.td1_1.Size = new System.Drawing.Size(106, 22); + this.td1_1.TabIndex = 1; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label25.Location = new System.Drawing.Point(3, 42); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(39, 15); + this.label25.TabIndex = 606; + this.label25.Text = "분기2"; + // + // td2_1 + // + this.td2_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td2_1.Location = new System.Drawing.Point(48, 39); + this.td2_1.Name = "td2_1"; + this.td2_1.Size = new System.Drawing.Size(106, 22); + this.td2_1.TabIndex = 3; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label28.Location = new System.Drawing.Point(3, 77); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(39, 15); + this.label28.TabIndex = 608; + this.label28.Text = "분기3"; + // + // td3_1 + // + this.td3_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td3_1.Location = new System.Drawing.Point(48, 74); + this.td3_1.Name = "td3_1"; + this.td3_1.Size = new System.Drawing.Size(106, 22); + this.td3_1.TabIndex = 5; + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label29.Location = new System.Drawing.Point(3, 113); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(39, 15); + this.label29.TabIndex = 610; + this.label29.Text = "분기4"; + // + // td4_1 + // + this.td4_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td4_1.Location = new System.Drawing.Point(48, 110); + this.td4_1.Name = "td4_1"; + this.td4_1.Size = new System.Drawing.Size(106, 22); + this.td4_1.TabIndex = 7; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label30.Location = new System.Drawing.Point(3, 148); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(39, 15); + this.label30.TabIndex = 612; + this.label30.Text = "분기5"; + // + // td5_1 + // + this.td5_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.td5_1.Location = new System.Drawing.Point(48, 145); + this.td5_1.Name = "td5_1"; + this.td5_1.Size = new System.Drawing.Size(106, 22); + this.td5_1.TabIndex = 9; + // + // panel1 + // + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.label13); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.label12); + this.panel1.Controls.Add(this.t3); + this.panel1.Controls.Add(this.label11); + this.panel1.Controls.Add(this.t2); + this.panel1.Controls.Add(this.label5); + this.panel1.Controls.Add(this.label10); + this.panel1.Controls.Add(this.t4); + this.panel1.Controls.Add(this.label9); + this.panel1.Controls.Add(this.label6); + this.panel1.Controls.Add(this.t7_1); + this.panel1.Controls.Add(this.t5); + this.panel1.Controls.Add(this.t6_1); + this.panel1.Controls.Add(this.label7); + this.panel1.Controls.Add(this.t5_1); + this.panel1.Controls.Add(this.t6); + this.panel1.Controls.Add(this.t4_1); + this.panel1.Controls.Add(this.label8); + this.panel1.Controls.Add(this.t3_1); + this.panel1.Controls.Add(this.t7); + this.panel1.Location = new System.Drawing.Point(29, 45); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(311, 215); + this.panel1.TabIndex = 624; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label4.Location = new System.Drawing.Point(271, 185); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(31, 15); + this.label4.TabIndex = 604; + this.label4.Text = "기준"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label13.Location = new System.Drawing.Point(284, 147); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(21, 15); + this.label13.TabIndex = 623; + this.label13.Text = "%"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label3.Location = new System.Drawing.Point(147, 186); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(31, 15); + this.label3.TabIndex = 603; + this.label3.Text = "날짜"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label2.Location = new System.Drawing.Point(3, 7); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(39, 15); + this.label2.TabIndex = 602; + this.label2.Text = "구성1"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label12.Location = new System.Drawing.Point(284, 112); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(21, 15); + this.label12.TabIndex = 622; + this.label12.Text = "%"; + // + // t3 + // + this.t3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t3.Location = new System.Drawing.Point(48, 4); + this.t3.Name = "t3"; + this.t3.Size = new System.Drawing.Size(150, 22); + this.t3.TabIndex = 605; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label11.Location = new System.Drawing.Point(284, 77); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(21, 15); + this.label11.TabIndex = 621; + this.label11.Text = "%"; + // + // t2 + // + this.t2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t2.Location = new System.Drawing.Point(182, 182); + this.t2.Name = "t2"; + this.t2.Size = new System.Drawing.Size(86, 22); + this.t2.TabIndex = 592; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label5.Location = new System.Drawing.Point(3, 42); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(39, 15); + this.label5.TabIndex = 606; + this.label5.Text = "구성2"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label10.Location = new System.Drawing.Point(284, 42); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(21, 15); + this.label10.TabIndex = 620; + this.label10.Text = "%"; + // + // t4 + // + this.t4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t4.Location = new System.Drawing.Point(48, 39); + this.t4.Name = "t4"; + this.t4.Size = new System.Drawing.Size(150, 22); + this.t4.TabIndex = 607; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label9.Location = new System.Drawing.Point(284, 6); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(21, 15); + this.label9.TabIndex = 619; + this.label9.Text = "%"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label6.Location = new System.Drawing.Point(3, 77); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(39, 15); + this.label6.TabIndex = 608; + this.label6.Text = "구성3"; + // + // t7_1 + // + this.t7_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t7_1.Location = new System.Drawing.Point(221, 145); + this.t7_1.Name = "t7_1"; + this.t7_1.Size = new System.Drawing.Size(57, 22); + this.t7_1.TabIndex = 618; + // + // t5 + // + this.t5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t5.Location = new System.Drawing.Point(48, 74); + this.t5.Name = "t5"; + this.t5.Size = new System.Drawing.Size(150, 22); + this.t5.TabIndex = 609; + // + // t6_1 + // + this.t6_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t6_1.Location = new System.Drawing.Point(221, 110); + this.t6_1.Name = "t6_1"; + this.t6_1.Size = new System.Drawing.Size(57, 22); + this.t6_1.TabIndex = 617; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label7.Location = new System.Drawing.Point(3, 113); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(39, 15); + this.label7.TabIndex = 610; + this.label7.Text = "구성4"; + // + // t5_1 + // + this.t5_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t5_1.Location = new System.Drawing.Point(221, 74); + this.t5_1.Name = "t5_1"; + this.t5_1.Size = new System.Drawing.Size(57, 22); + this.t5_1.TabIndex = 616; + // + // t6 + // + this.t6.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t6.Location = new System.Drawing.Point(48, 110); + this.t6.Name = "t6"; + this.t6.Size = new System.Drawing.Size(150, 22); + this.t6.TabIndex = 611; + // + // t4_1 + // + this.t4_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t4_1.Location = new System.Drawing.Point(221, 39); + this.t4_1.Name = "t4_1"; + this.t4_1.Size = new System.Drawing.Size(57, 22); + this.t4_1.TabIndex = 615; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label8.Location = new System.Drawing.Point(3, 148); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(39, 15); + this.label8.TabIndex = 612; + this.label8.Text = "구성5"; + // + // t3_1 + // + this.t3_1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t3_1.Location = new System.Drawing.Point(221, 4); + this.t3_1.Name = "t3_1"; + this.t3_1.Size = new System.Drawing.Size(57, 22); + this.t3_1.TabIndex = 614; + // + // t7 + // + this.t7.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.t7.Location = new System.Drawing.Point(48, 145); + this.t7.Name = "t7"; + this.t7.Size = new System.Drawing.Size(150, 22); + this.t7.TabIndex = 613; + // + // panel2 + // + this.panel2.Controls.Add(this.ts5_4); + this.panel2.Controls.Add(this.ts5_3); + this.panel2.Controls.Add(this.ts5_2); + this.panel2.Controls.Add(this.ts5_1); + this.panel2.Controls.Add(this.label18); + this.panel2.Controls.Add(this.ts4_4); + this.panel2.Controls.Add(this.ts4_3); + this.panel2.Controls.Add(this.ts4_2); + this.panel2.Controls.Add(this.label16); + this.panel2.Controls.Add(this.ts4_1); + this.panel2.Controls.Add(this.ts3_4); + this.panel2.Controls.Add(this.ts3_3); + this.panel2.Controls.Add(this.ts3_2); + this.panel2.Controls.Add(this.label15); + this.panel2.Controls.Add(this.ts3_1); + this.panel2.Controls.Add(this.ts2_4); + this.panel2.Controls.Add(this.ts2_3); + this.panel2.Controls.Add(this.ts2_2); + this.panel2.Controls.Add(this.label14); + this.panel2.Controls.Add(this.ts2_1); + this.panel2.Controls.Add(this.ts1_4); + this.panel2.Controls.Add(this.ts1_3); + this.panel2.Controls.Add(this.ts1_2); + this.panel2.Controls.Add(this.label17); + this.panel2.Controls.Add(this.ts1_1); + this.panel2.Location = new System.Drawing.Point(29, 45); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(311, 223); + this.panel2.TabIndex = 625; + // + // ts5_4 + // + this.ts5_4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts5_4.Location = new System.Drawing.Point(237, 196); + this.ts5_4.Name = "ts5_4"; + this.ts5_4.Size = new System.Drawing.Size(69, 21); + this.ts5_4.TabIndex = 20; + // + // ts5_3 + // + this.ts5_3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts5_3.Location = new System.Drawing.Point(162, 196); + this.ts5_3.Name = "ts5_3"; + this.ts5_3.Size = new System.Drawing.Size(69, 21); + this.ts5_3.TabIndex = 19; + // + // ts5_2 + // + this.ts5_2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts5_2.Location = new System.Drawing.Point(83, 196); + this.ts5_2.Name = "ts5_2"; + this.ts5_2.Size = new System.Drawing.Size(69, 21); + this.ts5_2.TabIndex = 18; + // + // ts5_1 + // + this.ts5_1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts5_1.Location = new System.Drawing.Point(8, 196); + this.ts5_1.Name = "ts5_1"; + this.ts5_1.Size = new System.Drawing.Size(69, 21); + this.ts5_1.TabIndex = 17; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label18.Location = new System.Drawing.Point(7, 180); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(29, 14); + this.label18.TabIndex = 624; + this.label18.Text = "분기"; + // + // ts4_4 + // + this.ts4_4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts4_4.Location = new System.Drawing.Point(236, 155); + this.ts4_4.Name = "ts4_4"; + this.ts4_4.Size = new System.Drawing.Size(69, 21); + this.ts4_4.TabIndex = 16; + // + // ts4_3 + // + this.ts4_3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts4_3.Location = new System.Drawing.Point(161, 156); + this.ts4_3.Name = "ts4_3"; + this.ts4_3.Size = new System.Drawing.Size(69, 21); + this.ts4_3.TabIndex = 15; + // + // ts4_2 + // + this.ts4_2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts4_2.Location = new System.Drawing.Point(83, 156); + this.ts4_2.Name = "ts4_2"; + this.ts4_2.Size = new System.Drawing.Size(69, 21); + this.ts4_2.TabIndex = 14; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label16.Location = new System.Drawing.Point(6, 137); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(76, 14); + this.label16.TabIndex = 619; + this.label16.Text = "순이익 증가율"; + // + // ts4_1 + // + this.ts4_1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts4_1.Location = new System.Drawing.Point(7, 156); + this.ts4_1.Name = "ts4_1"; + this.ts4_1.Size = new System.Drawing.Size(69, 21); + this.ts4_1.TabIndex = 13; + // + // ts3_4 + // + this.ts3_4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts3_4.Location = new System.Drawing.Point(237, 111); + this.ts3_4.Name = "ts3_4"; + this.ts3_4.Size = new System.Drawing.Size(69, 21); + this.ts3_4.TabIndex = 12; + // + // ts3_3 + // + this.ts3_3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts3_3.Location = new System.Drawing.Point(160, 111); + this.ts3_3.Name = "ts3_3"; + this.ts3_3.Size = new System.Drawing.Size(69, 21); + this.ts3_3.TabIndex = 11; + // + // ts3_2 + // + this.ts3_2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts3_2.Location = new System.Drawing.Point(83, 111); + this.ts3_2.Name = "ts3_2"; + this.ts3_2.Size = new System.Drawing.Size(69, 21); + this.ts3_2.TabIndex = 10; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label15.Location = new System.Drawing.Point(5, 94); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(76, 14); + this.label15.TabIndex = 614; + this.label15.Text = "순자산 증가율"; + // + // ts3_1 + // + this.ts3_1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts3_1.Location = new System.Drawing.Point(7, 111); + this.ts3_1.Name = "ts3_1"; + this.ts3_1.Size = new System.Drawing.Size(69, 21); + this.ts3_1.TabIndex = 9; + // + // ts2_4 + // + this.ts2_4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts2_4.Location = new System.Drawing.Point(237, 67); + this.ts2_4.Name = "ts2_4"; + this.ts2_4.Size = new System.Drawing.Size(69, 21); + this.ts2_4.TabIndex = 8; + // + // ts2_3 + // + this.ts2_3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts2_3.Location = new System.Drawing.Point(160, 67); + this.ts2_3.Name = "ts2_3"; + this.ts2_3.Size = new System.Drawing.Size(69, 21); + this.ts2_3.TabIndex = 7; + // + // ts2_2 + // + this.ts2_2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts2_2.Location = new System.Drawing.Point(84, 67); + this.ts2_2.Name = "ts2_2"; + this.ts2_2.Size = new System.Drawing.Size(69, 21); + this.ts2_2.TabIndex = 6; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label14.Location = new System.Drawing.Point(3, 49); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(87, 14); + this.label14.TabIndex = 609; + this.label14.Text = "영업이익 증가율"; + // + // ts2_1 + // + this.ts2_1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts2_1.Location = new System.Drawing.Point(7, 67); + this.ts2_1.Name = "ts2_1"; + this.ts2_1.Size = new System.Drawing.Size(69, 21); + this.ts2_1.TabIndex = 5; + // + // ts1_4 + // + this.ts1_4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts1_4.Location = new System.Drawing.Point(236, 24); + this.ts1_4.Name = "ts1_4"; + this.ts1_4.Size = new System.Drawing.Size(69, 21); + this.ts1_4.TabIndex = 4; + // + // ts1_3 + // + this.ts1_3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts1_3.Location = new System.Drawing.Point(160, 24); + this.ts1_3.Name = "ts1_3"; + this.ts1_3.Size = new System.Drawing.Size(69, 21); + this.ts1_3.TabIndex = 3; + // + // ts1_2 + // + this.ts1_2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts1_2.Location = new System.Drawing.Point(84, 24); + this.ts1_2.Name = "ts1_2"; + this.ts1_2.Size = new System.Drawing.Size(69, 21); + this.ts1_2.TabIndex = 2; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label17.Location = new System.Drawing.Point(6, 7); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(76, 14); + this.label17.TabIndex = 602; + this.label17.Text = "매출액 증가율"; + // + // ts1_1 + // + this.ts1_1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ts1_1.Location = new System.Drawing.Point(8, 24); + this.ts1_1.Name = "ts1_1"; + this.ts1_1.Size = new System.Drawing.Size(69, 21); + this.ts1_1.TabIndex = 1; + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnok.Location = new System.Drawing.Point(504, 932); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(77, 27); + this.btnok.TabIndex = 614; + this.btnok.Text = "나가기"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(504, 205); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(89, 53); + this.dataGridView1.TabIndex = 616; + this.dataGridView1.Visible = false; + // + // panel10 + // + this.panel10.BackColor = System.Drawing.Color.White; + this.panel10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel10.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel10.Location = new System.Drawing.Point(12, 350); + this.panel10.Name = "panel10"; + this.panel10.Size = new System.Drawing.Size(470, 1); + this.panel10.TabIndex = 617; + // + // GraphE + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(623, 966); + this.Controls.Add(this.panel10); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.btnok); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.btnAdd); + this.Controls.Add(this.btnall); + this.Controls.Add(this.btndel); + this.Controls.Add(this.FpSpread1); + this.Controls.Add(this.downSearch); + this.Controls.Add(this.upSearch); + this.Controls.Add(this.txt1); + this.Controls.Add(this.pictureBox); + this.Controls.Add(this.gb); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "GraphE"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "주요매출 구성 원그래프"; + this.Load += new System.EventHandler(this.GraphE_Load); + this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.GraphE_KeyPress); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.gb.ResumeLayout(false); + this.gb.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox; + private System.Windows.Forms.Button upSearch; + private System.Windows.Forms.TextBox txt1; + private System.Windows.Forms.Button downSearch; + public FarPoint.Win.Spread.FpSpread FpSpread1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2; + private System.Windows.Forms.Button btndel; + private System.Windows.Forms.Button btnall; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.GroupBox gb; + private System.Windows.Forms.TextBox t2; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox t7_1; + private System.Windows.Forms.TextBox t6_1; + private System.Windows.Forms.TextBox t5_1; + private System.Windows.Forms.TextBox t4_1; + private System.Windows.Forms.TextBox t3_1; + private System.Windows.Forms.TextBox t7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox t6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox t5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox t4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox t3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox t1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button btadd; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Panel panel10; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox ts5_4; + private System.Windows.Forms.TextBox ts5_3; + private System.Windows.Forms.TextBox ts5_2; + private System.Windows.Forms.TextBox ts5_1; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox ts4_4; + private System.Windows.Forms.TextBox ts4_3; + private System.Windows.Forms.TextBox ts4_2; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.TextBox ts4_1; + private System.Windows.Forms.TextBox ts3_4; + private System.Windows.Forms.TextBox ts3_3; + private System.Windows.Forms.TextBox ts3_2; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox ts3_1; + private System.Windows.Forms.TextBox ts2_4; + private System.Windows.Forms.TextBox ts2_3; + private System.Windows.Forms.TextBox ts2_2; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox ts2_1; + private System.Windows.Forms.TextBox ts1_4; + private System.Windows.Forms.TextBox ts1_3; + private System.Windows.Forms.TextBox ts1_2; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.TextBox ts1_1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.TextBox td6_2; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.TextBox td1_2; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.TextBox td2_2; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.TextBox td3_2; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.TextBox td4_2; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.TextBox td5_2; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.TextBox td6_1; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.TextBox td1_1; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.TextBox td2_1; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.TextBox td3_1; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.TextBox td4_1; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.TextBox td5_1; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/GraphE.cs b/MBN_STOCK_N/Form/GraphE.cs new file mode 100644 index 0000000..608fe1d --- /dev/null +++ b/MBN_STOCK_N/Form/GraphE.cs @@ -0,0 +1,615 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +//using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class GraphE : Form + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + int m_row = -1; + int m_idx = 0; + string m_table = string.Empty; + string m_query = string.Empty; + + bool[] sortAscending = new bool[6]; + public GraphE() + { + InitializeComponent(); + } + + + public GraphE(Form frm, int idx) + { + mf = (MainForm)frm; + m_idx = idx; + InitializeComponent(); + } + + private void GraphE_Load(object sender, EventArgs e) + { + FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + + FpSpread1.Height = 320; + FpSpread1.Width = 490; + FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[2]; + + int col = 0; + //int sindex = (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : 0))); + int sindex = (col == 0 ? 1 : (col == 3 ? 1 : (col == 5 ? 2 : 3))); + si[0] = new FarPoint.Win.Spread.SortInfo(col, sortAscending[sindex], System.Collections.Comparer.Default); + + sortAscending[sindex] = (sortAscending[sindex] == false ? true : false); + FpSpread1.Sheets[0].SortRange(0, 0, FpSpread1.Sheets[0].GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data), FpSpread1.Sheets[0].ColumnCount, true, si); + + sindex = (col == 0 ? 1 : (col == 3 ? 1 : (col == 5 ? 2 : 3))); + si[0] = new FarPoint.Win.Spread.SortInfo(col, sortAscending[sindex], System.Collections.Comparer.Default); + + sortAscending[sindex] = (sortAscending[sindex] == false ? true : false); + FpSpread1.Sheets[0].SortRange(0, 0, FpSpread1.Sheets[0].GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data), FpSpread1.Sheets[0].ColumnCount, true, si); + + if (m_idx == 0) + { + FpSpread1.Sheets[0].ColumnCount = 7; + m_query = "SELECT * FROM INPUT_PIE"; + m_table = "INPUT_PIE"; + + pictureBox.Image = Image.FromFile(mf.RES_FOLDER_PATH + "pie.bmp"); + + panel1.Visible = true; + panel2.Visible = false; + panel3.Visible = false; + panel3.Location = new Point(28, 46); + + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 0].Text = "종목"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 1].Text = "날짜"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 2].Text = "구성1"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 3].Text = "구성2"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 4].Text = "구성3"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 5].Text = "구성4"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 6].Text = "구성5"; + + this.Text = "주요매출 구성"; + } + else if (m_idx == 1) + { + FpSpread1.Sheets[0].ColumnCount = 6; + m_query = "SELECT * FROM INPUT_GROW"; + m_table = "INPUT_GROW"; + pictureBox.Image = Image.FromFile(mf.RES_FOLDER_PATH + "Grow.bmp"); + + panel1.Visible = false; + panel2.Visible = true; + panel3.Visible = false; + panel2.Location = new Point(28, 46); + + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 0].Text = "종목"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 1].Text = "구성1"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 2].Text = "구성2"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 3].Text = "구성3"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 4].Text = "구성4"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 5].Text = "분기"; + this.Text = "성장성 지표"; + } + else if (m_idx == 2) + { + FpSpread1.Sheets[0].ColumnCount = 7; + m_query = "SELECT * FROM INPUT_SELL"; + m_table = "INPUT_SELL"; + pictureBox.Image = Image.FromFile(mf.RES_FOLDER_PATH + "sell.bmp"); + panel1.Visible = false; + panel2.Visible = false; + panel3.Visible = true; + panel3.Location = new Point(28, 46); + + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 0].Text = "종목"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 1].Text = "구성1"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 2].Text = "구성2"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 3].Text = "구성3"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 4].Text = "구성4"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 5].Text = "구성5"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 6].Text = "구성6"; + this.Text = "매출액"; + } + else if (m_idx == 3) + { + FpSpread1.Sheets[0].ColumnCount = 7; + m_query = "SELECT* FROM INPUT_PROFIT"; + m_table = "INPUT_PROFIT"; + pictureBox.Image = Image.FromFile(mf.RES_FOLDER_PATH + "profit.bmp"); + panel1.Visible = false; + panel2.Visible = false; + panel3.Visible = true; + panel3.Location = new Point(28, 46); + + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 0].Text = "종목"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 1].Text = "구성1"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 2].Text = "구성2"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 3].Text = "구성3"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 4].Text = "구성4"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 5].Text = "구성5"; + FpSpread1.Sheets[0].ColumnHeader.Cells[0, 6].Text = "구성6"; + this.Text = "영업이익"; + } + + Data_Init(); + FpSpread1.Focus(); + + + } + + private void Data_Init() + { + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + mf.m_db.ViewQuery(dataGridView1, "SELECT* FROM " + m_table + ""); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 2); + + for (int j = 0; j < FpSpread1.ActiveSheet.ColumnCount; j++) + { + FpSpread1.ActiveSheet.SetText(i, j, dataGridView1.Rows[i].Cells[j].Value.ToString()); + + } + } + + ///--------- + } + private void Data_Load(int row) + { + TextBox Tb_1 = null; + TextBox Tb_2 = null; + TextBox Tb_3 = null; + TextBox Tb_4 = null; + m_row = row; + + t1.Text = FpSpread1.ActiveSheet.GetText(row, 0); + if (m_idx == 0) + { + + t2.Text = FpSpread1.ActiveSheet.GetText(row, 1); + + for (int i = 2; i <= 6; i++) + { + string[] rs = FpSpread1.ActiveSheet.GetText(row, i).Split('_'); + + if (i == 2) + { Tb_1 = t3; Tb_2 = t3_1; } + else if (i == 3) + { Tb_1 = t4; Tb_2 = t4_1; } + else if (i == 4) + { Tb_1 = t5; Tb_2 = t5_1; } + else if (i == 5) + { Tb_1 = t6; Tb_2 = t6_1; } + else if (i == 6) + { Tb_1 = t7; Tb_2 = t7_1; } + + + Tb_1.Text = rs[0]; + Tb_2.Text = rs[1]; + } + } + else if (m_idx == 1) + { + for (int i = 1; i <= 5; i++) + { + string[] rs = FpSpread1.ActiveSheet.GetText(row, i).Split('_'); + + if (i == 1) + { Tb_1 = ts1_1; Tb_2 = ts1_2; Tb_3 = ts1_3; Tb_4 = ts1_4; } + else if (i == 2) + { Tb_1 = ts2_1; Tb_2 = ts2_2; Tb_3 = ts2_3; Tb_4 = ts2_4; } + else if (i == 3) + { Tb_1 = ts3_1; Tb_2 = ts3_2; Tb_3 = ts3_3; Tb_4 = ts3_4; } + else if (i == 4) + { Tb_1 = ts4_1; Tb_2 = ts4_2; Tb_3 = ts4_3; Tb_4 = ts4_4; } + else if (i == 5) + { Tb_1 = ts5_1; Tb_2 = ts5_2; Tb_3 = ts5_3; Tb_4 = ts5_4; } + + + Tb_1.Text = rs[0]; + Tb_2.Text = rs[1]; + Tb_3.Text = rs[2]; + Tb_4.Text = rs[3]; + } + } + else + { + for (int i = 1; i <= 6; i++) + { + string[] rs = FpSpread1.ActiveSheet.GetText(row, i).Split('_'); + + if (i == 1) + { Tb_1 = td1_1; Tb_2 = td1_2; } + else if (i == 2) + { Tb_1 = td2_1; Tb_2 = td2_2; } + else if (i == 3) + { Tb_1 = td3_1; Tb_2 = td3_2; } + else if (i == 4) + { Tb_1 = td4_1; Tb_2 = td4_2; } + else if (i == 5) + { Tb_1 = td5_1; Tb_2 = td5_2; } + else if (i == 6) + { Tb_1 = td6_1; Tb_2 = td6_2; } + + + Tb_1.Text = rs[0]; + Tb_2.Text = rs[1]; + + } + } + + } + + + private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + try + { + if (e.ColumnHeader) + { + //if (e.Column == 0) + //{ + FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[2]; + + //int sindex = (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : 0))); + int sindex = (e.Column == 1 ? 0 : (e.Column == 3 ? 1 : (e.Column == 5 ? 2 : 3))); + si[0] = new FarPoint.Win.Spread.SortInfo(0, sortAscending[3], System.Collections.Comparer.Default); + + sortAscending[3] = (sortAscending[3] == false ? true : false); + FpSpread1.Sheets[0].SortRange(0, 0, FpSpread1.Sheets[0].GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data)+1, FpSpread1.Sheets[0].ColumnCount, true, si); + //} + + } + else + { + Data_Load(e.Row); + } + } + catch(Exception) + { + + } + + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + if (txtSearch.Text == "") return; + mf.searchStock(listBox, txtSearch); + } + } + + private void btnsearch_Click(object sender, EventArgs e) + { + if (txtSearch.Text == "") return; + mf.searchStock(listBox, txtSearch); + } + + private void listBox_DoubleClick(object sender, EventArgs e) + { + t1.Text = (string)listBox.SelectedItem; + + if (m_idx == 0) + { + t2.Text = ""; t3.Text = ""; t3_1.Text = ""; + t4.Text = ""; t4_1.Text = ""; t5.Text = ""; t5_1.Text = ""; + t6.Text = ""; t6_1.Text = ""; t7.Text = ""; t7_1.Text = ""; + } + else if (m_idx == 1) + { + ts1_1.Text = ""; ts1_2.Text = ""; ts1_3.Text = ""; ts1_4.Text = ""; + ts2_1.Text = ""; ts2_2.Text = ""; ts2_3.Text = ""; ts2_4.Text = ""; + ts3_1.Text = ""; ts3_2.Text = ""; ts3_3.Text = ""; ts3_4.Text = ""; + ts4_1.Text = ""; ts4_2.Text = ""; ts4_3.Text = ""; ts4_4.Text = ""; + ts5_1.Text = ""; ts5_2.Text = ""; ts5_3.Text = ""; ts5_4.Text = ""; + + } + else + { + td1_1.Text = ""; td1_2.Text = ""; + td2_1.Text = ""; td2_2.Text = ""; + td3_1.Text = ""; td3_2.Text = ""; + td4_1.Text = ""; td4_2.Text = ""; + td5_1.Text = ""; td5_2.Text = ""; + td6_1.Text = ""; td6_2.Text = ""; + + } + } + + + //위로찾기 + private void upSearch_Click(object sender, EventArgs e) + { + if (txt1.Text == "") return; + + for (int i = m_row - 1; i > 0; i--) + { + if (FpSpread1.ActiveSheet.GetText(i, 0).Contains(txt1.Text.Trim().ToUpper())) + { + m_row = i; + + FpSpread1.ActiveSheet.SetActiveCell(m_row, 0); + FpSpread1.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Center, FarPoint.Win.Spread.HorizontalPosition.Center); + + Cell_ColorA(m_row); + Data_Load(m_row); + + break; + } + } + + } + + + //아래로 찾기 + private void downSearch_Click(object sender, EventArgs e) + { + if (txt1.Text == "") return; + + for (int i = m_row+1; i< FpSpread1.ActiveSheet.RowCount; i++) + { + if (FpSpread1.ActiveSheet.GetText(i, 0).Contains(txt1.Text.Trim().ToUpper())) + { + m_row = i; + + + FpSpread1.ActiveSheet.SetActiveCell(m_row, 0); + FpSpread1.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Bottom, FarPoint.Win.Spread.HorizontalPosition.Center); + + Cell_ColorA(m_row); + Data_Load(m_row); + break; + } + } + } + + private void Cell_ColorA(int row) + { + FpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; + FpSpread1.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range; + FpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell; + + for (int i = 1; i <= 6; i++) + { + FpSpread1.ActiveSheet.AddSelection(row, 0, 1, i); + } + FpSpread1.ActiveSheet.SelectionBackColor = Color.FromArgb(233, 235, 240); + FpSpread1.ActiveSheet.SelectionForeColor = Color.Black; + + } + + private void btndel_Click(object sender, EventArgs e) + { + if (m_row == -1) return; + + if (MessageBox.Show("선택한 종목을 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + mf.m_db.ExecuteQuery("DELETE FROM " + m_table + " WHERE STOCK_NAME = '" + FpSpread1.ActiveSheet.GetText(m_row, 0) + "'"); + FpSpread1.ActiveSheet.RemoveRows(FpSpread1.ActiveSheet.ActiveRowIndex, 1); + + } + + } + + private void btnall_Click(object sender, EventArgs e) + { + if (MessageBox.Show("모든 종목을 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true); + + mf.m_db.ExecuteQuery("DELETE FROM " + m_table + ""); + + if (FpSpread1.ActiveSheet.RowCount != 0) + FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount); + + } + } + + + //추가 + private void btadd_Click(object sender, EventArgs e) + { + string query = string.Empty; + bool bStockExist = false; + int row = 0; + + + try + { + if (t1.Text == "") + { + MessageBox.Show("종목을 선택하세요"); + return; + } + + for (int i = 0; i < FpSpread1.ActiveSheet.RowCount; i++) + { + if (FpSpread1.ActiveSheet.GetText(i, 0).Trim() == t1.Text.Trim()) + { + bStockExist = true; + row = i; + break; + + } + } + + if (bStockExist) //update + { + if (m_idx == 0) + { + query = "UPDATE INPUT_PIE SET BASE_DATE ='" + t2.Text + "',"; + query = query + " GUSUNG_1 = '" + t3.Text + "_" + t3_1.Text + "',"; + query = query + " GUSUNG_2 = '" + t4.Text + "_" + t4_1.Text + "',"; + query = query + " GUSUNG_3 = '" + t5.Text + "_" + t5_1.Text + "',"; + query = query + " GUSUNG_4 = '" + t6.Text + "_" + t6_1.Text + "',"; + query = query + " GUSUNG_5 = '" + t7.Text + "_" + t7_1.Text + "'"; + query = query + " WHERE STOCK_NAME = '" + t1.Text + "'"; + } + else if (m_idx == 1) + { + query = "UPDATE INPUT_GROW SET BASE_DATE = '" + ts5_1.Text + "_" + ts5_2.Text + "_" + ts5_3.Text + "_" + ts5_4.Text + "',"; + query = query + " GUSUNG_1 = '" + ts1_1.Text + "_" + ts1_2.Text + "_" + ts1_3.Text + "_" + ts1_4.Text + "',"; + query = query + " GUSUNG_2 = '" + ts2_1.Text + "_" + ts2_2.Text + "_" + ts2_3.Text + "_" + ts2_4.Text + "',"; + query = query + " GUSUNG_3 = '" + ts3_1.Text + "_" + ts3_2.Text + "_" + ts3_3.Text + "_" + ts3_4.Text + "',"; + query = query + " GUSUNG_4 = '" + ts4_1.Text + "_" + ts4_2.Text + "_" + ts4_3.Text + "_" + ts4_4.Text + "'"; + query = query + " WHERE STOCK_NAME = '" + t1.Text + "'"; + } + else + { + query = "UPDATE " + m_table + " SET GUSUNG_1 ='" + td1_1.Text + "_" + td1_2.Text + "',"; + query = query + " GUSUNG_2 = '" + td2_1.Text + "_" + td2_2.Text + "',"; + query = query + " GUSUNG_3 = '" + td3_1.Text + "_" + td3_2.Text + "',"; + query = query + " GUSUNG_4 = '" + td4_1.Text + "_" + td4_2.Text + "',"; + query = query + " GUSUNG_5 = '" + td5_1.Text + "_" + td5_2.Text + "',"; + query = query + " GUSUNG_6 = '" + td6_1.Text + "_" + td6_2.Text + "'"; + query = query + " WHERE STOCK_NAME = '" + t1.Text + "'"; + } + + } + else //insert + { + if (m_idx == 0) + { + query = "INSERT INTO INPUT_PIE VALUES('" + t1.Text + "', '" + t2.Text + "',"; + query = query + "'" + t3.Text + "_" + t3_1.Text + "',"; + query = query + "'" + t4.Text + "_" + t4_1.Text + "',"; + query = query + "'" + t5.Text + "_" + t5_1.Text + "',"; + query = query + "'" + t6.Text + "_" + t6_1.Text + "',"; + query = query + "'" + t7.Text + "_" + t7_1.Text + "')"; + } + else if (m_idx == 1) + { + query = "INSERT INTO " + m_table + " VALUES('" + t1.Text + "',"; + query = query + "'" + ts1_1.Text + "_" + ts1_2.Text + "_" + ts1_3.Text + "_" + ts1_4.Text + "',"; + query = query + "'" + ts2_1.Text + "_" + ts2_2.Text + "_" + ts2_3.Text + "_" + ts2_4.Text + "',"; + query = query + "'" + ts3_1.Text + "_" + ts3_2.Text + "_" + ts3_3.Text + "_" + ts3_4.Text + "',"; + query = query + "'" + ts4_1.Text + "_" + ts4_2.Text + "_" + ts4_3.Text + "_" + ts4_4.Text + "',"; + query = query + "'" + ts5_1.Text + "_" + ts5_2.Text + "_" + ts5_3.Text + "_" + ts5_4.Text + "')"; + } + else + { + query = "INSERT INTO " + m_table + " VALUES('" + t1.Text + "',"; + query = query + "'" + td1_1.Text + "_" + td1_2.Text + "',"; + query = query + "'" + td2_1.Text + "_" + td2_2.Text + "',"; + query = query + "'" + td3_1.Text + "_" + td3_2.Text + "',"; + query = query + "'" + td4_1.Text + "_" + td4_2.Text + "',"; + query = query + "'" + td5_1.Text + "_" + td5_2.Text + "',"; + query = query + "'" + td6_1.Text + "_" + td6_2.Text + "')"; + } + + } + + mf.m_db.ExecuteQuery(query); + Data_Init(); + + FpSpread1.ActiveSheet.SetActiveCell(m_row, 0); + FpSpread1.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Center, FarPoint.Win.Spread.HorizontalPosition.Center); + + Cell_ColorA(m_row); + Data_Load(m_row); + + if (mf.m_db.m_su) + { + MessageBox.Show("저장되었습니다"); + } + else + { + MessageBox.Show("저장 Error - DB연결을 확인하세요"); + } + } + catch(Exception) + { + + } + + } + + + // + private void btnok_Click(object sender, EventArgs e) + { + Close(); + } + + public void Select_Item(int nrow) + { + string str = string.Empty; + + if (nrow != -1) + { + int row = mf.PlayList.ActiveSheet.RowCount + 1; + + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + + + str = mf.jongmokCode(FpSpread1.ActiveSheet.GetText(nrow, 0)); + string data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); + + mf.PlayList.ActiveSheet.SetText(row - 1, 1, data4); //코스피, 코스닥 체크 + + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 0)); + + if (m_idx == 0) + str = "주요매출 구성"; + else if (m_idx == 1) + str = "성장성 지표"; + else if (m_idx == 2) + str = "매출액"; + else if (m_idx == 3) + str = "영업이익"; + + mf.PlayList.ActiveSheet.SetText(row - 1, 3, str); + mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + + FpSpread1.Focus(); + } + } + + private void FpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + if (!e.ColumnHeader) + { + Select_Item(e.Row); + Close(); + } + } + + private void btnAdd_Click(object sender, EventArgs e) + { + Select_Item(m_row); + } + + private void GraphE_KeyPress(object sender, KeyPressEventArgs e) + { + + } + + private void txt1_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + downSearch_Click(null, null); + } + } + + } +} diff --git a/MBN_STOCK_N/Form/GraphE.resx b/MBN_STOCK_N/Form/GraphE.resx new file mode 100644 index 0000000..035dc8e --- /dev/null +++ b/MBN_STOCK_N/Form/GraphE.resx @@ -0,0 +1,6622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + Qk327gUAAAAAADYAAAAoAAAA4AEAAA4BAAABABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4t7X497Y + 497X497Y497Y49/Y5N7Y5N7Y5N7Y5N/Y5d/Z5N/Z5N/Y5eDZ5eDZ5ODZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ + 5eDa5eDZ5eDa5eDa5eDa5eDa5eDa5eDa5ODZ5ODa5ODa5ODa5eDa5eHa5eDa5eDa5eHa5eHa5eHa5ODa + 5eHa5eHa5eHa5eHa5eDa5eDa5uHa5uHb5uDb5uDb5uHb5uHb5uHb5uDb5uHb5uHb5uHb5uHb5+Lc5uHc + 5uHc5uHc5+Lc5+Lc5+Lc5+Lb6OLc5+Lb5+Lc6OLc5+Lb5+Lb6OLc6OLc6OLc6OLc5+Lc5+Lc5+Lc5+Lc + 6OLd5+Lc5+Lc5+Lc6OLc6OLd5+Lc6OLd6OLd6OLd6OPd6OPe6OPd6OPe6OPd6ePe6OTe6eTe6ePe6eTe + 6OTe6eTe6eTe6eTe6ePe6ePe6OPe6eTe6eTe6eTe6OTe6OPd6OTd6eTe6OTe6eTe6OTd6OTd6eTe6eXe + 6eTe6eXe6eXe6eTe6eTe6uXf6uXe6uTe6uXf6uXf6uXf6uXf6uXf6ubf6uXf6ubf6ubf6uXf6ubf6ubf + 6uXf6uXf6uXf6ubf6ubf6ubg6ubg6ubg6+bg6+bg6+bg6ubf6+bg6+bg6+bg6+bg6ubg6+fg6+fg6+bg + 6+fg6+bg6+fg6+fg6+fg6+fg6+fg6+fg7Ofh6+fg6+fg6+fg7Ofh7Ofh7Ofh7Ofg7Ofh6+fg7Ofh7Ojh + 7Ofh7Oji7Ofh7efi7Ofh7Ofi7Ojh7Oji7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh + 7Ofh7Ofh7Ofh7Ofi7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Obh7Obh7Obh7Obh7Obh7Obh7Obg + 7Obh7Obh7Obh7Obh7Obh7Obh7Obh7Obh7Obh7Ofh7Ofh7Obh7Ofh7Ofh7Ofh7Obi7Ofh7efi7Ofh7Ofi + 7Ofh7efi7efi7eji7eji7efi7eji7eji7uji7uni7uni7+nj8Ork8Ovk8evl8uzm8uzm8+3n9O/o9O/p + 9fDq9vHr9/Ls+PLs+PTt+PPt+PPt+PPt+PPt+PPt+PPt+PPt9/Ls9vHr9fDq9O/p8+/o8u7n8u3m8ezl + 8Ovk8Ork7+rj7+nj7uji7uji7uji7uji7uji7efh7efh7Ofg7efh7Ofg7Ofg7Obg7Obg7Obg7Obg7Obg + 7Obg6+bf6+bf7Obg7Obg7Obg7Obg7Obg7Ofg7Obg7Ofg7Obg7Obg7Obg7Obg7Obg7Obg7Ofg7Ofg7Obg + 7Ofh7Ofh7Obg7Ofh7Ofh6+bg6+bg6+bg6+bg6+bg6ubg6+bg6ubf6ubf6ubf6ubf6ubf6+bg6ubf6ubg + 6+Xg6+bg6uXf6+bg6+bg6uXg6+Xg6+Xg6uTf6uXf6uXf6eTe6uXf6eTe6uTf6eTe6uTe6uTe6uXe6uXe + 6uXe6uXe6uXe6uXe6uXe6uXe6uXe6uTe6uXe6uXe6uTe6eTd6eTd6eTd6eTd6eTd6eTd6eTd6eTd6OPc + 6eTd6eTd6ePd6eTd6eTd6ePd6eTd6eTd6ePd6eTd6eTd6eTd6eTd6ePd6ePd6ePd6ePd6eTd6ePd6ePd + 6ePd6eTd6ePd6eTd6OPc6ePd6OPc6eTd6ePd6OPc6OPc6ePd6ePd6ePd6ePd6OPc6OPc6OPc6OLc6OLc + 6OLc5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Hb5uHa5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Hb5+Lb5+Lb5+Hb5+Lb + 5+Lb5+Hb5+Lb5+Lb5uHa5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5uLa5uLa5+Lb5+Hb5uHa5uHa5+Hb5uHa + 5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uDa5uDa5uHa5eDZ5eDZ5uDa5eDZ5uDa5eDZ5eDZ5eDZ4t/Y497Y + 49/Y5N/Z5ODY5N/Z5N/Z5N/Z5N/Z5d/Z5d/Z5eDZ5eDZ5d/Z5eDZ5d/Z5d/Z5eDZ5eDZ5eDa5eDa5eDa + 5eDa5eDa5eDa5eDa5uHa5eHa5uHa5uHb5eHa5uHa5eHa5eHa5eHa5eHa5eHa5uLb5uHb5eHa5eHa5eHa + 5uLb5eHa5uHb5uHb5uHb5uLc5uHb5uHb5uHc5uHb5uHb5uHb5uHb5uHb5uHb5+Hc5+Lc5+Lc5+Lc5+Hc + 5+Lc5+Lc6OLc6OLc6OPd6OPc6OPd5+Pc6OPc6OLc6OPc6OLc6OPc6OPc6OPc6OPd6OPc6OPc6OPd6OLd + 6OLd6OPd6OPd6OLd6OLd6OPd6OLd6ePe6OLd6ePe6ePe6ePe6eTe6eTe6ePe6eTe6uTf6uTe6uTf6eTe + 6uTf6uTf6uTf6uTf6uTf6uTf6uTf6uTe6eTe6uTe6eTe6uTf6eTe6eTe6eTe6eTe6uXf6eXe6uTe6uXf + 6eXe6eXe6uXf6eXe6uXf6uXf6eXe6uXe6uXe6ubf6ubf6ubf6ubf6ubf6+bg6+bg6ubf6+bg6ubg6+bg + 6+bg6+fg6+bg6+bg6+fg7Ofh6+fg7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ojh6+fg7Ofh7Ojh7Ofh7Ofg + 7Ofh7Ofh7Ofh7Ofh7Ojh7Ojh7Ojh7Ofh7Ojh7Ofh7Ojh7Ojh7Ofh7Ojh7Ojh7Ofh7eji7eji7eji7eji + 7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7uji7ujj7ujj7ujj7uji7eji7eji7eji7eji + 7eji7eji7eji7efi7eji7Ofh7eji7Oji7eji7eji7efi7efi7Ofh7Ofh7efi7Ofh7Ofh7Ofh7Obh7Obh + 7Ofi7efi7efi7efi7ebi7Ofi7efi7efi7eji7eji7eji7eji7ufj7eji7eji7eji7eji7eji7efi7eji + 7efi7eji7eji7uji7eji7eji7eji7uji7ujj7uni7uni7+nj7+rj8Ork8evl8uzm8uzm8+3n9O7o9PDp + 9fDq9vLs9/Ls+PPt+PPt+PTt+PPt+PPt+PPt+PPt+PPt9/Ps9/Ls9vLr9PHq9PDp8+/o8+7n8u3m8ezl + 8evl8Ovk8Ork7+rj7+nj7+nj7+nj7uji7uji7uni7uji7ejh7uji7ejh7ejh7ejh7ejh7Ofg7efh7efh + 7Ofg7ebh7efh7efh7efh7efh7efh7efh7efh7Ofg7efh7efh7Ofg7efh7Obg7Ofg7Ofg7Ofg7Ofh7Ofh + 7Ofh7ejh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh6+fg6+fg6+bg6+fg6+fg6+fg6+bg6+bg6+bg7Obg + 6+bg6+bg6+bg6+bg6+bg7Obh6+bg6+bg6+bg6+Xg6+Xg6+bg6uTf6uXf6uXf6uXf6uXf6+Xf6uXf6+bf + 6+Xf6+Xf6+bf6+bf6+bf6+bf6uXe6+bf6uXe6+Xf6ube6uXe6uXe6uXe6uXe6uXe6uTe6eXd6uXe6eTd + 6uXe6uTe6eXd6uXe6uTe6uTe6uTe6uTe6uTe6uTe6uXe6uXe6uTe6uTe6uTe6uTe6uTe6uTe6uTe6uXe + 6uTe6uXe6uXe6uTe6uTe6uXe6uTe6uTe6eTd6ePd6ePd6ePd6eTd6eTd6eTd6OTc6ePd6OPc6OPc6OPc + 6OPc5+Lb6OLc5+Lb5+Lb5+Hb5+Lb5+Hb5+Lb5+Lb6OLc6OLc5+Lb5+Lb5+Lb6OLc6OLc6OLc6OLc5+Lb + 6OLc6OLc6OLc6OLc5+Lb6OLc6OLc5+Lb5+Lb6OLc5+Lb5+Lb5+Lb5+Lb5+Lb5+Hb5+Lb5+Hb5uHa5uHa + 5+Hb5+Hb5uHa5+Lb5uHa5+Hb5uHa5uDa5uHa5uHa5+Hb5uHa5+Hb5uDa5uHa5uDa5uDa5uHa4t/Y5N/Z + 49/Y5ODZ5ODZ5eDZ5N/Z5eDZ5eDZ5eDZ5uDa5eDZ5eDZ5d/Z5d/Z5uDa5eDZ5uDa5eDZ5eDa5uDa5uDa + 5eHa5eHa5eHa5uDa5uHb5uHb5eHa5eHa5eHa5uHb5uHb5uLb5uLb5uHb5uHb5uLb5uLb5uLb5uLb5uLb + 5uHb5uLb5uLb5uLb5uHc5uLc5+Hc5uHc5+Lc5+Lc5+Hc5+Lc5+Lc5+Hc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc + 6OLd5+Lc6OLc5+Lc6OLd6OLd5+Lc6OLd6OLc6OLc6OPc5+Lc6OLc6OPc6OPc6OPd6OPd6OPd6OPd6OPd + 6OPe6OPd6OPd6OPd6OPe6OPd6OPd6OPd6OPd6ePe6eTe6eTe6eTe6eTe6ePe6eTe6ePe6eTe6uTf6uTf + 6eTe6eTe6eTe6uTf6eTe6uTe6uTf6eTe6uTf6eTe6uTf6uTf6uTf6uXf6eTe6eXe6uXf6uXf6uXf6+bg + 6uXf6eXe6uXf6ubf6ubf6ubf6ubf6ubf6ubf6ubf6ubf6ubf6+bg6+fg6+bg6+fg6+bg6+bg7Ofh6+fg + 6+fg6+fg6+fg6+fg6+fg7Ofh6+fg7Ojh7Ojh7Ofh7Ojh7Ofh7eji7Ojh7Ojh7eji7eji7Oji7eji7efi + 7Oji7Oji7Ofh7eji7eji7eji7Ofh7Oji7efi7eji7Ojh7Ojh7Ojh7Ojh7eji7eji7Ojh7Ojh7eji7eji + 7Oji7eji7eji7eji7eji7eji7ujj7ujj7uji7ujj7uji7eji7ujj7eji7ujj7ujj7eji7ujj7eji7ujj + 7ujj7ujj7efi7efi7efi7eji7efi7ujj7eji7efi7ujj7efi7eji7efi7eji7efi7eji7efi7efi7eji + 7efi7ujj7eji7uji7eji7eji7unj7ujj7ujj7unj7unj7unj7unj7unj7ujj7unj7ujj7eji7ujj7eji + 7ujj7eji7eji7ujj7ujj7ujj7eji7unj7ujj7unj7uni7+nj8Orj8Ovk8Ovl8uzm8u3m9O7o9O/o9fDq + 9fHq9vHr9/Ls+PPt+PPt+PTt+PPt+PPt+PTt+PPt+PPt9/Ps9vLr9vLr9fHq9PDp8+/o8+7o8u3n8ezl + 8ezl8ezl8Ork8Ork7+rj7+rj7+nj7+nj7+nj7uni7uni7uni7uni7uji7uji7ejh7uji7uji7ejh7ejh + 7ejh7ejh7ejh7efh7ejh7ejh7ejh7efh7uji7ejh7ejh7efh7efh7ejh7ejh7efh7efh7Ofh7efh7eji + 7Ofh7Ofi7Ofh7Ofh7Ofh7Ofh7eji6+fg7Ojh6+fg6+fg7Ofh6+fg6+fg6+fg6+fg7Ofg7Obh6+fg7Obh + 7Obh7Obh7Ofh7Obh7Ofh6+bg7Ofh7Obh7Obh6+bg6+bg6+Xg6+bf6+Xg6+Xf6+Xg6+bg6+Xg6+bg7Obg + 6+bf6+Xf7Obg7Obg6+bf7Obg6+bf6+bf6+bf6+bf6+Xf6+bf6uXe6+bf6ube6+Xf6uXe6+Xf6uTe6uXe + 6uXe6uTe6uTe6uXe6uTe6uTe6uTe6uTe6uXe6uTe6uTe6uXe6uXe6uXe6uXe6+bf6+Xf6+Xf6uXe6ube + 6uXe6uXe6+Xf6uXe6uXe6uTe6uXe6eTd6uTe6eTd6eTd6uTe6eTd6eTd6eTd6ePd6ePd6ePd6eTd6OPc + 6OPc6OPc6OPc5+Lb5+Lb5+Lb6OLc5+Lb5+Lb5+Lb5+Lb6OLc6OPc6OPc6OPc6OPc6OLc6OPc6OLc6OLc + 6OLc6OLc6OPc6OPc6OPc6OPc6OLc6OLc5+Lb5+Lb5+Lb5+Lb6OLc5+Lb5+Lb5+Lb5uHa5+Lb5+Lb5uLa + 5uHa5uHa5uHa5+Hb5+Hb5+Hb5uHa5uHa5+Hb5+Db5uHa5uHa5uHa5uHa5uDa5uHa5uDa5uHa49/Y5N/Z + 5N/Z5ODZ5eDZ5N/Z5d/Z5eDa5d/Z5eDZ5eDZ5eDZ5eDZ5eDZ5uDa5eDZ5uDa5uDa5uHa5uDa5uHa5uHa + 5uHa5uHa5uHa5uHa5uLb5uHb5uHb5uLa5uLb5uLb5uLb5uLb5uLb5uLb5uLb5uLb5uLb5uLc5uLb5uLb + 5+Lc5uLc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc6OLd6OLc + 5+Lc6OLc6OLd6OLd6OLd6OLd6OLd6OLd6OLd6OLd6OLd6OLd6OPd6OPd6OPd6OPd6OPd6OPd6eTd6eTd + 6eTe6OTd6eTe6ePe6eTe6eTe6OPd6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe + 6eTe6uTf6uTf6uTf6uXf6uTf6uXf6+Xg6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXg6+bg6uXf6ubg6+bg + 6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Ofg6+fg6+fg6+fg6+fg7Ofh6+fg7Ofh6+fg7Ofh7Ofh + 7Ofh7Ofh7Ofg7Ofh6+fg7Ofg7Ofh7Ofh7Ofh7Ofh7Ojh7Ojh7Ojh7eji7eji7eji7eji7eji7eji7eji + 7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji7Ojh7eji7eji7eji + 7eji7eji7eji7ujj7ujj7eji7uji7ujj7ujj7ujj7ujj7uji7ujj7ujj7ujj7ujj7ujj7eji7ujj7ujj + 7eji7eji7ujj7efi7ujj7eji7ujj7eji7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj7unj7ujj7ujj7ujj + 7ujj7ujj7unj7ujj7unj7unj7unj7unj7ujj7unj7ujj7unj7ujj7unj7unj7ujj7unj7unk7ujj7ujj + 7ujj7ujj7unj7ujj7+nj7unj7unj7+nj7+nj7+nj7+nj7+rj8Ork8evk8uzm8uzm8+3m9O7n9O/o9O/p + 9fHq9vLr9/Ps+PPt+PTt+PTt+PTt+PTt+PTt+PTt+PPt+PPt9/Ps9vLr9vHr9fDq9O/p8+/o8+7n8u3m + 8uzm8evl8evl8evk8Ork8Ork7+rj7+rj7+rj7+rj7+nj7+nj7+nj7+nj7uni7uni7+nj7uni7uni7uni + 7uji7uji7uji7uji7uji7uni7uji7uni7uni7ujh7ujh7ujh7uji7eji7eji7eji7eji7eji7eji7eji + 7eji7eji7eji7eji7ejh7Ojh7Ojh7Ojh7Ojh7Ojh7Ojh7Ojh7Ofh7Ojh7Ojh7Ofh7Ofh7Ofh7Ofh7Ofh + 7Ofh7efi7Ofh7Ofi7Ofh7Ofh7Ofh7Ofh7Ofg7Obh7Obh7Obh7Ofg7Obg7Obg6+bg7Obg6+bg7Obg7Ofg + 7Obg7Obg7Obg7Obg7Obg7Obg7Obg6+bf7Obg7Obg6+bf6+Xf6+bf6+bf6+bf6+Xf6+bf6+Xf6+bf6+Xf + 6+Xf6+Xf6+bf6+Xf6+Xf6uXe6+Xf6uXe6uXe6uXe6+Xf6uXe6uXe6uXe6uXe6ube6+bf6+Xf6+bf6+Xf + 6uXe6+Xf6uXe6uXe6uXe6uTe6uTe6uTe6uXe6uTe6eTd6uTe6uTe6uXe6uTe6eTd6uTe6uTe6eTd6eTd + 6eTd6eTd6eTd6eTd6ePd6ePd6OPc6OPc6OPc6OPc6OPc6OPc6OPc6OPc6OPc6OPc6OLc6OLc6OLc6OLc + 6OLc6OLc6OPc6OLc6OLc6OLc5+Pb6OLc6OLc6OLc6OLc6OPc5+Lb5+Lb5+Lb6OLc5+Lb5+Lb5+Lb5uHa + 5+Lb5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uDa5uHa5uHa5uDa49/Y5N/Z + 5ODZ5ODZ5d/Z5d/Z5eDZ5ODY5d/Z5d/Z5d/Z5eDZ5eDZ5d/Z5uDa5eDZ5eDZ5uHa5uHa5uHa5uHb5uHa + 5uHb5uHa5uHa5uHa5uLb5uLb5uLb5uLb5uHb5uLb5uLb5uLb5uLc5+Lc5uLc5+Lc5uLb5+Lc5uLb5+Lc + 5+Lc5+Lc5+Lc5uLc5+Lc5+Lc5+Lc5+Lc6OLd6OLd5+Lc6OLc5+Lc5+Lc5+Lc6OPd6OPd6OPd6OPd6OPd + 6OLd6OPd6OPd6OPd6OPd6ePd6OPd6OLd6ePd6OPd6OPd6ePd6OPd6OPd6ePd6eTd6ePd6eTe6eTd6eTe + 6eTe6eTe6eTe6eTe6eTe6eTe6eTe6eTe6uTe6uTf6uTf6uXf6uTf6uXe6uTf6uXf6uXg6+Xg6uXf6+Xg + 6uXf6uXf6+Xg6+Xg6+bg6+bg6+Xg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Obh6+fg + 6+bg6+bg6+bg6+bg6+bg7Ofg6+bg6+bg7Ofh6+fg7Obh7Ofh7Ofh7Ofh7Ofh6+fg7Ofh7Ofh7Ofh7Ojh + 7Ofh7Ojh7eji7Ofh7Ojh7Ofh7Ojh7Ofh7Ojh7eji7eji7eji7eji7uji7ujj7eji7eji7eji7uji7uji + 7ujj7ujj7uji7ujj7uni7unj7eni7uji7ejj7eji7enj7ujj7unj7uji7unj7eni7ujj7unj7ujj7uni + 7eji7eji7ujj7ujj7ujj7unj7ujj7ujj7ujj7unj7unj7uji7ujj7ujj7eji7ujj7ujj7ujj7ujj7eji + 7ujj7ujj7uji7ujj7uji7ujj7ujj7ujj7unj7unj7unj7unj7ujj7ujk7unj7+nk7ujj7+nj7+jk7unj + 7+nk7+nk7unj7unj7+nk7unj7unk7unj7+nk7+nk7+nk7+nk7+nk7+nk7+nk8Ork8Ork8Orl8Ork8Ork + 7+nk8Onk8Onk7+nj7+nj7+nj7+nj7+nj8Orj8Ork8Ork8Ovk8evl8evl8ezl8uzm8+3n9O7o9O/o9O/p + 9fHq9vHr9/Ls+PPt+PTt+PTt+PTt+fTu+PTt+PPt+PTt+PTt+PPs9/Ls9vLr9fHr9PDp9O/o8+7o8+7n + 8uzm8uzm8ezl8evl8Ork8Ork8Ork8Ork8Ork7+rj7+nj7+rj7+rj7+rj7+nj7+nj7+ni7+ni7+rj7+ri + 7+ni7+nj7+nj7+nj7+nj7+rj7+nj7uni7unj7unj7uni7unj7unj7unj7unj7uji7eji7eji7eji7uni + 7eji7eji7eji7eji7eni7eji7eni7eji7eni7eji7eji7eji7eji7eji7Ojh7Ofi7Ofh7Ofh7efi7Ofh + 7Ofi7Ofi7Ofh7Ofh7Ofi7efi7Ofh7Ofh7eji7eji7efi7eji7Ofh7efi7ejh7efh7ejh7Ofg7Ofg7efh + 7Ofg7Obg7Obg7efh7efh7Obg7Obg7Obg7Ofg7Obg7Obg7Obg6+bf6+bf6+bf6+bf6+bf6+bf7Obg6+bf + 7OXg7Obg6+bf7Obg6+Xf6+bf6+Xf6+bf6+bf6+bf6+bf6+bf6+bf6+bf6+bf6+bf6+bf7Obg6+bf6+Xf + 6+bf6+Xf6+Xf6+Xf6+Xf6uXe6uXe6uXe6uTe6uXe6uTe6uTe6+Tf6uTe6uXe6+Xf6uTe6uXe6uXe6uXe + 6uXe6uXe6uTe6uTe6eTd6eTd6uTe6uXe6eTd6eTd6eTd6eTd6ePd6OTc6eTd6ePd6OPc6OPc6OPc6OPc + 6OLc6OPc6ePd6ePd6OLc6OLc6OPc6OPc6OPc6OLc6OPc6OPc6OPc6OLc6OLc6OPc5+Lb5+Lb5+Lb5+Lb + 5+Lb5uLa5+Hb5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5uHa5+Hb5+Hb5+Lb5+Hb5uHa49/Z5ODZ + 5ODZ5ODZ5ODZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5uHa5uDa5uHa5uHb5+Hb5+Hb5+Hb5+Hb + 5uHb5+Lb5+Lb5+Lb5uLb5uLb5uLb5uLb5uLb5uLb5uLb5uLb5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc5+Lc + 5+Lc5+Lc5+Lc5+Lc5+Lc6OPd6OLd6OPd6OLd6OPd6OPd6OPd6OPd6ePe6ePe6ePe6ePe6ePe6ePe6ePe + 6ePe6eTe6ePe6eTd6ePe6eTd6eTd6ePd6eTd6eTd6eTd6ePd6eTd6eTd6eTe6eTe6eTe6eTe6uTe6uTf + 6uTe6uTf6uTf6uTf6uTf6uTf6uTf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6+Xg6+bg6uXf6+bg6+bg + 7Obh6+bg6+bg7OXh6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Obg7Ofh7Obg + 7Obh7Obh7Obh7Ofh7Obh7Ofh7Ofh7Ofh7Ofh7Ofi7Ofh7efi7Ofh7Ofh7Ofh7efi7Ofh7Ofh7Ojh7Ojh + 7Ojh7Ojh7Oji7Oji7eji7eji7eji7eji7eji7eji7eji7uji7ujj7ujj7ujj7ujj7ujj7ujj7unj7unj + 7ujj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7+nj7unj7unk7unj + 7unj7unj7+nk7+nk7+nj7+nk7+nj7+nk7+nk7+nk7+nk7+nk7+nk7+nk7+nk7+nk7unj7unj7unk7unj + 7ujj7+nk7ujj7unj7ujj7ujk7unk7unj7+nk7+nk7+nk7+rk7+nk7+nk7+nk7+nk7+rk7+nk8Ork7+nk + 7+nk7+nk7+rk8Orl7+rk7+rk7+rk7+rk7+rk7+rk7+rk7+rk7+rk8Orl8Orl8Orl8Ork8Orl8Orl8Orl + 8Ork8Ork8Ork8Ork7+nk7+rk8Ork8Ork8Ork8Ork8Ork8evl8ezl8uzm8+3n8+3m9O7n9O7o9e/p9fDq + 9fHq9vHr9/Ls+PTt+PTt+PTt+PTt+PTu+PTt+PTt+PTt+PPt9/Ps9/Ls9vHq9fHq9PDp8+/o8+7o8+7n + 8u3m8u3m8ezl8evl8evl8Ork8Ovk8Ork8Ork7+rj7+rj8Ork8Ork8Ork8Ork8Ork8Orj8Orj8Orj8Ork + 8Ork8Orj8Orj8Orj8Ork7+rk7+rk7+rk7+rj7+rk7+rk7+rj7unj7unj7unj7unj7uni7unj7unj7unj + 7unj7urj7unj7unj7unj7unj7unj7unj7uni7eni7eji7eji7eji7eji7eji7eji7eji7eji7eji7eji + 7efi7eji7eji7ujj7ujj7ujj7ujj7ujj7uji7uji7uji7unj7uji7eji7uji7ujh7eji7ejh7efh7ejh + 7efh7efg7efh7efh7efg7efh7efh7Ofg7Obg7Obg7Obg7Obg7Obg6+bf7Obg6+bf6+bf6+bf7Obg7Ofg + 7Obg7Obg7Obg7Ofg7Obg6+bf6+bf6+bf6+bf6+bf6+bf6+bf7Obg6+bf7Obg6+bf7Obg6+bf7Obg7Obg + 6+bf7Obg6+bf6+Xf6+bf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6uXe6+Xf6+Xf6uXe6uXe6uXe6uXe6uXe + 6uTe6uXe6uXe6uXe6uXe6uTe6uTe6uXe6uXe6uXe6eTd6uXe6eTd6eTd6eTd6eTd6ePd6eTd6eTd6eTd + 6eTd6eTd6ePd6ePd6ePd6eTd6eTd6ePd6ePd6ePd6ePd6ePd6ePd6OTc6OPc6OPc6OPc6OPc6OPc6OLc + 6OPc5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb5+Lb6OLc6OLc5+Lb6OLc5+Lb6OLc5+Lb5ODa5eHa + 5eHa5eDa5eDa5eDa5eDa5eHa5eDZ5uHa5eHa5uHa5eDZ5uHa5uHa5uLa5+Hb5+Lb5+Lb5+Lb5+Lb6OLc + 5+Lc6OLc5+Lc5+Lc5+Lc5+Lc5uLb5+Lc5+Lc5+Lc5+Lc5uLc5+Lc5+Lc5+Lc5+Lc5+Pc5+Pc6OTd5+Pc + 6OPd5+Tc5+Pc6OPd6OPd6OPd6OPd6OPd6ePe6OPd6OPd6OPe6ePe6ePe6eTe6eTe6eTe6uTf6uTf6uTf + 6uXf6uTf6uTf6uXf6uXe6eTe6uXe6uTe6eTe6uXe6uXe6uTe6uTe6uXe6uTe6uTe6uXe6uTe6uXe6uTf + 6uXf6+Xf6ubf6uXf6+Xg6uXf6ubg6+bg6uXf6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Obg6+bg6+bg6+Xg + 6+Xg7Obh7Obh7Obh7Obh7Obg7Obh7Ofh7Ofh7Ofh7Ofh6+bg7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7eji7Ofi + 7Ofi7efi7eji7Ojh7Oji7Ofi7eji7eji7efi7eji7eji7uji7ujj7ufj7ujj7eji7eji7eji7eji7eji + 7eji7eji7eji7ujj7eji7ujj7unj7ujj7ujj7ujj7ujj7ujj7ujj7unj7unj7unj7unj7unj7unj7unj + 7unj7unj7unj7unj7unj7unj7unj7unj7unj7unj7+nk7+nk7+nj7+nk7+rk7+rk7+nk7+nk7+rk7+rk + 7+nk7unj7unj7unj7+nk7+nk7+rk8Ork8Orl8Orl8Orl8Orl8Orl8Orl8Ork8Orl8Orl8Ork8Orl8Onk + 8Ork7+rk7+rk7+rk7+rk7+rk8Ork7+rk7+rk8Ork8Orl8Orl8Orl8Orl8Orl8Orl8evl8evl8evl8evl + 8evl8evl8evl8Ovl8Orl8Orm8Orl8Orl8Ovl8Ovl8Ovl8Ovl8Ovl8Ovl8Orl8Ovl8Orl8Orl8Ovl8Orl + 8Ovl8Ovl8Orl8Ork8Ovk8Ovl8Ovk8evl8Ovk8evl8uzl8uzm8uzl8+3m8u3m9O7n9O/o9e/p9fDq9fDq + 9vHq9/Ls+PPs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPs9/Ls9vHr9fHq9fDq9PDp8+7o8+7o + 8+3n8+3m8uzm8ezl8ezl8ezl8ezl8Ovk8Ovk8evl8Ovk8Ork8Ovk8Ovk8Ovk8Ovj8Ork8Ovk8Ovk8Ork + 8Ork8Ovk8Ork8Ork8Ovk7+vl8Ovl8Ork7+rk7+rk7+rk7+rk7+rk7+rk7+rj7+rj7+rj7unj7+rk7urj + 7urk7urk7+rk7+rk7unj7urj7+rk7unk7+nk7+nk7+nk7urj7unj7unj7unj7unj7unj7ujj7ujj7ujj + 7+nj7ujj7+jj7+nj7unj7+nk7+nj7+nk7+nj7ujj7unj7uji7+ni7uni7uni7eji7eni7ujh7uji7uji + 7ujh7efh7ujh7uji7efi7ujh7eji7efh7uji7ujh7efh7efh7efh7efh7Ofg7Obg7efh7efh7efh7Ofg + 7Ofg7Ofg7Ofg7efh7Ofg7Ofg7Ofg7Ofg7Ofg7Ofg7Obg7Obg7Ofg7Ofg7efh7ebh7efh7efh7Ofg7Obg + 7Obg7Obg7Obg7Ofg7Obg7Obg7Ofg7Obg6+bf7Obg6+bf6+bf6+bf6+bf6+bf6ube6ube6+Xf6+Xf6+Xf + 6+Xf6uXe6uXe6ube6ube6+bf6uXe6ube6+Xf6+Xf6uXe6uXe6uXe6uTe6uXe6uXe6uXe6eXd6eTd6uXe + 6uXe6uXe6uXe6uXe6uXe6uTe6uTe6uTe6eTd6uTe6uTe6eTd6eTd6eTd6eTd6eTd6eTd6ePd6eTd6ePd + 6ePd6OPc6OPc6OPc6OPc6OPc6OLc6OPc6OPc6ePd6ePd6ePd6ePd6OLc6OLc6OLc6OLc6OLc5OHa5eHa + 5eHa5eDa5uHb5eHa5uHb5uHa5uHa5uHa5uHa5uHa5+Lb5+Lb5uHa5+Lb5+Lb5+Lb6OLc6OPc6OPc6OLc + 6OLc6OPc6OPd6OPc6OPd5+Pc5+Lc5+Lc6OPc5+Lc5+Lb5+Pc5+Lc5+Lc5+Pc5+Pc5+Pc6OTd6OTd6OTd + 6OTd6OTd6OTd6OTd6eTe6OTd6eTe6OTd6OTd6ePe6eTe6eTe6eTe6eTe6eTe6uTf6uTf6uXf6uXf6uTf + 6+Xg6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXe6+Te6uXf6uXe6uTf6uXe6uXe6uXe6uXe6uXe6uXf6+Xf + 6+Xf6+Xg6uXf6uXf6+bg6+Xg6+bg6+bg6+bg7Obh6+Xg6+bg7Obh6+bg6+bg7Obh7Obh7Obh7Obh7Ofh + 7Obh7Ofh7efi7Ofh7Ofi7efi7efi7Ofh7efi7Ofh7efi7eji7efi7eji7efi7efi7efi7eji7eji7eji + 7eji7eji7eji7ujj7eji7enj7eji7uji7ujj7unj7ujj7ujj7+jj7unj7ujj7+nk7ujj7ujj7ujj7ujj + 7unj7ujj7unj7ujj7ujj7unj7ujj7ujj7unj7+nk7unj7unj7unj7unj7+nj7unj7unj7+nk7unj7+nk + 7+nk7+nk7+nk7unj7unj7unj7unj7+nk7+nj7+nj7+rk7+rk7+rk7+rk7+rk8Ork7+rk7+nk7+rk7+rk + 7+rk7+rk7+nk7+nk8Orl7+nk8Orl8Orl8Orl8evl8Orl8evm8evm8evl8Orl8evm8evl8Orl8Orl8Ovl + 8evl8Ovl8Ork8Ovl8Ovl8evl8Ovl8erl8Ovl8evl8evl8evl8evm8evl8evm8evm8evm8evm8evm8evm + 8evm8evl8evm8evm8evm8evm8evm8evm8Ovm8Ovl8Orl8Ovl8Ovl8Ovl8Ovl8Orl8evl8Ovl8evl8evl + 8Ovl8Ovl8evl8ezl8evl8ezl8uzl8uzl8uzm8uzl8uzl8u3m8+3m8+3m9O7n9O7n9O/o9e/p9fDq9fHq + 9vHr9/Ls+PPt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt9/Ls9vLr9vHq9vHq9fDp9O/o8+7o + 8+7n8+3n8+3n8uzm8uzm8ezl8evl8ezl8ezl8evk8evl8evl8evk8evk8Ovk8Ovk8Ork8Ovk8Ovk8Ovk + 8Ork8Ovk8Ork8Ork8Ovl8Ovl8Ovl8Ovl8Ovk8Ovk8Ovk8Ovk8Ork7+rk7+rk7+rk7+rk8Ovk7+rk7+vk + 7+rk7+rk7+rk7+rk8Ovk7+rk7+rk8Ovk8Ork7+rk7+rk7+rk7+rk7+nk7+nj7unj7+nk7+nk7+nj7+nj + 7+nk7ujj7+nk7+nk7+nk7+nj7+nk7+nj7+nk7+nj7+nj7ujj7+nk7uji7uni7uji7uji7uji7uji7uji + 7ejh7ejh7uji7uji7uni7uji7uni7+ni7uji7uji7+ni7+ni7+nj7uji7uji7uji7uji7ejh7ejh7ejh + 7ejh7ejh7ejh7ejh7ejh7efh7efh7efh7efh7efh7efh7efh7ejh7efh7efh7efh7efh7ejh7efh7efh + 7ejh7Ofg7Ofg7Ofg7Ofg7Ofg7Ofg7Ofg7Obg7Obg7Ofg7Obg7Obg6+bf6+bf6+bf6+bf6+bf6+Xf6+Xf + 6+bf6+bf7Obg6+bf6+bf6+bf6+bf6+bf6+bf6+bf6+Xf6+bf6+bf6+bf6+Xf6+bf6+bf6+Xf6+bf6+Xf + 6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Tf6+Xf6uXe6uXe6uTe6uXe6uTe6uTe6eTd6uTe6uTe6uTe6uTe6uTe + 6uTe6eTd6ePd6eTd6ePd6eTd6ePd6eTd6ePd6ePd6ePd6eTd6OPc6OPc6OPc6OPc6OPc6OPc5OHa5eHa + 5eHa5eHa5uLb5uLb5uHb5uLb5+Lb5+Lb5+Lc5+Lb5+Lb6OLc5+Lb5+Lb5+Lb5+Lb6OPc6OLc6OPc6OPc + 6OPc6OPc6OPd6OPd6OPd6OPd6OPd6OPd6OPd6OPd5+Pc6OTd6OTd6OPd6OPc6OPd6OTc6OTd6OTd6OTd + 6OTd6eXe6eXe6eXe6eTe6eTe6eXe6eXe6eTe6eXe6eXe6uXe6eTe6eTe6uTf6uTf6uXf6uTf6uTf6uXf + 6uXf6uTf6uXf6uXf6uXf6uXf6+Xg6uXf6+Xf6uXf6+Xg6+bf6uXe6uXf6uXe6+Xf6+Xf6+Xf6+Xf6+Xf + 6+bg7Obg6+bg6+bg6+bg7Obh7Obh7Obh7Obh7Obh7Obh7Obh7Obh7Ofi7Ofh7Ofi7efi7Ofh7Ofh7efi + 7eji7efi7eji7eji7efi7eji7eji7ujj7eji7uji7eji7eji7ujj7uji7eji7uji7ujj7ujj7ujj7uji + 7ujj7ujj7unj7ujj7ujj7ujj7+jj7+nk7ujj7unk7unj7+nj7unk7+nk7ujj7unk7+nk7+nj7+nk7+nk + 7+nk7+rk7+nk7+nk7+nk7+nk7+nk7+nk7+nk8Ork7+nk7+nk7+nk7+nk7+nk7+nk7+nk7+nk7+nk7+nk + 7+nk7+nk7+nk7+nk7+nk7+nj7+nk7+nk7+nk7+nk7+rk8Ork8Ork7+rk8Orl8Orl8Orl8Orl7+rk7+rk + 7+rk7+rk8Orl7+rk7+rl8Orl8Orl8Ovl8evl8Orl8evl8Orl8Orm8evl8evm8evm8Orl8evl8evl8evm + 8Orl8Ovl8evl8ezm8ezm8ezm8ezm8ezm8ezm8uzm8evm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8evm + 8uzm8evm8uzm8ezm8ezm8ezm8evm8Ovl8evm8ezm8evm8evm8evm8evm8evm8ezm8ezl8uzl8ezl8ezl + 8ezl8uzl8uzl8u3m8uzl8uzm8uzm8uzm8u3m8uzm8uzm8+3m8+3n9O7n9O7o9O7o9e/o9e/p9fDq9vLr + 9vLr9/Ps+PPt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt+PPs9/Lr9vLr9fHq9fDq9O/p8+7o + 8+7o8+7n8u3m8u3m8uzm8uzm8ezl8uzl8ezl8uzl8uzl8ezl8ezl8uzl8ezl8ezl8ezl8evk8Ovl8Ovl + 8Ovl8Ovk8Ovl8Ovl8Ovl8Ovl8Ovl8Ovl8ezl8Ovl8Ovl8ezl8Ovl8Ovl8Ovl8Ovl8Ovl8Ovl8Ovk8Ovl + 8Ovl8Ovk8Ovk8Ovk8Ovl8Ovl8Ovl8Ovk8Ovl8Ovl8Ovl8Ovl8Ork8Orl8Ork8Orl8Ork8Onk8Ork8Ork + 7+nk8Ork7+nk7+rk7+rk7+nk7+nk7+nk7+nk7+nk7+nj7+nj7+nj7uji7+ni7uni7uji7uji7uji7uji + 7uji7uji7uni7uni7uni7uni7+nj7+nj7+rj7+nj7+nj7+nj7+ni7+nj7+nj7uni7uji7uji7uji7uji + 7ejh7ejh7uji7uji7ejh7uji7ejh7uji7uji7uji7ujh7ujh7uni7uji7ujh7ujh7uji7ujh7ejh7ejh + 7ejh7ejh7ejh7ejh7ejh7ejh7efh7efh7efh7Ofg7efg7Ofg7efg7efg7Ofg7Obg7Obg7Obg7Obg7Obg + 7Ofg7Ofg7Ofg7Obg7Ofg7Ofg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg + 7Obg6+bf7Obg6+Xf6+Xf6+Xf6uXe6+Xf6uXe6uXe6uTe6uXe6uXe6eTd6uTe6uXe6uTe6uTe6uTe6uTe + 6eTd6eTd6uTe6uTe6uTe6eTd6ePd6eTd6eTd6eTd6uTe6eTd6eTd6ePd6eTd6eTd6OTc6OPc5OHa5uHa + 5eHa5uHa5uLb5uHb5uHa5+Lb5+Lb5+Lb5+Lb5+Lb6OLc5+Lb5+Lb5+Lb6OLc6OPc6OPc6OPc6OPc6OPc + 6OPc6OPd6OTd6OPd6OTd6OTd6OTd6OTd6eTe6OTd6OTd6OTd6OTe6OTd6OTd6OTd6OTe6eTe6OTe6eTe + 6eTe6eXe6eXe6eXe6eXe6eXe6eXe6eXe6uXf6uXe6uXf6uXf6uTf6uXf6uXf6uTf6uXf6uTf6uTf6uTf + 6+Xg6uXf6uXf6uXf6+Xg6+Xg6ubf6+bg6+bg6+bf6+bg7Obg6+bf6+bg6+bg7Obg6+bf6+bf7Obg6+bg + 7Obg7Obg7Obg7Obh7Ofh7efh7efh7efh7efi7Obh7efi7efi7efi7efi7efi7efi7eji7eji7eji7eji + 7eji7eji7eji7efi7efi7eji7eji7eji7ujj7uji7eji7ejj7ujj7eji7ujj7ujj7uji7ujj7ujj7ujj + 7ujk7+nj7+nj7+nj7+nk7ujk7+nk7+nk7+nj7+nk7+nj7+nk7+nk7+nk7+nj7+nk7+nk7+nk7+nj7+nk + 7+nk7+nk7+rk8Ork7+nk7+rk8Ork8Orl8Orl8Orl8Orl8Orl8Ork8Ork8Orl8Orl8Orl8Ork8Ork8Ork + 8Ork8Ork7+rk8Ork8Ork7+rk7+rk8Ork8Orl8Ork8Ork8Orl8Orl8Orl8Orl8Orl8Orl8evl8Ovl8Ovl + 8Ovl8Ovl8Ovl8Ovl8evl8Ovl8Ovl8Ovl8evl8evm8evm8Ovl8evm8evm8evm8evl8evm8evm8evl8evm + 8evm8evm8evm8evm8evm8ezm8uzm8evm8uzm8uzn8uzn8uzn8uzm8uzn8uzm8uzm8uzm8uzm8uzm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzn8uzm8uzm8uzn8uzn8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm + 8u3m8uzl8uzl8uzm8uzl8+3m8u3m8+3m8u3m8+3m8+3n8+7n8+7n9O7n9e/o9O/o9fDp9fDp9fHq9vHq + 9vLr9/Ps+PPs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPs9vLr9vHr9fHq9PDp9O/p8+7o + 8+7n8+7n8+3m8uzm8uzm8uzm8uzl8uzl8uzm8uzm8uzl8uzl8uzl8uzl8uzm8ezm8ezl8ezm8ezm8ezm + 8ezm8ezm8ezm8e3m8ezm8ezl8ezm8ezl8ezl8ezl8Ozl8Ozl8Ovl8ezl8Ovl8Ovl8Ozl8Ovl8Ovl8Ozl + 8Ovl8Ozl8Ovk8Ozl8Ozk8Ovl8Ozl8Ovl8Ovl8Ovl8evl8Ovl8evm8Ovl8Orl8Ovl8Orl8Orl8Orl8Orl + 8Orl8Orl8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj7+nj7+nj7+nj7+nj7+nj7+nj7+ni7+ni + 7+ni7+ni7+nj7+rj7+rj7+ni8Orj8Orj7+nj7+rj7+rj7+nj7+rj7+rj7+ni7+ni7+nj7uni7uni7+nj + 7uji7uji7uni7uni7uni7uni7+ni7uni7uni7+ni7+nj7+nj7+ni7uni7uni7uji7uni7uji7uji7ujh + 7uji7ejh7ejh7ejh7ejh7ejh7ejh7ejh7ejh7ejh7efh7efh7efg7efg7efh7efg7efg7efg7efg7Ofg + 7efh7efg7efh7Ofg7efh7ebh7Obg7Obg7efh7Obg7Obg7Ofg7Ofg7Ofg7Ofg7Ofg7Obg7Ofg7Obg7Obg + 7Obg7Obg7Obg7Obg6+bf6+Xf6+bf6+Xf6+Xf6uXe6uXe6+Xf6uXe6uXe6uTe6uXe6uTe6uTe6eTd6eTd + 6eTd6eTd6uTe6uTe6eTd6eTd6uTe6uTe6uTe6uTe6uTe6uTe6eTd6uTe6eTd6uTe6eTd6eTd5ODa5eDa + 5eHa5eHa5uHa5uHa5uHa5uHb5+Lb5+Lb5+Lb5+Lb5+Lc6OLc6OPc6OLc6OPc6OPc6OPc6OPc6OPc6OPd + 6ePd6OPd6OPd6eTd6OTd6OTd6OTd6eTe6OTd6eTe6eTe6eXe6eXe6eXe6eXe6eXe6eXe6eXe6ubf6uXf + 6eXe6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6uXf6+Xg6uXg6uXf6+Xg6+Xg6+Xg6+Xg6+Xg + 6+bg6+Xg6+Xg6+bg6+bg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Ofg7Ofg7Ofg7Ofg7efh7efh7Ofg7Ofg + 7efh7efh7efh7Ofh7efh7efi7efi7uji7uji7efi7efi7uji7eji7uji7eji7ujj7ujj7eji7ujj7ujj + 7ujj7uji7uji7ujj7ujj7uji7ujj7ujj7unj7uji7unj7uji7uji7uji7ujj7uji7unj7unj7unj7ujj + 7+nk7+nk7+nk7+nk7+nj7+nk7+nk7+nk7+nk8Ork7+rk7+rk7+nk8Ork7+rk7+nk7+rk8Ork7+rk8Orl + 8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ovl8Orl8Ovl8Ovl8evl8evl8evl8evm8evl8evl8evl8evl8evl + 8evl8Orl8Orl8Orl8Orl8Orl8Orl8Ovl8Ovl8Orl8evl8evm8evm8evm8evm8ezm8evm8ezm8ezm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8uzn8uzn8uzn8uzn8uzn8+3n8+3n8+3n8+3o8+3o8+3o8+3o8+3o8+3n + 8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8uzn8+3n8uzn8+3n8+3n8+3n8+3m8u3m8+3m8+3m + 8u3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m9O7n8+7n9O7n9O7n9O/o9O7o9e/o9fDp9fDp9fHq9vHq + 9vLr9/Ps+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt9/Ps9/Ps9vLr9vHq9fHq9fDp9O/o8+7o + 8+7n8+7n8+7n8+3m8u3m8uzm8uzm8uzm8uzl8uzm8uzl8uzl8uzm8uzl8uzm8uzm8uzm8u3m8u3m8u3m + 8u3m8u3m8u7n8u3m8u3n8u3m8e3m8u3m8e3m8ezm8ezl8ezm8ezm8ezl8ezl8ezl8ezl8ezm8Ozl8Ozl + 8ezl8Ovl8Ozl8Ozl8Ozl8Ozl8ezm8ezm8evm8evm8ezm8evm8evm8evm8evm8evm8Ovl8Ovl8Ovl8evl + 8Ovl8Orl8Ovl8evm8Ovl8Orl8Ovl8Ovl8Ovl8Ovk8Ovk8Ork8Ork8Ork8Ovk8Ork8Ork8Ork8Ork8Ork + 8Ork8Ork8Orj8Orj8Orj8Orj8Orj8Orj8Orj8Orj7+rk8Orj8Orj8Orj8Orj7+rj8Ork7+rj7+rj7+rj + 7+nj7+rj7+rj7+nj7+ri7+rj7+rj7+rj7+rj7+rj7+nj7+nj7+nj7+rj7+nj7+nj7+nj7+nj7+ni7uji + 7uji7uji7uji7uji7uji7uji7uji7uji7ujh7uji7ejh7ujh7ejh7ejh7ejh7ujh7ejh7efh7efh7efh + 7efh7efh7efh7efh7efh7efh7efh7efh7efh7efh7efh7efh7efh7Ofg7Ofg7Ofg7Ofg7Ofg7Ofg7Ofg + 7Ofg7Ofg7Obg7Obg7Obg7Obg7Obg7Obg7Obg6+bf7Obg6+bf6+bf6+Xf6uXe6uXe6uXe6uXe6uXe6uTe + 6uXe6uTe6uTe6uTe6uTe6uTe6uXe6+Xf6uXe6uTe6uTe6uTe6uTe6uTe6uTe6uTe6uTe6eTe5OHa5eDa + 5eDa5eHa5uDa5uDa5uHa5uHb5+Hb5+Hb5+Hb5+Lb6OLc6OLc6OLc6OLc6OLc6OPc6OPc6ePd6ePd6eTd + 6eTd6eTd6eTe6eTe6eTe6eTe6eTe6eTe6eXe6eXe6eXe6eXe6eXe6eXe6uXf6uXe6uXf6uXf6eXe6uXf + 6ubf6ubf6ubf6ubf6uXg6ubf6ubf6ubg6+Xg6uXf6+Xg6+bg6+bg6+bg6+bg6+bg6+bg7Obg7Obh7Obh + 7Obh7Obg7Obg7Obh7Obg7Obg7Obg7Obg7efh7Obg7Obg7efh7efg7efh7efh7efh7efh7efh7efh7efh + 7efh7efh7efi7efh7efh7efi7efi7uji7uji7efi7uji7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj + 7unj7+nj7+nj7unj7+nj7ujj7+nj7+nj7+nj7unj7unj7+nj7unj7+nj7ujj7+nk7+nj7unk7+nk7+nk + 7+nk7+nk7+rk7+rk8Ork8Ork7+rk7+rk8Orl8Ork8Orl8Orl8Orl8Orl8Orl8Orl8Ovl8evl8evl8evl + 8evm8evm8evl8evl8Ovl8evl8Ovl8evl8evm8evl8evm8ezm8ezm8evm8evm8evm8evm8evm8evm8evm + 8evm8evm8evm8evm8evm8evm8evm8evl8ezm8ezm8uzm8ezm8uzm8uzm8uzm8uzm8uzm8uzn8uzn8uzm + 8uzn8+3n8uzn8uzn8+3n8+3n8+3n8uzm8u3n8uzn8uzn8+3n8uzn8uzn8uzn8+3n8+3n8+3n8uzn8+3n + 8+3n8uzn8uzn8uzn8uzn8+3n8+3n8+3n8+3o8+3o8+3o8+3o8+3o8+7o9O7o9O7o8+3o9O7o9O7o9O7o + 8+7o8+3n8+7o8+3o8u3n8u3n8+3n8u3n8u3n8u3n8+3n8+3n8+7n8+3n9O7n8+3n8+3n8+7n8+7n8+3n + 8+3m8+7n8+3m9O7n8+7n8+3m8+3m9O7n9O7n9O7m9O7n9O7n9O7n9e/o9e/o9e/o9fDp9fDp9vHq9vHq + 9vLr9/Lr+PPs+PPs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt9/Ps9/Ls9/Lr9vHr9fHq9fDp9PDp9O/o + 8+/o8+7n8+7n8+7n8+3m8+3m8+3m8u3m8u3m8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8u3m8u3m + 8u3m8u3m8u3n8u3m8u3m8u3m8u3m8u3m8ezm8u3m8e3m8ezm8e3m8ezm8ezl8e3l8e3m8e3m8ezm8ezm + 8e3m8u3m8e3m8ezm8ezm8ezm8uzm8uzm8uzm8uzm8uzm8ezm8ezm8ezm8evl8ezm8evl8Ovl8evl8evl + 8evl8evl8evm8ezm8evl8evm8evm8evl8evl8evl8evl8ezl8ezl8ezl8ezl8ezl8ezl8ezl8ezl8evk + 8Ovk8evk8evk8Ovk8Ovk8Ork8Ork8Ovj8Ork8Ork8Ovk8Ovk8Ovk8Ovk8Ork8Ork8Ork8Ork8Orj8Orj + 8Orj8Orj7+rj7+rj8Orj7+rj7+rj8Orj7+nj8Orj8Orj8Orj7+nj7+nj8Ork8Orj8Orj7+nj7+nj7+nj + 7+nj7+nj7uji7uni7uni7uji7uji7uji7uni7uni7uni7uni7uni7uji7uni7uji7uji7uji7uji7uji + 7uji7uji7ujh7ujh7ujh7ejh7uji7ejh7efh7ejh7efh7ejh7ejh7ejh7efh7efh7Ofg7Ofg7efh7Ofg + 7efh7Ofg7efh7efh7efh7efh7Obg7efh7Obg7Obg7Obg7Obg6+bf6+Xf6+bf6+bf6+bf6+Xf6+Xf6+Xf + 6uXf6+Xf6uXe6uTe6+Xf6+Xf6uXe6+Xf6uTe6uXe6uTe6uTe6+Xf6uXe6+Xf6uTe6uTe6uTe5OHa5eHa + 5uHb5uLb5uHa5uHb5uHa5+Hb5+Lc5+Hb6OLc6OLc6OLc6OLc6OPc6OLc6OPc6OPc6OPc6ePd6eTd6eTd + 6eTe6ePd6eTd6eTd6eTe6eTe6uXe6eTe6eXe6uXe6eXe6ubf6uXf6ubf6ubf6uXf6uXf6uXf6uXf6uXf + 6+Xg6+bg6uXf6ubf6+bg6ubf6+bg6ubf6+bg6+bg6+bg7Obg6+bg6+bg7Obh6+bg7Obh7Obh7Obh7Obh + 7Obh7Obh7Obh7Obh7Obh7Obg7Obh7Obh7Obg7Obg7efh7efh7efh7Obh7efh7efh7efi7efh7uji7uji + 7uji7uji7efh7uji7uji7uji7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj7ujj7+nk7+nj7+nk7ujk + 7ujj7+nk7+nk7+nj7+nk7+nk7+nk8Ork7+nk7+nk8Ork8Ork8Ork8Ork8Ork8Ork8Ork7+nk8Ork8Ork + 8Orl8Ork8Orl8Orl8Ork8erl8Ovl8Orl8Ovl8Ovl8evm8evl8evm8evl8evl8evl8evm8evm8uzm8evl + 8uzm8evm8evl8evm8evm8uzm8uzm8uzm8uzm8evm8evm8evm8uzm8uzn8uzn8uzn8uzn8uzm8uzm8uzn + 8uzm8uzn8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzn8+3n8uzn8uzm8u3n8u3n8u3n8u3n8+3n8+3n8+3n + 8u3n8uzn8+3n8uzn8+3n8uzn8+3n8u3n8+3n8+3n8+3n8+3n8+3n8+3n8+7o8+3n8+3n8+3n8+3n8+3n + 8+3n8+3n8+3n8+3n8+3o8+3n8+3n8+3n9O7o8+3o8+7o8+3o9O7o9O7o8+3p9O7o9O7o9O7o9O3o8+3o + 9O7o9O7o9O7o8+7n8+3n8+7o8+3n8+3n8+3n8+3n8+3n9O7n9O7n8+3n9O7n8+3n9O7n9O7n9O7n9O7n + 8+7n8+3m8+7n8+7m9O7m8+7m8+7n9O7n8+7m8+7n9O7n9O7n9e/o9O/o9fDp9fDp9fDp9vHq9vHq9vHq + 9/Lr9/Lr9/Lr+PPs9/Ps+PPt+PPt+PTt+PTt+PPt+PPt+PPt+PPt9/Ls9/Lr9vHr9vHq9fDq9fDp9O/o + 9O7o9O/o8+/o8+7n8+7o8+7n8+3n8+7n8+7n8+7n8u7n8u3n8u3n8+7n8u7n8+7n8u3n8+7n8+7n8u3n + 8+7n8+7n8u3m8u3m8u3m8u3m8u3m8u3m8e3m8e3m8e3m8u3m8u3m8e3m8u3m8u3m8u3n8u3n8u3n8u3m + 8u3n8u3m8u3m8u3m8u3m8+3n8+3n8uzm8uzm8uzm8u3n8uzm8uzm8uzm8uzm8ezm8ezm8ezm8uzm8ezm + 8ezm8uzm8ezm8ezm8uzm8uzm8evm8ezm8uzl8uzl8ezl8evl8ezl8ezl8uzl8ezl8uzm8uzl8ezm8uzl + 8uzl8evl8ezl8evl8evk8evk8evk8evk8evk8evl8evk8evk8uzl8evk8evk8evk8Ork8Ovk8Orj8Ovk + 8Ovk8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj8Orj8Orj8Orj8Ork8Ork7+rj + 7+nj7+ni7+nj7+ni7+nj7+nj7+nj7+rj7+nj7+nj7+nj7+nj7+nj7+nj7+nj8Orj8Orj7+ni7+nj7+nj + 7uji7uji7uji7uni7uji7uji7ejh7ejh7ejh7uji7uji7ejh7uji7ejh7ejh7efh7ejh7efh7efh7ejh + 7ejh7ejh7uji7efh7ejh7ejh7efh7efh7Ofg7efh7Ofg7Ofg7Obg7Ofg7Obg6+bf7Obg6+bf7Obg7Obg + 6+Xf6+bf7Obg6+Xf6+Xf6+bf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf6+Xf5eHb5uLb + 5uLb5uLb5+Lc5+Lb5+Lb5+Lc5+Lb5+Lc6OLc6OLc6OLc6ePd6ePd6ePd6ePd6ePd6ePd6eTd6ePd6eTe + 6eTd6eTd6uTe6eXe6eTe6eXe6eXe6uXf6uXf6uXe6uXf6uXf6uXf6+bg6ubg6ubf6ubf6ubf6ubf6ubf + 6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Ofh7Ofh7Ofh7Ofi7Ofh7efi7Ofh7efi7Ofh7efi + 7Ofh7efh7ebh7Ofh7efh7efh7efh7efi7efi7efh7efh7efi7ejh7ejh7ejh7ujh7ujh7uji7eji7uni + 7uji7uji7uji7uni7uji7+nj7unj7+jj7ujj7unj7+nj7unj7unj7+nj7+nj7ujj7+nj7+nj7+nk7+nk + 7+nk8Ork7+nk7+nk7+nk8Ork8Orl8Orl8Orl8Orl8evl8Orl8evl8Orl8evl8Orl8evl8Orl8Orl8Orl + 8evl8Orl8Orl8evl8evl8evl8ezm8ezm8ezm8uzm8ezm8uzm8ezm8uzm8uzm8uzm8uzm8uzm8uzm8uzm + 8evm8uzm8uzm8uzm8uzm8ezm8ezm8uzm8uzm8uzm8uzn8uzn8uzn8uzn8uzn8+3n8+3n8+3o8+3n8+3n + 8+3n8+3n8uzn8uzn8uzn8uzn8uzn8uzn8uzn8+3n8+3n8u3n8+3n8u3n8u3n8u3n8+3n8+3n8u3n8+3n + 8+3n8+3n8+3n8+3n8+7o8+3n8+3o8+7o8+3n9O3o8+7o9O3n8+3o9O7o8+7o8+7o9O7o9O7o9O7o9O7o + 8+7o9O7o9O7o8+3o9O7o9O7o8+3o8+3o8+3o8+3o8+3o9O7o8+3o9O7o8+3o8+7o9O7o9O7o8+3o9O7o + 9O7o8+3o9O7o8+3o9O7o9O7o9O7o9O7o9O7o9O7o9O7n8+3n9O7o9O7n9O7n8+3n9O7n8+7n9O7n8+7n + 8+7n9O7n8+3m9O3n8+7n8+7n8+7n9O7n9O7n9O7n9O/o9O7o9fDo9e/o9fDp9fDp9vDp9fDq9vHq9vHq + 9vHq9/Lr9/Lr+PPs+PPs+PPs+PPs+PPt+PTt+PPt+PPs+PPs9/Ls9/Lr9/Lr9vHr9vHq9fDp9fDp9O/p + 9O/o8+/o8+7o8+7o8+7o8+7n8+7o8+7o8+7n8+7n8+7n8+7n8+7n8+7n9O/o8+7o8+7n8+7n8+7o8+7n + 8+7o8+7n8+7n8+7n8u7n8+7n8u3m8u3n8u3n8u3m8u7n8u3m8u3n8u3m8u3m8u3n8u3n8+7n8u7m8+7n + 8u7n8+7n8+3n8+3n8+3n8u3n8+3n8+3n8+3n8uzm8u3n8uzm8uzm8u3n8uzm8uzm8uzm8uzm8uzm8uzm + 8uzm8uzn8uzm8uzm8ezm8uzm8uzm8ezm8ezm8ezl8evl8uzm8ezl8uzl8ezl8uzl8uzl8uzm8uzm8uzm + 8uzl8uzl8uzm8uzl8uzl8evl8uzl8evk8evl8evk8uzl8evk8evk8evk8evk8evk8evk8ezl8evl8evl + 8evk8evl8evk8ezl8Ovk8evk8Ovk8Ovk8evl8evk8Ork8Ork8evk8Ork8Ork8Ork8Ork8Orj8Orj8Ork + 8Orj8Orj8Ork8Ork8Orj8Orj7+rj7+nj8Ork7+nj8Ork8Orj7+nk7+nj8Ork8Ork7+nj7+nj7+nj7+nj + 7uni7+ni7+ni7uji7uni7uni7uji7uji7uji7uji7uji7uji7ejh7uji7uji7ujh7uji7uji7ejh7uji + 7ejh7ujh7uji7ujh7ujh7efh7ejh7uji7efh7efh7Ofg7efh7efh7Ofg7efh7Obg7Ofg7Obg7Ofg7Obg + 7Ofg7Obg7Obg7Obg6+bf7OXf6+Xf7Obg6+bf6+Xf6+bf6+bf6+Xf6uXf6uXe6+Xf6uXf6+Tf5uLc5uLb + 5+Lc5+Lb5+Lc5+Lb5+Pc5+Pc5+Lc5+Lc6OPc6OPc6OPc6ePd6OPc6ePd6ePd6ePd6eTd6ePd6eTd6eTd + 6eTe6eTd6uTe6eTe6eTe6eTe6eTe6eXe6eXe6uXe6eXe6uXe6ubf6ubf6ubf6ubf6ubf6ubg6+bg6ubf + 6ubf6ubf6ubf6+bg6+bg6+bg6+bg6+bg7Obh7Ofh7Obh7Ofh7Ofh7efi7eji7efi7eji7eji7eji7eji + 7eji7efi7efi7eji7uji7eji7eji7uji7uji7uji7uji7uji7uni7uni7uni7uji7uni7uni7+ni7+ni + 7uni7+nj7+nj7+nj7+rj7+rj7+rj7+rj7+rj7+rj8Orj7+rj7+rk7+rk7+rk7+rk8Onk7+rk8Ork7+rk + 8Ork7+rk7+rk7+nk7+rk8Orl8Orl8Orl8evl8Orl8evl8evl8evl8evm8evm8evl8evm8evl8evl8evm + 8evl8evm8evm8evl8evm8evm8ezm8ezm8uzm8uzm8ezm8ezm8uzm8uzm8uzm8uzn8uzn8uzm8uzm8uzn + 8uzm8uzm8uzn8ezm8ezm8uzm8uzm8uzn8uzm8uzn8uzn8uzn8+3n8+3n8+3o8+3o8+3o8+3o9O7o8+3o + 8+3n8+3o8+3o8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3o8+3o8+3n8+3o8+3n8+7o8+7o8+3n9O7o8+7o + 9O7o9O7o9O7o9O7o9O/p9O7o9O7o9O7p9O7o9O7o9O7p9O7p9O7p9O/p9e7o9O/p9e/p9O/o9O/p9e/p + 9O7p9O7p9O7o9O7p9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o + 9O7o9O7o9O7o9O7p9e/o9O7o9O7o9e/o9O7o9O7o9e/o9O7o9e/o9e/o9e/o9e/o9O7o9O7o9O7o9O/o + 9O7n9O7n9O7n9O7n9O7o9O/o9O7o9O/o9O7n9O/o9O/o9e/o9e/o9fDp9vDp9vDp9vDp9vHq9vHq9vHq + 9vHq9/Lr9/Ls+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs9/Ls9/Lr9vHq9vHq9vHq9fDq9fDp9fDp + 9O/p9O/o9O/o9O/o8+/o9O/o8+7o8+/o8+/o9O/o8+/o9O/o9O/o9O/o9O/o8+7o9O/o9O/o9O/o8+7o + 8+7o8+7o8+7n8+7o8+7o8+7n8+7n8+7n8+7n8+7n8+7o8+7n8+7o8+7n8+7n8+7o8+7o9O/o8+7n8+7o + 8+7o8+7n8+7n8+3n8+7o8+3n8+3n8+3o8+3o8+3n8u3n8+3n8+3n8+3n8+3n8u3n8+3n8uzn8+3n8+3n + 8uzm8uzn8uzn8uzm8uzm8uzm8uzm8uzm8ezl8uzm8uzm8uzm8uzl8uzm8uzm8uzm8uzm8uzm8uzl8uzl + 8uzm8uzm8uzl8uzm8uzl8uzm8uzl8uzl8uzl8uzl8uzl8uzl8evl8evl8uzl8uzl8uzl8evl8uzl8evl + 8uzl8evl8ezl8uzl8uzl8ezl8evl8ezl8evl8evl8evk8evl8evk8evk8evk8evk8evk8evk8evk8Ork + 8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj7+nj7+nj + 7+nj7+nj7+nj7+ni7+ni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uji7uni + 7uji7uni7uji7uji7uji7uji7uji7uji7ujh7ujh7uji7efh7efh7efh7efh7efh7efh7efh7efh7Ofg + 7Ofg7Ofg7Obg7Ofg7Off7Obg7Obf7Obg6+bf6+bf6+bf6+Xf6+bf6+bf6uXf6uXe6uXe6+Xf5eLc5uLb + 5+Lc5+Lc5+Lc5+Lc5+Lc6OLc6OPc6OPc6OPc6OPc6ePd6eTd6ePd6OPc6ePd6eTd6uTe6eTd6eTd6eTe + 6uTe6eTd6uTe6uTe6uTe6uTe6eTe6eTe6eTe6uXe6uXe6eXe6uXf6uXf6uXf6ubf6ubf6ubf6ubf6ubf + 6ubf6ubf6ubf6ubf6+bg6+bg6+bg6+bg7Obg7Obh7Obh7Obh7Obh7efi7efi7eji7eji7uji7ujj7uji + 7uji7uji7uni7uni7uji7+jj7+ni7uji7+ni7uji7uji7+ni7+nj7+nj7+nj7+rj7+nj7+rj7+rj7+rj + 8Ork8Orj8Orj8Ork8Orj7+rj8Ork8Ork8Ovk8Ovk8Ovk8Ovk8Ovk8Ovk8Ork8Ovk8Ork8Ork8Orl8Ork + 8Ork8Orl8Orl8Ork8Orl8Orl8Ovl8Ovl8evl8evl8evm8evm8evl8evm8uzm8evm8uzm8uzm8ezm8evm + 8uzm8uzm8evm8evm8uzm8uzm8uzm8uzm8uzm8uzn8uzm8uzn8uzn8uzn8uzm8uzn8+3n8uzn8uzn8uzn + 8+3n8+3n8+3n8u3n8u3n8uzm8uzn8uzn8u3n8+3n8u3n8+3n8+3n8+3n8+3o9O7o9O7o9O7o9O7o9O7o + 8+3o8+3o9O7o9O7o9O7o9O7o9O7o9O7o9O7o8+3o9O7o8+3o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o + 9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9fDq9e/p9e/p9e/p9O/p9O7p + 9O7o9O7o8+7o9O7o8+7o8+3o9O7o8+3o9O7o9O7o9O7o9O7o9O/p9O7o9O/p9O7p9O7p9O7p9e/p9e/p + 9e/p9O7p9O7p9O7p9e/p9e/o9e/o9O7o9e/o9e/o9e/o9e/o9vDp9vDp9e/p9vDp9e/o9vDp9vDp9e/o + 9e/o9e/o9e/o9e/o9e/o9O/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9vDp9vDp9vDp9vDp9vDq9vHq9vLq + 9/Lr9/Lr9/Ls9/Ls+PPs+PPs+PPs+PPs9/Ps+PPs9/Ps9/Ls9/Lr9/Lr9vHq9/Lr9vHq9vHq9vHq9fDp + 9fDp9PDp9PDp9O/o9O/o9O/p9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/p9O/o9O/o + 9O/o9O/o9O7o9O/o9O/o9O/o9O/o8+7o9O/o9O/o9O/o9O/o9O/o8+7n9O/o8+7o9O7o9O/o9O/o9O7o + 9O7o9O7o8+7o8+7o8+7o9O7o9O7o9O7o9O7o8+3o9O7o8+3o9O7o9O7o9O7o8+3o8+3o8+3o8+3n8+7o + 8+3o8+3n8+3n8+3n8+3m8+3n8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8uzm8uzm8+3m8uzl + 8uzm8+3m8uzm8uzm8+3m8uzl8uzm8+3m8+3m8uzm8uzl8uzm8uzm8uzl8uzl8uzl8uzl8uzl8uzl8uzl + 8uzl8uzl8uzl8evl8uzl8uzl8ezl8uzl8ezl8evl8ezl8ezl8evk8evl8evk8evk8evk8evk8evk8evk + 8evl8evk8evl8evk8evl8evl8evl8evl8evk8evl8evk8evk8evk8Ork8Ork8Ork8Ork8Ork8Ork8Ork + 8Ork8Ork8Ork8Ork8Ork8Ovk8Orj8Orj8Ork8Orj7+rj7+rj7+rj7+rj7+rj7+rj7+nj7+rj7+ri7+rj + 7+nj7+rj7+ni7uni7uni7uji7uni7uji7uji7uji7uni7uji7ujh7ujh7uji7ejh7ejh7ejh7ejh7efh + 7efg7efh7efh7Ofg7Obg7Obg7Obg7Obg7Obg7Obg6+bf7Obg6+bf6+bf6+Xf6+Xf6+bf6+bf5eLb5uLb + 5+Lc5+Lc5+Lb5+Lc6OLc6OPc6OLc6OPc6OPc6ePd6ePd6ePd6eTd6eTd6eTd6uTe6uTe6uTe6uXe6uXe + 6uXe6uXe6uXe6uXe6uXe6uXe6uXe6uXe6uXe6uXe6uXe6ubf6uXf6uXf6ubf6ubf6ubf6ubf6ubf6+bg + 6+bg6+bg6ubg6+bg6+bg6+bg6+fg7Ofh7Ofh7Obh7Ofh7Ofh7efi7efi7eji7eji7eji7ujj7uji7ujj + 7ujj7ujj7ujj7ujj7unj7ujj7+nj7uji7ujj7+ni7+ni7+nj7+ni7+nj7+nj7+rj7+nj8Orj7+nj8Orj + 8Ork8Orj8Orj8Ork8Ork7+rj8Orj7+rk8Ovk8Ovk8Ovk8Ovk8Ork8Ovl8Ovk8evl8Ovl8Ovl8Ovl8Orl + 8evl8evl8Ovl8evl8evl8evm8evm8uzm8evm8evm8evm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm + 8uzn8uzm8uzn8uzm8uzm8uzn8uzn8uzn8uzm8uzn8uzn8uzn8+3n8uzn8uzn8+3n8+3n8+3n8+3o8+3o + 8+3n8+3n8+3o8+3o8+3o8+3o8+3o8+3n8+3n8+3n8+3o8+3n8+3o8+3o8+3o8+7o9O7o9O7o9O7o9O7o + 9O7o9O7p9O7o9O7o9O7o9O7p9O7o9O7o9O7p9O7p9O7p9O7p9e/p9O7p9O7p9O7p9O7p9O7p9O7p9O7p + 9O7p9e/p9O7o9e/p9O7p9O7p9e/p9e/p9e/p9e/q9e/p9e/q9e/p9fDq9e/p9e/p9e/p9O/p9O7p9O/p + 9O7o9O7o9O7o9O7p8+7o8+7o9O7o9O7o9O7o9O7p9O7p9e/p9O7p9O/p9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9e/p9e/p9vDp9e/p9vDp9e/p9vDp9vDp9vDp9vDp9e/o9vDp9e/o9vDp9vDp9e/o9fDp9e/o9e/o + 9e/o9e/p9e/o9O/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9vDo9vDp9vDp9vHq9vHq9vHq9vHq9/Lr + 9/Lr9/Lr9/Lr9/Ls9/Ls+PLs+PPs+PPs+PPs9/Lr9/Lr9/Lr9/Lr9/Lr9vLr9vHr9vHr9vHq9vHq9fDq + 9fDp9fDp9fDp9PDp9PDp9fDp9O/o9O/o9O/p9O/p9fDp9O/p9PDp9fDp9O/o9O/p9O/o9PDo9O/o9O/o + 9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/p9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o9O/o8+7o9O7o + 9O7o9O7o8+7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o8+3o9O7o9O7o8+7o8+7o8+7o + 8+7o8+7o8+3n8+3n8+3n8+7n8+3n8+3m8+3n8+3m8+3m8u3m8+3n8+3m8+3m8+3m8+3m8+3m8+3m8+3n + 8+3m8u3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8u3m8uzl8uzl8uzl8uzm8uzl8uzl8uzm8uzl8uzl8uzm + 8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8evl8ezk8evl8evl8evk8evk8ezl8evl + 8evl8ezl8evl8evl8uzl8evl8evl8evl8evk8evl8evk8evk8evk8evk8evk8evl8evl8evk8evk8evk + 8evk8evk8evl8evk8evk8evk8evk8evk8Ovk8Ork8Ork8Ork8Ork8Orj8Orj8Orj7+nj7+rj8Orj7+nj + 7+ni7+nj7+nj7+ni7+ni7uni7uji7uji7uji7uni7uji7uni7uji7uni7uni7uni7uji7ejh7ujh7ujh + 7efh7efh7ejh7Ofg7efh7Ofg7Ofg7Ofg7Obg7Obg7Obg7Obg7Obg6+bf7Obg7Obg7Obg7Obg5eHc5+Hb + 5+Lb5+Lc5+Lb5+Lc6OPc6OPc5+Pc6OPc6ePd6ePd6ePd6eTd6eTd6uTe6eTd6uTe6uTe6uTe6uXe6uXe + 6+Xf6uXe6+Xf6+Xf6+Xf6uXf6+bf6+bf6+bf6+Xf6+bf6+bf6+bf6+bg6ubf6ubf6ubf6+bg6+bg6+bg + 6+fg6+fg7Ofh7Ofh7Ofh7Ofh7Ofh7Ojh7Ojh7Ofh7eji7efi7eji7ujj7ujj7uji7uji7ujj7ujj7ujj + 7ujj7+nk7+jj7+nj7+nj7+nj7+nj7+nj7+nj8Orj7+nj7+nj8Orj8Orj8Ork8Orj8Ork8Ork8Ork8Ork + 8Ork8Ork8Ork8Ork8Ovk8evk8Ork8Ork8Ovk8Ovk8Ovk8Ovk8Ovl8evl8evl8evl8uzl8evl8ezm8evl + 8uvl8uzm8uzm8uzm8uzm8uzm8uzm8uzn8u3n8u3n8uzn8uzm8uzm8uzn8uzn8uzm8uzm8uzn8uzm8uzm + 8+3n8uzn8uzm8uzn8uzn8uzm8+zn8+3n8uzn8+3n8uzm8+3n8+3n8+3n8+3n8+3n9O7o8+3n9O7o8+3n + 9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O/o9O7o + 9O/o9e/p9e7o9O7o9O7o9e/p9O/p9e/p9e/p9e/p9e/p9e/p9e/p9e/q9e/q9e/q9e/q9e/p9e/p9e/p + 9e/p9e/p9e/q9e/q9e/p9e/p9e/q9vDq9fDq9fDq9e/p9vDq9vDq9e/q9vDq9e/p9e/q9e/p9e/p9e/p + 9O/p9O7o9e/p9O/p9e7o9O/p9O/p9O/p9e/p9e/p9e/p9e/p9fDq9vDq9fDq9vDp9vDq9vDq9vDq9vDq + 9vDp9vDq9vDp9/Hp9vDp9vDp9/Hq9vDp9vDp9vDp9vDq9vDp9vDo9vDp9vDp9e/o9e/o9e/p9e/o9e/p + 9e/o9e/o9e/p9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9vDp9vDp9vDp9vDp9vDp9vDp9vHq9vHq9vHq + 9vLq9vHr9/Lr9/Lr9/Lr9/Ls+PPs+PPs9/Lr9/Ls+PPs9/Lr9/Lr9/Lr9/Lr9vHq9/Lr9vHq9vHq9vHq + 9vHq9fDq9vHq9fDp9fDp9fDq9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9O/p9fDp9PDp9fDp + 9fDo9fDp9O/o9fDp9PDp9O/p9O/p9O/o9O/o9O/o9O/o8+/o9O/o8+/o9O/o8+/o9O/o9O/o8+7n8+/n + 9O7o8+7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o + 8+3n9O7o8+7o9O7o9O7o9O7n9O7n8+7n8+7n8+7n9O3m8+3m8+3m8+3m9O7n8+7m9O7n8+3m8+7n8+7n + 9O7n8+7n8+7n8+3m8+3m8+3m8u3m8+3m8+7m8+3m8+3m8+3m8+3m8+3m8+3m8+7n8+7m8+3m8+3m8+3m + 8+7m8+3m8+3m8+3m8+3m8+3m8+3m8uzm8uzl8+3m8uzl8uzm8uzm8uzm8uzm8uzm8uzl8uzm8uzm8uzm + 8uzl8uzm8uzm8uzl8uzm8uzm8uzm8uzm8uzl8uzm8evm8uzl8evl8evl8evl8uzl8evl8evl8uzl8uzm + 8uzl8uzl8uzm8uzl8evl8evl8ezk8evk8evk8evk8evk8Ork8evk8Ork8Ork8Ork8Ork7+nj7+nj8Orj + 7+nj7+nj7+nj7+ni7+nj7+nj7+ni7ujj7+nj7uji7ujj7uji7uni7uji7uji7uni7ujh7ejh7ujh7ujh + 7ujh7eji7ujh7ejh7ejh7ejh7ujh7ejh7efh7Ofg7efh7efh7Ofg7ebg7Ofg7Obg7Ofh7Obg5eLc5+Lb + 5+Lb5+Lc5+Pc6OLc6OPc6OPc6ePc6ePd6OPc6ePd6eTd6uTe6eTd6eTd6uTe6uTe6uTe6uXe6uXe6uXe + 6uXe6uXe6+Xf6+Xf6+Xf6+bf6+bf6+bf6+bf6+bg6+bg6+bg6+bg6+bg6+bg6+bg7Obh6+bg6+bg6+bg + 7Ofg7Ofh7Ofh7Ojh7Ofh7Ojh7Oji7eji7eji7eji7eji7eji7eji7uji7ujj7ujj7ujj7unj7ujj7ujj + 7+jj7+nj7+nk7+nj7+nj7+nk7+nk8Ork8Orj8Orj8Ork8Ork8Ork8Ork8Ork8Ork8evk8Orj8Ork8evk + 8Ork8Ork8Ork8evk8evk8Ork8evk8evk8Ovk8evk8evl8evl8evk8ezl8ezl8ezl8uzl8evl8uzl8uzl + 8uzl8uzm8uzm8uzm8+3m8u3m8u3n8u3n8+3n8+3n8uzn8uzn8+3n8uzn8+3m8uzn8+3n8uzn8uzn8+3m + 8+3n8uzn8uzm8uzn8uzm8uzm8u3n8uzm8u3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n9O7o8+3n8+3n8+3n + 9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7p9O7o9O7o9O7p9O7p9O7o9O7o9O7p9O7p9e/p9O7p9e/p + 9e/p9O/p9O/p9O/p9e/p9e/p9O/p9e/p9O/p9e/p9e/q9e/q9e/p9e/q9e/q9e/q9e/p9vDq9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9fDp9vDq9vDq9vDq9e/p9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9O7o9O/p9O/p9e/p9e/p9e/p9fDq9fDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDp9/Hq9vDp9/Hq9/Hq9vDq9/Hq9vDp9vDp9vDp9vDp9vDp9vDp9fDp9vDp9fDo9e/o9e/p9e/o9e/p + 9e/o9e/o9e/p9e/o9e/o9e/o9vDp9e/o9vDo9e/o9vDp9vDp9vDp9vDp9vDp9vDq9vDq9vHq9vHq9vHq + 9/Lr9vHq9/Lr9/Lr9/Lr+PPs+PLs+PPs+PPr+PPs9/Ls+PPs9/Lr9/Lr9/Lr9/Lr9vHq9vHq9vHq9vHq + 9vHq9fDq9vDq9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9fDp9PDp9fDp9fDp9fDp + 9fDp9PDo9fDp9fDp9fDp9fDp9fDp9PDo9O/o9fDp9fDo9PDo9O/o9O/o9O/o9O/o9O/o9O/o9e/p9O/o + 9O/o9O/o9e7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o + 9e/o9O7o9O7o9O7o9O7o9O7o9O7o9O7n9O7o9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+7n + 8+7n8+3m9O7n8+3m8+3m9O7n8+3m8+3m9O7n9O7n8+3m9O7n9O7n8+3n8+3m9O7n9O7n9O7n9O7n9O7n + 9O7n9O7n9O7n9O7n9O7n9O7n8+3m8+3m8+7m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8uzm8uzm8+3m8+3m + 8uzm8uzm8+3m8uzm8+3m8+3m8+3m8uzm8uzm8uzm8uzm8uzl8uzl8uzl8uzm8uzm8uzl8uzl8uzl8uzm + 8uzl8uzm8uzm8uzl8evl8evl8uzk8evl8evk8evk8evk8evk8evk8Ork8evk8Ork8Ork8Ork8Orj8Ork + 8Orj8Orj7+nj7+ni7+ni7+ni7+ni7+nj7+nj7+nj7+ni7+ni7+ni7uji7uni7uji7uji7uji7uni7uji + 7uji7uji7uji7uji7uni7uji7uji7uji7efh7efh7efh7efh7Ofh7Obh7Ofg7efh7Obh7Ofh5uLb5+Lc + 5+Pc5+Pc6OPc6OPc6OPc6OPc6ePd6OPc6eTd6eTd6eTd6uTe6uTe6uTe6uXe6uTe6uTe6+Xf6uTe6uXe + 6uXe6+Xf6uXe6+Xf6+Xf6+Xf6+bg6+bg6+bg6+bg6+bg6+bg6+fg6+bg6+fg7Ofh7Ofh7Ofh7Ofh7Ofh + 7Ofh7eji7Ojh7Oji7eji7eji7eji7eji7eji7uji7ujj7uji7ujj7ujj7ujj7ujj7ujj7ujj7ujj7unj + 7+nk7unj7+nj7+nk7+rk8Ork7+nk7+rk7+rk8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj8Ork8Ork + 8Ovk8Ork8evk8Ork8Ovk8Ovk8evk8Ovk8evk8evl8ezl8ezl8evl8ezl8uzl8uzl8ezl8uzm8uzm8uzm + 8uzm8u3m8uzm8u3n8+3n8+3n8+3n8u3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3o8+3n8+3n8+3n8+3n + 8+3o8+3n8+3n8+3n8+3n8+3n8+3n9O7o9O7o8+3n8+7o8+3o8+3o8+3o8+3o9O7o8+3o9O7o9O7o9O7o + 9O7o9O7o9O7o8+7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7p9O7p9O7p9O7p9O7p9e/p9e/p9e/p + 9O7p9O7p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O/p9e/p9O7p9O7p9e/p9e/p9O7p9e/p9e/p9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9vDq9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9e/q9e/p + 9vDq9e/p9e/p9e/p9e/p9O/p9e/p9e/p9e/p9e/p9fDp9fDq9fDp9vDq9vDq9vHq9vDq9vDq9vDq9/Hq + 9vDq9/Hq9/Hq9/Hp9/Hq9vDq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9fDp9vDp9vDo9vDp9e/o9vDp9vDp + 9vDp9fDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vLq9/Lr + 9/Lr9/Lr9/Lr+PPs9/Lr+PPs+PPs+PPs9/Lr+PPs+PPs9/Lr9/Lr9/Lr9/Lr9vHq9vHq9vHq9vHq9vDq + 9fDp9fDp9fDq9fDp9fDp9fDq9fDp9fDp9fDp9fDq9fDp9vDq9fDp9fDp9fDp9fDp9fDq9fDq9fDp9fDp + 9fDq9fDp9fDp9fHq9vHq9vHq9fDp9fDp9fDp9fDp9fDp9vDq9fDp9fDp9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9e/p9O7o9e/p9O7o9e/o9e/o9e/o9e/o9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7m + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7o9O7o9O7n9e/o + 9O7n9e/o9O7n9e/o9O7n9O7n9O7n9O7n9O7n9O7n8+7n8+7n8+7n8+7n9O7n8+7n8+3m9O7n8+3m8+3m + 8+3m8+3m8+3m8+3m8+3m8+3m8+3m8uzm8uzm8uzm8uzm8+3m8+3m8uzm8+3m8uzl8uzm8uzm8uzm8uzl + 8uzl8uzl8uzl8uzl8uzl8ezl8evk8evl8evk8evk8evk8Ork8evk8evk8evk8Ork8Ork8Ork8Orj8Orj + 8Ork8Ork8Orj8Orj8Ork8Orj7+nj7+nj7+nj7+nj7+nj7+nj7+nj7+nj7+ni7+ni7+ni7+ni7uji7+ni + 7uni7uni7uji7+ni7uji7uni7uji7uji7ujh7uji7efh7efh7efh7efh7Ofg7Ofh7Ofg7efg5eLc5+Pc + 5+Lb5+Pc6OPc5+Lc6OPc6OPc6eTd6ePd6ePd6eTd6uTe6eTd6uTe6uTe6uTe6uXe6uTe6uXe6+Xf6+Xf + 6+Xf6+Xf6+Xf6+Xf6+bg6+bf7Obg7Obg7Obg7Obg6+bg6+bg7Ofh7Obh7Ofg7Ofh7Ojh7Ofh7Ofi7Ofh + 7Oji7Oji7eji7eji7eji7eji7eji7eji7ujj7ujj7uji7ujj7ujj7ujj7ujj7ujj7ujj7ujj7unj7+nk + 7+nk7+nj7+nk7+nk7+nk8Ork8Ork8Ork8Ork8evk8Ork8Ork8evk8Ovk8evk8Ovk8Ork8Ovk8Ovk8Ork + 8evk8Ovk8Ovk8Ovk8Ovk8Ovk8evk8Ovk8ezl8evl8ezl8ezl8uzl8uzl8u3m8uzm8uzm8uzm8uzm8uzm + 8+3m8uzm8+3n8+3n8+3n8+3n8+3n8+3n8+7n8+3n8+3n8+3n8+3n8+3n9O7o8+3o9O7o9O7o9O7o9O7o + 9O7o9O7p9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7p9O7o9O7o9O7p9O7o9O7o9O7o9O7o9O7o9O7o9e/p + 9O7o9O7o9O7o9O7o9O7o9O7o9O7p9O7o9O7o9O7p9e/p9O7p9O7o9O7p9e/p9O7p9e/p9O7p9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7p9e/p9e/p9e/p9e/q9e/p + 9e/p9vDq9fDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9e/p9vDq9vDq9e/p9e/p9vDq9vDq9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hq9/Hq + 9vDq9/Hq9/Hq9vDq9/Hq9vDq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp + 9vDp9vDp9vDp9/Hq9vDp9/Hq9/Hq9/Hq9/Hq9/Hq9vHq9vHq9/Lr9vLq9vHq9/Lr9/Lr9vHq9vLq9/Lr + 9/Lr9/Lr9/Lr9/Lr9/Lr+PLs9/Lr+PLs9/Lr+PLs9/Lr9/Lr9/Lr9/Lr9/Lr9vHq9vHq9vHq9vHq9vHq + 9vHq9vHq9vHq9fHq9fDp9fDp9fDp9fDp9fDp9vHq9vHq9fDp9vHq9vHq9vHq9vHq9vDq9fDp9fDp9fHq + 9fDp9fDp9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9vDq + 9vDq9e/p9vDq9e/p9vDq9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7o9O7o9e/p9O7o9O7o9O7o9e/p + 9O7o9e/p9e/p9e/o9e/o9O7o9e/o9O7o9e/o9O7o9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+3m9O7n9O7n + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7m9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n + 9O7n9O7n9O7n9O7m9O7m9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+3m9O7m + 8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8uzm8+3m8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzl8uzl + 8uzl8uzl8ezl8uzl8uzl8evl8evk8evl8evk8evk8evk8Ork8Ork8Ork8Ork8Orj8Ork8Ork8Ork8Ork + 8Ork8Ork8Ork8Ork8Orj8Orj8Ork8Orj8Orj8Orj8Orj7+nj8Orj8Orj8Orj8Orj8Orj8Orj7+nj7+ni + 7+nj7+ni7+ni7uni7uni7+ni7uji7uji7uji7ejh7ujh7eji7ejh7eji7efh7efi7Ofh7Ofg5uLb5+Lb + 5+Lb5+Pc5+Pc6OLc6OPc6OLc6OPc6OPc6OPd6ePd6ePd6ePd6uTe6uTe6uTe6uTe6uTe6uTe6uXf6uXe + 6+Xf6+bf6+bf6+bf7Obg7Obg7Obg7Obg7Ofh7Ofh7Ofg7Ofh7Ofh7Ojh7Ofh7Ojh7Ojh7Ojh7Ojh7eji + 7eji7ejh7eji7eji7eji7eji7unj7ujj7unj7unj7ujj7ujj7ujj7ujj7+nj7ujj7+nk7+nj7+nk7+nk + 7+nk7+nk8Ork8Ork8Ork8Ork8Ork8evk8Ork8evl8evl8evl8uzl8evl8evl8evl8ezl8ezl8ezl8evk + 8evk8evk8evk8evk8evl8evl8ezl8uzl8ezl8uzl8u3m8u3l8u3m8u3m8+3m8u3m8+7m8+3m8+3m8u3n + 8+3n8+3n8+3n8+3n8+3n8+7n8+7o9O3o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O7o9e/o + 9O7o9O7p9O7p9e/p9O7p9O7o9O7p9O7o9O7o9e/p9O7o9O7p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/q9e/p9e/p9e/p9e/p + 9e/q9e/q9vDq9e/p9vDq9e/p9e/p9e/p9vDq9e/p9vDq9vDq9vDq9e/p9vDq9fDq9vDq9vDq9vDq9vDq + 9vDq9vHq9vHr9/Hr9vHq9vHq9/Hr9/Hr9/Hr9vDq9/Hr9/Hr9/Hr9vDr9vDq9/Hr9vDq9vDq9vDq9vDq + 9/Hr9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9/Hq9/Hq9vDp9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9vDp9/Hq9/Hq9/Hq + 9vDp9/Hq9/Hq9vHq9/Hq9/Hq9/Lq9/Hq9/Hq9/Lq9/Lr9/Lr9/Lr9/Hq9/Lr9/Lr9vHq9vHq9vHq9/Lr + 9vLq9/Lr9/Lr9/Lr9/Lr9/Lr+PPs9/Pr9/Lr9/Pr9/Lr9/Lr9/Lr9/Lr9vLq9vHq9vLq9vLq9vLq9vHq + 9vHq9vHq9vHq9vHq9vHq9vHq9fDp9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq + 9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9fDp9fDp9fDp9fDp9fDp9fDp9vDq9e/p9vDq + 9e/p9e/p9vDq9e/p9vDq9e/p9vDq9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7p9O7p9e/p9e/p9e/p + 9e/p9e/p9e/o9e/p9e/o9e/p9e/o9e/o9O/o9e/o9e/o9O7o9e/o9O7o9O7o9O7o9e/o9O7o9O7o9e/o + 9e/o9O7o9e/o9O7o9O7o9e/o9O7n9O7o9O7n9O7n9O7n9O7n9O7n9O7o9O7n9O7n9O7n9O7o9O7n9O7o + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+7n9O7n + 9O7n9O7n9O3n9O7n8+7n8+7n8+3n8+3m8+3m8+3m8+3m8+3m8uzm8+3m8uzl8+3m8+3m8uzl8uzl8uzl + 8uzl8uzl8uzl8evl8uzk8evk8evl8evl8evk8Ork8Ork8evk8evk8evk8evk8Ork8Ork8Ork8Ork8evk + 8Ork8Ork8Ovk8Ork8evk8Ork8Ork8Ork8Ork8Ork8Orj8Ork8Ork8Ork8Orj8Orj7+nj8Orj8Orj7+ni + 7+ni7+ni7uni7+nj7uji7uni7+ni7uji7uji7uji7uji7uji7eji7uji7ejh7efh7ejh7efh5uHb5+Lb + 5+Lc5+Lc5+Lb6OLc5+Lc6OLc6OPc6OPc6OPd6ePd6eTe6ePd6eTd6eTd6uTe6uTe6uXe6+Xe6uXe6+Xf + 6ubf6+bf6+Xf6+bf7Obg7Obg7Obg7Obh7Ofh7Ofh7Ofh7Ofh7Ofh7Ojh7Ojh7Ojh7Ojh7Ojh7Ojh7eji + 7ejh7eji7eni7eni7eni7eni7eni7uni7unj7unj7unj7+nj7ujj7ujj7+nj7+nj7+nk7+nk7+nk7+nk + 7+nk8Ork8Ork8Orl8Orl8Ork8Ork8evl8evl8evk8evl8evl8evl8uzl8uzl8uzl8uzl8uzl8uzl8uzl + 8uzm8uzl8uzm8uzl8uzl8uzl8uzl8uzl8uzl8u3m8u3m8+3m8u3m8u3m8+3m8+3m8+3m8+3n8+3n8+3n + 8+3n8+7n8+3n8+7n9O7o9O7n9O7o9e/o9O7o9O7o9O7o9O7o9e/o9e/p9e/o9O7p9e/p9e/p9e/p9e/p + 9O7p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7p9e/p9e/p9e/p9e/p9vDq9e/q9e/q9e/q9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9e/p9vDq9e/p9vDq9e/p9e/p9e/p9vDq9e/p9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDr9vDq9/Hr9vHq9vHq + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9vDq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hq9/Hr9/Hq9/Hq + 9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq+PLr+PLr+PLr+PLr+PLr9/Lr+PLr9/Lr9/Lr9/Lq9/Hq9/Hq9/Lr9/Hq + 9/Hq9/Hq9/Hq9/Lq9/Lq9/Lr9/Lr9/Lr9/Lq9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr+PPs + 9/Lr+PPs9/Lr+PPs9/Lr9/Lr9/Lr9/Lr+PPs9/Lr+PLs9/Pr9/Pr9/Lr9/Lr9vLq9/Lr9/Lr9/Lr9/Lr + 9vLq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vLq9vHq9/Lr9vHq9vHq9/Lr9vLq9vLq9vLq + 9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vHq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9e/p + 9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDp + 9vDp9vDq9vDp9e/p9e/p9vDp9e/p9e/p9e/p9e/p9vDp9vDp9e/p9e/p9e/o9vDo9vDp9e/o9e/o9vDp + 9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9O/o9e/o9e/o9O/n9e/o9e/o9O7n9e/o9e/o9O7n9O7o + 9O7o9e/o9O7n9e/o9O7n9O7o9e/o9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+7n9O7n9O7n9O7n + 9O7n8+3m8+7n9O7n8+7n8+3m8+3m8+3m8+3m8+3m8+3n8+3m8+3m8+3m8+3m8+3m8+3m8uzl8uzm8uzm + 8uzl8ezl8uzl8uzl8uzl8uzl8evk8ezl8ezk8evk8evk8evk8evl8evk8evk8evk8evk8evk8evk8ezl + 8evk8evk8evl8evk8Ork8evk8evk8evk8evk8evk8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj7+nj7+nj + 7+nj7+nj7+ni7uji7uji7uji7uji7uji7uji7ujh7uji7uji7uji7efi7eji7efi7efh7efh5eHb5uLb + 5+Hb6OLc6OLc5+Lc6OPc6OLd6OLc6OPc6OPd6ePd6ePd6eTd6eTd6uTd6eTe6uXe6uXf6uXe6uXf6uXe + 6ube6+bf6+bf7Obg7Obg7Obg7Obg7Obg7ebh7Obh7Ofh6+fg7Ofh7Ojh7Ojh7Ojg7Ofh7Ojh7Ojh7Ojh + 7eji7Ojh7eji7eji7uni7eni7uni7unj7unj7unj7unj7unj7+nj7+nk7+nk7+rk7+nj7+nk8Onk8Ork + 7+nk8Ork8Ork8Ork8Ork8Orl8Orl8Orl8Orl8evl8evl8uzk8uzl8evl8uzl8uzm8uzl8uzl8uzm8+3m + 8+3m8uzl8+3m8+3m8+3m8+3m8+3m8uzm8+3m8uzl8+3m8+3m8+3m8uzm8uzm8+3m8+3n8+3n8+7n8+3n + 8+3n8+7n9O7n9O7o9O7o9O7o9O/o9O7o9e/o9e/o9O7o9e/p9e/p9e/p9vDp9e/p9e/p9e/p9vDp9e/p + 9e/p9e/p9e/p9e/p9e/q9e/p9e/p9e/p9e/q9e/p9e/p9vDp9vDp9e/p9vDq9vDq9vDq9e/q9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9vDq9vDq9vDq9e/p + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9vDq9vDq9/Hr9vDq9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hs9/Hs9/Hr9/Hr9/Ls9/Hr9/Hs9/Hs9/Hr+PLr+PLr+PLs9/Hr9/Hr+PLs9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hr9vDq9/Hr9vDq9/Hr9/Hr+PLr+PLr+PLr9/Hr9/Hr9/Hr9/Hr9/Hr+PLr+PLr9/Hr9/Hr + +PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr9/Hq9/Lr9/Lr9/Lq9/Hq + 9/Lr9/Hq9/Lr9/Lr9/Hq9/Hq9/Lq9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr+PPs9/Lr9/Lr+PLs+PPs+PPs+PPs + +PPs9/Lr+PPs9/Lr+PPs9/Lr9/Lr+PLs9/Lr9/Lr9/Lr+PPs9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr + 9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9vHq9vLr9/Lq9/Lr9/Lr9vHr9vHr9vLr9vLq9vLq9/Lr + 9vHq9vLq9vHq9/Lr9/Lr9/Lr9/Hr9vHq9vHq9vHq9vHq9vHq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDp + 9vDp9vDq9vDp9vDp9vDp9e/o9vDp9vDp9vDp9vDp9e/p9vDo9vDp9fDp9vDp9e/o9vDp9vDp9vDp9e/o + 9e/o9vDo9e/o9vDp9vDp9e/o9e/o9e/o9e/o9e/o9e/o9e/o9vDp9e/o9e/o9e/o9e/o9O7n9e/o9e/o + 9e/o9O7n9e/o9O7o9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+7n9O7n9O7n8+7n8+7n8+7n + 8+7n8+7n8+7n8+3m8+3m8+3m8+3m8+3m9O7n8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8uzl + 8uzm8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8evk8evk8ezl8evk8evk8evk8evk8Ovk8evk8ezl + 8ezk8evk8Ovk8evk8Ovk8evk8evk8Ork8Ovk8Ovk8Ork8Ork8Orj8Ovk8Ork8Orj7+nk7+nj8Ork7+nk + 7+nj7+nj7uji7uji7uji7uji7uji7uji7efi7uji7uji7ujh7eji7uji7efi7uji7efi7efh5uHb5+Hb + 5+Lc6OLc6OLc6OLd6OPc6ePd6OPd6OPd6ePd6eTe6ePd6uPe6eTe6uTe6uTe6uTe6uTe6uTe6+Xf6+Xf + 6uXe6+Xf6+Xf6+bf7Obg7Obg7Obg7Obg7Obg7Ofg7Ofg7Ofh7Ofh7Ofg7Ofh7Ojh7eji7eji7eji7eji + 7eji7uji7uni7uni7uni7unj7unj7unj7unj7unj7+nj7unj7unj7+nj7+nj7+nj7+nj7+nj7+rk7+rk + 7+rk8Ork8Orl8Orl8Orl8Orl8Orl8evl8Orl8evl8evl8evk8evl8evl8evl8uzl8uzm8uzm8u3m8uzl + 8uzl8+3m8+3m8+3m8+3m8uzm8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3n8+3n9O7n8+3n9O7n + 9O7n9O7n9O7o9O7o9O7o9e7o9O7o9e/o9e/o9O7o9e/o9e/o9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/q + 9vDq9vDq9e/p9vDq9e/p9vDq9vDq9vDq9e/q9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/q9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr+PLs9/Hr9/Hr9/Hr + 9/Hr9/Hs+PLs9/Hs+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr9/Hr+PLs+PLs9/Hr9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr9/Hr+PLs9/Hr+PLs+PLs9/Hr9/Hr+PLs+PLr+PLr+PLr+PLr9/Hr+PLr+PLr+PLr + +PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLs+PLr+PLr+PLq+PLr9/Lr9/Lr9/Lq + 9/Lr9/Lr9/Lr+PLr9/Lr9/Lr9/Lr+PPs+PPs+PLs9/Lr+PPs9/Lr9/Lr+PPs+PPs+PLs+PPs+PPs+PLs + +PPs+PPs+PPs9/Lr+PPs+PPs+PPs+PPs+PPs+PPs+PPs9/Lr+PLs+PPs+PLs+PLs+PLs+PPs+PPs+PLs + +PLs+PLs+PPs+PPs9/Lr9/Lr+PLs9/Lr9/Lr9/Lr9vHq9vHq9vHq9vHq9vHq9vHq9/Lr9vLq9/Lr9/Lr + 9/Lr9vLq9/Lr9/Lr9/Lr9/Lr9/Lr9/Hr9vHq9vHq9/Hr9vHq9vHq9vHq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9vDq9/Hr9/Hr9vDq9vDq9vDq9vDq + 9vDq9vDp9vDq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9e/o9vDp9e/o9vDo9vDp9e/o9e/o9e/o + 9e/o9e/o9vDp9e/o9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDo9vDo9e/o9e/o9e/o9e/o9e/o + 9e/o9e/o9O7n9e/o9e/o9O7n9O7n9O7n9O7n9O7o9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7m9O7m9O7n9O7m8+3m9O7n8+3m8+3m8+3m8+3m8+3m8+3m + 8+3m8+3m8+3m8+3m8+3m8+3m8uzm8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8ezk8ezl8ezk8ezl + 8evk8evk8ezl8evk8ezk8evl8evk8evk8Ovk8evk8Ork8Ork8Ork8Orj8Orj8Ork8Ork8Ork8Orj7+nj + 7+nj7uji7+ni7+nj7uji7uji7uji7uji7uji7uji7uji7uji7uji7uji7uji7uji7uji7efi5eDb5+Lc + 6OLc6OLc6OLc6OLd6OPd6OPd6ePd6ePd6ePe6eTe6eTe6eTe6uTe6uTe6uTe6uTf6uXf6uXf6+Te6+Xf + 6+Xf6+Xg6+Xf6+bf6+Xf6+bg7Obg7Obg7Obg7Obg7Obg7Ofh7Ofh7Ofg7Ofh7ejh7ejh7eji7ejh7eji + 7eji7uni7unj7uni7uni7unj7unj7+nj7+nj7+nj7+rj7+nj7+nj7+nj7+nj7+nj7+nj7+nj7+rk7+rk + 7+rk7+rk8Ork8Orl8evl8evm8Orm8evm8evl8evm8uzl8evl8evl8evl8evl8uzl8uzl8uzl8u3m8uzl + 8uzm8+3m8uzm8uzm8+3m8+3m8uzl8uzm8+3m8+3m8+3m8+3m8+3m8+3m8+3n8+3n8+3n9O7n8+3n8+3n + 9O7n9O7n9O7o9O7o9O7o9O7o9e/o9O7o9e/o9e/o9e/o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p9vDp + 9vDq9vDq9e/q9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vHq9vHr9vHq9vDq9vDq9vDq9vHq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs + +PLs9/Hr+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr9/Hr+PLs9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + +PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLr+PLr+PLr+PLr+PLr+PLr+PLr + +PLr+PLr+PLr+PLr+PLr+PPs+PLr+PLr+PPs+PLs+PPs+PPs+PPs+PLs+PPs+PPs+PLr+PLs+PLr9/Lr + +PLr9/Ls9/Lr+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs9/Lr+PPs9/Lr9/Lr+PPs+PPs9/Lr+PLs + 9/Lr+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PTt+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPs+PPs+PPs9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr + 9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Lr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9vDq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hq9/Hq9/Hq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9e/o9vDp9e/o9e/o9e/o + 9vDo9e/o9e/o9e/o9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDo9e/o9e/o9e/o + 9e/o9e/o9O7o9e/o9e/o9e/o9e/o9O7n9O7n9O7o9O7n9O7n9e/o9O7o9O7n9O7n9e/o9O7n9O7n9O7n + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+3n8+3m9O7m9O7m8+3m8+3m8+3m9O7n8+3m + 8+3n8+3n8+3m8+3m8+3m8+3m8+3m8+3m8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8ezk + 8ezl8ezl8ezl8ezk8evk8Ovl8evk8evk8Ovk8Ovk8evk8Ork8evk8Ork8Ork8Ork8Ork8Ork7+nj7+nj + 7+nj7+nj7+nj7ujj7uji7uji7uji7ujj7uji7uji7uji7uji7uji7uji7uji7uji7uji7efh5eDb5uDb + 5+Hc5+Hc5+Lc5+Lc5+Lc6OLd6OPd6OPd6ePd6OPd6eTe6eTe6eTe6uXf6uTe6uXf6uXf6uXf6+Xf6+Xf + 6+Xf6+Xf6+Xf7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Obg7Ofh7Ofh7efh7Ofh7Ofh7Ofh7Ojh7Ojh7Ojh + 7ejh7eni7eni7uni7uni7uni7urj7urj7+rj7+rj7+rj7+rj7+nk7+rk7+nj7+nj7+nk7+rk7+rk7+rk + 8Ork8Ork8Orl8Ovl8evl8evl8evm8evl8uzm8evl8uzm8uzl8uzm8uzl8uzl8uzl8uzm8uzl8u3m8uzl + 8uzm8+3m8+3m8+3m8+3m8+3m8+3m8u3m8+3m8+3m8+3m8+3m8+3m8+3n8+3n8+3n8+3n9O7n9O7n9O7n + 9O7n9O7o9O7n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9vDq9e/q9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9/Hr9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs9/Hr+PLs+PLs + 9/Hr+PLs+PLs9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PPs+PPs+PPs+PLs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PLs+PLs+PLs + +PLr+PPs+PPs+PPs+PLr+PPs+PLr+PPs+PLs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPt+PTt+PTt+PPs+PTs+PPs+PPs+PTs+PTt+PTs+PPs+PTs+PPs+PPs+PPs9/Lr+PPs+PPs+PTs + +PPs+PPs+PPs+PTs+PTt+PTt+PTs+PTt+PTt+PTt+PTt+PTt+PTt+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPs+PPs+PPs+PPs+PLs+PLs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PLs+PPs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PHs9/Hr+PLs+PLs+PLs+PLs + +PLs+PLs+PLs9/Ls+PLs9/Ls9/Hr9/Hr+PLs9/Hr+PLs9/Hr+PLs9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9vDp9/Hq9vDp9/Hq9vHp9vDp9/Dq9vDp9vDp9vDp + 9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDo9vDp9vDp + 9e/o9vDo9e/o9vDp9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o + 9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+3n8+3m8+3n8+3n8+3n8+3n8+3n8+3m8+3m8+3m8+3m + 8+3m8+3m8+3m8+3m8+3m8uzm8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8evk8ezl + 8evk8evk8evk8evl8Ovk8Ovk8Ork8evk8evk8Ork8Ork8Ork8Ork8Ork8Ork8Ork7+nk7+nj7+nj7+nj + 7+nj7uji7ujj7uji7ujj7uji7uji7uji7uji7ujj7eji7uji7efi7uji7efi7eji7efi7efi5ODa5uDb + 5uHb5uHb5+Hc5+Lc5+Hc5+Lc6OPd6OPd6OPd6OPd6eTe6eTe6eTd6eTe6uTe6uXe6uXf6uXf6uXf6+Xf + 6+Xf6+Xg6+Xg7Obg7Obg7Obg7Obg7Obg7efh7efh7efh7efh7efh7efi7efh7Ofh7efh7Oji7Oji7Oji + 7eji7eni7eni7uni7uni7eni7urj7urj7urj7urj7+rj7+rj7+rk7+rk7+rk7+nk7+nk7+rk8Ork8Ork + 8Orl8Ork8Orl8Orl8evl8Orl8evl8evl8uzm8uzm8uzl8uzl8uzl8uzl8uzl8uzl8+3m8uzm8uzm8+3m + 8uzm8uzm8+3m8u3m8+3m8uzm8u3m8+3m8+3m8+3m8+3m8+3m8+3m8+3n8+3n8+3n8+3n9O7n9O7n8+3n + 9O7o9O7o8+3n9O7o8+3n9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9e/p9vDq9vDq9vDq9e/p9vDq9vDq9vDq9vDq + 9vDq9/Hr9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs9/Lr9/Hr9/Hr+PLs+PLs9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPs+PLs+PLs+fPt+PLs+PLs+fPs+fPs+fPs+fPs + +PPs+fPs+fPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPs+PPs+PPs+PPs+PPs+PLr+PPs+PPs+PPs+PPs+PPs+PTs+PPs+PPs+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTs+PTt+PTs+PTt+PTt+PTt+PTt+PTs+PTs+PTs+PPs+PPs+PPs+PTs+PTs+PPs + +PTs+PPs+PTt+PTs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt + +PPs+PPt+PPt+PTt+PTt+PTs+PTt+PTs+PTt+PTt+PTs+PTt+PTt+PPt+PPs+PPt+PPt+PPt+PPs+PPs + +PPs+PPs+PPt+PPs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PPs+PLs+PLs + +PPs+PPt+PPs+PPt+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr9/Hr9/Hr+PLs9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr9/Hq9vDq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9vDp9vDp9vDp9vDp9vDp + 9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDo9vDp + 9e/o9vDp9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9e/o9fDo9e/o9e/o9e/o9e/o9e/o9e/o9e/o + 9e/o9O7n9O7n9O7o9O7n9O7n9O7n9O7n9O7n9O7n9O7n8+3n8+7m8+3m8+3m8+3m8+3m8+3m8+3m8+3m + 8+3m8+3m8uzm8uzl8uzm8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8ezl8ezl8evl8evk8evk + 8evk8evk8evk8evk8Ork8Ovk8Ork8Ovk8Ork8Ork8Ork8Ork8Ork7+nk7+rk7+nj7unj7+nj7+ni7uni + 7unj7+nj7ujj7ujj7ujj7ujj7unj7uji7uji7uji7eji7uji7eji7eji7efi7efi7efi7efh5ODa5uHb + 5uHb5uHb5+Hc5+Hb5+Hc6OLd6OLc6OLd6OLc6OPd6OTd6OPd6OPd6eTd6eTe6eTe6eTe6uTe6eTf6uTf + 6uTf6uXf6uXf6+Xf6+Xg7Obg7Ofg7Obg7efh7efh7efh7efi7ejh7eji7ejh7eji7eji7eji7eji7eji + 7eni7eni7eji7eji7eni7uni7unj7unj7urj7urj7urj7+rj7urk7+rk7urk7+nk7+nk8Ork8Orl8Ork + 8evl8Orl8Orl8evl8Orl8Orl8evl8evm8evm8evm8evm8uzm8uzm8uzm8uzm8uzl8uzm8+3m8uzm8+3m + 8uzl8+3m8u3m8uzm8+3m8uzm8uzm8uzm8+3m8+3m8uzn8+3n8+3n8+3n8+3n8+3n8+3n9O7o9O7o8+3n + 9O7o9O7o9O7o8+3n8+3n9O7o9O7o8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9vDq + 9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt+fPt+fPt+fPt+PLs+PLs+fPt+fPt+fPs+fLs+fPs+PPs + +fPt+fPs+fTs+fPs+fPs+fTs+fPs+PPs+PPs+PTt+PPt+PPs+PPs+PTt+PPt+PTt+PPt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTs+PTt+PTt+PTt+PTs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPs+PTt+PTs+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt+PPt+PPt+PPt+PPt+PPt+PPt + +PPs+PPt+PLs+PPt+PLs+PPt+PPt+PPs+PPs+PPs+PPt+PPs+PPt+PPt+PPt+PPt+PPt+PPs+PPt+PPs + +PPs+PPt+PLs+PLs+PLs+PLs+PPt+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs9/Hr+PLr9/Hr + 9/Hr9/Hr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq+PLq9/Hq+PLq9/Hq+PLr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq + 9/Hq9vDp9/Hq9/Hq9/Hq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp + 9vDp9e/o9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9fDp9e/o9e/o9e/o9e/o9O7o + 9e/o9O7o9O7o9O7o9O7n9O7n8+3n8+3n9O7n8+3n8+3m9O7n8+3n8+7n8+7n8+7n8+3m8+3m8+3m8+3m + 8+3m8+3m8+3m8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzl8uzm8uzl8evk8evk8uzk8evl8ezl8evk8evl + 8evk8evl8evl8Ork8erk8Ovk8Ork8Ork7+rk8Ork8Ork7+rk7+rk7+nj7+nj7+nj7unj7+nj7unj7+nj + 7ujj7+nj7+jj7+nj7ujj7+nj7ujj7uji7uji7eji7uji7uji7efi7efi7efh7eji7eji7Obh5ODa5uHb + 5uHb5uHb5uHb5+Lc5+Lc5+Lc5+Lc6OLd6OLd6OPd6OPd6ePe6OPd6ePe6eTe6ePe6ePe6eTe6eTe6eTe + 6uTf6uTe6uXe6uXf6uXf6+Xg7Obg7Obg7Obh7ebh7efh7efg7efi7efh7efh7efh7efh7efh7Ofi7eji + 7Ojh7ejh7eji7eji7ejj7enj7unj7urj7unj7uni7urk7unk7+nk7urj7urj7+rk7+rk7+nk8Orl8Orl + 8Ork8Orl8evl8evl8evm8Orm8evl8evm8evl8evl8evm8evm8uzm8uzm8uzm8uzl8uzm8uzm8+3m8uzm + 8uzm8+3m8+3m8+3m8uzm8+3m8+3m8uzm8uzm8+3m8uzm8+3m8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n + 9O7o9O7o8+3n8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9vDq9e/p9e/p9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs + +PLs+PLs9/Hr+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+PLs + +PLs+fPt+fPt+fPt+fPt+PLs+PLs+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt + +fTt+fTt+fTt+fTs+fTt+fTs+fTt+fPs+fPs+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PXt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt+PPt+PPt+PPt+PPt+PPt + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs + +PPt+PPs+PPs+PLs+PLs+PLs+PLs+PLs+PLt+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLr+PLr+PLr9/Hr+PLq9/Hq+PLq+PLq+PLr9/Hr9/Hq+PLs+PLr+PLr+PLr+PLr9/Hq+PLr9/Hq9/Hq + +PLr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9vDp9vDp9vDp9vDq9vDp9vDp9/Hq9/Hq9vDq9/Hq9vDp9vHp9/Hq + 9/Hq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9fDo9e/o9e/o9e/o9e/o9e/o9O7o9O7o + 9O7o9O7n9O7n9O7m9O7n9O7m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+3m8+7m8+3m8+3n8+7m8+3m8+3m + 8+3m8+3m8uzl8uzl8uzm8uzm8uzm8uzm8uzl8uzl8uzl8uzl8evl8evl8uzl8evk8evk8evk8evk8evk + 8evl8evl8evl8Orl8evk8Orl8evk8Orl8Ork8Ork8Ork7+nk7+nk8Onj7+nj7+nj7+nj7+nk7ujj7ujj + 7ujj7+nj7ujj7+nj7ujj7uji7uji7uji7uji7efh7eji7efi7efh7efi7efh7Ofi7efi7efh5ODa5ODa + 5eDa5eHa5uHb5uHb5+Hc5+Lc5+Lc5+Lc5+Lc5+Lc6OLd6OLd6OPd6OPd6OPd6OPd6eTe6eTe6eTe6eTe + 6uTf6uXf6uXe6uXf6+Xg6+bg6+bg7Obg7Obh7Ofh7efh7Ofh7efh7Obh7efh7efh7efh7efh7eji7efh + 7eji7ejh7eji7eji7ejj7eni7ejj7uni7unj7unj7unj7unj7urj7+rj7urk7+rj7urk7+rk7+nk7+rk + 7+rk8Orl8Ork8Ork8Orl8Orl8evl8Orl8evl8evl8evm8evm8evm8uzm8uzm8uzm8uzm8uzm8uzm8uzm + 8uzl8uzl8uzl8uzl8uzl8+3m8+3m8uzm8uzm8uzn8uzm8+3n8+3n8+3n8+3n8+3n8+3n9O7o9O7n9O7o + 9O7o9O7o9O7o9O7o9e/p9O7o9O7o9e/p9e/p9e/p9O7o9e/p9e/p9e/p9e/p9e/p9vDq9vDq9e/p9vDq + 9vDq9vDq9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9vDq + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs9/Hr+PLs9/Hr+PLs9/Hr+PLs9/Hr9/Hr+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt + +fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTt+fTt+fTt+fTt+fPt+fTt+fTt + +fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PXt+PTt+PTt+PTt+PTt+PTt+PTt+PXt+PTt+PTt+PTt+PXt+PXt+PTt+PXt+fXu + +PXt+PXt+fXu+PTt+PXt+PTt+PXt+PXt+PXt+PXt+PTt+PTt+PTt+PTt+PTu+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PXt+PXt + +fXu+PXu+fXu+PXt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PTt+PPt+PPt+PPt+PPt+PPt + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs+PPs+PLs+PPs + +PPs+PPr+PLr+PLr+PLr+PLr+PLs+PLr+PLs+PLs+PLr+PLr+PLr+PPs+PLr+PLr+PLr+PLr+PLr+PLr + +PLr+PLr+PLr+PLr+PLr+PLr9/Hq+PLr+PLq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9vDp9/Hq + 9vDp9vHp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9e/o9e/o9e/o9e/o9e/o9e/o9e/o9O7o9O7n + 9O7n9O7n9O7n8+7m9O7m8+3m8+3m9O7n9O7n8+3m8+3m8+7m8+3m9O3n8+3m8+3m8+3n8+7n8+3m8+3m + 8+zm8uzm8+3m8uzm8uzm8uzm8uzl8uzm8uzl8uzl8uzl8uzl8uzl8uzl8evk8evl8evk8evk8evl8evk + 8evl8Ovl8evl8Orl8evl8Orl8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj7+nk7+nj7+nj7+nj7+nj7+ni + 7+nj7uji7uji7uji7uji7uji7uji7uji7uji7ujh7efi7Ofh7efh7Ofh7efh7efh7Ofh7Ofh4t/Y5ODZ + 5ODa5ODZ5eDa5eDa5uHb5uHb5uHb5uHb5+Hc5+Lc5+Lc6OLc6OLc6OPd6OPd6OPd6ePd6ePe6ePe6eTe + 6eTe6eTe6uXf6uTf6uXf6uXf6+Xg6+Xg6+Xg7Obh7Obh7Obi7Obh7Obh7efh7efh7efi7efi7eji7efi + 7efi7efi7eji7eji7eji7eji7ejj7unj7unj7enj7unj7unj7unj7unj7unj7unj7unj7unk7urk7+nk + 7+nk7+nk7+rk7+nk8Ork8Ork7+rk7+rk8Ork8Orl8Orl8Ovl8evm8evl8uzm8ezm8uzl8uzm8uzm8uzm + 8uzm8uzm8+3m8uzm8uzm8uzm8+3m8uzm8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3o8+3o + 8+3n9O7o9O7o9O7p9O7o9O7o9O7o9O7o9e/p9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9vDq9e/p9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9vDq9/Hr9vDq9vDq9vDq9vDq9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+PLs+PLs+fPt+fPt+fPt+PLs+PLs+fPt+fPt+fTt+fTt+fPt + +fTt+fPt+fPt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt + +fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fXt+fTt+PTt+PTt+PTt+PTt+PTt + +PTt+PTt+PXt+PTt+PTt+PXt+PXt+fXu+PXt+fXu+PXt+PXt+fXu+PXt+PXt+fXu+PXt+PTt+PXt+PTt + +fXu+fXu+fXu+fXu+PXt+fXu+fXu+fXu+fbu+fbu+fbu+fXu+fbu+fXu+PXt+PXt+PXt+PXt+fXu+fXu + +fXu+PXt+PXt+PXu+PXt+PXt+fXu+PXt+PXt+PXt+PXt+fXu+PXt+fXu+fXu+fXu+fXu+fXu+fXu+fXu + +fXu+fXu+fXu+fXu+fXu+fXu+fXu+PXt+PXt+PTt+PTt+PTt+PTt+PTt+PTt+fTu+PPt+fTu+PPt+PTu + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs+PPs+PPs + +PPs+PPs+PPs+PPs+PPs+PLs+PPs+PLs+PLs+PPs+PLs+PLr+PLs+PPs+PLr+PLs+PLr+PLs+PLr+PLr + +PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr+PLr9/Hq9/Hq9/Hq9/Hq9vDp9/Hq9vDp9vDp + 9vDp9vDp9vDo9vDp9e/o9vDp9e/p9vDp9vDp9vDp9vDp9vDp9e/o9e/o9vDp9e/o9e/o9e/o9e/o9e/o + 9e/o9e/o9e/o9e/o9e/o9O7o9O7o9O7o9O7n9O7n9O7n9O7n8+3n8+3n9O7n8+3m8+3m8+3n8+7n8+3m + 8u3m8u3m8uzm8uzm8uzm8uzm8uzm8uzm8uzl8uzm8uzm8evl8uzl8evl8evl8evl8evl8evl8Ovl8evl + 8Ovl8Ovl8evl8evl8Ork8Orl8Orl8Ork8Ork8Ork8Ork8Ork8Ork7+rk7+nj7+nj7+nj7+nj7ujj7uji + 7uji7uji7uji7uji7uji7uji7ejh7eji7ejh7ejh7efh7efh7Ofh7Ofh7Obh7Ofh7Obg7Ofg497Y5N/Z + 5N/Z5N/Z5N/Z5eDa5eDa5eDa5uHb5uHb5uHb5+Lc5+Lc6OLd6OLd6OLd6OPd6OPd6OLd6OPd6ePe6ePe + 6eTe6eTe6eTe6eTe6uTf6uTf6uTf6+Tf6+Xg6+Xg6+Xg7Obh7Obh7Obh7Obh7Obh7Obh7Ofh7Ofh7efi + 7efi7efi7efi7eji7eji7eji7ejj7ejj7ujj7unj7unj7unj7unk7unj7unj7unj7unj7unj7unk7unk + 7+rj7+nk7+nk7+nk7+rk7+rk7+nk8Ork8Ork8Ork8Orl8Ork8Orl8Orl8evl8evm8ezm8ezm8uzm8uzm + 8uzm8uzm8u3m8u3m8u3m8+3m8uzm8uzn8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3n8+3o8+3o9O7o + 8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p9e/p + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9/Hr9vDq9vDq9/Hr9/Hr9/Hr9/Hr + 9/Hr9/Hr9/Hr9/Hr+PLs+PLs9/Hr9/Hr9/Hr+PLs9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+fPt+fPt+PLs+PLs+PLs+PPs+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTt+fTt+fTt+fTt + +fTt+fTt+fTu+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt + +fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fTt+fXt+fTt+fXt+fXt+fXt+fTt+fXt+PTt+fXu+PXt+fXu + +PXt+fXu+fXu+PTt+fXu+fXu+PXt+PXt+PXt+PXt+fXu+fXu+fbu+fXu+fbu+fbu+fXu+fXu+fXu+fXu + +fbu+fbu+fbu+fbu+fbu+fbu+fbv+fbu+fbu+fbv+fbu+fbu+fbu+fbu+fbu+fXu+fbu+fbu+fbu+fXu + +fbu+fXu+fbu+fXu+fXu+fXu+fbu+fXu+fXu+fbu+fbu+fXu+fbu+fbu+fbu+fbv+fbu+fXv+fXu+fXu + +fXv+fXv+fXv+fXv+fXv+fXv+fXu+fXu+fXu+fXu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+PTt+fTu+PTt+PPt+PTt+PTt+PPt+PPt+PPt+PPt+PTt+PTt+PTu+PTt+PTt+PTt+PTt+PPt+PPu + +PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs+PPs+PPs + +PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PLs+PPs+PPs+PPs+PLr+PLs+PLr+PLr+PLs+PLr+PLr + +PLr+PLs+PLs+PLs+PLs+PLr+PLr+PLr+PLq+PLr9/Hq+PLr9/Hq9/Hq9vDq9vDq9vDp9vDp9vDp9vDp + 9vDp9vDp9e/o9e/p9e/o9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9e/o9e/o9e/o9e/o9e/o + 9e/o9e/o9e/o9O7o9O7o9e/o9O7o9O7o9O7o9O7o9O7n9O7n9O7n8+3n8+3m9O7n8+3m8+3n8u3m8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8evl8evl8evl8evl8evl8evl8evl8Ork8Ovl8Ork + 8Orl8Ork8Ork8Ork8Ork8Ork8Ork7+nk7+nk8Ork7+nj7+nj7+nj7+nk7+nj7ujj7ujj7uni7uji7uji + 7uji7eji7eji7eji7efi7efi7ejh7Ofh7Ofh7Ofg7Ofh7efg7Ofg7Ofg7Ofg7Obg7Obg7Obg4t7X497Y + 5N7Y5N7Y5N7Y5N/Z5ODZ5eDa5uHa5eHa5uHb5uLc5+Lc6OLd5+Lc6OLc6OLd6OPd6OLd6OPd6OPe6ePe + 6eTe6eTe6eTe6eTe6eTe6eTe6uTf6uTf6uTf6uTf6uTf6+Xg6+Xg7Obg7Obg7Obh7Ofh7Ofh7Obh7Ofh + 7Ofh7efi7eji7efi7eji7eji7eji7eji7eji7unj7unj7unj7unk7unj7unk7unk7unk7urk7unk7unk + 7+nk7urk7+nk7+nk7+nk7+nk7+nk7+nk7+nk8Ork8Orl8Ork8Orl8Orl8evl8Orm8Orm8evm8evm8evm + 8uzm8uzm8uzm8uzm8u3m8+3m8uzn8uzn8+3n8+3n8+3n8+3n9O7o8+3n9O7o8+3n9O7o8+3n8+3n8+3n + 9O7o9O7o8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O7o9O7o9e/p9e/p9e/p9vDq9e/p + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+PLs+PLs+fPt+PLs+fPt+fPt+fPt+fPt+fTt+fTt+fPt+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTt+fTu+fTu+fTu+fTt+fTt+fXu+fXu+fXu+fXu + +fTu+fXu+fTu+fXu+fXu+fXu+fXu+fXt+fXu+fXu+fXu+fTt+fXu+fXu+fTu+fXt+fXu+fXt+fXu+fXu + +fXu+fXu+fXu+fXu+fbu+fbu+fXu+fXu+fXu+fXu+fbv+fXu+fbv+fbv+fXu+fbu+fbv+fbv+fbu+fbv + +fbv+fbv+fbv+ffv+fbv+fbv+fbv+fbu+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbu+fbv+fbv+fbv+fbv + +ffv+fbv+fbv+fbv+fbv+fbv+fbv+fbu+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fXv+fXv + +fXu+fXv+fXv+fXv+fXv+fXv+fXu+fXv+fXu+fXv+fXu+fXu+fbv+fXu+fbv+fXu+fXu+fXu+fXu+fXu + +fTu+fXu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fXu+fXu+fXu+fTu+fTu+PTt+fTu+PTt+PTt+PTt+PTt + +PTt+PPt+PPt+PTt+PTt+PPt+PPt+PTt+PPt+PTu+PPt+PTt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs + +PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PLs+PLr+PPs+PPr+PLr+PPs+PLr+PPr+PPr+PPr + +PPs+PPs+PPs+PPs+PPr+PPs+PLr+PLr+PLr+PLq+PLr9/Hq+PLr9/Hq9/Hq9/Hq9vDq9vDq9vDp9vDp + 9vDq9vDp9vDp9/Hq9vDp9vDq9vDp9vDp9vDp9/Hq9vDp9vDp9vDp9vDp9vDp9u/p9e/o9e/o9e/o9e/o + 9e/o9e/o9e/o9O7n9O7o9O7o9O7o9O7o9O7o9O7n9O7n9O7n9O7n8+3n8+3n8+3m8+3m8uzn8uzm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8uzm8evm8evm8evl8evl8evl8Orl8Ork8Ork8Orl7+rk8Ork7+nk7+nk + 7+nk7+nk7+nk7+nk7+nj7+nk7uji7ujk7+jj7ujj7ujj7ujj7uji7uni7uji7uji7eji7eji7eji7eji + 7efh7Ofh7Ofh7Ofh7Ojh7Ofh7Ofh7Ofh7Ofh7efh7Ofg7Ofg7Ofg7Ofg7Obg7Obg6+bg6+bg4t7X497X + 497X5N7Y5N/Y49/Y5ODZ5eDa5ODZ5eHa5uHb5uHb5uLb5uLb5+Lc5+Lc5+Lc5+Lc6OLd6OPd6OPd6OPd + 6OPd6OPd6eTe6eTe6eTe6eTe6eTe6uTf6eTe6uTf6uTf6uXf6uXf6+Xg6+Xg6+bg6+bg6+bg6+bg7Ofh + 7Ofh7Ofh7Ofh7efi7efi7eji7eji7eji7eji7eji7ejj7unj7unj7unj7unj7unj7+rk7+rk7urj7unk + 7urk7+rk7unk7unj7+rk7+nk7+nk7+nk7+rk7+nk7+nl7+nl8Orl8Orl8Orl8Orm8Orm8evm8evm8Orm + 8evm8evl8evm8evm8evm8ezm8uzm8uzm8uzm8uzn8uzm8uzm8uzm8+3n8+3n8+3n8+3n8uzm8+3n8+3n + 8+3n8+3n8+3n8+3n8+3n8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p9e/p9e/p9e/p + 9e/p9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9/Hr9vDq9/Hr9/Hr9/Hr9/Hr9/Hr+PLs + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLs+fPt+PLs+fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTu+fTu+fPt+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fXu+fXu+fTu+fTu+fXu+fXu+fXu+fXu + +fXu+fXu+fXu+fXu+fbu+fXu+fXu+fXu+fbu+fXu+fXu+fXu+fXu+fXu+fXu+fbu+fbu+fXu+fXu+fbu + +fXu+fXu+fbu+fXu+fbv+fbu+fbv+fbv+fbv+fbv+fbv+fXu+fbv+fbu+fbv+fbv+fbv+fbv+fbu+fbv + +fbv+fbu+fbv+fbu+ffv+ffv+fbv+ffv+fbv+ffv+ffv+ffv+ffv+ffv+fbv+ffv+ffv+ffv+ffv+fbv + +ffv+fbv+ffv+fbv+ffv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv + +fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fbv+fXv+fXv+fbv+fXv+fbv+fbv+fXv+fXv+fXu+fXu + +fXv+fTu+fTv+fXv+fTu+fXv+fXu+fXu+fXv+fXv+fXu+fXu+fXu+fTu+fXu+fTu+fTu+fXu+fTu+fTu + +PTt+fTu+PTu+fTu+fTu+PTu+fTu+PTt+PPt+PTu+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt + +PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPr+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPs+PPr+PPs+PPs+PPs+PLr+PLr+PLr+PLr+PLr9/Hq+PLr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq + 9/Hq9vDq9vDq9vDp9vDp9vDq9vDp9vDp9vDp9vDp9vDp9vDp9vDp9vDp9fDo9vDo9vDo9fDo9e/o9e/o + 9e/o9e/o9O/o9O/o9O/o9O7o9O7n9O7o9O7o9O7n9O7n9O7n9O3n8+3n8+3n8+3n8uzm8uzm8uzm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8evl8evm8evm8evl8evl8evl8Orl8Ork7+nk7+nk7+nk7+nk7unk7unj + 7ujj7+nj7ujj7ujj7ujj7ujj7ujj7uji7uji7eji7uji7uji7eji7uji7eji7efi7Oji7Ofi7Ofh7Ofi + 7Obh7Obh7Obh7Obh6+bg7Ofh7Ofh7Obh7Ofg7Ofg7Obh7Obg7Obg6+bg6+bg6+bf6ubf6+bf4t3X4t3X + 497X497X497Y49/Y49/Y5ODZ5ODZ5ODZ5eDZ5eDa5eHa5eHa5uHb5uHb5uHb5uLb5uLb5+Lc5+Lc5+Lc + 5+Lc5+Pc6OPc6OPd6OPd6eTe6eTe6eTe6eTe6eTe6eTe6eTe6uXf6uTf6uTf6uXf6+Xg6+Xg6+bg6+bg + 6+bg7Obh7Ofh7Ofh7Ofh7efh7efi7eji7eji7eji7eji7unj7ejj7unj7unj7unj7unj7unj7unj7unj + 7unk7unk7unj7unj7+nk7unk7unk7unk7+nl7unk7+nk7+nl7+nl7+nl8Orl8Orm8Orm8Orm8Orm8Orm + 8evm8Orm8Ovm8Ovm8evm8Orl8Ovl8evl8evm8evm8evm8uzm8evm8evm8evl8uzm8uzm8uzm8uzl8uzm + 8uzm8uzm8uzn8+3m8+3n8+3n8+3n8+3o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9O7o + 9e/p9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9/Hr9/Hr9/Hr9vDq9/Hr9/Hr9/Hr9/Hr+PLs9/Hr + +PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+PLs+fPt+fPt+fPt + +fPt+fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTt+fTt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTu+fTu+fTu+fXu+fTu+fTu+fTu+fTu+fXu+fXu+fTu+fXu+fXu+fXu+fXt+fXt + +fXu+fXu+fbu+fbu+fbu+fbu+fbv+fbv+fbu+fbv+fbu+fbv+fbv+fbv+fbv+fbv+fbv+fbu+fbv+fbu + +fbv+fbv+fbu+fbu+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+ffv+ffv + +fbv+ffv+ffv+ffv+ffv+ffv+fbv+ffv+fbv+ffv+ffv+fbv+ffv+ffv+ffw+ffv+ffv+fbv+ffv+fbv + +ffv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv + +fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fbv+fXv+fXv+fXv+fXv+fXv+fXv+fXv + +fXv+fXv+fXu+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fbv+fXu+fXv + +fXv+fXu+fTu+fTu+fTu+fTu+PTt+PTu+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PTs+PPs + +PPt+PPs+PPs+PPs+PPs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPs+PPs+PPr+PLr+PLr+PLr+PLr+PLr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq + 9vDq9/Hq9/Hq9vDq9vDp9vDq9vDp9vDp9vDp9vDp9vDp9vDp9e/p9e/o9e/o9e/o9e/o9e/o9e/o9e/o + 9O7o9e7o9O7o9O7o9O7o9O7o9O7o8+7o8+3o8+3n8+3n8+3n8+3n8u3m8+3n8uzn8uzm8uzm8uzm8uzm + 8uzm8uzm8uzm8uzm8uzm8uzm8evm8uzm8uzm8evl8evl8evl8evl8Ork8Ork7+rk7+nk7+nj7unj7unj + 7ujj7ujj7uji7ujj7eji7uji7ujj7eji7eji7eji7eji7eji7eji7Ofi7efh7Ofi7Ofh7Ofh7Ofg7Ofh + 7Ofg6+bg7Ofh6+bg6+bh6+bh6+bg6+bg6+bg6+bg6+bg6+bg6+bg6uXg6uXf6uXf6uXf6uXf4dzW4tzW + 4t3X4t3X4t3X497X497X49/Y49/Y5N/Y5N/Z5ODZ5eDZ5eDa5eDa5uHa5uHa5uHb5uHa5uHa5uHb5uHb + 5uLb5+Lc5+Lc5+Pc5+Pc6OPd6OPd6OPd6ePe6OTd6eTe6eTe6eTe6uXf6uTf6uTf6uXf6uXf6uXf6+bg + 6+bg6+bg6+bg6+bg7Ofg7Ofh7Ofh7Ofh7efh7efi7ejh7eji7eji7eji7eji7enj7eji7eji7ejj7enj + 7unj7unj7unj7unj7unk7unk7unk7unk7unk7unk7unl7unk7+nl7+nl7+nl7+nl7+nl8Orl8Orm8Orm + 8Orm8Orm8Ovm8Orm8Orm8Ovm8Ovl8Orm8evm8Ovm8evm8evm8uzm8evm8evm8uzm8evm8evm8uzm8uzm + 8uzm8uzm8uzm8uzn8+3n8+3n8+3n8+3n8+3n9O7o9O7o9O7o9O7o9O7o9O7o9O7o9O7o9e/p9e/p9e/p + 9e/p9e/p9e/p9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr + +PLs+PLs+PLs+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt+fPt+fPt + +fPt+fPt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTu+fTu+fTu+fXu+fXu+fXu+fTu+fXu+fXu+fXu+fTu+fXu+fXu+fXu+fXu+fXu + +fbu+fbu+fXu+fbu+fbu+fXu+fbu+fbu+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbv + +fbv+fbv+ffv+fbv+ffv+fbv+ffv+fbv+ffv+ffv+ffv+ffv+fbv+fbv+ffv+fbv+fbv+fbv+fbv+ffv + +fbv+fbv+fbv+fbv+ffv+fbv+fbv+ffv+fbv+ffv+ffv+fbv+ffw+ffv+ffw+ffw+ffw+ffw+ffw+ffw + +ffw+ffw+ffw+fbv+ffw+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv + +fbv+fbv+fbw+fbw+fbv+fXv+fbv+fbv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fbv + +fbv+fbv+fXv+fbv+fbv+fbv+fXv+fbv+fbv+fbv+fbv+fXv+fXv+fXv+fXv+fXv+fXv+fXv+fXu+fXv + +fXu+fXu+fTu+fTu+fTu+fTu+PTu+fTu+PPt+PTt+fTu+PTt+PTt+PTt+PTt+PPt+PPt+PPt+PTt+PPs + +fTt+PTs+PTs+PPs+PPs+PTs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PPr+PPs+PPr+PLr+PLr+PLr+PLr+PLr9/Hq9/Hq9/Hq9/Hr9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq9/Hq + 9vDq9vDq9/Hq9/Hq9vDq9vDp9vDp9vDp9e/p9vDp9e/p9vDp9vDp9e/p9e/p9e/o9e/o9e/p9O7o9O7p + 9O7o9O7o9O7o9O7o8+3o9O7n8+3o8+3n8+3o8u3n8uzn8uzn8uzm8uzm8uzn8uzn8uzm8uzm8evm8uzm + 8uzm8evm8evm8uzm8uzm8evm8evm8evm8evm8evl8Orl8Orl8Orl8Ork7+nk7+nk7+nk7unj7unk7unj + 7ujj7ujj7uni7ujj7uji7ujj7ujj7eji7eji7eji7eji7eji7ejh7Ofh7Ojh7Ofi7Ofh7Ofh7Ofh7Ofg + 6+bh6+bh6+bg6+bg6+bg6+bg6uXg6uXg6+Xg6uXf6uXf6uXf6uXf6uTf6uTe6uXe6uXf6uTe4NvV4dvW + 4dvW4dvW4dzW4dzW4t3X4t3X4t3X497X497X5N7Y5N/Y5N/Y5d/Z5eDZ5eDZ5uDa5uDa5uHa5uDa5uHa + 5uHb5uHb5+Lb5uLb5+Lc5+Lc5+Lc6OPc6OPd6OPd6OTd6eTd6eTe6eTe6uXe6uTe6uXe6uXf6uXe6uXf + 6+bf6+Xf6+Xf6+bg6+bg6+bg6+bg7Ofg7Ofg7Obh7Ofh7Ofh7Ofh7Ojh7Oji7Oji7Ofi7Oji7Oji7Oji + 7Ojj7Ojj7Ojj7ejj7ejk7ejk7ejk7enk7unk7unk7unk7unk7unl7unl7unl7+nl7unl7+nl7+nm7+nl + 7+nm7+rm8Orm8Orm8Orm8Orm8Orm8Orm8evm8evm8evm8ezm8uzm8uzm8uzm8uzn8+3n8uzm8+3n8uzn + 8uzm8+3n8uzm8uzm8uzn8+3n8+3o8+3n8+3o8+3n8+3o8+3n8+3o9O7o9O7o9O7o9O7o9O/o9O7o9e/p + 9e/p9e/p9e/p9e/p9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9/Hr9/Hr9/Hr9vDq9vDq9vDq9/Hr9/Hr + 9/Hr9/Hr9/Hr+PLs+PLs+PLs9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt+fPt + +fPt+fTt+fTt+fTu+fTu+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fXu+fTu+fTu+fTu+fXu+fTu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu + +fXu+fbu+fbv+fbu+fbv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbv+ffv+fbv+ffv+ffv+ffv+ffv + +fbv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+fbv+ffv+ffv+ffv+ffv+ffw+fbv+ffw + +ffw+ffw+ffw+ffw+ffw+ffw+ffv+ffw+ffw+ffv+ffw+ffw+ffw+ffw+ffw+ffw+vfw+ffw+ffw+ffw + +ffw+ffw+ffw+ffw+ffw+ffv+ffv+ffv+ffv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbw+fbw+ffw + +ffw+ffw+ffw+ffw+fbw+fbw+fbw+fbw+fbw+fbv+fbv+fbv+fbw+fbv+fXv+fXv+fXw+fXv+fbv+fbv + +fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fXv+fXv+fXv+fXv+fXv+fXv+fTu+fXv+fXv+fTu+fXv + +fXu+fXu+fTu+fTu+fTu+fTu+PTt+fTu+PTt+fTu+fTu+PTu+PTt+fTu+PTt+fTt+fTu+fTt+PTt+PTt + +PTt+fTt+PTs+PTs+PTs+PPs+PTs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPr+PPs+PPs + +PLr+PPs+PPr+PPr+PPr+PLr9/Lr9/Hr+PLr+PLq9/Hr9/Hq9/Hr9/Hq9/Hq9/Hq9/Hq9vDq9vDq9/Hq + 9vDp9vDp9vDp9vDq9vDq9vDq9vDp9vDp9vDp9vDp9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9O7p9O7o + 9O7p9O7o9O7p9O7o9O7o8+3o9O7o8+3o8+3o8uzo8uzn8uzn8uzn8uzn8uzn8uzn8uzm8uzm8uzm8evm + 8uzm8evm8evm8evm8evm8evm8Ovl8Orl8Orl8Orl8Orl7+rk7+rk7+rk7+nk7+nk7+nk7unj7unj7unj + 7ujj7unj7unj7ujj7ujj7ujj7unj7uji7ujj7eji7eji7eji7eji7eji7Ofi7Ofh7Ofh7Ofi7Ofh7Ofh + 6+bg7Obg7Obg6+bg6+bg6+bg6+bg6+Xg6+Xg6uXf6uXf6uXf6uXf6uXf6eTe6eTe6uTe6ePe39rU4NrV + 4NrV4NrV4NvW4dvW4dvW4dzW4dzW4tzX4t3X497X497X5N7Y5N7Y5N/Z5d/Z5eDZ5uDa5uDa5uDa5uHa + 5uHa5uHb5uHb5uHb5+Hb5+Lb5+Lc5+Lc6OPc6OPc6OPd6OPd6eTd6eTe6uTe6uTe6uTe6uXe6uXe6uXe + 6ubf6uXf6uXf6uXf6+bf6uXf6+bg6+bg6+bg6+bg6+bg7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofi7Ofi7Oji + 7Oji7Ofi7Ofj7Oji7Ojj7Ojj7Ojj7ejj7ejj7ejk7ejk7enk7ejk7enk7unk7unl7unk7ujk7unl7unl + 7unl7unl7+nl7+nl7+rm7+rm8Orm8Orl8Orm8Ovm8evm8evm8uzn8ezm8uzm8uzm8uzn8uzm8+3n8uzn + 8uzm8uzn8uzn8uzn8+3o8+3n8uzn8+3o8+3n8+3n8+3n8+3n8+3n8+3o9O7o9O7o9O7o9O7o9O7o9O7p + 9O7o9O7p9O7p9e/p9e/p9vDq9e/p9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr + 9/Hq9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt+fPt+fPt + +fTt+fTt+fPt+fTu+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fXu+fTu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fbu+fbu+fXu+fbu+fbu+fbv + +fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbv+fbv+ffv+ffv+ffv + +ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffw+ffw+ffw+ffv+ffw+fjw+fjw+vjw+fjw + +fjw+fjw+vjw+vjw+vjx+fjw+fjw+fjw+fjw+fjw+fjw+fjw+fjw+fjw+ffw+vfw+vfw+ffw+ffw+vfx + +ffw+ffw+ffw+vfx+ffw+ffw+ffw+ffw+ffw+ffw+ffw+fbw+ffw+ffw+ffw+ffw+ffw+ffw+vfx+vjx + +vjx+vjx+vjx+vjx+vfw+ffw+ffw+ffw+fbw+fbv+fbv+fbv+fbw+fbw+fbw+fbv+fbv+fbw+fbv+fbv + +fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fXv+fXv+fbv+fbv+fXv+fXv+fXv+fXv+fXv+fXv+fXv + +fTu+fTu+fTu+fTu+fTu+fTu+fXu+fTu+fTu+fTu+fTu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fTt+fXt + +fXt+fXt+fTt+PTs+PTs+PTs+PTt+PPs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPr+PPs+PPr + +PPr+PPr+PLr+PPr+PLr+PLr+PLr9/Hr+PLr+PLr9/Hr9/Hr9/Hq9/Hq9vDq9vDq9vDq9vDq9vDq9vDq + 9vDq9vDq9vDp9vDq9vDp9vDq9vDp9vDq9vDq9vDp9e/p9e/p9e/p9e/q9e/p9e/p9e/p9O7p9O7p9O7p + 9O7o9O7o9O7o9O7o8+3o8+3o8+3o8+3o8+3o8+3o8uzn8uzn8uzn8uzn8uzn8uzn8uzn8uzm8evm8evm + 8evm8evm8evm8Ovm8evm8Ovl8Ovl8Orl8Orl7+rk7+nk7+nk7+nk7+nk7unk7ujj7ujj7unj7unj7ujj + 7ujj7ejj7ujj7eji7uji7eji7eji7eji7eji7eji7eji7eji7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh7Ofh6+bg + 6+bg6+bg6+bg7Obg6+bg6+bg6+bg6+Xg6uXg6uXf6uXf6uXf6uTf6eTf6eTe6eTd6ePe6ePd3tnT3tnU + 39nU39nU4NrV4NrV4NrV4NvV4dvW4dvW4dvW4tzX4tzX493X493X497X497X5N/Y5N/Y5d/Z5eDZ5eDZ + 5eDa5uDa5uDb5uHb5+Hb5+Hb5+Hb5+Lb5+Lb5+Lc6OLc6OPd6ePc6OPd6ePd6eTd6eTd6eTe6uTe6uXe + 6uXe6uXe6uXf6uXf6uXe6uXf6uXf6uXf6uXf6+bg6+bg6+bg6+bh6+bh6+bh6+bh7Ofh7Ofh7Ofh7Ofi + 7Ofh7Ofh7Ofi7Ofi7Ofi7Oji7Ojj7Ojj7Ojj7Ojj7Ojj7ejj7ejk7enk7ejk7ejk7ujk7ejk7ejk7ujk + 7ejk7ujk7ujk7ujl7unl7unl7+nl7+nl7+rm7+rm8Orm8Ovm8Ovm8evm8evm8uzm8evm8uzn8uzn8uzn + 8uzn8uzn8uzn8uzm8+3n8+3n8uzn8uzn8+3n8uzn8+3o8+3n8+3o8+3o9O7o8+3o8+3o9O7o9O7o9O7o + 9O7o9O7p9O7o9O7p9e/p9e/p9e/p9O7o9e/p9e/p9e/q9e/p9vDp9vDq9vDq9vDq9vDq9vDr9vDq9vDq + 9vDq9/Hr9vDq9vDq9vDr9vDq9vDq9/Hr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt + +fPt+fPt+fPt+fPt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fXu + +fTu+fTu+fTu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fbu+fbu+fbu+fbu+fbu+fbu + +fbv+ffv+ffv+fbv+ffv+ffv+ffv+fbv+ffv+ffv+ffv+fbv+ffv+ffv+fbv+ffv+ffv+ffv+ffv+ffv + +ffv+ffv+ffv+ffv+ffv+ffv+ffw+fjw+fjw+vjw+fjw+fjw+vjx+vjw+vjx+vjx+vjx+vjx+vjx+vjx + +vjx+vjx+vjx+vjx+fjw+vjx+vjx+vjx+vjx+vjw+vjx+vjx+fjw+vjx+vjx+vfx+vfx+vfx+vfx+vfx + +vfx+vfw+vfx+vfw+vfw+ffw+vfx+vfx+vjx+vfx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx + +vjx+vjx+vjx+vjx+vjx+vjx+vjx+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+fbw+fbw + +fbw+ffw+fbw+fbw+ffw+fbw+fbw+fbw+fbw+fbw+fbw+fbv+fbv+fbv+fbv+fbv+fXv+fbv+fbv+fbv + +fbv+fXv+fXv+fXv+fXv+fXv+fXv+fXu+fXu+fbu+fXu+fXu+fXu+fbu+fXu+fXu+fXu+fXt+fXt+fXt + +fTt+fXt+fTt+fTt+fTt+PTs+PTt+PPs+PPs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPr+PPs+PPs+PPs + +PLs+PPs+PLr+PPr+PLs+PLr+PLr+PLr+PLr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hr9/Hq9/Hr9vDr9/Hq9vDq + 9/Hq9vDq9vDq9e/q9vDq9vDq9e/p9vDq9vDp9vDq9e/p9e/p9e/p9O7p9O7p9O7p9O7p9O7p9O7p9O7p + 8+3o9O7o9O7o8+3o8+3o8+3o8+3o8+3o8uzo8uzn8uzn8uzn8uzn8uzn8uzn8evm8evm8evm8evm8evm + 8Ovm8Ovm8evm8Ovl8Orl8Orl8Orl7+rk7+rk7+rk7unk7unj7unj7unj7unj7enj7ejj7eji7eji7Oji + 7eji7eji7eji7eji7eji7Ofi7Ofi7Ofh7Ofh7Ofi7Ofh7Ofi7Ofh6+bg7Ofh6+bh7Obg6+bg6+bg6+bg + 6+bg6+bg6+bg6+Xg6+Xf6+Xf6uTf6uXf6uTf6uTf6eTe6eTe6eTe6ePe6eTe6ePd6ePd6OPd3dnS3dnS + 3tnT39nU3tnT39nU39rU39rV4NrV4NrV4NvV4NvW4dvW4tzX4tzX4tzX4t3X497X497X497X5N/Y5N/Y + 5eDZ5eDZ5uDa5uDa5uDa5uDa5uHb5uDb5+Hb5+Hb5uHb6OLb6OLc6OLc5+Lc6OPc6OPd6OPd6OPc6ePd + 6eTd6uTe6eTd6eTe6eTe6uTe6eTf6eTf6uXf6uXf6uXf6uXg6ubg6uXg6+bg6+bh6+bh7Ofh7Ofh7Ofh + 7Ofh7Ofi7Ofi7Ofh7Ofi7Oji7Ojj7Ojj7Ojj7Ojj7Ojj7Ojj7ejk7ejk7ejk7ejk7ujk7ejk7enk7ujl + 7ujk7ejk7unk7ujk7ujl7unl7+nl7+nl7ujl7+nl7+nl7+nl8Orm8Orl8Orl8Orm8Ovl8Orm8ezm8evn + 8uzn8uzn8uzn8uzn8uzn8uzn8uzn8uzn8uzn8+3o8+3n8uzn8uzo8+3o8+3o8+3o8+3o9O7o9O7o9O3o + 9O7o9O7o9O7p9O7o9O7o9O7p9e/p9O7p9e/p9e/q9e/q9e/p9e/p9vDq9vDq9e/q9vDq9vDq9vDq9vDq + 9vDq9vDq9vDq9vDq9vDq9vDq9vDq9/Hr9vDq9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +fLt+fPt+fPt+fPt+fPt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fXu+fXu+fXu+fXu+fXv+fTu+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fbu+fXu+fXu+fXu+fbu+fbu+fbu + +fbv+fbu+ffv+fbv+fbv+fbv+ffv+fbv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+fbv+ffv+ffv+ffv+ffv + +ffv+fjw+fjw+fjw+fjw+vjx+fjw+vjx+fjw+vjw+fjw+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx + +fjw+vjx+vjx+fjw+fjw+vjw+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vfx+vfx+vjx+vjx + +ffx+vfx+vfx+vfx+vfx+vjx+vfx+vjx+vjx+vfx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx + +vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+ffw+vfx+vfx+vfw+vfw+vfx+vfw+ffw+ffw+ffw+ffw+ffw + +ffw+ffw+fbw+ffw+fbw+ffw+ffw+fbw+ffw+fbw+ffw+fbw+fbw+fbw+fbw+fbw+fbv+fbv+fbv+fbw + +fbv+fbv+fbv+fXv+fbv+fbv+fbv+fbv+fXu+fbu+fXv+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fXt+fXt + +fXu+fTt+fTt+PTs+fTt+PTt+PTs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PPs + +PLs+PLs+PLs+PPs+PLs+PLr+PLs+PLr+PLs9/Hr+PLr+PLr9/Hr9/Hr+PLr9/Hq9/Hr9vDq9/Hq9vDq + 9vDq9vDq9vDq9e/q9vDq9vDp9e/q9e/q9e/q9e/q9e/p9O7p9O7p9O7p9O7p9O7p9O7o9O7p9O7p8+3o + 8+3o8+3o8+3o8+3o8+3o8+3o8uzn8uzn8uzn8evn8evm8evm8evm8Ovm8evm8evm8Orm8evm8Ovm8Ovl + 8Ovl8Orl8Orl8Orl7+rk7+rk7+nk7+rk7+rk7unj7unj7unj7enj7enj7enj7enj7eji7ejj7eji7Oji + 7ejj7eji7Oji7eji7Oji7Oji7Ofh7Ofi7Oji7Ofi6+bh7Obh6+bh6+bg6+bg6+bg6+bg6+Xg6+bf6uXf + 6uXf6uXg6uXf6uXf6uTe6uTe6uTf6eTe6ePe6OLd6ePe6OPd6OPd6OPd6OPd6OLd6OLd5+Lc3NjS3djS + 3djS3djS3dnS3tnT3tnT3tnU39nU39nU39rV4NrV4NrV4NvW4NvW4dzX4tzX4tzX4tzX4t3X493X497Y + 497Y5N7Y5N/Y5N/Y5d/Z5d/Z5eDZ5eDa5uDa5uDa5uDa5uHa5+Hb5+Hb5+Lb5+Lb5+Lc5+Lc5+Lc6OLd + 6OPd6OPd6OPd6ePe6eTe6ePe6eTe6eTf6eTf6uTf6uTf6uXg6uXg6uXg6uXg6uXg6uXg6ubg6+bh6+bg + 6+bg7Obh7Ofh7Ofh7Ofi7Ofi7Ofi7Oji7Ojj7Ojj7Ojj7Ojj7Ojj7ejk7Ojj7Ojk7Ojk7ejk7ejk7ejk + 7ejk7ejk7ejk7ejk7ujl7ujk7ujl7ujl7ujl7unl7unk7unl7unl7unk7unk7+rl7+rl8Orl7+rm8Orm + 8Orm8Ovm8evm8evm8evn8uzn8uzn8uzm8uzn8uzn8uzn8uzn8uzn8uzn8uzn8u3n8u3o8+3o8+3o8+3o + 8+7o9O7o9O7o9O7p9O7o9O/p9e/p9e/p9e/p9e/p9e/p9e/p9e/p9e/q9e/p9e/q9e/p9e/q9vDq9e/q + 9vDq9e/q9vDq9vDq9vDq9vDq9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+fPt+fPt+fPt + +fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fXv+fXv+fXv+fXu+fXv+fXv+fXu+fbu+fbv+fXu+fXu+fbv+fbu+fbu+fbu+fbv+fbu+fbv + +fbv+fbv+ffv+fbv+ffv+fbv+fbv+ffv+ffv+ffv+fbv+ffv+ffv+ffv+ffw+ffv+ffw+fjw+ffw+fjw + +fjw+fjw+fjw+fjw+fjw+vjx+fjw+fjw+fjw+fjw+fjw+fjw+fjw+vjx+fjw+fjw+vjx+vjx+vjw+vjw + +vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjy+vjx+vjy+vjy+vjy+vjy+vjy+vjy+vjy+vjy+vjy + +vjy+vjx+vjx+vjy+vjy+vjy+vjx+vjy+vny+vny+vny+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjw + +vjx+vjx+vjx+vjw+vjx+ffw+vfx+vjx+ffw+ffw+vfx+ffw+ffw+vfx+vfw+ffw+ffw+fbw+ffw+fbw + +ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+ffw+fbw+fbv+fbv+fbw+fbv+fbw + +fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fXv+fbu+fXu+fXu+fXu+fTu+fXu+fXu+fXu+fTu+fTt + +fXt+fXt+fXt+fTt+PTt+PTs+PTs+PTs+PTt+PPs+PTs+PPs+PPs+PPs+PPs+PPs+PPs+PPs+PLs+PLs + +PLs+PLs+PLr+PLs+PLr+PLr9/Hr9/Hr+PLr9/Hr9/Hr9/Hr9/Hs9/Hq9/Hr9/Hr9/Hr9vDr9vDq9vDr + 9vDq9vDq9vDq9vDp9vDq9vDq9vDq9e/q9e/q9e/q9e/p9e/q9O7p9O7p9O7p8+3o8+3o8+3o8+3o8uzn + 8+3o8+3o8uzn8uzn8uzn8uzm8uzm8ezm8ezm8evm8evm8evm8evm8Ovm8Ovm8Ovl8Ovm8Ovl8Ovl8Ovl + 8Ovl7+rl7+rk7+rk7+nk7+rk7+rk7unk7unj7unj7enj7enj7enj7eji7eji7eji7eji7eji7Oji7eji + 7Oji7Oji7Oji7Ofh7Ofh7Ofi7Ofi7Ofh7Obh7Ofh7Obh6+bh6+bg6+Xg6+bg6ubg6+Xf6uXf6uXf6uXf + 6uXf6uXf6eTe6eTe6eTe6ePe6ePe6ePd6OPd6OLd6OLc6OLd5+Lc6OLc5+Lc5+Lc5+Hc5+Lc3NfR3NfQ + 3NfS3NjR3NjS3djS3NjS3dnT3dnS3tnT3tnU3tnU39rU4NrV39rV4NrV4NvW4dvX4dvW4dvX4dzX4dzX + 4t3X4t3X493X497Y5N7Y5N/Y5N/Y5N/Y5N/Y5eDZ5eDZ5eDa5eDa5eDa5eHa5uHb5uHb5uLb5uLc5+Lc + 5+Lc6OLd6OLd6OPd6OPd6OPe6ePe6eTf6eTf6eTf6eTf6eTf6uTg6uXf6uXg6uXg6uTf6uXg6uXg6uXg + 6+bg6ubg6+bg6+bh7Ofh7Obh6+bi6+fi7Ofi6+fj6+fj7Ofj7Ofj6+jj7Ojj7Ojj7Ojk7Ojk7Ojk7Ojj + 7Ojk7Ojk7Ojk7Ojk7ejk7ejk7ejk7ejk7ejk7ejk7enl7enk7enl7unl7unl7unl7+rl7+rl7+rm7+rm + 8Orm8Orm8Orm8Ovm8Ovm8evm8evm8evn8evn8ezn8evn8ezn8uzn8uzn8uzo8uzn8u3n8uzn8u3o8uzn + 8+3o8+3o9O7o9O7p9O7p9O7p9e/p9e/q9e/p9e/q9e/p9O7p9e/p9e/q9e/q9e/q9e/q9e/q9e/q9e/q + 9vDr9vDq9vDq9vDq9vDq9vDr9/Hr9/Hr9/Hr9/Hr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLt+fPt + +fPt+fPt+fPt+fPt+fPt+fPt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fXu+fXv+fXv+fXv+fXv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+ffv+ffv+fbv+fbv+ffv + +ffv+ffv+fbv+fbv+ffv+ffv+fbv+ffv+ffv+ffv+ffw+ffw+ffv+ffv+fjw+ffv+fjw+fjw+fjw+fjw + +fjw+fjw+fjw+fjw+fjw+vjx+fjw+fjw+fjw+fjw+fjw+fjw+fjw+vjx+vjx+vjx+vjx+vjx+vjx+vjx + +vjx+vjy+vjx+vjy+vjy+vjy+vny+vjy+vjy+vjy+vjy+vjy+vjy+vny+vny+vny+vjy+vny+vny+vnx + +vny+vjx+vny+vjy+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vjy+vjy + +vjy+vny+vjy+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vfw+vfx+ffw+ffw+ffw+ffw+ffw+vfw+vfx + +vfx+vfx+vfx+vfx+vjx+vfx+vfx+ffw+vfx+ffw+ffw+ffw+ffw+fbw+fbw+fbw+fbv+ffw+fbv+fbw + +ffv+fbv+fbv+fbv+fbv+fbv+fXv+fXv+fbv+fXv+fbv+fbv+fXu+fXu+fbu+fXu+fbu+fXu+fXu+fXu + +fXt+fXt+fTt+fTt+fTt+PTt+PTt+PTs+fTt+PTs+PTt+PTs+PPs+PPs+PPs+PPs+PPt+PPs+PPs+PPs + +PLs+PPs+PLs+PLs9/Hs9/Hs9/Hr9/Hs9/Hr9/Hr9vDq9/Hr9/Hs9/Hr9vDr9vDr9vDr9vDr9vDq9vDr + 9vDq9vDq9vDq9vDr9e/q9e/q9e/q9e/q9O7p9O7p9O7p9O7p8+3o8+3o8+3o8u3o8+3o8uzn8uzn8uzn + 8uzn8uzn8uzn8uzm8ezm8ezm8evm8ezm8evm8evm8Ovl8Ovl8Ovl8Ovl8Ovl7+rl8Ovl8Ovl7+vl7+rk + 7+rk7+rk7+rk7+rk7urk7unj7unj7unj7enj7unj7enj7eni7eni7eji7Oji7Ojh7Ojh7Ojh7Ojh7Ofh + 6+fh7Ofg7Ojh7Ofg6+bh7Ofh7Ofg6+fg7Ofg6+bg6+bg6+bg6+bg6+bg6uXf6uXf6uXf6uXe6eTe6eTe + 6eTe6eTe6eTe6OPd6ePd6OPd6OPd6OPc6OLc5+Lc5+Lc5+Lc5+Lb5+Hc5uHb5+Lb5uHb5uHb2tXP29bQ + 29bQ29fR29fQ29fR3NfS3NjS3NjS3NjS3dnT3tnT3tnT3tnU3tnU39rV39rV4NrW4NrW4NvW4dvW4dzX + 4tzX4tzX4t3X493X497X497Y497Y5N7Y5N7Y5N/Z5N/Y5N/Z5N/Z5N/Z5eDa5eDa5eDb5uDb5uDb5uHc + 5uHc5+Hc5+Ld5+Ld6OLd6OLd6OPe6OPe6OPe6OPe6OPe6OTe6ePf6OTf6eTf6eTf6eTf6eTf6eTf6uTg + 6uXg6uTg6uXg6uXg6uXg6uXh6+Xh6+bh6+bh6+bh6+bi6+bi6+bi6+fi6+fj6+fi6+jj6+fj6+jj7Ojj + 7Ojk7Ojk7Ojj7Ojk7ejk7Ojk7Ojk7ejk7ejl7ejl7enl7ejl7unl7unl7unl7unl7url7urm7+rl7+rl + 8Orl8Orm8Orm8Ovm8Ovm8Ovl8Ovm8Ovm8Ovm8evm8Ozm8ezm8ezm8ezm8ezm8ezn8ezm8ezn8uzn8u3o + 8u3o8u3o8+3o8+3o8+3o8+3o9O7p9O7p9O7p9O7q9O7p9e/q9e/q9e/q9e/q9e/q9e/q9e/q9fDq9vDq + 9vDq9vDr9vDq9vDq9vDq9vDr9/Hr9/Hr9/Hr9/Hs9/Hr+PLr+PLs+PLs+PLs+PLs+PLs+PLs+PLs+PLs + +PLs+PLt+fPt+PLt+fPt+fPt+fTt+fTt+fTt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fXu+fXu+fXv+fXv+fXv+fbv+fXv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbv+fbv+fbv+ffv+fbv+fbv + +ffv+fbv+fbv+ffv+ffv+ffv+ffv+ffv+fbv+ffw+ffw+ffv+ffw+ffv+ffw+fjw+fjw+fjw+fjw+fjw + +vjw+vjx+fjw+vjx+vjx+vjx+vjx+vnx+vnx+vnx+vnx+vnx+vnx+vny+vny+vjy+vjy+vjy+vjy+vjy + +vjy+vjy+vjy+vny+vjy+vjy+vny+vjy+vny+vny+vny+vny+vny+vjy+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vjy+vjy+vjy+vjx+vjx+vjx+vjx+vjx+vjx+vjx + +vjx+vjx+vjy+vjy+vjx+vjx+vjx+vjx+vjx+ffw+vfx+ffw+ffw+fbw+ffw+fbw+ffw+fbw+ffw+ffw + +fbw+fbw+fbv+fbw+fbv+fbv+fXv+fbv+fXv+fbv+fbv+fXu+fXu+fXu+fXu+fXu+fXu+fXu+fTu+fTu + +fTu+PTt+PTt+PTt+PTt+PTt+PTs+PPt+PTs+PPt+PPs+PPt+PPt+PPs+PPs+PPs+PPt+PPs+PLs+PLs + +PLs+PLs+PLs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hr9/Hr9vDs9/Hs9vDr9/Hr9vDr9vDr9vDr9vDq9vDq9u/q + 9vDq9e/q9e/q9e/q9e/q9e/q9O7p9O7p9O7p9O7p8+3o8+3o8+3o8uzn8uzo8uzn8uzn8uzn8uzn8uzn + 8uzn8uzn8ezm8ezm8ezm8ezm8ezm8ezm8ezm8ezm8Ovl8Ovl8Ovl8Ovl8Ovl7+rk7+rk7+rk7+rk7+rk + 7+rk7+rk7+rk7urk7urk7unj7enj7enj7enj7eni7eji7Oji7Oji7Ojh7Ojh7Ofh7Ofg7Ofg6+fg6+bg + 6+bf6+bf6+bg6+bf6+bf6uXf6uXf6uXf6uXf6uXf6uXe6uXe6uXe6eXe6eTe6eTe6OPd6OPd6eTe6eTd + 6OPd6OPd6OPd6OPd6OPd6OLc6OLc5+Lc5+Lb5+Lb5uLb5uLb5uLb5uHb5uHb5uHb5uLb5uHb2dPN2tTO + 2tXO2tTP2tbP2tXP2tbQ2tbQ29bR29fR29fR3NfS3NjS3djT3djS3tnT3tnU3tnU39rV39nV4NrW4NvW + 4dvX4dzX4dzX4tzX4tzX4t3X493Y493Y497Y497Y497Y5N7Z5N7Z5d7a5d/a5d/a5eDa5uDb5eDb5eDb + 5uDc5uDc5uHc5uHc5+Hd5uHc5+Hd5+Hd5+Ld6OLd5+Ld6OLe6OLe6OLe6OPe6OPe6OPe6OPe6ePf6OTf + 6eTf6eTf6uTf6uTg6uTg6uXg6uXg6uXg6ubg6+bh6ubh6+bh6+bh6+bh6+bi6+fi6+fi6+ji6+ji6+ji + 7Ojj6+ji7Ojj7Ojj7Ojk7Ojj7Ojk7Ojk7enk7enk7enl7enk7enk7unl7unl7url7urk7urk7url7+rl + 7url7+rl7+rl7+vl8Orm8Ovm8Ovm8Ovm8Ovm8Ozm8Ovm8ezm8ezn8Ovm8ezn8Ovm8ezn8ezn8ezn8ezn + 8ezn8ezn8u3o8u3n8u3o8u3o8+3o8+3p8+3o8+3p8+7p9O7p9O7p9O7p9O7p9O7q9O7q9e/q9O/p9e/q + 9e/p9e/q9vDq9vDq9e/q9vDr9vDq9vDr9vDr9vDr9vDr9vDr9vDr9/Hr9/Hs9/Hs9/Hs+PLs9/Hs+PLs + +PLs+PLt+PLs+PLt+fPt+fPt+fPt+fTt+fTt+fTt+fTt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fXv+fXv+fXv+fXv+fXv+fbv+fbv+fbv+fbv+ffv+ffv+ffv+fbv+fbv+fbv+fbv+fbv+fbv + +ffv+fbv+fbv+ffv+fbv+fbv+ffv+fbv+ffv+ffv+ffv+ffw+fjw+fjw+ffw+fjw+vjw+fjw+fjw+vjx + +vjx+vjx+vnx+vny+vnx+vnx+vnx+vny+vnx+vny+vnx+vnx+vny+vnx+vnx+vny+vny+vny+vny+vny + +vjy+vjy+vny+vjy+vjy+vny+vny+vjy+vny+vny+vny+vny+vny+vny+vny+vjy+vny+vny+vny+vny + +vny+vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vjy+vjy+vny+vjy+vjy+vny+vny+vjy+vny+vjy+vny+vny+vny+vny+vjy+vjy + +vny+vjy+vjx+vjy+vjx+vjx+vjx+vjx+vfx+vjx+fjw+ffw+ffw+fbw+ffw+ffw+fbw+ffw+fbw+ffw + +fbw+fbv+fbw+fbv+fbv+fbv+fXv+fbv+fbv+fbv+fXv+fXv+fXu+fXu+fXu+fXu+fXu+PTt+fTu+fTu + +fTt+fTu+PTt+PTt+PTt+fTt+fTt+PTs+PPt+PPt+PPt+PPs+PPt+PPs+PPt+PPs+PLs+PPs+PLt+PLt + +PLs+PLs+PLs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9vDq9vDr9vDr9vDr9vDr9e/q9e/q9e/q + 9e/q9e/q9O7q9e/q9e/q9O7p9O7p9O7p8+3o8+3o8+3o8+3o8+3o8+3o8+3o8u3n8uzn8u3n8u3n8uzn + 8uzn8ezm8ezm8ezm8uzn8ezm8ezm8ezm8evm8ezm8Ozl8Ozl8Ovl7+vk8Ovk7+rk7+rk7urj7urk7urj + 7urj7urj7unj7urj7erj7eni7eni7eni7eji7eni7Ojh7Ojh7Ofg7Ofg7Ofg7Ofg6+bf6ubf6+bf6ubf + 6uXf6uXe6uXe6uXf6uXe6uXf6eTe6uTe6eTd6eTe6eTe6eTe6eTd6OTd6OTd6OPd6eTd6OTd6OPd6OPc + 6OPc6OPc6OPc6OPc5+Lc5+Lc5+Lc5+Lb5uHb5uHb5uHb5uLb5eHa5uHa5uHb5uHb5eDa5eHa2NPM2NPN + 2NPN2NPN2dTN2dTO2tTO2tXP2tXP2tbQ2tbQ2tbQ29fR3NjS3NjS3NjS3djT3djU3dnT3tnU3tnU39nV + 39rV4NrW4NrW4NvW4dvX4tzX4tzX4tzX4t3X4t3Y493Y493Y497Y5N7Z5N/a5N/a5N/a5N/a5N/a5d/b + 5d/b5eDb5uDc5eDb5eDb5uDc5uDc5uDc5uHc5uHd5+Hd5+Ld5+Ld6OLd5+Ld6OLe6OLe6OPe6OPe6eTf + 6OTe6eTf6eTf6eTf6eXf6uXf6eXf6uXf6eXg6uXf6uXg6ubg6+bg6+bh6+fh6+fh6+fh6+ji6ufi6+ji + 6+fi6+ji6+ji6+ji7Oji7Ojj6+jj6+ji7Ojj7Ojj7Ojj7enk7enk7enk7enk7url7urk7erk7urk7urk + 7urk7+rk7+rl7+rl7+rl8Ovm8Ovm8Ovm8Ovm8Ovm8Ozm8Ozm8Ozm8Ovm8ezm8ezm8Ozm8Ozm8ezm8ezn + 8ezn8ezn8u3n8u3o8u3o8u3o8u3o8u3o8u3o8+3o8+7p8+7p8+7p9O7p8+7q9O7q9O7p9O7p9e7q9O7q + 9e/q9e/q9e/q9e/r9e/r9vDr9vDr9vDr9vDr9vDr9vDr9vDq9vDr9vDr9/Hr9/Hr9/Hr9/Hs+PLs+PLr + +PLs+PLt+PLs+PLs+fPt+fPt+fTt+fTt+fTt+fPt+fTt+fTu+fTu+fTt+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fXu+fTu+fXu+fbv+fbv+vbv+fbv+fbv+fbv+fbv+fbv+fbv+ffv+fbv+fbv+ffv+fbv+fbv+fbv + +fbv+fbv+fbv+ffv+fbv+fbv+ffv+ffv+ffv+ffw+ffw+ffw+fjw+fjw+fjw+vjw+fjw+vnx+vjx+vnx + +vjx+vnx+vjx+vny+vjx+vnx+vjx+vnx+vny+vny+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vjy+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny+vnz + +vny+vnz+vnz+vnz+vnz+vnz+vnz+/r0+vnz+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vjy+vny+vjy+vjy+vny+vjy+vny+vny+vjy+vny+vjy+vny+vny+vjy+vjy+vny+vny + +vjx+vny+vjy+vjy+vjx+vjy+vjx+vjx+vjx+vjx+vjx+ffw+vfx+vfx+ffw+ffw+fbw+fbw+fbw+fbv + +fbw+fbv+fbw+fbw+fbv+fbv+fbv+fbv+fbv+fXv+fbv+fbv+fXu+fXu+fXu+fXu+fXu+fTu+fXu+fXu + +PTu+fTt+fTu+PTt+PPt+PTt+PPt+PTt+fTu+PPt+PPt+PPt+PPt+PPs+PPt+PPs+PPt+PPs+PLs9/Hs + 9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hs9/Hr9/Hs9vDr9vDr9vDr9vDq9vDr9vDr9e/q9e/q9e/q + 9e/q9O7p9O7p9O7p9O7p8+3o9O7p8+7o8+3o8+3o8+3o8+3o8+3o8+3o8+zo8u3n8uzn8uzn8uzn8uzn + 8uzn8uzn8ezm8e3m8ezm8Ozl8Ozm8Ovl8Ozl8Ozl7+vk8Ovl7+vk7+vk7urk7urj7urj7unj7urj7erj + 7urj7unj7unj7enj7uri7eni7eni7eni7eji7ejh7Ojh7Ojh7Ofg7Ofg7Ofg6+bf6+bf6uXf6uXf6uXf + 6uXe6eTe6uTf6uXe6eTe6eXd6eTe6eTd6eTe6eTe6OTd6OTd6eTd6OPc6OPd6OPd6OPc6OPc6OPd6OPc + 6OLc5+Lc6OLc5+Lb5+Lb5+Lc5uLb5uHb5uHb5uHb5uHb5uHb5eHa5uDa5eHa5eDa5eDa5ODZ19LM19LM + 2NPM2NPN2NPM2NTN2dTO2dTO2tTP2tXP2tXP2tXQ2tbQ29fR29fQ29fR3NjS3NjS3NjT3NjT3dnU3dnU + 3tnU3tnV39nW39rW39vW4NvX4NrX4NvX4dvX4dzX4tzY4t3Y4t3Y4t3Y497Z497Z497Z49/Z497Z49/Z + 5N/a5N/a5d/b5d/b5eDb5eDb5eDb5eDb5uHc5eHb5uHc5uLc5uLc5+Ld5+Ld5+Pd5+Pd6OPe6OPe6OTe + 6OPe6OTe6OTe6eTf6eXf6eTf6eXf6uXf6uXf6eXf6uXf6ubg6ubf6ubf6ubg6ubg6+bh6ufg6+fh6ufh + 6ujh6ufh6ufh6ujh6uji6uji6+fi6+fi6+ji7Ojj7Ojj7ejj7Onk7enk7enk7enk7enk7enk7enk7urk + 7urk7urk7urk7urk7+vl7+vl7+vl7+vl7+vl7+vl7+vm7+vm7+vm7+vm8Ovm7+vm8Ovm8Ozm8Ovm8Ozm + 8Ozm8ezn8ezn8e3n8u3o8u3o8u3o8u3o8u3o8+7p8+3o8+7o8+7p8+7p8+7p8+7p8+7p8+7p9O7p9O7p + 9O7q9O7q9O/q9e/q9e/r9e/r9e/q9e/r9e/r9e/r9e/r9e/q9e/r9vDr9vDr9vDr9/Hr9/Hs9/Hs+PLs + +PLs+PLt+PLt+PLt+PLt+PLt+fPt+fPt+fTt+fTt+fPt+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fXu+fXu+fXu+vXu+vXv+fXv+fXv+vbv+vXv+vbv+fXv+fbv+fbv+fbv+fbv+fbv+ffv+ffv+ffv + +fbv+ffv+ffv+ffv+ffv+ffw+ffw+ffw+ffw+ffw+fjw+fjw+fjw+fjw+fjw+vjx+fjw+vnx+vnx+vnx + +vnx+vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vnz+vny+vnz+vnz+vny+vnz+vny+vny+vnz+vny+vny+vny+vny+vnz+vny+vny + +vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vnz+vny+vny+vny + +vny+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vny+vjy+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vjx+vjy+vjx+vjx+vjy+vjx+vjx+vjx+vjx+vjw+vjx+vjw+ffw+vfw+ffw+ffw+ffw+ffw+fbw + +ffw+ffw+ffw+ffw+ffw+ffw+ffw+fbv+fbv+fbv+fbv+fbv+fXv+fbv+fbu+fbu+fXu+fXu+fTu+fTu + +fTt+PTu+PTt+PPt+PTt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPs+PLt+PLs+PLt + 9/Hs9/Hs9/Hs9/Hs9vDr9vDr9vDr9vDr9vDr9vDr9vDr9fDq9fDq9e/q9e/q9e/q9O/p9O7p9O7p9O7p + 9O7p9O7p9O7p9O7p8+7o8+3o8+7o8+3o8+7o8+3o8u3n8u3n8u3n8u3n8uzn8uzm8ezm8e3m8ezm8ezm + 8ezm8Ozl8Ozl8Ozl8Ozl7+zk7+vk7+vk7+vk7urj7urj7urj7urj7urj7eni7eni7eni7eni7eni7eni + 7eni7eni7eni7eni7eni7uni7eji7ejh7Ojh7Ojh7ejh7Ofg7Ofg6+bg6+bg6+bg6+bf6uXf6uXe6+Xe + 6eXe6eTe6eTe6eXe6eTe6eTe6eTe6eTe6eTe6eTe6OPd6eTd6OTd6OPd6OTd6ePd6OLc6OPc6OLc5+Lc + 5+Lc5+Lc5+Lb5+Lb5uHb5uHb5uHb5uHb5uDa5eDa5uDa5eDa5eDa5eDZ5N/Z5N/Z5ODZ5N/Y1tHL1tHL + 19LL19LL19LM2NPN2NPN2NPN2dTO2dTO2dTO2tTP2dXP2tXQ2tXQ2tbQ2tfQ29fS3NfS3NjS3NjT3NjT + 3djU3dnU3tnV3tnV39rV39rV39rW39vW4NvW4NvX4NvX4NzX4dzX4dzX4dzX4tzY4t3Y4t3Y497Z497Z + 497Z49/Z49/Z49/Z5N/a5ODa5ODa5ODa5eDb5eDb5eHb5eHb5eHb5uLc5uLc5uLc5uLc5uPc5+Pd6OPd + 6OPd6OTe6OPd6OTe6OTe6OXe6eTf6eXf6eXf6eXf6eXf6eXf6eXf6uXf6ubf6uXf6ubf6ubg6ubg6ubg + 6ufg6ufh6ufh6ufh6ufh6ujh6ufh6+fi6+ji6+ji6+ji7Oji6+jj7Ojj7Ojj7Ojk7enk7enk7enk7enk + 7urk7erk7urk7urk7urk7urk7urk7url7urk7uvl7uvl7+rl7+rl7uvl7+vl7+vl8Ovm7+vl8Ovm8Ovm + 8Ovm8Ozm8ezn8ezn8ezn8ezn8u3n8e3n8u3o8u3o8u3o8u3o8u3o8u7o8u7o8+7p8+7o8+7o8+7p8+7p + 8+7p9O7p9O7q9O7q9O/q9e/q9O/q9e/r9e/q9e/r9e/r9e/r9e/q9e/r9vDr9vDr9vDs9vDs9vDs9/Hs + 9/Ht+PLt+PLt9/Hs+PLt+PLt+PLt+PLt+fPt+fPt+fPt+fPu+fPu+fPu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fXu+vXu+fTu+vXu+vXv+vXv+vXv+fXv+fbv+vbv+fXv+fbv+fbv+fbv+ffv+ffv + +ffv+ffv+ffv+ffv+ffv+ffv+ffw+ffw+fjw+fjw+fjw+fjw+fjw+fjw+fnw+vjx+vjx+vjx+vnx+vnx + +vnx+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vnz+vny+vny+vnz+vny + +vny+vny+vnz+vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vnz+vnz+vnz+vnz + +vny+vnz+vnz+vny+vny+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vjy+vjy+vny+vjx+vjx+vjx+vjx+vjx+vfx+vjx+vjx+vfx+vfx+vfx+vfx+vfx+vfw + +vfx+ffw+ffw+ffw+ffw+ffw+ffw+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbu+fbu+fXu+fXu+fTu+fTu + +fTu+fTu+PTt+PPt+PPt+PTu+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PPt+PLs9/Hs9/Hs9/Hs + 9/Hs9/Hs9/Hs9vDr9vDr9vDr9e/q9e/q9vDq9e/q9e/q9e/q9e/q9O7p9O7p9O7p9O7p9O7o9O7p8+7o + 8+7o8+3o8+7o8+7o8+7o8+3o8+7o8u3n8+3o8u3n8u3n8u3n8e3m8e3m8e3m8ezm8ezm8e3m8Ozl8Ozl + 8Ozl7+vk7+vk7+vk7+vk7+vk7+vk7urj7urj7urj7urj7urj7uni7eni7eni7eni7eji7eji7ejh7ejh + 7ejh7Ojh7Ojh7Ojh7ejh7Ojh7ejh7Ofg7Ofg7Ofg7Ofg7Obg7Obg6+bf6+bf6+Xf6+Xe6uXf6uXe6uXe + 6uTe6uTe6uTe6eTe6eTe6eTe6eTe6eTd6eTd6eTd6OPd6OPd6OPc6OPc6OPc6OLc6OLb5+Lc5+Lb5uLb + 5+Lb5+Hb5uHa5uHa5uHa5uDa5uDa5eDa5uDa5eDa5d/Z5d/Z5N/Z5N/Z5N/Z5d/Z5N/Z5N/Z1M/J1dDK + 1dDK1tHK1tHK19LL19LM2NLM2NLM2NPN2NPN2NPO2dTO2dTP2dTP2tXQ2tXQ29bQ29bQ2tbQ29fS29fS + 29fS3NjT3NjT3dnT3dnU3dnU3tnU3tnU3tnV3trV39rV39rV3trV4NvW4NvW39vW4dzW4d3X4d3X4t3X + 4t3X4t7Y4t7Y4t7Y4t7Y4t7Y497Y4t/Y49/Z49/Z5ODZ5ODZ5ODa5OHa5eHa5eHb5eHb5uLc5uLc5+Lc + 5+Pc5+Pd5+Pd6OPd6OTe6OTe6OTe6OTe6OTd6OTe6OTe6OTe6OTe6eXe6eXe6eXe6eXf6eXf6eXf6ubf + 6ubf6ubf6ubg6ubg6ufg6ufg6ufg6ufg6ufg6ujg6ujh6ufh6+jh6+jh7Ofi7Oji7Ojj7Ojj7Ojj7Ojj + 7Onj7enk7enk7enk7erk7enj7erk7enj7erj7erj7erj7erj7urk7urk7urk7urk7+vl7+vl7+vl7+vl + 7+vl8Ovm8Ozm8Ovm8Ozm8Ozm8Ozm8e3n8e3n8e3n8e3n8e3n8e3n8u3o8u3o8u3o8e3n8u7o8u7o8u7o + 8+7p8u7o8+7p9O/q9O/q9O/q9O/q9O/q9O/q9e/r9e/r9e/r9e/r9e/r9e/r9vDr9vDs9vDs9vDs9/Hs + 9/Hs9/Hs9/Hs9/Hs9/Ht9/Ht9/Ht9/Hs+PLt+PLt+PLt+fPt+fPt+fPu+fTu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTu+fXv+fXu+vXv+vXv+vXv+vbv+vbv+vbv+vbv+vbv+vfv+vbv+vfv+ffv+ffv + +vfv+fbv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffw+ffw+ffw+ffw+fjw+fjw+fjw+vjx+vjx+vnx+vnx + +vnx+vny+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vnz+vnz+vnz+vnz+vrz+/r0+/r0+vrz+vr0+vrz+vrz+vnz+vnz+vnz+vnz+vnz+vnz + +vnz+vnz+vnz+vrz+vnz+vnz+vrz+vrz+vrz+vnz+vr0+/r0+vr0+vrz+vrz+vrz+/r0+vnz+vrz+vnz + +vnz+vnz+vnz+vrz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny + +vny+vny+vny+vny+vny+vjy+vny+vjy+vjy+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vjx+vfx+vfw+ffw + +ffw+ffw+ffw+ffw+ffv+fbw+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fbv+fXu+fXu+fXu+fXu+fXu+fTu + +fTu+fTu+PTu+PTu+PTu+PPt+PPu+PPu+PPt+PPt+PPt+PPt+PPt+PPt+PLt+PLs9/Hs9/Hs9/Hs9/Hs + 9vDr9vDr9vDr9vDr9e/q9vDq9e/q9e/q9e/q9O7q9O/p9O/q9O7p9O7p9O7p9O7p9O7o8+7o8+7o8+7o + 8+7o8+7o8+7o8u7n8u7n8+7o8+3o8u3n8u3n8u3n8u3n8e3m8e3m8e3m8e3m8ezm8Ozl8Ozl8Ozl7+vk + 7+vk7+vk7+vk7+vk7+rk7+vk7urk7+rj7urj7urj7urj7urj7uni7eni7eni7eni7ejh7ejh7ejh7ejh + 7Ofg7Ofg7Ofg7Ofg7Ofg7Obg6+bf6+bf6+bf6+bf6+Xf6+Xe6+Xe6uXe6uTe6uTe6eTe6uTe6uTd6eTe + 6uTd6eTd6uPd6eTd6eTd6ePd6ePc6OPc6OPc6OLc6OLb6OLc6OLb5+Lc5+Hb5+Lb5+Hb5+Ha5+Ha5+Ha + 5uHa5uDa5uDa5uDa5uDZ5uDa5eDZ5eDZ5d/Z5d/Z5N/Z5N/Y5N/Z5N/Y5N7Y5N7Y5N/Y5N7Y083J087I + 087J1NDJ1NDJ1tDK1tDK1tHK19LM19LM2NLN2NLN2NPN2NPO2dTO2NTO2dTP2tTP2dXP2tXP2tbQ2tbQ + 29bR29bR29jR29jS29jS3NjS3NnS3NnT3NnT3NnT3dnT3dnU3trU3trU39rV39rV39vV4NzW4NzW4NzW + 4dzW4d3W4d3X4t3X4t7X4t7X4t7Y4t7Y4t7Y49/Y49/Y49/Y4+DZ5ODZ5ODa5OHa5OHa5eHb5uHb5eLb + 5uLc5uLc5uLc5+Pc5uPc5+Pd5+Pd5+Pd5+Pd5+Td5+Pd5+Pd6OTe6OTe6OTd6OTe6OXe6OXe6eXf6eXe + 6eXe6ubf6eXf6ebf6ebf6ufg6ebf6ebf6ufg6ufg6ufg6ufg6+fh6ufh6+fh6+jh6+fi6+jh6+ji7Oji + 7Oji7Ojj7Oji7Ojj7Onj7Ojj7enj7ejj7enj7erj7erj7erj7erk7erk7urk7urk7urk7urk7uvk7url + 7+vl7+vl7+vl7+vl7+vl7+vl8Ozm8Ozm8Ozm8O3m8Ozm8e3n8e3n8e3n8e3n8e3n8e7n8u3o8u3o8u3o + 8u7o8u7o8+7o8+/p9O/q9O/q9O/q9O/q9O/q9O/q9O/q9e/q9e/r9e/r9e/r9e/r9vDr9vDs9vDs9vDs + 9/Hs9vDs9/Ht9/Hs9/Ht9/Ht9/Ht9/Ht9/Ht+PLt+PLt+PLu+PLt+fPu+fPu+fTu+fTu+fTu+fTu+fTu + +fTu+fTu+fTu+fXu+fTu+fXv+fXu+vXv+vXv+vXv+vXv+vbv+vbv+vbv+vbv+vbv+vbv+vfv+vbv+vfv + +vfv+ffv+vbv+ffv+ffv+ffv+ffv+ffv+ffv+ffw+ffw+ffw+ffw+fjw+fjw+vjx+vjx+vjx+vnx+vnx + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vnz+vnz+vrz+/r0+/r0+/r0+/r0+/r0+/v0+/v0+/r0+/r0+vnz+/r0+vrz+vrz+/r0 + +vnz+vrz+/v0+/r0+/r0+/r0+/r0+/v0+/r0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+vr0+vrz + +/r0+/r0+vrz+vrz+vnz+vnz+vnz+vnz+vnz+vnz+vrz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny + +vny+vny+vny+vjy+vny+vjy+vjy+vjy+vjy+vjx+vjx+vjx+vjx+vfx+vfx+vjx+vjw+ffw+vfw+ffw + +fbw+ffw+fbw+fbw+fbw+fbv+fbw+fbv+fXw+fbw+fXv+fbv+fbv+fbv+fbv+fXv+fXu+fXu+fXu+fTu + +PTu+PTu+PTu+PPu+PPu+PPu+PPu+PPu+PPu+PPt+PLt+PLt+PLt+PLt9/Hs9/Hs9/Hs9/Hs9/Hs9vDr + 9vDr9vDr9vDr9vDr9e/q9e/q9e/q9e/q9e/q9e/q9O7p9O/p9O7p9O7p9O7p9O7o9O7o8+7o8+7o8+7o + 8+7o8u7n8+7o8u7n8u7o8u7n8u7n8u3n8u3m8e3m8e3m8e3m8Ozm8Ozl8Ozl8Ozl7+vk7+vk7+vk7+vk + 7uvk7+rj7urj7urj7urj7urj7urj7urj7uni7unj7unj7unj7uni7eni7uni7eni7ejh7ejh7ejh7Ofg + 7efg7Ofg7Ofg7Ofg7Ofg7Obf7Obf6+bf6+Xf6+Xe6+Xe6uXe6uTe6uTd6eTd6uTd6ePd6uTd6uTd6ePd + 6eTd6ePd6ePd6ePc6OPc6eLc6OLc6OPc6OLc6OLc5+Lb6OLb5+Hb5uLb5+Hb5+Lb5uHa5uHa5uHa5uHa + 5uDa5uDa5eDZ5eDZ5eDZ5d/Y5d/Z5d/Y5N7Y5d/Y5N7Y5N7Y5N7Y5N7Y5N7Y5N7Y5N7Y5N7Y0MvH0czI + 0czI0szJ08zJ083J1M7J1M7K1c/K1dDK1dDL19HM19HM19LM19LN2NLN2NPN2NPO2dTO2dTO2dXO2tXP + 2tbQ2tbQ2tbQ2tfQ29fR29jR29jR29jR3NjS3NnS3NnS3NnT3dnT3dnT3tnU3tnU3trU39rV39vV39vV + 4NvW4NvW4NvW4NzW4NzW4NzW4d3W4t3X4t7X4t7X4t7X4t7Y4t/Y49/Y5ODZ5ODZ5ODZ5eDa5eDa5eHa + 5eHa5uHb5eLb5uLb5uLb5uHb5uLc5uLb5uLc5uLc5+Lc5+Pc6OPc6OPd6OPd6OTd6OTe6OTe6eXe6eXe + 6eXf6eXe6uXf6ubf6ubf6ebf6ebg6ebf6ebg6ebg6ubg6ufg6ufh6ufh6ufh6ufh6+fh6+jh6+fi6+fh + 6+fh7Ofh6+fh6+fi7Oji7Oji7Oji7Ojj7enj7enj7Onj7erj7erj7erj7erk7erj7erk7urk7urk7urk + 7urk7uvk7urk7uvk7uvl7uvl7uvk7+zl7uzl7+zm7+zm8Ozm8Ozm8Ozm8O3m8Ozm8e3n8e3n8e3n8e3n + 8u7o8u7o8u7o8u7o8+7p8+/p9O/q8+7p9O/q9O/q9O/q9O/q9O/q9O/q9O/q9e/r9e/r9e/r9e/r9fDr + 9vDs9vDs9vDs9vDs9vDs9vDs9vDs9/Ht9/Ht+PLt+PLt+PLu+PLu+PLu+PLu+fPu+fPu+fTu+fTu+fTu + +fTu+fTu+fTu+fTu+fTv+fTv+fTu+fTu+fXv+fTv+fTu+fTv+fXv+fXv+vbv+vbv+vXv+vbv+vbv+vbv + +vbv+vbv+vbv+ffv+fbv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffw+fjw+fjw+fjw+fjw+vjx+vnx + +vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny+vny+vnz + +vnz+vnz+vr0+vrz+vrz+vrz+/v0+/r0+vrz+/v0+vr0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0 + +/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/r0+/r0 + +vrz+vrz+/r0+vrz+vr0+vrz+vnz+vnz+vny+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vjy+vjy+vjx+vjx+vjx+vjx+vjx+vjx+ffw+ffw+vjw+ffw+ffw+ffw+ffw + +fbw+fbw+fbw+fbw+fbv+fXw+fbv+fbv+fbw+fbw+fbv+fbw+fbv+fbv+fXv+fXu+fXu+fTu+fTu+PTu + +PTu+PPu+PPu+PPu+PPu+PPu+PPu+PPt+PPt+PLt+PLs+PLt9/Hs9/Hs9/Hs9/Hs9vDr9/Hs9vDr9vDr + 9vDr9vDr9vDr9e/q9e/q9e/q9O7q9e/q9O/p9O7p9O7p9O7p9O7p9O7p8+7o8+7o8+7o8+7o8u7o8u7o + 8u7n8u7n8u7n8e3m8e3m8e3m8e3m8Ozm8e3m8Ozl8Ozl8Ozl7+vk7+vk7+vk7urj7urj7urj7uri7uri + 7uni7uni7uni7uni7uni7uni7uni7uni7uni7uni7uji7eji7uji7eji7ejh7eji7ejh7ejh7efh7Ofg + 7Ofg7Ofg7Ofg7Obf7Obf7Obf6+Xe7Obf6+Xe6+Xe6+Xe6uTe6uTe6uTe6ePd6uTd6uTd6uTd6ePd6eTc + 6ePd6ePc6ePd6OPc6ePc6OPc6OLc6OPc6OLc6OLc5+Lb5+Lb5+Lb5+Lb5uHa5uHa5uHa5uDa5uDa5uDa + 5uDa5d/Z5d/Z5d/Z5d/Z5N7Y5N/Z5N7Y5N7Y5N7Y5N/Y5d7Y5N7Y5N7Y5N/Y5N7Y5N/Y5N7Y0MrH0MvI + 0MzH0czI0czJ0szI0s3J0s7J083J1M7J1M/K1dDL1tDL1tHL1tHM19LM2NLN19LN2NPN2NTN2dTO2dTO + 2tXP2tXP2tbP2tbP2tbQ2tbQ2tfQ29fR29jR29jR3NjS3NnS3NjS3dnT3dnT3dnT3dnT3trU3trU3trU + 39vV39vV4NvV4NvV4NvV4NzV4NzW4dzW4dzW4dzW4t3W4t7X4t7X497Y5N7Y5N/Y5N/Y5N/Z5N/Z5ODZ + 5ODZ5eDa5eDa5uHa5uHa5uHa5uHa5uHb5uHb5+Lb5+Lc5+Lc5+Lc5+Lc6OPc6OPc6OPd6OPd6OTd6eTe + 6eTe6eXe6eTe6eXe6uXf6eXf6ebf6ubf6ebg6ubg6ubg6ufg6ufg6ufg6ufh6+fh6+fh6+fh6+bh6+fh + 6+fh6+fh6+fh7Ofh7Ofh7Ofi7Oji7Oji7Oji7Oji7Oji7eni7enj7enj7urj7enj7erk7urk7enk7urk + 7urk7erk7urk7urk7uvk7uvk7uvk7uvk7uvl7+zl7uzl7+zm7+zm7+zm8Ozm8Ozm8O3m8O3m8e3n8e3n + 8e3n8e3n8e3n8u3o8u7o8u7o8+/p8+7p8+/p8+/p8+7p8+/p8+/p9O/q9O/q9O/q9O/q9O/q9e/r9fDr + 9fDr9vDs9vDr9vDs9vDs9vDs9/Hs9/Ht9/Ht9/Ht9/Ht+PLt+PLu+PLu+PLu+PLu+fPu+fPu+fPu+fTv + +fTu+fTu+fTu+fTv+fTv+fTu+fTv+fTv+fTv+fTv+fTv+fTu+fXv+fXv+fXv+fXv+vXv+fXv+vbv+vbv + +vbv+vbv+vbv+vbv+vfv+vfv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+fjw+fjw+fjw+vjx+vnx+vnx + +vnx+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny+vnz+vnz+vnz + +vnz+vrz+vnz+vnz+vrz+vr0+vr0+/r0+vrz+/r0+/r0+/r0+/r0+/v0+/v0+/v0+/v0+/v0+/v0+/v0 + +/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v1+/v0+/v0+/v0+/v0+/r0+/r0 + +vvz+vrz+vr0+vrz+vrz+vrz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vnz+vny+vnz+vnz+vny + +vny+vny+vny+vny+vny+vny+vny+vjy+vjx+vjx+vjx+vjx+ffw+vjx+ffw+ffw+ffw+ffx+fbw+fbw + +fbw+fbw+fbw+fbx+fbw+fbw+fbv+fbw+fbw+fbw+fbw+fbv+fXv+fXv+fTv+PTv+PTu+PTu+PTu+PPu + +PPu+PPu+PPu+PPu+PPu+PPt+PLt+PLt+PLt9/Hs+PLs9/Hs9/Hs9/Hs9vDs9vDr9vDr9vDr9vDr9vDr + 9vDr9vDr9e/q9e/q9e/q9O/p9O7p9O7p9O/p8+7o9O7p9O/p8+7o8+7o8+7o8+7o8u7n8u7n8u7n8e3m + 8e3m8e3m8e3m8e3m8Ozm8Ozl8Ozl8Ozl7+vk8Ozl7+vk8Ozl7+vk7+vk7urj7+vk7urj7urj7urj7urj + 7uri7uni7uni7uni7uji7uji7uni7ujh7ujh7uji7ujh7ejh7efh7efh7efg7efg7efg7efg7efg7efg + 7Ofg7Obf7Obf7Obf7Obf6+Xe6+Xe6+Xe6+Xe6uTe6uTe6eTd6ePd6eTd6ePd6ePd6ePc6ePc6OPc6ePc + 6OPc6OLc6OLc6OLc6OPc6OLc5+Lb5+Lb5+Lb5+Lb5+Lb5+Hb5+Hb5+Hb5uHa5uHa5eDZ5uDa5uDa5eDZ + 5d/Z5d/Z5d/Z5d/Z5N/Y5N/Y5N/Y5N/Y5N/Y5N/Y5d/Z5N/Y5N/Y5d/Z5N7Y5N/Y5N/Y5N7YzcnGzsrG + z8rG0MvHz8zH0MzI0MzI0c3I0s3J0s3J0s3J087J1M/K1M/K1NDK1dHL1tHM1tHM19LM19LN19PN2NPN + 2NTN2NTO2dTO2dTO2dXO2dXO2tbP2tbP2tbQ2tbQ29fQ29fR29jR3NjS3NjS3NjS3djS3tnT3tnT3tnT + 3tnU39rU39rU39rU4NvV4NrV4NvV4NvV4NvV4dzV4dzV4dzV4tzW4t3W493X497X497X497X497Y5N7Y + 5N7Y5N/Y5d/Z5d/Z5eDZ5eDZ5uDZ5uDZ5uDa5uDa5+Hb5+Lb5+Lb5+Lb6OLc6OLc6OPd6ePc6OPd6OPd + 6eTd6eTd6eTe6eTd6eTe6uXe6uXf6eXe6eXf6eXf6ubf6ubg6ubg6ubg6ubg6ubg6ubg6ufg6+fg6+bg + 6+bg6ubg6+bg6+bh6+bh6+bh6+fh7Ofi7Ofi7Oji7Oji7eji7eji7eni7eji7eni7eni7eni7enj7eni + 7urj7urj7urj7urk7urj7urk7uvk7uvk7uvk7uvk7uvk7+vk7uvk7+vk7+zl7+zl8Ozl8Ozm8Ozm8Ozm + 8O3m8O3m8O3m8e3n8e7n8e7n8u7o8u7o8u7o8u7o8u7o8u7o8u7o8u7o8+/p8+/p9O/q9O/q9O/q9PDq + 9O/q9e/r9fDr9fDr9fDr9vDs9vDs9vDs9vDs9vDs9/Ht9/Ht9/Ht9/Ht9/Ht+PLu+PLu+PLu+PLu+PLu + +PLu+fPu+fPv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fXv+fTv+fTv+fXv+fXv+fXv + +vbv+vbv+vbv+vbv+vbv+vbv+vfv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+ffv+fjw+fjw+vjw+vnx+vnx + +vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz + +vnz+vnz+vrz+vr0+vrz+vrz+/r0+vrz+vr0+/r0+vrz+vr0+/r0+/r0+/r0+/v0+/v0+/v0+/v0+/v0 + +/v0+/v0+/v0+/v1+/v0+/v1+/v1+/v1+/v1+/v1+/v1+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/r0 + +/r0+vrz+vrz+/r0+vrz+vnz+vr0+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vjy+vny+vjy+vjx+vjx+vjx+vjx+ffw+ffx+ffx+vfx+vfw+ffw + +fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fXw+fbv+fXw+fXw+fXv+fTv+PTv+PTu+PTu+PTu+PPu+PPu + +PPu+PPu+PPu+PPu+PLt+PLt+PLt9/Ht9/Hs9/Hs9/Hs9/Hr9vDr9vDr9vDr9vDr9vDr9vDr9fDq9e/q + 9e/q9fDq9O/q9O/p9O/p8+7o9O/p9O/p8+/o8+7o8+7o8+7o8u7n8u7n8u7n8u7n8u7n8u7n8e3m8e3m + 8e3m8e3m8e3m8Ozl8Ozl8Ozl8Ozl8Ozl8Ozk7+vk7+vk7+vk7+vk7+vk7+vk7urj7urj7urj7urj7urj + 7urj7unj7uni7uni7uji7uji7uji7ejh7ejh7efh7efg7efg7Ofg7Obg7Obf7Obf7Obf7Obf6+Xf6+Xf + 6+Xf6+Xe6+Xf6+Xe6uTe6uTe6uTe6uTd6uTd6ePd6ePd6ePc6ePd6ePc6ePc6ePc6ePd6ePc6ePc6ePc + 6ePc6OLc6OLc6OLc6OLb6OLc6OLb5+Lb5+Hb5+Hb5+Hb5+Ha5+Ha5uDa5uDa5uDa5uDa5uDa5uDa5eDZ + 5eDZ5uDa5d/Z5eDZ5eDZ5d/Z5d/Z5N/Y5N/Y5N/Y5N/Y5N/Y5N/Y497X497X497X493X497Xy8jDzMjC + zMnDzMnDzMrEzMrEzcrFzsvFz8vGz8vG0MzG0MzH0c3I0c3I0s7I087J08/J1M/J1M/K1dDK1tDL1tHL + 1tHM19LM19LM2NLM2NPN2NPN2dTO2tTO2dTO2tXP2tXP2tbQ2tbQ29fR29fQ29jR3NjR3NjR3djS3djS + 3djS3djT3tnT3tnT3tnU3tnU39rU39rU39rU4NvV4NrV4NvV4dvV4dzV4dzV4dzV4tzW4tzW4t3W4t3W + 4t3W5N7Y497X5N7Y5N7Y5N/Y5N7Y5d/Z5d/Z5d/Z5uDZ5uDa5uDa5+Ha5+Hb6OLb5+Hb5+Lc6OLc6OLc + 6OPc6ePd6OPd6ePd6eTd6eTd6eTd6uTe6eTe6eTe6eTe6eTe6uXf6eXe6uXf6uXf6uXg6ubg6ubg6ubg + 6+bg6+bg6+bh6+bh6+bh7Ofh6+bh7Ofi7Ofi7Ofi7Ofi7eji7eji7eji7eji7eji7eji7eni7eni7eni + 7unj7unj7unj7unj7urj7unj7urj7urj7urk7urk7urk7uvk7+vk7+vk7+vk7+vk7+zl7+zl7+zl7+zl + 7+zl7+zl8O3m8O3m8O3m8O7m8e7n8e7n8e7n8e7n8u7o8u7o8u7o8u7o8u7o8+/p8+7p8+/p8+/p9O/q + 9PDq9PDq9PDq9O/q9fDr9fDr9fDr9fDr9fDr9vDs9fDr9vDs9vDs9vDs9vDs9vDs9/Hs9/Ht9/Ht9/Ht + +PLu+PLu+PLu+PPu+fPv+fPu+fTv+fTw+fTv+fTv+fTv+fTv+fTv+fTv+fTw+fTv+fTv+fXv+fTv+fTv + +fXv+fTv+vXv+vXv+vbv+vbv+vbv+vbv+vbv+ffv+ffv+vfv+ffv+ffv+fjv+fjw+fjw+vjw+vnx+vnx + +vnx+vnx+vnx+vnx+vnx+vny+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vnz+vnz + +vrz+/r0+vnz+/r0+vr0+/r0+/r0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0 + +/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v0+/v0+/v1+/v0+/v0+/v0 + +/v0+/v0+/v0+/v0+/v0+/v0+/r0+/v0+/v0+/r0+/v0+vnz+vrz+vnz+vnz+vnz+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vjx+vjx+vfx+vfw+vfx+ffx+ffw+ffw+fbw+fbw+ffw + +fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fXw+fXw+fXw+fXw+fTw+PTv+PTv+PTv+PPu+PPu+PPu+PPu + +PPu+PPu+PPu+PPu+PPt+PPt+PLt+PLs+PLt9/Hs9vDs9/Hs9vDs9vDs9vDr9vDr9fDq9fDq9e/q9PDq + 9O/q9O/p9O/p8+/o9O/o9O/o8+7o8+/o8+7o8u7o8u7n8u7n8u7n8u7n8e3m8e3m8e3m8e3m8Ozl8e3m + 8e3m8Ozl8Ozl8Ozl8Ozl8Ovk7+vk7+vk7+vk7+vk7+rj7+rj7+rj7+rj7uni7uni7uni7uji7uni7ujh + 7ujh7ujh7ujh7ujh7ujh7ejh7efg7efg7efg7Obf7Obf7Obf7Obf6+Xe7Obf7Obf7Obf6+Xe6+Xf6+Xf + 6uTe6uTe6+Xe6uTe6uTd6uTd6uTe6eTd6ePd6ePc6ePc6ePd6ePc6ePc6ePc6ePc6ePd6ePd6ePc6ePc + 6ePc6OPc6OLc6OLc6OLc6OLb6OLb5+Hb5+Ha5uHa5uHa5uHa5uDa5uDa5uDa5uDa5uDa5uDa5uDa5eDZ + 5eDZ5eDZ5d/Z5d/Z5d/Z5d/Z5N7Y5N/Y5N7Y5N7Y497X497Y497X493X4t3W4t3W4t3W4t3XysfBy8bA + y8bBy8fBy8fBy8jCzMjCzMnDzcnDzcnDzsrEzsrEz8rFz8vF0MvG0MzG0czH0szH0s3I087I087I08/I + 1M/J1c/K1dDK1tHK1tHL19LM19LM19LM2NPN2NTN2dPN2dTO2dTO2dXP2tXP2tXP2tXP2tbP2tbQ29bQ + 29fQ29fR3NfR3NfR3NfS3NjS3djS3djS3tnT3tnT39nU39rU4NrU4NvU4NvU4NvU4dvV4dzV4dzV4tzW + 4tzW4t3W4t3W493X497X497X5N7Y5N7Y5N7Y5d/Z5d/Z5d/Z5uDa5uDa5uDa5+Hb5+Ha5+Hb5+Hb6OLb + 6OLc6OLc6OLc6OLc6OLd6ePd6ePd6ePd6ePe6eTe6eTe6eTe6eTe6eTf6eXf6uXf6uXg6uXg6uXf6uXg + 6ubg6+bg6+bg6+bh6+bh6+bh6+bh6+bh7Ofi7Ofi7Ofi7Ofi7efi7efi7eji7efi7eji7eji7eji7uji + 7ujj7ujj7unj7unj7urj7urj7urj7urk7urk7urk7urk7+rk7+rk7+rk7+vk7+vl7+vl7+vl7+zl7+zl + 7+zl7+zl8O3m8O3m8O3m8O3m8O3m8O7m8e7n8e7n8e7n8e7n8u7o8e7n8u7o8u/o8u/o8u/o8+/p8+/p + 8+/p8+/p9PDq9PDq9PDq9fDr9PDq9fDr9fDr9fDr9fDr9fDr9fDr9vDs9vDs9vDs9vDs9vDs9vDs9vDs + 9/Ht9/Ht+PLu+PLu+PLu+PLu+PPu+fPv+fTv+fTv+fTv+fTw+fTw+fTw+fTw+fTw+fTw+fTv+fTw+fTv + +fXv+fXv+fXv+vXv+vXv+vbv+vXv+vbw+vfv+vfv+ffv+ffv+ffv+ffv+ffv+ffw+ffw+fjw+fjw+fjw + +fjw+vnx+vnx+vnx+vnx+vny+vnx+vny+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz + +vny+vnz+vnz+vnz+vrz+vrz+vr0+/v0+vr0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0+/v0 + +/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v1+/v0+/v0+/v1+/v0+/v0+/v0+/v0+/v0 + +/v0+/v1+/v0+/v0+/v0+/v0+/v0+/v0+/r0+vrz+vrz+vrz+vrz+vnz+vnz+vnz+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vjy+vjy+vjx+vjx+vjx+ffx+ffw+ffx+ffw+ffw+fbx+fbw+fbw+fbx + +fbw+fbw+fbw+fbw+fbw+fXw+fbw+fXw+fXw+fXw+fTv+fTw+PTv+PTv+PPv+PPv+PPv+PPu+PPu+PPu + +PPu+PPu+PPu+PPu+PLt+PLt+PLt9/Ht9/Hs9/Hs9/Hs9/Hs9vHs9vDr9vDr9vDr9vDr9e/q9fDq9O/p + 9PDp9PDp8+/o8+/o8+/o8+/o8+7o8+/o8u7o8u7n8u7n8u7m8u7n8e3m8e3m8e3m8e3m8e3m8e3m8Ozl + 8O3m8Ozl8Ozl8Ozl8Ovk8Ovk8Ovk7+vk7+rj7+rj7+rj7+rj7uni7+ni7uni7+ni7uni7uji7ujh7ujh + 7ujh7ujh7efg7efg7efg7efg7Obf7Obf7Obf7Obf7Obf7Obf6+Xe6+Xe6+Xe6+Xe6+Xe6+Xe6+Xe6+Xe + 6+Xe6+Xe6+Xe6+Xe6uTe6uTd6ePd6uTd6ePc6ePc6OLc6ePc6OLc6OLc6OLc6OLc6OLc6OPc6OLc6OPc + 6OLc6OLc6OLb6OLb6OLb5+Hb5+Ha5+Ha5uDa5uDa5uDZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5eDZ5d/Z5d/Z + 5d/Z5N/Y5N7Y5N7Y5N7Y5N7Y497Y497X497X493X493X4t3X4t3W4t3X4t3X4tzW4tzW4dzWyMS+ycS+ + ycS+ysW/ysW/y8W/ysbAy8bAy8fBzMfBzMjCzMjCzMjDzcnDzsnDzsnEz8rF0MvG0MvG0MvG0czH0c3H + 0s3H0s3H087I087I1M/I1M/J1c/K1dHK1tDL1tHL1tHM19LM19LM2NLN2NLN2NPN2NPN2dTO2dPO2dTO + 2dTO2dXP2dTP2dXQ2tXP2tbQ29bR29bQ3NbR3NfS3NjS3djT3tnT3tnT3tnU39rU39rU39rU4NvU4NvU + 4NzV4dzW4tzW4tzW4t3X4tzX493X493Y5N7Y497Y5N7Z5N7Z5d/Z5d/a5d/a5d/a5uDb5eDa5uDa5uDb + 5uDb5+Hb5+Hc5+Hc5+Hc5+Hc6OLc6OLc6OLc6OLd6ePd6ePe6eTe6eTe6eTe6eTf6eTf6eTg6uXg6uXf + 6uXg6ubg6uXf6uXg6+bg6+bg6+bg6+bg6+bh6+bh7Obh7Obi7Obh7Obi7Ofi7Ofi7efi7efh7eji7eji + 7uji7uji7eji7uji7uji7uji7unj7unj7unj7+rk7urk7+rk7+rk7+rk7+rk7+rl7+vl7+vl7+vl7+vl + 7+vl7+zl7+zl7+zm7+zm7+zm8O3m8O3m8O3m8O3m8O3m8e7n8e7n8e7n8u/o8e7n8e7n8u7o8u/o8u/o + 8/Dp8+/p8+/p9O/q8/Dp9PDq9PDq9PDq9PDq9PDq9PDq9fDr9fDr9fDr9fDr9fDr9vDs9vDs9vDs9vDs + 9/Hs9/Hs+PLt+PLt+PLu+PLu+PLu+fPv+fTv+fTv+fPv+fTw+fTw+fTw+fTw+fTw+fTw+fTw+fTw+fTw + +fTw+fXv+fXv+vXv+vbv+vbv+vbv+vbv+vfv+vfw+vfw+vfv+ffv+vfw+vfv+ffw+ffw+ffw+ffw+fjw + +fjw+fjw+vjw+vnx+vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vnz+vnz+vnz+vrz+vr0+/r0+/v0+/v0+vr0+/v0+/v0+/v0+/r0+/v0 + +/v0+/v0+/v0+/v1+/v1+/v1+/v1+/v0+/v1+/v1+/v0+/r0+/v0+/r0+/r0+/r0+/r0+/v0+/v0+/v0 + +/r0+/v0+/v0+/v0+/r0+/r0+vrz+vnz+vnz+vny+vny+vny+vnz+vny+vny+vnz+vny+vny+vny+vny + +vny+vny+vny+vny+vjx+vny+vjx+vjx+vfx+vjx+vjx+ffx+ffx+fbx+fbx+ffx+fbw+fbx+fbw+fbx + +fbw+fbw+fbw+fbw+fbx+fXw+fXw+fXw+fXw+fTw+PTw+fTw+PPv+PPv+PPv+PPv+PPu+PLu+PLu+PLu + +PLu+PLu9/Lt9/Ht9/Ht9/Ht9/Ht9/Ht9/Hs9vHs9vHs9/Hs9vDr9vDr9vDr9fDr9fDq9fDq9fDq9PDp + 9PDp9PDp8+/o8/Do8+/o8+/o8u7o8+/o8u7n8u7n8u7m8u7n8e3m8e3m8e3m8e3m8O3m8Ozl8Ozl8Ozl + 8Ozl8Ozl8Ovk8Ovk8Ovk8Ovk7+rj7+rj8Orj7+rj7+rj7+ni7+ni7+ni7+ni7uni7ujh7ujh7ujh7ujh + 7ujh7efg7efg7efg7efg7ebg7efg7Obf7Obf7Obf7Obf6+Xe7Obf6+Xe6+Xe6+Xe6+Xe6+Xe6+Xe6+Xe + 6+Xe6+Xe6+Xe6uTe6uTe6uTd6ePd6ePd6ePc6ePc6OLc6OLc6OLc6OLb6OLc6OLb6OLc6OLc6OLc6OLc + 6OLb6OLb6OLb5+Hb5+Hb5+Ha5uDa5uDa5uDa5uDZ5uDZ5uDZ5d/Y5d/Z5d/Y5d/Y5N7Y5N7Y5N7Y5N7Y + 5N7Y5N7X493X493X4t3X4t3W4tzX4tzX4tzW4tzW4dzW4dzW4dzW4NzV4dzW4dzW4NzV4NvVx8K8xsG7 + x8K8yMK8yMO9ycO9ycS+ycS+ysW/y8bAy8bAy8bAy8fBzMfBzMjCzcjCzcnDzsnDzsnEz8rF0MrF0MrF + 0cvG0cvG0cvG0szH0s3H083H083H087I1M/J1M/J1M/J1dDK1dDK1tDL1dHK1tHL1tLL19LM19LM19PM + 2NPN2NLN2NPN2NTO2NTO2dXP2dXP2tXQ29bQ29fR29bR3NfS3NfS3djT3djT3djU3tjU3tnU3tnT39nU + 39rU4NrV4NrV4dvW4dvW4dzW4tzW4tzX493Y493Y5N7Z5N7Z5N7Z5N7Z5N7Z5N7Z5N7Z5N/Z5d/a5d/a + 5eDa5d/a5uDb5eDa5uDb5uDb5+Hb5+Hc5+Hc6OLd6OLd6ePd6eLe6ePe6ePe6eTe6eTe6eTe6eTf6eTf + 6eTf6uXf6uXf6uXf6uXf6+bg6+bg6+bh6+bh6+Xg7Obh7Obh7Obh7Ofi7efi7efi7uji7efh7efi7efi + 7efh7uji7eji7uji7uji7uji7uji7unj7unj7unj7unk7unj7+nj7unk7+nk7+nk7+rk7+rk7+rk7+rk + 7+vl7+vl7+vl7+vl7+vl7+vm8Ozm8Ozm8Ozm8O3m8O3m8O3m8e3n8e7n8O7m8e7n8e7n8u7o8u7o8u/o + 8u/o8u/o8+/p8u/o8+/p8/Dp8/Dp9PDq8/Dp9PDq9O/q9PDq9PDq9PDq9fDr9fDr9fDr9fDr9fDr9vDs + 9vDr9vDs9vDs9/Ht9/Ht9/Ht+PLu+PLu+PLu+fPv+PPu+fPv+fTv+fTv+fTv+fTv+fTw+fTw+fTw+fTw + +fTw+fTw+fXv+fTv+fXw+vbv+vbv+vbw+vbv+vfv+vfw+vbv+vfw+vfw+vfv+ffw+ffw+ffw+ffw+ffw + +fjw+ffw+fjw+vnx+vnx+vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vnz+vnz+vnz+vnz+vnz+vrz+vrz+vnz+/r0+vrz+/r0+vrz+/r0+vrz+/v0 + +/r0+vr0+/r0+/r0+/v0+/v1+/v0+/v0+/v0+/v0+/v0+vr0+vrz+vrz+vr0+/r0+/r0+/r0+/r0+/v0 + +vrz+/rz+/r0+vrz+vrz+vrz+vrz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vjy+vjx+vjx+vjx+vjx+vjx+vjx+vjx+ffx+ffx+fbx+ffx+fbx+ffx+fbw+fbx+fbx+fXx + +fbw+fbw+fbx+fXw+fbw+fXw+fTw+fTw+fXw+PTw+PTv+PTv+PPv+PPv+PPv+PPu+PPu+PLu9/Ht+PLu + 9/Ht+PLu9/Ht9/Ht9/Ht9/Ht9vDs9/Hs9/Ht9vHs9vDr9vHr9fDr9fDr9fHr9fDq9fDr9fDq9PDp9PDp + 9PDp9PDp8+/o9PDp8+/o8+/o8u7n8+/o8u7n8u7n8u7n8e3m8e3m8e3m8e3m8e3m8Ozl8Ozl8Ozl8Ovk + 8Ozl8Ovk8Ovk8Ovk8Ovk8Ovk7+rj8Orj7+rj7+rj7+ni7+ni7+ni7uni7uni7uji7ujh7uji7ujh7efg + 7ejg7efg7efg7efg7efg7efg7efg7efg7Obf7Obf7Obf6+Xe6+Xe6+Xe6+Xe7Obf6+Xe6+Xe6+Xe6+Xe + 6+Xe6+Xe6+Xe6uTd6uTe6uTd6uTd6ePd6ePc6ePd6ePc6ePc6ePc6OLc6OLc6OLc6eLc6OLc6OLc6OLc + 6OLb6OLb5+Ha5+Hb5+Ha5uHa5uDa5uDZ5uDa5uDZ5d/Z5d/Y5d/Y5N7Y5d/Y5d/Y5N7Y5N7Y493X493X + 493Y4tzX493X493X4tzX4tzX4tzW4dzW4dzW4dzW4dzW4dvW4NvV4NvV39rU39rU39rU3trTxL+5xL+5 + xMC6xcC6xcC6xsG7x8K8x8K8yMO9yMO9ycS+ycS+ysW/ysW/ysbAy8bAy8fBzMfBzMjCzMjCzcjDzsjD + z8nEz8nDz8nEz8rF0MrF0MrF0MvG0cvG0czG0czG0s3H083H087H1M7I1M7I1M/J1M/J1dDK1dDL1tHL + 1tHL1tLM19LN19LN19PN19PO2NPO2NTP2NTP2NTP2dTP2dXQ2tXR2tXR29bS29bS3NbT3NbT3NfT3dfT + 3djT3djT3tjU3tjU39nV39nV39rV4NrV4NrV4drW4NrV4dvW4dvW4dzW4tzX4tzX4t3X4t3Y497Y493Y + 497Y5N/Z5N/Z5N/Z5eDa5eDa5eDa5uDa5uDb5+Hc5+Hc5+Hc5+Lc5+Lc6OLd6OPd6OPd6OPe6OPe6OPe + 6eTe6eTe6eTe6eXf6uXf6uXg6uXg6ubg6+Xg6+Xg6+Xg6+Xg7Obh7Obh7Obh7Obh7Obi7Obi7efi7efi + 7efh7efi7eji7uji7uji7ejj7uji7unj7unj7unj7+nj7unj7+nj7+nj7+rk7+rk7+nj7+nj7+rk7+rk + 7+rk7+rk7+rk7+rk7+vl8Ovl8Ovl8Ozm8Ozm8Ozm8Ozm8Ozm8Ozm8Ozm8O3m8O3m8O3m8O7n8e7n8e7n + 8e7n8e7n8e7n8u/o8u/o8u/o8u/o8u/o8u/o8/Dp8/Dp9PDq9PDq9PDq9PDq9fDr9fDr9fDr9fDr9fDr + 9fDr9vDs9vDs9vDs9vDs9vDs9/Ht9/Ht+PLt+PLu+PLu+PLu+PLu+PPu+fPv+fPv+fPv+fPv+fTw+fTw + +fTw+fTw+fTw+fTw+fTw+vXv+vXw+vbv+vbw+vbw+vbw+vbw+vfw+vfw+vfw+vfw+vfw+ffw+ffw+ffw + +ffw+ffw+ffw+fjw+fjw+fjw+fjx+fjx+fjx+vjx+vnx+vnx+vny+vnx+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vr0+vr0+vrz+/r0 + +vrz+vrz+vr0+/v0+vrz+vrz+vr0+vrz+/r0+vrz+/r0+vrz+vrz+vnz+vnz+vnz+vrz+vnz+vnz+vnz + +vnz+vnz+vnz+vny+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vnz+vny+vny+vny+vny+vny+vny+vny+vjy + +vjy+vjx+vjx+vjx+vjx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+fbw+fbx+fbx+fbx+fbx+fbx+fbx+fbx + +fbx+fbx+fbx+fXw+fXw+fXw+PTw+fTw+PPv+PTv+PPv+PPv+PPv+PPu+PLu+PLu+PLu9/Ht9/Ht9/Ht + 9/Ht9/Ht9/Ht9/Ht9vHs9vHs9vHs9vHs9vHs9vDs9fDr9fDr9fDr9PDq9PDq9PDp9PDq9PDp9O/p9PDp + 9O/p8+/o8+/o8+/o8+/o8u7o8u7n8u7n8e3m8e3m8e3m8e3m8e3m8Ozm8Ozl8Ozl8Ozl8Ovk8Ovk8Ovk + 8Ovk8Orj8Orj8Orj8Orj8Orj7+rj7+ni7+ni7+ni7+ni7uji7ujh7ujh7ujh7ujh7ujh7ujh7ujh7efg + 7efg7ujh7efg7efg7efg7efg7Obg7Obf7Obf7Obf6+Xe6+Xe6+Xe6+Xe6+Xe6uTd6+Xe6uTd6uTd6uTd + 6uTd6uTd6uTd6uTd6uTd6ePd6uTd6ePd6ePc6ePd6ePc6OLc6OLc6OLc6OLc6OLb6OLb5+Lb5+Hb5+Hb + 5+Ha5uDa5uDa5uDa5uDa5uDa5uDZ5d/Z5d/Z5N/Y5N7Y5N7Y5N7Y5N7Y5N7Y5N7Y493Y493X493X493X + 4tzX4tzX4tzW4dvW4dvW4dvW4NvV4NvV4NrV4NrV39rU39nU3tnT3tnT3tjT3tjS3djS3djSwby3wby2 + wby3wr24wr64w765w765xL+5xcC6xcC6xsG7x8K8x8K8yMK8yMO9ycO9ycO9ycS+ycS+ysW/ysW/y8bA + y8fBzMfBzMfCzcjCzsjDzsjDzsnEz8nEz8nF0MrF0MrF0MvG0cvG0MvG0czG0szH0s3I087I087I1M/J + 1c/K1dDL1dDL1tDL1tHL1tLM1tLM19LM19LN19PO19PO19PO2NTP2NTP2NTQ2dXQ2dXQ2tXR2tXR29XS + 2tbS29bS29fS3NfS3NfS3NjS3NjS3djT3tnT3tjT3tnT3trU39rU39rU4NvV4NvW4NzV4NvW4dzW4tzX + 4t3X493Y4t3Y497Y497Y5N/Z5N/Z5d/Z5d/a5eDa5eDa5uDb5uHb5uHb5+Hc5+Lc5+Lc6OLd6OPd6OPd + 6OPd6OPe6OTe6OTe6eTf6eTe6eTf6uXf6uXg6uXf6uXg6+Xg6+Xg6+Xg6+Xg7Obh7Obh7Obh7Obi7Obh + 7Obh7Ofh7Obh7efh7efi7efi7eji7uji7uji7uji7uji7uji7+nj7+ji7unj7+nj7+nj7+nj7+rk7+nj + 7+nj7+rk8Ork7+rk7+rk8Ork7+rk8Ovl8Ovl8Ovl8Ovl8Ozm8Ozm8Ozm8Ozm8O3m8O3m8O7n8O7n8e7n + 8e7n8e7n8e7n8u/o8u/o8u/o8u/o8u/o8u/o8/Dp8/Dp9PDq9PDq9PDq9PDq9PDq9fDr9fDr9fDr9fDr + 9vDs9vDs9vDs9vDs9vDs9vDs9vDs9vDs9/Ht9/Ht9/Ht+PLu+PLu+PLt+PLu+PLu+PLu+PLu+fPv+fPv + +fTv+fTv+fTw+fTw+fTw+fTw+fTw+fTv+vXw+vXw+vbw+vbv+vbw+vbw+vbw+vbw+vfw+vbw+ffw+ffw + +ffw+ffw+ffw+ffw+ffw+ffw+fjw+fjx+fjx+fjw+vnx+vnx+vnx+vnx+vnx+vnx+vnx+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny+vnz+vnz+vnz+vnz+vnz+vnz+vrz+vrz+vrz+vrz + +vnz+vnz+vrz+vrz+vnz+vrz+vnz+vnz+vrz+vrz+vnz+vry+vnz+vny+vrz+vrz+vny+vnz+vny+vny + +vny+vny+vny+vny+vny+vny+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vjx + +vjx+vjx+vjx+vjy+vjx+ffx+ffx+ffx+ffx+ffx+ffx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx + +fXx+fXx+fXw+fXw+fXw+fTw+PTv+PTv+PPv+PPv+PPv+PPv+PPv+PPu9/Lu+PLu9/Ht9/Ht9/Ht9/Hs + 9/Ht9vHs9/Hs9vHs9vHs9vHs9vHs9vHs9vHs9vDs9fDr9fHr9fDr9PDq9PDq9PDq9PDp9PDp8+/p8+/p + 8+/p8+/o8u7o8u7o8u7n8e3m8e3m8e3m8Ozm8e3m8e3m8ezl8Ozl8Ozl8Ozl8Ozl8Ovk8Ovk8Ovk8Orj + 8Ovk8Orj8Orj8Orj8Orj8Orj7+ni7+ni7+ni7uni7uni7ujh7ujh7ujh7ujh7ujh7ujh7efg7efg7efg + 7efg7efg7efg7efg7Obf7Obf7Obf7Obf7Obf7Obf7Obf6+Xe6+Xe6+Xe6+Xe6uTd6uTe6uTd6uTd6uTd + 6ePd6ePd6eTd6uTd6eTd6ePc6ePc6ePc6OLc6OLc6OLc6OLb6OLb5+Hb5+Hb5+Ha5+Ha5uHa5uHa5uDa + 5uDa5uDa5eDZ5uDa5d/Z5d/Z5d/Y5N7Z5N7Y5N7Y5N7Y5N7Y493Y493Y493X493Y4tzX4tzX4tzX4dvW + 4dvW4dvW4dvW4NrV39rU39rU39rU3tnT3tnT3tnT3dnS3dnS3djS3NjR3NfR3NfR3NfR29fQvrq1vbm0 + vrq0vrq0v7q1v7u2wLu2wby2wby3wr23w764w764xL+5xL+5xL+5xcC6xsG7x8G8x8K8x8K8yMO8yMO9 + ycS+ycS+ysS/ysXAysXAy8bBy8fBzMfCzcfDzcfDzcfDzsjEzsjEzsjEz8nFz8nEz8rF0MvG0MvG0czG + 0czG0s3I083I087I087J1M/J1M/J1c/K1NDK1dDK1dHL1tHL1tLL1tLM1tPN1tPN1tTN19TO2NTO2NTP + 2NXP2NXP2NXQ2dXQ2dXQ2tbR2tbQ29fS29bR29fS3NfS3NjS3djT3dnT3tnT3trU3trU39rV39vV4NvW + 4NvW4dzW4NzX4dzW4d3X4t3X4t3X4t3X4t7X4t7X497Y49/Y5N/Y5ODZ5ODZ5eDa5uDb5uHb5uHc5+Hc + 5+Lc5+Lc5+Lc6OLd6OLd6OLd6OPd6OPe6eTe6OPe6eTe6eTe6eTf6uTf6uTf6uTf6+Xg6+Xg6+Xg6+Xg + 7Obg7Obg7Obh7Obh7Obg7efh7Obg7efh7efh7efh7efh7uji7uji7uji7uji7uji7uji7+nj7+nj7+nj + 8Ork8Ork7+rk8Ork8Ork8Ork8Ovl8Ovl8Ovl8Ovl8Ozm8Ozm8Ozm8Ozm8Ozm8O3m8O3m8O3m8O3n8O3n + 8O3n8e7n8e7n8e7n8e7n8e7n8e7n8e7n8u/o8u/o8u/o8/Dp8/Dp9PDq9PDq9PDq9PDq9PDq9fDr9fDr + 9fDr9fDr9fDr9fHr9vHs9vHs9vDs9vDs9vDs9/Ht9/Ht9/Ht9/Ht9/Ht9/Ht+PLu+PLu+PLu+fPv+PLu + +fPv+fTv+fPv+fTv+fTw+fTw+fTw+fTw+fTv+fXv+vXv+fXw+vXw+vXw+vbw+vbw+vbw+vbw+vbw+fbw + +ffw+ffx+ffw+ffw+ffx+ffw+ffx+ffx+fjx+fjx+fjx+fjx+fjx+fjx+fjx+fjx+vnx+vnx+vnx+vnx + +vnx+vnx+vny+vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny + +vny+vny+vny+vny+vny+vny+vny+vny+vny+vjy+vny+vjy+vny+vjy+vjy+vjy+vjy+vjx+vjy+vjy + +ffx+ffy+ffx+ffx+ffy+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fXx+fbx+fXw+fXx+fXw+fXw + +fTw+PTv+PTv+PTv+PTv+PPv+PPv+PPv+PPv+PPv+PPv+PPu+PLu+PLu+PLu+PLu9/Lt9/Ht9/Hs9/Ht + 9/Ht9/Hs9vHs9vHs9vHr9fHr9vHr9fHr9vHr9fHr9fHr9fHq9PDq9PDq9PDq8+/p9PDp8+/p8+/p8u7o + 8u7o8u7o8u7o8e3n8e3m8ezm8ezm8ezm8ezm8ezm8Ozl8Ozl8ezl8Ozk8Ovk8Ovk8Ovk8Ovk8Orj8Orj + 8Ork7+ni8Orj7+ni8Orj8Orj7+ni7+ni7+ji7+ni7ujh7unh7ujh7ujh7ejh7ujh7efg7efg7efg7efg + 7Obf7Obf7Obf7Obf7Obf7Obe6+Xe6+Xe6+Xe6+Xe6uTd6uTd6uTd6uTd6ePd6ePc6ePd6ePc6ePc6OPc + 6OLc6OLc6OLc6OLc6OLc6OLb5+Lc6OLb5+Hb5uHa5uHa5uHa5uDa5uDa5eDZ5d/a5N/Z5N/Z5N/Z5N7Y + 5N7Z5N7Y493X497Y497Y493Y4tzX493X4tzX4tzX4tzW4tzW4dvW4dzW4dvW4NvW4NvV4NvV39rV4NrU + 39rU39rU3tnT3tnT3djS3dnS3djS3djS3NjR3NfQ29fQ29fQ29bQ29bP29XP2tXP2tXO2tTOu7eyu7ex + u7eyvLiyvbizvbm0vbm0vrq0v7q1v7q1wLu2wLu3wLu3wr23wr23wr23w764w765xL+6xL+6xcC6xsG8 + xsG8x8K8yMK9yMK+yMO+ycS/ycXAycXAysXAysbAysbBy8bBy8fCy8fCzMfCzMfCzcjDzcjDzsnEzsnE + zsrEz8rE0MvF0MzF0czF0czG0s3H0s3H0s7H087I087I1M/I1NDJ1NDJ1dDK1dHK1dLL1tLL1tLM1tPM + 1tPM1tPN19TN19TO2NTO2NPO2NTP2dTP2dXQ2dTP2tbQ2tbQ29bR3NfR3NfS3NfS3djT3djT3dnT3tnU + 3tnU39rV39rU39rV4NvW4NvW4NvV4NvW4dzW4dzW4d3X4t3X4t3Y4t7Y497Y497Y5N/Z5N/Z5ODZ5eDa + 5uHa5uHa5uHa5uLb5+Lb5uHc5+Lc5+Lb5+Lc5+Pc5+Pc5+Pc6OPd6OTd6OTe6OTd6eTe6eTf6uTf6uTf + 6uTf6uTf6+Xg6uTg6+Xg6+Xg7Obg7Obg7Obg7Obg7Obg7Obg7efh7efh7efh7uji7uji7uji7uji7+nj + 7+nj7+nj8Ork8Ork8Ork8Ork8Ork8Ovl8Ovl8Ovl8Ovl8Ozm8Ozm8Ozm8Ozm8Ozm8Ozm8Ozm8Ozn8O3n + 8Ozn8O3n8e3n8e7n8e7n8e7n8e7n8e7n8e7n8e7n8u/o8u/o8u/o8vDo8vDo8/Dp9PDq8/Dp8/Dp9PDq + 9PDq9PDq9PDq9PDq9fHr9fDr9fHr9vHs9vDs9vHs9vHs9/Ht9/Ht+PLt9/Hu+PLt+PLt+PLu+PLu+PLv + +PLu+fPv+fTv+fTv+fTw+fTw+fTw+fTw+fTw+fXw+fXv+fTw+fXw+fXv+vXw+vbw+vbw+vbw+vbw+vbx + +fbw+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+fjx+fjx+fjx+fjx+fjx+fjx+fjx+fjx+fjx+vnx + +vjx+vnx+fjy+vnx+vnx+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny + +vny+vny+vny+vny+vjz+vny+vny+vny+vny+vny+vnz+vny+vny+vny+vny+vny+vny+vny+vny+vnz + +vny+vny+vny+vny+vny+vny+vny+vjy+vny+vjy+vjy+vjy+vjy+vjy+vfy+vjy+vjy+vjy+ffy+ffy + +ffy+ffy+ffy+ffy+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fXw+fXw+PTv+PTv + +PTv+PTv+PPv+PPv+PPv+PPv+PPv+PPu+PPu+PPu+PPu+PLu9/Lt+PLu9/Lt9/Ht9/Ht9/Lt9/Lt9vLs + 9/Ht9/Ht9vHs9vLs9vLr9vHr9vHr9fHr9fHr9fHr9PDq9fHr9PDq9PDq9PDq8+/p8+/p8u7o8u7o8u7o + 8u7o8u7o8u3n8e3n8e3m8ezm8e3m8ezm8ezm8ezm8ezm8ezl8Ovk8evk8Ovk8evk8Ovk8Ovk8Orj8Orj + 8Orj7+ni8Ori8Orj7+ni7+ni7+ni7+ni7+ni7ujh7ujh7ujh7ujh7ejg7ejg7efg7efg7efg7Obf7Obf + 7Obf7Obf6+Xf6+Xe6+Xe6uTe6uTe6uTd6uTd6uTd6uTd6ePc6ePc6ePc6OLb6OLb6OLc6OLb6OLb6OLb + 6OLb6OLb6OLa5+Hb5+Ha5uHb5uHa5uHa5uDa5uDa5eDa5eDa5d/Z5d/Z5N/Z5N7Z497Y5N7Z497Y493Y + 493Y4tzX4tzX4dzW4tzW4dvW4dvW4dvW4dvV4NvV4NrV4NrV39rU39rU39rU3trT39rU3tnT3tnT3tnT + 3djS3djS3NjR3NjR29fQ3NfR3NfQ3NbQ29bQ29XP2tXP2tXO2tTO2tTO2dTN2dTN2dPN2NPMubWvuLOu + ubWvubWvurawu7axu7axu7eyu7iyvLiyvLizvbm0vbi0vrm0vrm2v7u3v7u3wLy3wby4wb24wr25w765 + w765xL+6xcC7xMC7xcG7xsK8x8K9x8O9x8O+x8O9x8S+yMS+ycS+ycS/ycW/ycW/ysW/ysbAy8bBzMbB + zMfCzcfCzcjCzsjDzsnDz8nDz8rE0MrE0MvE0MvF0czF0s3G0s3G0s3G083H083H1M7I1M/I1M/I1c/J + 1dDJ1dDK1dHK1dHK1tHL1tLL19LM1tLM19LN2NPN2NPN2NPO2dTP2dXP2tXQ2tbP2tbQ2tbQ29fR3NfR + 3NfS3djS3djS3djS3djT3djT3tnT3tnU3tnU39rU4NrV4NvV4NvV4NvW4dzX4dzW4t3X4t3Y4t3Y4t7Y + 497Y497Y5N7Z5N7Y5N/Z5N/Z5eDa5d/Z5eDa5eHa5eDa5uHa5uHb5uLb5uLc5uPc5+Lc6OPd6OPd6OPd + 6OPe6OPe6eTe6eTe6eTf6eTe6uXf6uXf6uXf6uXf6+Xf6+Xf6+bf7Obg7Obg7Obg7Obg7efh7efh7efh + 7uji7uji7uji7uji7+nj7+nj7+nj7+nj7+rk8Ork8Ork8Ork8Ork8Ovl8Ovl8Ovl8Ovl8Ozm8Ozm8Ozm + 8Ozm8ezm8e3n8e3n8e3n8e3n8O3n8e7n8e3n8e7n8e7n8u/o8u/o8u/o8u/o8/Dp8u/o8/Dp8/Dp8/Dp + 9PDq9PDq9PDq9PDq9PDq9fDr9fHr9fHs9vHs9vHs9vHs9vHs9/Lt9/Lt+PLt9/Lt9/Ht9/Ht+PLu+PLu + +PLu+PLu+PLu+fPv+fPv+fPv+fTw+fTv+fTv+fTw+fTw+fTv+fTw+fXw+fTv+fXv+fXv+fXv+fXv+fXv + +vbw+fbw+vbw+ffx+ffx+fbw+ffx+ffx+ffx+ffx+ffx+ffx+ffy+fjx+fjx+ffx+fjy+fjx+fjx+fjy + +vjy+fjy+vnx+vnx+vny+vny+vnx+vny+vnx+vny+vny+vny+vny+vny+vjx+vjy+vny+vny+vjy+vny + +vny+vjy+vny+vny+vny+vny+vny+vny+vny+vny+vnz+vny+vny+vny+vnz+vny+vnz+vnz+vny+vjy + +vny+vjy+vjy+vjy+vjy+vny+vjz+vjy+vjy+vjy+vjy+ffy+vjy+ffx+fjy+vfy+ffy+ffy+fby+fby + +fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fXx+fbx+fXx+fbx+fbx+fXw+fXw+fTw+fXw+fTw+PTv+PTv + +PTv+PPv+PPv+PPv+PPv+PPu+PPu+PPu+PPu+PPu+PPu9/Lt9/Lt9/Lt9/Lt9/Hs9/Ls9vLs9vHs9fHr + 9vLs9fHr9fDr9fHr9fHr9PDq9fHr9PDq9PDq9PDq9PDq9PDq9PDp8+/p8+/p8u7o8+/o8+/p8u7o8u3n + 8u3n8u3n8ezm8ezm8uzm8ezm8evl8ezl8evl8evk8evk8Ork8evk8Ork8Orj8evj8Orj8Orj8Orj8Orj + 8Orj8Orj7+ni7+ni7+ni7ujh7+ni7ujh7ujh7ujh7efg7efg7efg7efg7efg7Obf7Obf7Obf7Obf7Obe + 7Obf6+Xf6+Xe6uXe6uTe6uTd6uTd6uTd6eTd6ePd6OPc6OLc6OLb6OLb5+Lb5+Hb5+Hb5+Ha5+Ha5uDa + 5uDa5uDa5uDa5uDa5uDa5d/Z5d/Z5d/Z5d/Z5d/Z5N/Z5N/Z5N7Y5N7Y497Y493Y493X4tzX4t3X4tzX + 4dvW4NvW4drW4NvW4NrV4NrV39rU39rU3tnT3trT3tnT3tnT3djS3dnT3djS3NjR3NfR3NfR3NfQ3NfQ + 29bP29bP29XP2tXO2tXO2tTO2tTO2dTO2dPN2dPN2NPM19LL2NLM19HL1tHK1tDL1tDK1tDKt7KttrKs + t7Ott7OuuLStubSvubSuubWvurWvurawurWwureyu7iyu7ezu7izvLm0vbm1vbq1vrq2vrq2v7u2v7y2 + wLy3wLy3wb23wr24wr64w765xL+5xL+6xb+6xcC6xsC7xsK8x8K8x8K8x8K+yMO+x8O9yMS+yMS+ycW/ + ycXAysW/y8XAzMbBzMbBzMbCzMfCzcfCzsjCzsnCzsnDz8nDz8rE0MvE0MvE0MvE0czG0szG0s3G0s3H + 087H087I1M7I1M7J1M/J1M7J08/J1M/K1dDL1dDL1tHM1tHM1tHM19HN19LN2NPO2dTP2dTP2dTP2tXP + 29XQ29bQ29bQ29fR29fR29bR3NfS3NjS3djT3djT3tjT3tjU39nU39rV4NrV4NrV4dvW4dvW4dzX4dzX + 4tzX4tzX4tzX4tzX493Y4t3X493Y497Y497Z5N7Z5N7Z5N/Z5N/Z5N/a5ODa5ODa5eHb5eHb5uLc5uLc + 5uLc5uLc5+Pd6OPd5+Ld6OPd6OPd6OPd6OPd6OPd6OTe6eTe6uTe6uXe6uXe6uXe6ubf6+bf6+bg6+bg + 7Obg7Obg7efg7Ofg7efh7ufi7efh7uji7uji7uji7uji7uji7unj7+nj8Ork8Ork8Ovl8Ork8Ovl8Ovl + 8Ozm8Ozm8Ozm8ezm8Ozm8Ozm8e3n8e3n8e7n8e3n8e7n8e7o8e7n8e7o8u7o8u7o8e7o8u/o8vDo8u/o + 8/Dp8/Dp9PDq8/Dp9PDq9fDr9fDr9fHr9fHr9vHs9vHs9vLs9/Ls9/Lt9/Lt9vLs9/Ls9/Lt9/Lt9/Lt + 9/Lt9/Ht+PLt+PLu+PLu+PLu+fPv+fPv+fPv+fTv+fTw+fTw+fTv+fTv+fTw+fTv+fTv+fXv+fXv+fXv + +fXv+fXw+vbw+fbw+fbw+fbw+fbw+fbw+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+fjx+fjx + +fjx+fjy+fjy+fjx+vjy+vjy+fjy+vjy+vny+fjy+vjy+vjy+fjy+vjx+vjx+vjy+vjy+fjy+vjy+vjy + +vny+vjy+vjy+vjy+vjx+vjy+vjy+vny+vjy+vjy+vjy+vjy+vny+vjy+vjy+vjy+vjy+vjy+vjy+vjy + +vjy+vjy+vfy+vjz+ffy+ffy+ffy+ffy+ffy+ffy+fbx+ffy+ffx+ffy+fbx+fbx+fbx+fbx+fbx+fbx + +fbx+fbx+fbx+fbx+fbx+fbx+fXw+fbx+fXw+fXw+fXw+fXw+fTw+fTw+fTw+PTw+PTv+PPv+PPv+PTv + +PPv+PPv+PPv+PPv+PPv+PPv+PPu+PPu+PPu9/Lt9/Lt9/Lt9/Lt9/Lt9vLs9vLs9vLs9vHs9vHs9fHr + 9fHr9fHr9PDq9PDq9PDq8+/p9PDq8+/p8+/p8+/p8u7o8+/p8u7o8u7o8u7o8u3n8+7o8u3o8u3n8u3n + 8u3n8uzm8uzm8uzm8uzm8uzm8evl8evk8Ovl8evl8Ork8Ork8Ork8Ork7+nj7+nj8Ori8Orj7+ni7+ni + 7+ni7+ni7ujh7+ni7ujh7ujh7ujh7efg7efg7efg7Obg7Obf7Obf7Obf7Obf7Obf7Obf7Obf6+Xe6+Xe + 6+Xe6uXe6uTd6uTd6ePd6ePc6ePd6ePc6OLb6OLb6OLb5+Lb5+Hb5uHb5uHa5uDb5uDb5eDa5N/Z5N/Z + 5N/Z5N/Z497Y5N7Y497Y493Y497Y493Y4t3Y493X493X4tzX4tzW4dzW4dzW4dvW4dvW4dvV4NvV4NvU + 39rU3trT3trT3tnT3dnS3djS3djT3djS3NfR3NfR3NfQ29fQ29bQ29bQ29bQ2tbQ29XO2tTO2tTO2tTO + 2dPN2dPN2NPM2NLM2NLM2NLM19LL1tHK1tHL1tDK1dDJ1c/J1c/J1M/I1M7I087I087I0s3HtbCrtK+q + tLCqtbCrtLGrtrGstrGstrKst7KtuLOuuLOuubSvubWwubWwurawuraxureyu7iyvLizvLm0vLm0vbm0 + vrq1vrq1v7u1wLu2wLu2wLy2wby2wb23wb23wr24wr64w765w7+6xL+6xMC7xcC6xcG7xcG8xsG8xsK9 + x8K9x8O+yMO+yMO/ycS/ycS/ysTAysTAysXBy8XAy8bAzMbBzMfCzcfCzcjDzsjDzsjDzsnEz8nEz8rF + 0MrG0MvG0MvG0cvH0szH0szH0szH0s3I0s3I0s3J087J0s/J08/K1M/L1dDL1dDL1tHM1tHN19HN19LN + 19LO2NPO2NPO2dTO2dTO2dTP2dXP2tXQ2tXQ2tbQ2tbQ29fR3NfS3NfS3djT3djT3tjU3tnU39rV3trU + 39rV39rV4NvW4NrW4NvW4dvX4dvX4dvX4dzX4tzY493Y4tzY493Y5N7Z5N7a5N7Z5N7Z5N/a49/a5ODa + 5ODb5ODb5eDb5eHb5uLc5eHc5uHb5uHc5uHc5uHd5+Hd5uLd5uLd5+Pd6OPd6OPd6OTd6OTd6eTe6eTe + 6eTe6uXe6uXe6uXf6+bf6ubf6+bf7Obg7Ofg7Ofg7Ofg7efh7ejh7uji7uji7+nj7+nj7+nj7+nj7+nk + 8Ork8Ork8Ork8Ovl8Ovl8Ovl8evl8evl8ezm8ezm8ezm8ezm8ezm8ezm8ezn8ezm8e3n8e3n8e3n8e3n + 8e7o8e7o8u7o8u7o8u/o8u/o8vDo8/Dp9PDq9PHq9PHq9PHq9PHq9fHr9fHr9fHr9fHr9fHr9vHr9vHr + 9vHr9/Ls9/Ls9/Ls+PLt+PLt+PLu+PLu+PLu+PLu+fPv+fPv+fPv+fTv+fTv+fTv+fTv+fTv+fTv+fTv + +fTv+fXv+fXv+fXw+fXv+fXw+fXv+fXw+fXv+fXw+fbw+fXw+fbw+fbw+fbw+fbx+fbx+fbx+fbw+ffx + +ffx+ffx+ffx+fbx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+fjy+ffx+ffy+ffx+fjx+ffx+fjy+fjy + +fjy+fjy+vjy+fjy+vjy+vjy+fjy+fjy+vjy+fjy+fjy+fjx+fjy+ffx+vfy+ffy+ffy+ffy+ffy+ffy + +ffy+ffy+ffy+ffx+ffx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fbx+fXw+fXw + +fXw+fbw+fXw+fXw+fXw+fXw+fXw+fTw+PTw+PTv+PTv+PTv+PTv+PTv+PPv+PPv+PPv+PPv+PPu+PPu + +PPu+PPu+PPu+PPu+PPu+PLu9/Ps9/Lt9/Lt9vLs9/Ls9vHs9vLs9vLs9vLs9vLs9fHr9fHr9fHr9PDq + 9PDq9PDq9PDq8+/p8+/p8+/p8+7o8u7o8u7o8u7o8u7o8u3n8u3n8u3n8u3n8u3n8u3m8ezm8uzm8uzm + 8ezm8uzm8evl8evl8evl8evl8Ork8Ork8Ork8Ork8Ork7+nj7+nj7+nj7+ni7+ni7+ni7uji7uji7ujh + 7ujh7ujh7efh7efg7Obg7Obg7Obf7Obf6+Xe6+Xe6+Xe6+Xe6uTd6uTd6+Xe6uTd6uTd6uTd6ePc6ePc + 6ePc6OLc6OLc6OLc6OLc6OLb6OLb6OLb5+Hb5+Hb5uDa5uDa5uDa5uDa5d/a5N7Z5N7Z497Y497Y493Y + 4t3X4t3X4tzX4tzW4dzW4NzW4dzW4NvV4NvV4NvV39rU39rU39rU3trU3trU3trT3dnS3dnS3djS3djS + 3djS3dfS3dfR3NfR29fQ29bQ29bQ29XQ29XP2tXP2tTP2tTO2dTO2dTN2dPN2NPN2NLN2NLM19LM19LM + 19HM1tHL1tDL1tDK1dDK1c/J1M/J1M7I087I083I0s3H0szH0szH0cvG0cvG0MvG0MrFz8rFsq6qsq2o + sq6osq6ps66ps66ps66rs66qtK+rtLCrtLGstbGstrKstrKstrKtuLOuuLOuubSuurSvurWvurawuraw + u7axu7eyvLiyvLiyvbizvrm0vrm0vrq0vrq0v7q1v7u2v7u2wLy2wLy3wLy3wb23wr64wr64wr65w7+6 + w7+6xMC7xMC8xMC8xcG9xcG9xcK+xsK+xsO/yMO/x8PAyMPAyMTAyMTAycTBysXBysXBy8bBy8bCzMfC + zMfCzMjCzMjDzsnEzsnEzsrFz8rF0MvGz8vF0MzG0MzG0czH0c3H0c3H0c7I0c7I0s7J0s/J08/K1M/L + 1M/L1NDL1NDL1dDL1dHL1tHM1tLM1tLM19PM19PN2NTO2NTO2dTO2dTP2dXP2tXQ2tbQ2tbQ2tfR29fR + 29fR3NjS3NjT3NjT3djS3dnU3dnU3trU3tnV3trU39rV39rV4NvW4NvX4dzX4dzX4dzX4tzY4tzY4tzY + 4t3Y4t3Z4t3Z497Z497a497a497a5N/a5N/a5ODa5N/b5N/c5eDc5uDc5uHc5uHc5uHd5uHc5uLc5+Ld + 5+Ld5+Ld6OPd6OPd6OPd6eTd6eTd6eTe6uXe6uXe6+bf6+bf6+bf7Obg7Ofg7efh7efh7ejh7uji7uji + 7ujj7uji7uji7+nj7+nj7+nj7+nj7+nj8Ork8Ork8Ork8Ork8Ork8Ork8Ovl8evl8evl8ezm8ezm8ezm + 8ezm8e3n8u3n8u3n8e3n8e3n8u7o8u7o8u7o8u/o8u/o8u/o8u/o8+/o8/Dp8/Dp9PDq9PDp9PDq9PDq + 9PDq9fHq9fHr9fHq9vLr9vHr9vLs9vLs9vLs9vLs9vLs9/Ls9/Lt9/Lt+PLt+PLt+PLu+PLu+PPu+PPu + +PPu+PPu+fPv+fTv+fTv+fPv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fTv+fXv+fTv+fTv+fTv+fXv + +fXv+fXv+fXw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+ffx+fbw+ffx+ffx+ffx+ffx+ffx+ffx + +ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+ffx+fbx+fbx+fbx+fbx+fbx+fbw+fbw+fbx+fbx+fbw+fbx + +fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+fbw+PXv+fbw+PXv+fXw+PXv+PXv+PXv+PXv + +PXv+PXv+PTv+PTv+PTv+PTv+PTv+PTu+PTv+PTu+PTu+PTu+PTu+PPu+PPu9/Pt+PPt9/Pt9/Pt9/Pt + 9/Pt9/Ls9vLs9vLr9vLr9vLr9fLq9fHq9PHq9PHq9PHq9PHq9PHp9PHq9PDq9PDq8/Dp8/Dp8+/p8+/o + 8+7o8u/o8u7o8u7n8u7n8u7n8u7m8u3m8u3m8u3m8uzm8uzm8uzm8uzm8ezl8ezl8evl8evl8evl8Ork + 8Ork8Ork7+nj7+nj7+nj7+nj7+nj7uji7uji7uji7uji7uji7uji7uji7efh7efh7Obg7Obg7Obg7Obg + 7Obg6+Xf6+Xf6+Xf6uTf6uTe6uTe6uTd6ePd6ePd6ePc6ePc6OLc6OLb6OLc6OLc6OLb5+Hb5+Hb5+Ha + 5+Ha5uDa5uDb5uDa5uDa5uDa5d/Z5d/Z5N/Z5N7Z5N7Y5N7Z493Y493Y4t3X4tzX4tzX4dzW4dzW4dvW + 4NvW4NvW39rV39rV3trU3tnU3tnT3tnT3dnT3tjT3NjS3NjS3NfS3NfS3NfR3NbQ29bQ29bQ29bQ2tXQ + 29XP2tTP2tTP2dXO2dTO2dTO2NPN2NLN2NLN2NLN19LM19HM1tHM1tHL1tDL1tDK1c/K1c/K1M/J1M7J + 087I087I083I0s3H0s3I0czG0cvG0MvGz8vGz8rFzsrEz8rFzsnEzsnEzcjDzcjDzcjDzMjCsKyor6um + r6umsKunsKynsKynsayosayosa2osq6ps6+qs6+qs6+qtLCqtbCrtbCstrGstrGst7Ktt7KtuLOtuLOu + uLSuuLSvubWvubawurawuraxuraxu7ayu7eyvLeyvbizvrm0vbmzvrm0vrm0vrq1v7q1v7u2v7u2wLu2 + wby3wb24wr65wr65w765w766w8C7w8C8xMG8xMG8xMG9xMG9xcK+xcK+xsK+xsK+xsO+x8O+yMS/yMS/ + ycXAysXAysbAysbAy8bCy8jCzMfCzcjDzcnDzsnDzcnDzsnEzsrEz8rEz8rEz8rF0MvF0MzG0MzG0MzG + 0c3H0c3I0c7I0s7I0s7J087J087K08/K1M/K1NDK1NDK1dDL1dDL1tHM1tHL19PN1tLM19PN2NTN2NTO + 2NTO2NTP2dbP2tXQ2tbQ2tbQ2tfR29fS29fS3NjS29jS3NjS3dnU3dnT3dnU3dnU3trU3trU3trV39vW + 4NvW4NvW4NvW4dzX4NzX4dzX4d3X4t3Y4t3Y4t3Z4t3Z4t3Z497Z497a497a497a5N7b5d7b5N7b5d/b + 5eDb5eDb5uDb5uDb5uHc5uHb5uHc5+Lc5+Ld6OLd6OPd6OPe6OPd6eTe6uTe6uXe6uXf6+bf6+bf6+bf + 7Ofg7Ofg7Ofg7efh7ejh7ejh7ejh7ejh7uji7uji7uji7uji7uni7+nj7+nj7+nj8Ork8Ork8Ork8Ovl + 8evl8evl8evl8ezm8ezm8ezm8ezm8ezm8e3n8u3n8e3n8u7o8u7o8u7o8u/o8u/o8u7o8u/o8u/o8+/o + 8+/o8/Dp8/Dp9PDp9PDp9PDp9PDq9PDq9PDq9PDq9PDq9fHq9fHr9fHr9fHr9vHs9fHr9vLs9vLs9vLs + 9vLs9vLs9/Ls9/Lt9/Pt9/Lt+PPt+PPt+PPu+PPu+PPu+PPu+fTu+fTu+fTv+fPu+fTu+fTu+fTu+fTu + +fTu+fTu+fTv+fTv+fTv+fTv+fXv+fXv+fXv+fTv+fXv+fXv+fXv+fbw+fbw+fbw+fbw+fbw+fbw+fXw + +fbw+fbw+fbw+PXw+Pbw+fbw+fXw+PXv+PXv+PXv+PXv+PXv+PXw+PXv+PXv+PXv+PXw+PXv+PXv+PXv + +PXv+PXv+PXv+PXv+PXv+PTv+PTv+PTv+PTv+PTv+PTv+PTv+PTv+PTu+PTu+PTu+PTu+PTu+PTu+PTu + +PTu+PTu+PTu+PTu+PTu+PTt+PTu9/Pt9/Tt9/Pt9/Pt9/Ps9vPs9vPs9vPs9vPs9vPr9vPr9fLr9fLr + 9fLr9fLq9fLq9PHq9PHq9PHp9PDp8/Dp8/Dp8/Do8+/o8+/o8+/o8+/o8u/n8u/o8u7n8u7n8u7n8u7n + 8+7n8u3m8u3m8u3m8uzm8ezl8ezl8ezl8Ozk8ezl8ezl8Ovk8Ovk8Ovk8Ovk7+rj7+rj7+rj7+rj7uni + 7uni7uni7ejh7ejh7ejh7ejh7ejh7Ofg7Ofg7Obg7Obg7Obg7Obg7Obg7Obg6+Xf6uXe6uTe6uTe6uTe + 6ePe6ePe6ePd6ePd6OLd6OLd6OLd6OLc6OLc5+Hc5+Hb5uDa5uDa5uDa5d/a5d/a5d/a5d/a5d/Z5d/Z + 5N7Z5N7Z493Y4t3Y493Y4t3X4tzX4tzX4dzX4dzW4dzX4dzX4dvW4NvW4NvW39rV39rV39rV3trU3tnT + 3dnT3djT3djT3djS3NjS3NfS3NfR3NbR3NbR29XQ29XQ2tXP29XP2tTO2dTO2NTN2dTO2dPO2NPN2NPN + 2NLN2NLN19LM19LM19LM19HM1tHL1tDL1tDL1dDK1NDJ1M/J087J087J087I0s3I0s3H0s3I0czH0MzG + 0MvFz8vFz8vFz8rEzsnEzsrEzcnDzcjDzcnCzcjCzcjCy8jBy8jBysfBy8fBysfBysbAysW/rqumrqql + rqqlr6qmrqqmr6unr6ynsKynsKynsaynsa2nsa2osq6os66ps66ps6+ptK+qtLCqtLCrtLCrtbCstrGs + trKstrKst7Kst7Ott7Out7SuuLSvuLSvuLWvubWwurawuraxuraxu7ayu7ayvLaxvLeyvLeyvbizvbm0 + vrm0vrq0vrq1v7u1wLu2wLy2wLy3wb22wL23wL22wL23wr64wr+5wsC6xMC6xMC7xMC7xcC8xcG8xsG8 + xsG9x8K9x8O9yMO9ycO+ysS/ycS+ysS/ysW/ysXAy8fBzMbAy8bBzMfBzMfBzMfCzcfCzsjDzsjDzsnE + z8rEzsrFz8vGz8vG0MvG0MvH0MvH0czH0czI0s3I083J087I1M/J1M/J1M/J1NDK1dDL1dDL1dLL1tHM + 1tLM19LM19LN19PN19PN2NTO2NPO2dTO2dTP2dXP2dXP2tXQ2tXQ2tbQ2tbQ29bR29bR29fS29fS29fS + 3NjT3NjT3dnU3drU3drU3drU3tvV3tvV3tvW39zW4NzX4NzX39zX4NzX4d3Y4d3Y4d3Y4d3Y4t3Y4t3Z + 493Z4t3Z4t7Z497Z5N7Z5N7a5N/a5N/a5d/a5d/a5d/a5uDc5uDc5uDb5+Hb5+Hc5+Hc6OLc6OLc6OPd + 6ePe6eTe6eTe6eTe6uXf6uXf6uXf6uXf6+bf6+bf6+bf7Ofg7Ojg7Ofg7Ofg7efg7ejh7ejh7uji7uji + 7uji7uni7uni7+nj8Ork8Ork8Ork8Ork8evl8Ovl8Ovl8evl8ezm8ezm8ezm8ezm8ezm8e3m8ezm8e3n + 8e3m8e3n8u3n8u3m8u3m8u7n8u7n8u7n8u7n8+/o8+/n8+/o8+7o8/Dp8+/p8/Dp9PDq9PDq9PDq9PDq + 9PDq9PDq9PDq9fHr9fHq9fHr9fHr9vLr9vLr9vLs9/Lr9/Ls9vLt9vLs9vLs9/Ls9vLs9vLt9/Pt9/Pt + 9/Pt9/Lt+PPt9/Pt+PPs+PPt+PPt+PPu+fPu+PTt+PPu+PPt+fPu+fTu+fTu+fTu+PTu+PTu+PTu+PTu + +PTu+PPt+PPu+PTt+PTu+PTu+PTu+PPu+PTu+PPt+PTu+PTu+PTu+PTu+PTu+PTu9/Tu9/Tu9/Pu9/Tu + 9/Pt9/Tt+PTu9/Tu+PTu+PTu9/Tu9/Tt9/Tt9/Pt9/Pt9/Tt9/Ts9vTr9vPs9vPs9vPs9vPs9vPs9vPs + 9vPs9vPs9vPs9vPs9vPs9vPs9fPr9fLq9PLq9fLr9PLr9PLq9fLq9PHq9PHq9PHq9PHp8/Hp8/Dp9PHq + 8/Do8/Dp8/Do8+/o8u/o8+/o8+/o8+7n8u3n8u7n8u3m8u3m8u3m8uzm8ezl8u3m8ezl8ezl8ezl8ezl + 8ezl8ezl8Ovk8Ovk8Ovk8Ovk8Ovk7+rj7+rj7+rj7+rj7+rj7uni7ujh7ejh7ejh7ejh7Ofg7Ofg7Ofg + 7Ofg7Ofg7Ofg6+bf6+bf6+bg6+be6uXf6+Xf6uXe6uTe6uXe6eTd6eTe6eTd6OPd6OPd6OLc5+Lc6OLd + 5+Lc5uHc5uDc5+Hc5uDb5uDb5d/b5d/b5d/a5d7a5d/a5N7a5N7Z493Z497Z497Z497Y4tzY4t3Y4t3X + 4dzX4dzW4NvW4NvV4NvV39rV39rU39rV3trU3tnU3tnU3tnT3tnT3tnT3djT3djS3dfS3dfR3NfR29fR + 29bQ3NbQ29XQ2tXQ2tXP2tXP2dTO2dTO2NTN2NPN2NPN19PM19LM19LM1tLL1tLK1tHL1tHK1NDK1dDK + 1M/K1M/J08/J087J087I087I0s3H0s3H0s3H0s3H0czH0cvG0MvG0MvF0MvFz8rFz8rFzsrEz8rEzsnD + zsjDzcjCzMjCzMfBzMfBy8fAy8bAy8bAysW/ysW/ycW+ysS+ycS+ycS+yMK9yMO8yMK8x8K8raulramk + rKmkramkraqlraqlraqlrqumrqumr6umsKumsKynsKynsKynsa2nsq2osa6osq6osq6ptK6ps66ps6+p + tLCqtbCqtbCqtbCrtrGrtrGrtrGst7Kst7Ktt7Ott7OuuLSvuLSvuLSwuLSwubWwubWwuraxuraxurax + u7eyvLiyvLiyvbizvrmzvrm0vbmzvrqzv7q0v7q0v7u1v7u1wLy2wLy2wLy3wLy3wL23wb24wb64w765 + w7+6xMC7xcC7xcG8xsG8xsK8xsK8xsK9x8K9x8K9yMK+yMS+ycS/ycS/ycS/ysXAysXBysXBysXBzMbB + zMfCzcjDzMjCzcjDzcjEzcnEzsnEzsnFzsrFzsrFzsrGz8vG0MrG0MvH0MvH0czH0szI0czI0c3I0s3I + 087J1M7J1M/K1M/K1NDK1dHL1dDL1dHL1tHL19LL1tLM19LN19LN19PN2NPO2NPO2dTP2dTP2tXP2tXQ + 2tbQ29bR29bR3NfS3NfS3NjS3djT3djT3dnU3dnU3tnU3trV3trV3trV3trW3tvV3tvW3trW3tvW3tvW + 39zX39zX4NzY4NzY4dzY4d3Y4t3Y4t3Z4t7Z497Z497Z5N/a5N/a5N/a5N/a5d/b5eDb5uDb5eDb5uDb + 5uDc5+Hc5+Hc5+Hc5+Hc5+Hc6OLd6OLd6OPd6OPd6OPe6eTe6eTe6eTe6uXf6uTf6uXf6uXf6+bg6+bf + 6+bg7Ofg7Ofg7ejh7Ofg7ejh7ejh7uji7uji7uji7uji7+nj7+nj7+nj7+nj7+rj8Ork8Ork8Ork8Ork + 8Ork8Ovk8Ovl8Ovl8Ovl8Ovl8ezm8ezm8ezm8ezm8u3m8ezm8u3m8u3m8uzm8u3m8u7n8u7n8+7n8+7n + 8+7n8+/o8+/o8+/o8+/o8+/o8+/p8+/o8+/p9O/p9PDp9PDp8+/p9PDq9PDq9fDq9PDq9PDq9fHq9PDq + 9fHq9fHr9fHr9fHr9vLr9vLs9fHr9vLs9vLr9vLs9vLs9vLs9vLs9vLs9vLs9vLs9/Ls9/Ls9vLs9vLs + 9/Ls9/Ps9/Lr9/Lr9/Lr9/Ps9/Ps9/Ps9/Ps9/Pr9/Ps9/Pr9/Pr9/Ps9vPs9/Ps9/Pr9/Pr9vLr9vLr + 9vLr9vLr9vLr9vLr9vLr9vLr9vLr9vLr9vLr9vLr9vLr9vLq9vLr9vLq9vLq9fLq9fHq9fHq9fHq9fHq + 9fHq9fHq9fHp9fHp9fDp9PDp9PDp9PDp9PDp9PDo9PDp9O/o9O/o9O/o8+/n8+/o8+/o8+/o8+7n8+/o + 8+7n8+3n8+7m8+3m8+3m8u3m8uzl8uzm8uzl8ezl8ezl8evk8ezk8Ovk8Ovk8Ovk8Orj8Orj8Orj7+rj + 7+ri7+rj7+ni7uni7uni7uni7ujh7ujg7ejh7ejh7efg7efg7Ofg7Obf6+bf6+bf6+Xf6+Xf6uXe6uXe + 6uTe6uXe6eTe6eTe6eTd6eTe6OPd6OPc6OPd5+Ld5+Ld5+Lc5+Ld5uHb5uHc5uHb5uHb5uHb5eHb5ODb + 5eDb5ODa49/a5N/a49/a497a497Z4t3Z4t3Z4t3Z4t3Y4d3Y4dzX4NzX4NvX4NvX39vW39vW39rV3trV + 39rV3trU3tnU3djT3djT3djT3NjR3NjR3NfR3NfR29fQ29fQ29bQ2tbP2tbP29XP2dXP2tXO2dXO2dTO + 2dTO2NPN2NTN19PM19LM19LM1tHL1tHL1tHL1tDK1dDK1M/K1M/I08/I087I087I083H087I0szH0s3H + 0czG0czG0czF0MvGz8rEz8rEz8vEzsrDzsrDzsnDzsnDzsnDzcjCzcjCzMjCzcjCzMfBzMfAzMbAy8bA + y8W/ysW/ysW/ysS+ysS+ycS9yMO9yMK8x8K8x8G7xsG7xsC6xcC6xb+6xMC5xL+5xL65w764rqqlraik + rKikramkq6ijraqkraqlraqlrqqlraqlrqmlrqumr6qmr6umr6umsKymsKynsKynsKynsa2nsa2nsa2o + sq2osq2osq6psq6os66ps66ps6+ptK+qtLCrtLCrtbCstbGstbKstbKttbKttrKut7Out7Out7OuuLOv + uLSvubSvubWvurWvu7awurawu7awurWvurWvubSuurWvurWvu7awvLexvLexvLeyvbiyvbmzvrm0vrq1 + v7u2v7u3v7y3wLy4wby4wb24wb25wr65wr65w766xMC7xMC7xcG7xcG7xsG8xsK8xsK8x8O9x8O+x8O+ + yMS/yMW/ycW/ycbAysbAysbBysbBy8fBy8jCy8fCy8fCy8jDzMjDzMjDzMjEzcnEzcnEzsnFz8nFzsrF + z8rF0MvF0MvG0MzG0MzG0c3H0s3H0s7H087I1M7J08/J1M/J1dDK1dDK1dDL1dHK1tHL1tHL1tLM19LM + 19LM2NPN2NPO2NTO2dTP2dTP2tXQ2tXQ2tXQ29bR29bR29fR29fR3NfS3NfS3NjS3NjT3NjT3NjT3djU + 3dnU3dnU3dnV3trW3trW3trW3tvW39vX39vW4NzX4N3X4N3X4d3Y4d3X4d3Y4d3Y4t7Y4t7Y4t7Z4t7Z + 4t7Z4t7Z49/Z497Z49/a5N/a5N/a5d/b5d/b5eDb5uDb5uDc5uHd5uHc5uHc5+Hc6OLd5+Ld6OPe6ePe + 6ePe6eTe6eTf6uXf6eTf6uXf6uXf6uXf6uXf6ubf6+bf6+bf6+bg6+fg7Ofg7Ofg7Ofg7Ofg7efh7uji + 7ejh7efh7uji7+nj7uji7+nj7+nj7+rk7+nj8Ork8Ork8Ork8Ork8Ork8Ork8Ovl8Orl8Ovl8Ovl8ezm + 8evl8Ovm8ezm8ezl8ezm8uzl8u3m8uzl8uzm8u3m8u3m8u3m8u7m8+7m8u7m8u7n8+7n8+7n8+7n8+7o + 8+7o8+7o9O7o8+/o8+/o8+7o9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p9O/p + 9O/p9O/p9O/p9O/p9PDp9PDq9O/q9PDp9O/p9PDp9PDp9PDp9O/p9O/p9O/p9O/p9PDp9O/o9O/o9O/o + 9O/o9O/o9O/o9O/o9O/o9O7n9O7n9O7o9O7n9O7n8+7n8+7m8+7n9O7n8+7m9O7n9O7n9O7m8+7n9O7n + 8+7m9O7m8+3m9O7n8+3m8+3m8+3m8+3m8+3m8uzl8+3m8uzl8uzl8uzl8uvk8uzl8uzk8uzl8evk8uzl + 8evk8evk8Orj8Orj8Orj8Orj7+ni7+ni7+ni7ujh7+ni7ujh7ujh7ujh7ujh7ujh7ujh7ujg7efg7efg + 7efg7efg7Obf7Obf7Obf6+Xf6+Xe6uTe6+Xe6uTe6uTe6uTe6eTe6ePe6ePd6ePd6OLd5+Lc6OLd5+Hc + 5+Hc5+Hc5+Hc5+Hc5+Hc5uDb5uDb5uDa5d/a5eDa5d/a5d/a5N/a5N7a49/a497Y497Y4t7Z4t7Y4t3Y + 4d3Y4d3X4d3X4NzW4N3W4NzW39vW39vV3tvV3tvV3trV3trU3tnU3tnU3dnT3dnS3NnS3NjS3NjS3NjS + 29fR29bR29bR2tbQ2tbQ2tXP2dXP2dXO2dTO2dTO2NPN2NPN2NPM2NLM19LM1tLM1tHL1tDK1dDJ1M/J + 1M/J1M/J083I0s3H0s3H0szH0czG0czG0cvG0czG0MzF0MzF0MzF0MvF0MvF0MrFz8rEz8rEz8rEzsnD + zsnCzcnCzcjCzcjCzcjBzMfBzMfBzMfAzMbAy8W/y8W/ysW/ysS+ysS+ysS+ycO9ycO9yMO9yMK8yMK8 + x8G7x8K8xsG7xsG7xcC6xcC6xL+5xL65w764w764wr23wr23wby2wby2wbu1wLu1v7q1wLu1raqlrKej + rKijrKikraijramkramkraqlrqqlrqqlrqqlrqqmr6qmrqqmr6umr6umsKumsKymsKymsKymsKynsayn + saynsaynsaynsaynsayosayosa2nsq2osq2psq2psq6ps6+qtK+qtLCrtLCrtLCrtLCrtLGrtbGstbKs + trGstrKstrKtt7Ktt7Ktt7Kst7KttrGrtbCqtbCrtK+qtK+qtK+qtbCrtrGst7Gtt7Gtt7KuuLOuubOu + ubSvurWwurawurexu7iyvLmzvLm0vbq0vbq1vrq1vru2wLy3wL23wb24wb64wr+4w7+5xL+5xMC6xMG7 + xsK8xsK8x8K8x8O9x8O9x8O9yMO9yMS+yMS+ycS+ycW/ysW/y8W/ysbAysbAysfBysfBy8bCzMfCzMfC + zMjCzMfDzcjEzsjDzsjEzsjEzsnEz8nEz8rFz8rF0MrF0MvG0cvG0czH0czH0s3I0s3I0s3I0s7I087J + 1M/J1M/K1dDK1NDK1dHL1tHL1tHM19LM1tLM19LM19LN19PN2NPN2NTN2NTO2dTO2dXP2tXP2tXP2tbQ + 29bR29bR29fR29fS29jS3NjS3NjT3NjT3NjT3djU3djT3dnU3dnU3trV3tnV3trU3trV39vV39vV39vV + 39zW39zW39zW4NzX4NzX4N3X4d3Y4d3Y4d7Y4d7Z4t7Z4t7Z4t7Z497a497a5N/a5N/a5N/b5eDb5d/b + 5eDc5uDc5uDc5uHc5uHc5uHc5uHd5+Hd5+Ld5+Ld5+Ld5+Ld6OLe6OLe6OLe6OLe6OPe6OPe6ePe6eTe + 6eTe6uXf6uXf6+bg6ubf6+bg7Obg7Obg7Ofg7Ofh7efh7efh7efh7efh7efh7efh7efh7efh7uji7uji + 7uji7uji7uji7uji7unj7unj7+nj7+nj7+nj7+nj7+nj7+rk7+rk7+rk7+rk7+rk8Ovk8Ork8Ovk8Ovk + 8Ovk8ezl8Ovk8Ovl8ezk8ezl8ezl8ezl8ezl8ezl8ezl8ezl8ezl8ezl8uzm8ezl8ezl8ezl8ezl8ezl + 8ezl8uzl8uzm8uzm8uzm8uzm8uzm8uzm8uzm8uzm8+3n8+3n8uzm8uzm8+zm8uzm8uzm8uzm8uzm8evl + 8evl8evl8evl8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Ork8Orj8Orj8Orj8Orj + 8Orj8Orj7+nj8Orj8Orj7+ni7+nj7+ni7+ni7+ni7+ni7+ni7+ni7+ni7uji7ujh7ujh7ujh7ujh7ujh + 7efg7efg7efg7Obg7efg7Obf7Obf6+Xf6+Xe6+Xf6+Xf6uTe6+Xe6uTf6uTe6uTe6uTe6ePe6ePe6ePe + 6ePd6OLe6ePd6OLd6OLd6OLd6OLd5+Hc5+Lc5+Hc5uDc5uHb5uDb5uDb5eDb5eDb5d/a5N/a5ODa5N7Z + 5N/Z5N7Z49/Z49/Z497Y4t7Y4t7Y4t7X4t3X4d3X4d3X4dzW4dzW4NzW4NvV4NvV4NvV39vU39rU39rU + 39rU3trU3tnT3trT3tnT3tnS3djS3djS3NjR3NfR3NfR29bQ2tbQ2tbP2tXO2tbP2dXO2dXO2dXO2dTO + 2NTO2NTN2NPN19PN19LM19HM1tHM1tDL1dDK1M/K1M7K1M7J087I0s3I0s3H0czH0czG0MvF0MvFz8rF + z8rEzsrEzsrEzsnDzsnDzcjCzcjCzcjCzMjCzMfBzcjCzcnCzcjCzcjCzcjBzMfBzMfAy8bAzMbAy8a/ + y8W/ysW+ysS+ysS+ycO9ycO9yMO9yMK8x8K8x8K7x8G7xsC7xsC6xcC6xb+6xb+5xL65w764w764w764 + w764wby3wr23wby2wLu2wLu2wLu1v7q1v7q1vrm0vrmzvrm0vbmzvbmzvbizvLiyvLeyvLeyrKikrKei + rKejraikrKijramkramkraqlramkraqlraqlrqqlrqqlrqqlrqqlrqqlr6umr6umr6umr6ymsKumsKum + sKumsKumsKynsKymsKymsKynsKynsKyosK2nsa2osa2osa2osq6psq6osq6os66ps66ps6+ps6+qs6+q + s6+qs7Cqs7CrtLCrtK+rtK+qs66qsq2psayosKyor6qmr6qmrqqmr6umr6qmr6umr6umsKymsKynsK2o + sa6osq6os6+qtLCqtbCqtrKst7Kst7Ott7OtubWvubWvurWwu7exvLeyvLizvbizvrq0vrq0wLy1wby2 + wb23wr24w764xL65xL+5xMC6xcC6xcC6xsG7xsG7xsG8xsG8x8G8x8K9x8K9yMO+x8O+yMS/yMS/yMS/ + yMS/ycTAysTAycXAycXAycXAysbBysbBy8bBy8bCzMfCzMfCzMjDzcfDzcjEzsnEz8rFz8nFz8rF0MrG + 0MrG0MvG0czH0szI0szI0szI083J087J1M7J083J1M7K1M7K1M7K1M/K1dDL1c/L1dDL1tDM1tHM1tHM + 19LN19LN19PM2NPO2NTO2NTO2NTO2NXO2NXP2NXP2NXP2dXQ2dXQ2tbQ2tbQ2tbQ2tbQ29fR3NfR3NjS + 3NjS3djS3dnT3djT3tnT3tnU3tnU3trV3trU3trU39rV39vW39vW39zX4NzX4NzX4NzX4N3X4d3Y4d3Y + 4d3Y4d3Y4d7Y4d3Y4d3Y4t3Y4t7Y4t7Z4t7Z4t7Z49/a49/a5N/a5N/b5N/a5N/b5eDb5d/b5uDb5uDc + 5uDc5uDc5uDd5+Dd5+Hd5+Ld5+Ld6OLe6OPe6OPe6OPe6eTe6eTe6eTe6eTe6uXf6uTe6uXe6uXf6uXe + 6eTf6uXf6uXf6+Xf6uXf6uXf6+Xf6+bf6+Xf6+Xg6+Xg7Obg7Obg7ebh7Obg7Obg7efh7efh7ebh7efh + 7efh7efh7efh7efh7efh7Ofh7efh7Ofh7efh7efh7efh7efh7ejh7efh7Ofh7efh7efh7Ofh7Ofh7Ojg + 7ejh7ejh7ejh7enh7ejh7uni7ejh7uni7ejh7uni7uni7uni7uni7uni7uni7+ni7uji7ejh7ejh7ejh + 7ejh7efh7efh7efh7efh7efh7efh7Ofg7Ofh7Ofg7Obg7Ofh7Ofh7Obg7Obg7Obg6+bg6+bg6+Xg6+Xg + 6+Xg6+Xg6+Xg6+Xg6+Xg6+Xg6uTg6+Xg6+Xg6uTg6uTf6+Xf6uTf6uTe6ePf6ePf6ePe6ePe6ePe6ePe + 6OLd6OLe6OLd6OHd5+Ld6OLd5+Hd6OLd5+Hc5uDc5+Hc5+Dc5uDc5uDc5uDc5uDb5uDb5uDb5eDa5eDa + 5N/a5N/Z5N/Z5N/Z5N/Z497Y497Z4t7X4t7Y4d7X4t3Y4t7X4t7X4d3X4t3X4N3X4d3X4dzX4NzV4NvW + 4NzV39zV39vV39vV39rU39rT3trT3tnU3trU3tnS3tnT3djS3djS3djS3dfR3dfR3NfQ3NfQ3NfP3NbQ + 29bP29bP29bO2tbO2tXO2tXO2dTO2tTN2dTN2NPN2NPN2NPM19LM19LM1tHL1tHK1tDK1dDK1NDK08/J + 1M/J087I0s7I0s3I0c3H0MzG0MvFzsvFzsrFzsvEzsrEzcrDzcnDzcjDzMjCy8jBy8fBy8bBysbAysbA + ysW/ysa/ycW/ycW+ycS+ycS9yMO9yMO9ysS/ycO+yMO9ysS+ycO9ycO9yMK9yMO8x8K8x8K8x8G7xsG7 + xsG7xcG6xcC6xsC6xb+6xL+6xL+5w765w724wr24wry4wby3wby3wbu2wLu2wLu2wLq2v7q2v7q1vrq0 + vrq0vrm0vbizvbizvLizvLiyvLeyvLeyu7exu7axurawurawurawubWvurWvubSuubSuubSuq6ikq6ai + rKekrKejrKejraikraikraijraikraikramlraqlramkrqqlraqlraqlrqqmrqqlramlrqqlrqqlr6ql + rqqmr6umsKumr6umsKumr6umsKynsKynsK2osa2osa2osa2osa6osq6osq6psq2osq2psq2ps66ps66p + s66qsq6psq6qsq+qsa6psa6psKyor6unrqqmraelq6ekq6ejqqaiqqahqqahqqehqaahqaWhqaahqaah + q6ahqqahqqaiq6eiq6ehrKijramkr6qkr6ulsKymsK2nsq6os66ptK+qtbGstrGtt7KtuLOvubSvurWx + urawuraxvLeyvLiyvbm0vrq0v7u1v7u2wbu3wby4wr24w765w765xL+6xL+6xcC7xcG7xcG7xcG8xcK8 + xcG8xsK8xcK9xsK8xsK9xsO+x8O+x8O/yMS+yMS/yMS+yMS/ycW/ysXAysXAysbAysbBy8fBy8fCzcjC + zcjCzcnDzcnDzcnDzsnEzsrEzsrEz8rEz8vE0MvGz8vF0MvG0MvG0MzG0czH0c3H0s3I0s3I0s7I087J + 1M/J1M7J1M/J1M/K1c/K1dDL1dDL1dDL1tHL1tHL1tLM19HM1tLM1tLN1tLN2NPO19PO19TP2NTP2dTP + 2dTP2dTP2dTP2dXP2tXQ2tbQ2tXQ2tbQ29bQ29fQ29fR3NfR3NfR3NjR3NjS3djS3djS3djS3dnT3tnT + 3tnT3trU3trV39rV39vV4NrV39vV4NzW39zW4NzW4NzX4NzX4N3W4NzX4d7Y4N7X4d7Y4d7Y4d7X4d7Y + 4t7Z4t7Y4t7Y4t7Z4t/Z497Z49/Z49/a5N/a5N/a5N/b5ODb5ODb5N/b5eDb5eDc5eDc5eDc5uDc5eDc + 5uHd5uHc5uHd5uHd5uHd5uHd5uHd5+Ld5+Ld5+Le5+Le5+Le6OPe5+Ld5+Le6OLe6OPe6OPe6OPe6OPe + 6OPe6OTf6OPe6OPf6OPe6eTf6ePf6ePf6ePf6uPf6uPf6uPf6ePg6ePf6uPf6uTf6uPf6uTf6uTf6uTf + 6uTf6uTf6uTf6eTf6uTf6uTf6uTf6uTe6eTe6uTf6uTf6eTe6uTf6uTf6uTf6uTf6eTf6eTf6eTf6eTf + 6eTf6eTf6eTf6eTf6eTf6uTf6eTf6eTf6eTf6eTf6OTe6OPe6eTf6OTe6OPe6OPe6OPe6OPe6OPe5+Ld + 6OLe6OLd5+Lc5+Ld5+Ld5+Ld5uHc5uHc5uHc5uHc5uHc5uDb5uHb5eDc5eDb5eDb5eDb5d/a5N/a5ODb + 5N/a4+Db49/a5N/a4t/Z49/Z4t/Z49/Z4t/Z4t7Z4t/Y4t7Y4t7X4t7Y4t7X4d3X4t7W4d3W4NzW4N3W + 4N3W4dzW4NzV4NvV4NvU4NvU4NvU39rU39rT39rT39rS39nT39nT3tnS3tjS3tjS3tjS3tjS3djR3dfR + 3dfR3NfQ3NbQ3NbQ3NbP29XP29bP29TP2tTO2tTO2tTO2tTO2dTO2dTO2dTN2NPN2NPN2NLM2NPM19LL + 1tHL1tHL1tDL1tDL1dDL1dDK1dDK1M/J1M/J1M/K087I087I0s3I0czH0czH0MvGz8vFz8rFzsrEzsnD + zcjDzcjCzMfCy8fBy8bAysXAysXAycS+ycS+yMO+x8K9x8K9xsG8xsG8xcC7xcC7xcC7xL+6xL+6w766 + w765w765w725w765wr24wr24wr64w764w764xL+6w7+6xMC6xb+6xL+6xL+6xL65xL65w725w725wr64 + wr25wry4wLy3wLy3wLy3wLy3wLu2v7q1v7u2vrq2vrq0vbm0vbq0vbm0vbi0vbi0vLizvLiyvLeyvLey + urexu7axuraxuraxuraxubWwubWvubSuubSuuLOtuLOtt7KstrKst7GstrGrtbCrtrCrtbCqq6ejq6ai + qqaiq6aiq6ajrKejrKejraikrKijraikramkramkramkrKmkramlrKmkrKmkrKmkramkrqmlrqmlrqql + rqmlrqmlrqqlrqqlr6qmr6qmr6umr6umr6ynsKynsKymsa2nsa2nsaynsa2nsa2osa2osa2osq2osq2o + sq2osq6psq6osq6osa2osa2pr6unrqqmrammq6ekqqaiqaaip6Sgp6Sfp6SepqOepaGdpaGdpKGbpaCb + pKCbo5+aop6ao5+aop+ao5+ao5+apJ+bpJ+bpaGcpqKepqKeqKSgqaWhqqeiqqajrKikramlrqunr6yo + sa2psq6qs6+qtLCrtbGst7OuubWwuraxurawu7eyu7iyvbmzvbq0v7u2v7u1wLy3wLy2wLy3wb24wr64 + wr65wr64w765w7+6xMC6xMC6xMC7xMC7xMC7xMC8xcG8xcG8xsK9x8K9x8K9x8K9yMO+yMO+yMO+yMS/ + ycS/ycS/ycTAysXAysXAysbBy8bBy8bBy8bBzMfCzMfCzMfCzMjCzcjDzcjDzcnEzsnEzsrEzsnFzsrF + z8vFz8vG0MvG0MzG0MzH0MzH0czH0c3H0c3H0s7I0s7I0s7J0s/J08/J08/J08/K1M/K1M/L1NDL1M/L + 1NDM1dDM1dDM1dDM1dDM1dHM1tHM1tHN1tHN1tHM19HM19LN19LN2NPO2NPO2NPO2NPO2NTO2dTP2dTP + 2dTP2tXQ2tXQ2tbQ2tbQ29bQ29fQ29fR3NfR3NfR3NjR3NjS3djS3djS3djS3dnT3dnT3tnT3trU3trU + 3trU39rU39vU39rV39vV4NvW4NvW39vV4NvW4NzW4NzW4NzW4NzW4NzX4NzW4NzX4d3X4dzX4d3X4d3X + 4d3Y4d3Y4t7Y4t7Y4t3Y4t7Z4t7Y4t3Y4t7Z4t7Z4t7Y497Z497Z497Z49/Z49/Z49/a49/Z49/a4+Da + 5N/a49/a4+Da5ODa4+Da5ODa5ODa5ODa5ODa5ODa5OHb5OHa5ODa5eDb5eHb5eDb5eHb5eDb5eDb5eDb + 5eDb5eDb5eDb5eDc5eDb5eDb5eDb5eDb5eDb5eDb5eDb5eDb5eDb5eDb5eDb5ODb5ODb5eDb5N/b5N/a + 5ODa5d/a5N/a5N/a5N/a5ODa5ODa5ODZ5N/Z5ODZ5ODZ5ODZ5ODZ5N/a5ODZ5ODZ4+DZ49/Z5N/Z49/Z + 49/Y49/Z49/Y49/Y4t/Y4t7Y4t7Y4t7X4t7X4d7X4d7X4d7X4d7X4d7X4d3X4d7X4d3X4d3X4d3W4d3X + 4dzW4NzW4NzV39zV4NzV4NvV4NvV39rU39rV39rV39rU39rU39rU39nU3tnT3tnT3tjT3tjT3djS3djS + 3dfS3dfS3NfR3dfR3NbQ3NfQ29bQ3NXQ29XP2tXP2tXP2tTP2tXO2tTO2tTO2tTO2dPO2dPO2dPN2dPN + 2dPN19LM2NLN19HM19HM19HM1tHL1tDM1tDL1dDL1dDL1dDK1dDK1M/K1M/K1M7J087J087J0s7I0s3H + 0czH0czH0c3H0MvGz8rGz8rEzsnDzsnDzcnDzcnDzMjCzMjCy8bBysXAysW/ycS/yMS+yMO9x8K8xcG7 + xcC6xL+5w764wr64wr23wby3wLu2wLq1v7q1vrm0vbizvLiyvLizvLeyu7exu7exu7eyvLeyvLeyvLey + u7eyvLizvLizvbm0vbm0vbm0vrq1vrq2v7u2wLy3wLy4wLy3wby4wb23wby3wLy2v7u2v7u2v7u1vrq1 + vrq1vbq0vbmzvbmzvLmzvLiyvLiyvLexurexu7exu7exurexurawurawurawurWwubWvubWvuLSvubSu + uLSuuLOuuLOtt7KttrKstrKstrGrtbGrtbCrtLCqtK+qtK+qtK6ps66psq2osq6osq2osq2nq6aiqqWh + qqaiqqWhq6airKeirKejraijrKijraijrKijramjramjramkrKikramjrKmjrKmjrKmjrKmjrKmkramk + ramkrqmkramlramlraqlrqqlrqqmraqlrqumrqumr6umr6umsKymsKylsKymsKynsaynsKynsaynsa2n + saynsa2osa2osa2osa2nsKynr6unraqlrKmkq6eiqKWhqKWgp6OfpqKdpaKcpaGcpKCao5+aop6ZoJ2Y + oJ2Xn5uXnpqWnZmVnJiUnJiUm5eTm5eTmpeTm5iUmpeTm5eTmpeUm5iUnJmVnZqWn5yYn5yYoJ6aop+b + pKGdpaKep6SgqaagqqeirKijrqqlrqqmsa2os66ptLCrtbKstrGtt7OuuLSvurawuraxu7ezurayvLi0 + vbi0vbm0vrm2v7q2v7q2wLu4wLy3wby4wb24wb25wr25wb25wr25w7+7wr67w766w766w7+6w7+6xL+6 + xMC7xMC7xcG7xcG7xcG8xsG8xsK9x8K9x8K9yMO+yMO+yMO+yMO/yMS/yMS/ycXAysXAysXAysbBysbB + y8bBzMfCzMbCzMfDzcjDzcfEzsjEzsnEzsjEzsrEz8rFz8rFz8rGz8vG0MvG0MvG0MvG0MzH0MzH0MzH + 0MzH0MzI0M7I0M3I0M3I0c3J0c7I0s7J0s7J0s7K0s/K0s/J087J087K1NDJ08/K1NDK09DK1NDL1M/L + 1NDM1dDL1dDL1dDM1dHN1tHM1tHN19HN19LO2NLO2NPO2NPO2NTO2NPP2dTO2NTO2dTP2dTP2dXP2dTP + 2dTP2tXP2tXQ2tbQ2tbQ2tXQ29bQ3NbQ29bR3NfR3NbR3NbR3dfR3dfR3dfS3dfS3djS3dfT3tjS3tjS + 3tjS3tjT3tnT3tnU3tnU3trU39rU39rT3trU39rU3tvU4NvU4NvV4NvU39vU39rU39rU39rU39rU39vU + 4NvU4NrV4NvV4NvV4NvV4dvV4dvV4dvW4NvV4dvW4dzW4dvW4tzW4dzX4tzX4dzW4dzW4dzW4dzX4dzW + 4d3W4dzW4d3W4d3W4dzW4dzW4dzW4dzW4NzW4dzW4NzW4NzW4NzW4NzW4NzW4NvW4NzW39vV39zV4NvV + 4NvV4NrV39vU4NrV39rU4NrV4NvU4NvV39vV4NvV4NrV4NvV4dvV4dvU4NvV4NvU4NrU4NrU4NrU4NrT + 39nT39nT3tnS3tjT3tnS3tjS3tjS3tjS3tjS3tjS3tjS3tjS39nT3tjS3tjS3tjS3tnS3tjS3tfR3tjR + 3dfR3NfQ3NbQ29bQ29bQ29bQ29bQ29bQ2tbQ2tXQ2tXP2tXP2tXP2tXP2dTP2dTO2dTO2dTO2NPO2NPP + 2NPN2NLN19LO19LO19HN1tHM1tDM1tDN1dDL1dDM1c/M1M/L1NDL1M/K1M/K1M/K1NDJ08/J087J087J + 087I0s7J0s7I0s7I0c3H0c3H0c3H0c3H0c3H0MzG0czG0MzF0MvFz8vFz8vFzsrEzcrDzsrDzMjCy8fA + y8fAy8bAy8W/ysa/ycS9yMO9x8K8x8K8xcG6xcC6xL+5wr63wby2v7u1vrq0vbiyvLiyvLaxurWwuLSu + uLOut7KttbCrtbCrtK+qtK+qs66qsq6psayosKyosKynsaynsq2osa2osq2os66qs6+qs7CqtLCrtbGs + tbGst7OutrOtubWwubWwubWwurayu7ixu7iyvLmzvrm0vbiyvrq0vbiyvbmzvbiyvLexvLiyvLexu7aw + u7awu7awurawurWvurSuubWvubSuuLSuuLOtuLOtt7Kst7Kst7KstrKstrGrtbGrtbCqtbCqtK+ptbCq + tK+ptK+ptK+ps6+ps66osq6osq6osq2nsq2osa2osaynsKymsKymsKunr6qmr6umr6ulr6qnq6aiqaSg + qaSgqqWhqqWhq6ahqqWhq6airKairKahrKeirKeirKeirKiirKiirKiirKijrKiirKiirKijrKijrKij + rKmjrKijrKikraikrailrailramlrqqlrqqlrqqlrqqlr6qlr6qlr6qlr6ulsKumr6umsKumsKymsKym + sKymsaynsaynsKymsKynsKunrqqmramlrKijqqeip6Wgp6Sgp6OfpqKdpaGcpaGco5+aop6ZoJ2YoJuX + n5qWnZqVm5iTmpaSmZWRmJWQlpOPlZKOlJGNlJCNk5CMko+LkY6LkY+Lko+LkY6KkY+Kko6Lko+MlJGN + lZKOlpOPl5SQmZaSm5iUnJmVn5yXoZ2Yo5+apaGcpqKdqKWfqqahq6ijramkr6unsKyosa2ps66qtLCs + trGttrKut7SvuLSwurWxuraxu7eyu7eyvLizvLmzvbm0vrq1vru1vru2vrq1vru2wLy3wLy3wLy3wLy3 + wLy3wb23wb24wb64wr65w7+5w7+5w7+6w8C6xMC7xMG7xMG7xcG7xcG8xcK8xsK8xsK8xsO9x8O9x8O9 + x8O+yMS+yMS+ycS/ycXAysXAysXAysbAysbAy8bAysbBy8fCzMfCzMfCzMfCzMfCzMjCzMjDzMnDzcjD + zcjEzcnEzsnEzcnEzsnFzsrFzsnFzsrGzsrGz8rGz8rGz8vHz8vH0MvH0MvH0MzH0MzH0MzH0MzH0MzH + 0c3I0c3I0c3I0s7I0s7J0s7J0s7J0s/J08/J08/K1M/L1M/K1M/K1NDL1M/L1NDL1dDL1dDL1dDM1dDM + 1tHM1dHM1tHM1tHM1tHN1tLN1tLN19LN19PN19PN19PO2NPO2NPO2NPO2NTO2NTP2dTP2dTP2dTP2dTP + 2dTP2dTP2dTQ2dTO2tXQ2dXQ2tXP2tXQ2tXQ29XQ2tXQ2tXQ29XQ29XR29bR29bR29bR3NbR29bR29bR + 29bR3NbR29bR3NfR29bR29fR29fR3NbR29fS3NfR3NfR3NfS3NfR3NfR3NfR3NfS3dfS3NfS3NfS3NfR + 3tjS3dfS3dfS3dfS3dfS3dfS3dfS3dfS3dfS3dfS3dfS3NfR3NfR3NfR3NfQ3NfR3NfR3NfR3NbQ29bQ + 29bQ29fQ29bR3NfR3NfR29fR29fQ3NfR3NbR29bR29bR29bR29bR29bR29bQ2tbQ2tbQ2tbQ2tXQ2tXQ + 2tTQ2tXQ2tTP2tTQ2dTQ2tTP2dTP2dTP2tTP2dPO2tTP2tTP2tTP2dTP2dTO2dPO2dPO2NPO2NPO2NPN + 2NLO1tLM19LM1tHM1tHM1dDL1tDM1dDL1dDL1NDL1dDL1dDL1NDK1dDK1dDL1NDK1M/K1M/K1NDK1NDK + 08/J0s/J0s7J0s7I0c7I0s7I0c3I0c7H0M3H0c3I0M3H0MzH0MzG0MzG0MzGz8vG0MzGz8vGz8vFz8vF + zsrEz8rEz8rDzsnDzMjCzMjBzMjBzMjBzMfAy8bAy8a/ysa/ycW+ycS9yMO9x8K8xsG7xsG6xb+5w764 + wry3wbu2wLq1vrmzvbiyu7axubSvuLOtt7GttbCss6+qsq2osKynr6qlrqmlraijrKeiqqWgqaSgqKOf + p6KdpqGdpqGcpaCcpaCcpaGcpaGcpaGcpqKdp6Oep6OeqKSfqaWgqqahqqehrKijramkrqqkrqumsKym + saynsa6osq+ps7CqtbGrtrGstbGst7OtuLOtubOturWvubWuu7awurWvurWvubSuubSuuLOtuLOtuLOt + uLOtt7Kst7KstrKstrGrtrGstbCqtbCqtbCqtK+ptK+ptK6ps66ps66os66osq2nsq2osq2nsaynsq2n + saynsaymsKymsKymsKymsKumsKumr6umrqqlr6qlrqqlrqqlrqmkrqmkramkrqmkramkramjqqagqKSf + qKSfqaSfqaSfqaSfqqWgqqWgqqWgqqWgq6ahq6ahq6ahq6ahq6ahq6ahq6airKeirKeirKeiq6eirKii + rKijrKijrKijrKikrKikrKikraikramkramkramkramkrqmkrqmkrqqkrqmkrqqkr6qlr6qlr6qlr6ql + r6qmsKumsKumsKumr6qmr6qmrqmlraikq6ijqqahp6SfpqSfpqKfpaGdpKGco6Ccop6aoZ2an5yXn5qW + npqWnJmTmpaSmZWRl5SQlpOOlJCNko+LkY6LkY2KjoyIjouHjYqGjImFi4iEioeCiYaCiIWBiIWAiIWB + h4WBiIWBiIWBiYaCioeDi4eEjImFjouHkI2Jko+LlJCMlpKOmJSRmpaSnJiVnpqWoJ2Yop+apKGcpqOe + qKSgqaahqqiirKmkrqumsKymsa2osq6ptLCrtbGrtrGst7Ott7SuubWvurawurexurexu7ezvLizvLez + vbm0vbi0vbi0vrm0vrm0v7q1wLu2wLy2wLy3wLy3wLy3wby4wby4wry4wry4wr64wr65w765w766wr65 + w7+6xMC6xL+7xMC7xcC7xcC7xMC7xcC8xsG8xsG8xsK8xsK9x8K9x8K9yMO+yMO+yMS+yMS+yMS/yMS/ + yMS/ycS+ycS+yMW+ycS/ycW/ycbAycXAycXAysbAysbAysbAysbBy8fBy8fBy8fCzMfCzMfBzMfCzcjD + zcjDzcjDzcjDzsjEzsjEzsnEzsnEzsrEz8rFzsrFz8rFzsrFzsvFz8rFz8vG0MvGz8vG0MzG0MzG0M3G + 0MzH0MzH0M3H0c7H0c7I0c3I0s3I0c7I0s7J0s7J0s7J087K087K0s7K087K08/K08/K09DL08/K08/L + 08/K08/K09DK09DK09DK09DL1M/L1NDL1NDK1NHL1NHK1NDL1NDL1dHM1dHM1dHM1dDL1dHM1dHM1dHM + 1dHM1tHN1tHN1dDM1tHN1tDN1tDN1tHO19HN1tDN1tHN1tHN1tHN1tHN1tHM1tHM1tHN1tLM1tHM1tHN + 1tLN19LN1tLN1tLN1tLN19LO19LO1tLN19LO19LO1tLN1tHN1tLO1tHO1tHN1tHN1tHN1tHN1tDN1tHN + 1tHN1tHN1tHN1tHM1tHN1tHM1tHN1tHM1tHM1tHM1dDL1dDL1dDL1dDL1dHL1NDL1NHL1NDL1NDL1NDK + 1NDL1NDK1M/L08/L09DK09DK09DK1M/L1M/K08/K08/K087K08/K0s7J0s/J0s7I0s3J0s7I0c7I0M3H + 0c3H0c3H0MzG0MzG0MzG0MzF0MzF0MvF0MzF0MvFz8vFz8vFz8rEz8vFz8rEz8rEz8vEz8vEz8rEz8rE + z8vEzsrDz8rDzsrDz8rDzsnCzsnCzcjCzcnCzMnCzMjBzMjBzMjBzMjBy8fBysbAy8bAysW/ycS+ycS/ + ycS+yMO9yMK9x8G9xsC8xcC7xL+5w763wry3wby2wLq1v7m0vbeyu7awubSvuLKutrGrtK+qs66psayn + sKumraikrKeiqqWgqKOepqKdpKCbop6ZoJyYn5uWnZmVnJiTmpeSmZWQmJSPlpOOlpKOlpKOlpKNlZKN + lpKNlpKNmJSPmJSPmZWQmpaRm5eSnJiTnpqVn5uWoZyYop2Yo5+apKCbpqKdp6KeqaSfqaWgqqagrKei + raikrqqkr6qlsKumsqymsq2nsa2os66os66otK+ptbCrtK+qtrGqtrGqtK+qtK+qtK+ptK+ps66ps66o + s66ps66os66ps66ps66osq2nsq2osaynsaynsaynsKymsKymsKumsKumsKqmsKumr6qlr6qlr6qlr6ql + rqqkr6qkrqmkrqmkrqmkramkraijraijraijraijramjrKejrKiirKeirKiirKeiq6eiq6iiqaSfp6Kd + p6Oep6KdqKOeqKOeqKOeqaSfqaSfqKOeqaSfqqWgqqWgqaSfqaSfqqagqqWgq6ahq6ahq6ahq6ahrKei + q6eiq6eiq6ijq6ijq6ijrKejrKijrKijrKikraijraijraijraijrqmkraijraijrqmkrqmkrqmkrqmk + rqmlr6qlr6qlr6qlr6qmrqqmramlrKijq6eiqaWhp6SfpqKfpaKepKGco6Ccop+boZ6aoJyZn5yXnpqW + nZmVm5iTmJWQmJSQlpOPlZKOko6Lko6KkY2JjouHjYqFjImEiYaCiIWAh4N/hYF9hIB8gn56gX15gH14 + gHx4f3t4fnt3fnt3fnt3fXp3fnp3fnp4f3x5gX17gX57gn97hIB9hYJ+h4SAioeDjImEjouHkY+Kk5CM + lpKOmJWQmpaRnZiTnpqVoZyXop6ZpJ+apqKcp6Oeqqagq6eiramjr6qlsaynsa2osq6ptLCrtLGttrGt + t7Ovt7OuuLSvurWwuraxu7axu7ayu7eyvLizvbm0vbm0vbi0vrm0vrq1vrq0vrq1v7q1v7u2v7u2v7q2 + wLy3wLy3wLy3wLy3wby3wby4wby4wb24wr25wr65wr65wr65w766w7+6xL+6xL+6xL+6xL+7xMC7xMC7 + xMC7xMC7xcC8xcC8xcC8xcG8xsG9x8G9x8K9x8K+xsK9x8K+x8K+x8O+x8O+yMO+yMO+yMS/yMS/ycS/ + ycS/ycS/ysW/ysXAysW/ysW/ysbAysbAy8bBy8bAy8bAzMbBzMbBzMfBzMfCzMfCzMfCzcfCzcjDzcjD + zcjDzcjDzsnEzsnEzsnEzcrEzsrEz8rEz8rEz8rFzsrFz8rEz8rFz8vFz8vFz8vFz8vF0MvFz8vF0MzG + z8vF0MzG0MzF0MvG0MvG0MzG0czG0MzG0MzG0MzG0MzG0MzG0MzG0MzG0czH0MzH0czH0czH0c3H0c3H + 0c3I0c3H0c3I0c7I0c7I0c7H0s7I0s3H0s7H0s7I0c7H0c7I0s7I0s7I0c3I0c3I0s7I0s7I0s3I0s3H + 0s3I0s7I0s7I0s7J087J0c7I0s7I0s7I0s7J0s/I0s7I0s7I0s7I0s7I0c7H0c7I0c7I0c7H0c3I0c3H + 0c3H0c3H0c3H0c3H0c3H0c3H0c3H0c3H0c3H0MzG0czG0czH0czG0czG0czG0czG0MzG0cvG0czG0MzF + 0czF0MvF0MvE0MvE0MvE0MrE0MrEz8rE0MrEz8rEz8rEz8rEzsnDzsrEz8rEzsrDzsnDzsnDzcjDzsnD + zcjDzcjCzcjDzcjCzcfDzcfCzcfCzcfCzcfBzcfBzcfBzMbAzMbAzMbAzMXAy8a/y8XAy8W/y8XAysS/ + ysS+ysS/ycS+ycO+ycS+yMO+yMK+yMK+x8K9x8K9yMK9x8K8xsG7xsC7xMC7w766w765wb24wby4wLy2 + vrq1vbi0u7izuraxuLSvtbGttK+rsa2psayorqqmrKikqaWhqKOfpqKdo5+boJyYn5uXnZqVm5eTmJWQ + lpOPlJGMko+KkY2JjoqGjImFioeDioaCiISAh4OAhoN/hoN/hoJ/hYJ+hoJ+hoN/h4N/iISAiIWBioaC + i4eEjIiEj4uHkIyIko6Kk4+LlZGMlpKOmJSQmpaSnJeTnpmUn5qWoJuXop6ZpJ+bpaGcpqGdp6OeqaWh + qqahrKehrKeiramjr6qkrqmkr6ulr6umsKumsaynsq6osayosq2osq2osq2osa2osaynsKynsaynsaym + sKymsKumsKumr6umsKymr6ulr6qlr6qkr6ulrqqlrqmlrqqkrqmkramkramkramkramjramjramjramj + ramjramjraijraijrKijrKiirKiirKehrKiirKehq6ahq6ehqqahqqahq6agqqagq6ahqqagp6SfpqKd + pqKdp6KdpqKcqKKep6KdqKOeqKOeqKOeqaSfqaSfqaSfqqWgqaSfqqWgqqWgqqWgqaWfqqWgqaSfqqWg + qqSgqqWgq6eiqqehqqaiqqeiq6eiq6eiq6aiq6airKeirKeirKeirKeirKeirKeirKeirKeirKijraij + raijrKijraikraikraikraikrKejq6ejqqahqaShp6OepaGdpaCcpKCco6Cbop6boJ2Zn5uYnpuXnJqV + m5iUmZaSmJWQl5SPlpKOlJCNko6KkI2JkIyJjoqGjImEioeCiIWAhoN+hYF9g4B8gX56f3x4fnt3fXl2 + e3h0endzeHVxeHVxdnNwdXJvdXJvdHFudHFudHFvdHFuc3BudHFuc3FudXJvdnNwd3VxeXZze3h0fXp2 + fnx4gX56g4B8hoN+iYWBi4iDjYmFkIyIko6JlJCLl5OOmZWRm5eTnpqWoZ2Zop6ZpKCcpqKdp6OfqKWg + qqeirKmkramkrqumsK2os66ps6+ptLCqtLCrtLGrtrKst7Out7OuuLSvubWvurWvurawurawu7axu7ex + u7exvLiyvLiyvbmzvbmzvbmzvbq0vrq1vrq1vrq1vrq1vrq1v7u2v7y2v7y2v7y2wLy3wLy2wLy3wLy3 + wL23wLy3wL23wb24wb64wb64wr65wr65wr65w7+5w7+6w7+6xL+7w7+7xMC6xMC7xMC7xMC7xMC8xcC8 + xcC8xcC8xcC8xcC8xsG8xsG8xsG9xsG8x8G9xsG9xsK8x8K9yMK9x8O9xsK9yMK+x8O+x8O+x8K9x8O+ + yMS+yMS+yMS+ycS+yMS+ycW/ysW/ycW/ysW/ysW/ysTAycXAysXAy8XAy8XAy8XAysXAysTAy8XBzMXB + zMbBzMbAzMbBzMfCzMfBzMbBy8bBzMfBzMfBzMbBzMfBzMfBzMfBzMjBzMjBzMfBzcfCzcjCzcfCzcfC + zcjCzcfCzcfCzcjCzsjCzcjCzsjDzcjCzcjCzcjCzcjCzcjCzcjCzsnCzsjCzcjCzcjCzcjCzsjCzMjC + zcjCzcjDzsnDzcjDzsnDzsjCzsjDzsjEzsnDzsjCzsjDzsjCzsjDzsjDzsjCzsjCzsjCzsjCzsjCzsjC + zsjCzcjCzcjCzcjCzcjCzcjBzcjBzMjBzMjBzMjBzMfBy8fBzMfBzMfBzMfBzMbBzMbBzMbBzMbBzMbB + y8XBy8XAy8XAy8XAy8XAy8XAy8W/ysS/y8XAysTAysS/ysS/ysS/ysS/y8W/ysS/ysS/ycS/ysS/ysS/ + ycS/ycS+yMO+yMO+yMS+yMO+yMO+yMO+yMK+x8K+x8K+x8G+x8G9xcC8xL+7xcC8xL+7xL+6w766w725 + wr25wb24wb24wLu3wLu3wLy3vru1vrq1vLizvLeyu7eyubWwubSvt7OvtrKttLCrsq6qr6ynrqqlrKij + qqahp6OfpaGdo6CaoJyYnpuWmpiTmJWQlpOPko+LkI2JjYmGi4iEiIWChYJ+g4F8gX56f3x4fXp2e3h0 + eXZyeHVxdnNvdnNvdHJudHFudHFuc3FtdHFudXJudXNvdnNwdnNweHVxeXZye3h0fXl2fnt4gH16gn97 + g4B8hoN/iIWBioeCjIiEjoqHkI2Ik5CMlJCNlpKOmJWQmpeSm5iSnZmVn5uWoJyYop6Zo5+bpJ+cpaGd + p6OeqKSfqKWgqqahq6airKijrKmkramkrqqlrqmkr6umsKumsKynsKumr6qmr6qmr6umr6umr6ulrqql + rqqlrqqkrqqlrqqlrqqlramlrqmkrqmkraqjramkramjramjraikramjraijramjrKijraijraijrKij + raijraiiraijrKiirKiirKeirKiiq6ehrKehq6ahq6ehq6ahq6agqqahqqagqqWgqqWfqaagp6OfpaGd + pqKdpqGcpqGdp6Kdp6Kdp6KdqKOeqKOeqKOeqKOeqKOeqKOeqKOeqKOeqaSfqaSfqaSfqaSfqKSeqaSf + qaSgqaSgqaWgqaWgqqWgqqagqqagqqahqqahqqahqqahq6aiq6ahq6ehq6ehq6ehq6ahq6ahq6ahq6eh + q6eiq6airKejrKekrKijq6eiqqaiqqahqaSgp6KfpaKcpJ+cpJ+apJ+aop6ZoZ6Yn5yXnpqWnZmVnJiU + m5eTmZWRl5OQlpOPlZKNko+LkY6JkIyIj4yHjYqFi4iEioaCh4SAhoJ+hIF8gX96f3x4fXp2fHl1endz + eXZyd3VxdnJudHFucnBtcW9scG1qbmxpbmtobGpoa2lma2hlamhlaWdkamdkamhkamhka2hkbGlmbGll + bWpmbmtnbmtocG1pcW5rc3BsdHFudnNwenZze3h0fnp3gH16g4B8hoJ/iYWCi4iEjouHkY6Kk5CMlZOO + mJWQmZeSnJmVnZuWoJ2YoZ6ao5+cpaGdpqKep6OfqqWhq6eiraiirqqksKymsa2osq2os66ptbCrtbCr + trGst7Kst7KtubSvubSvurSvurWwurWxuraxu7axvLeyvLeyvbiyvbizvbizvbizvbizvrmzvrm0vbm0 + vrm0vrm0v7m1v7q1vrq1v7q2v7u2v7q1v7q2wLu2wLu2wLy2wLy3wLy3wLy3wL23wb24wLy4wL24wL24 + wL24wL24wL24wb64wb25wb25wb65wb26wb25wr66wr65wr65wr+5wr65w7+5w7+6w766w766w7+6w7+7 + w766xL+7xL+7xL+8xL+8xL+7xMC7xMC8xMC8xL+8xMC7xMG8xcC8xcC8xcC7xcC8xcG8xcG8xcG8xcG8 + xsK8xcK9xsK9xsK9xsG9xsK9x8K+xsK+x8K9x8K+x8K+x8K/yMK/x8K+x8O+x8K+x8K+yMK+yMO+yMO+ + x8O+yMO+x8O9yMO+x8O+x8O+yMO+yMO/yMO+yMO+yMO/yMO+yMO/yMO/yMO/yMK/yMK/yMO+yMK+yMO+ + yMO+yMO+yMO/yMO+yMO+yMO/yMS+yMO/x8K+x8O+x8K+yMO+x8K+x8O+x8O+x8O+yMK+x8K+x8K+yMK+ + yMK+x8K+yMK+yMK+yMK+x8K+x8K9x8K9x8O+x8K9x8K9x8K9x8K9xsK9xsK9xsG8xsK9xsK9xcK8xcG9 + xcK8xcG8xsG9xcG8xsC9xcC8xcC8xcC8xcC8xcC8xcC7xcG8xcC7xcC7xL+7xMC6xMC6xL+6xMC6xL+6 + w7+6xL+6w7+6w7+6wr65wr+5wr+5wr65wL24v7u3vru2vru2vrq2vbm0vbm0vbm0u7eyubawuLWwuLOv + trOutrKttLCrsq6psa2or6ymr6ulrKiiqqagp6SfpaKdpKCbop6ZoJyXnpqVmpaRl5OPlJCMkY6JjouG + jIiEiIWBhoJ+gn97gH15fXp2endzd3RxdHJucm9scG1qbWtna2lmaGZjaGViZmRhZWNgZWJfZGFfY2Fd + Y2FeZGFeZGJeZGFeZWJfZmNgZmRgZ2ViaGZiamdkbGlmbWpnbmxocG1qcm9sdXJud3RweXZye3h1fnp3 + gH15gn97hIF9h4R/iYaCjIiDjYqGkI2Jko6KlJCMlpKOmJSPmJaRm5eTnZmVnpuVoJyXoZ2YoZ6ZpKGb + paGcpqKep6SeqKSfqqahqqehq6eiq6ejrKmkrKikrqqmrqmmr6qmrqqlramlrqqmrqqlrqqmrqqmrqqm + ramlrqqlrqqlramlramkraikrqmkramkramkramjramjraijraijraijraijrKiirKiirKeirKeirKei + rKeirKeirKeiq6eirKeiq6ehq6ahq6agqqagqqagqqWgqqWgqaWfqqWgqaSfqaSfqaSfqaSfp6KepaGc + pqGdpqGcpqGdpqGcpqGdpqGcp6KdpqKdp6Kdp6Kdp6KdpqKcp6Kdp6Kdp6Kdp6Kdp6Kdp6KdqKOeqKOe + qKOfqKOfqKSfqKSfqaSfqaWgqaWfqqWgqaWgqaWgqqagqaWgqqWgqqWhqaWgqqWhqqWgqqWgqqagqqah + qqahqqaiqqaiq6eiqqeiqqehqqagqaWgqKOepqGdpaCbo5+aop6Zop2ZoZ2Xn5uWnpuVnZqUnJiTmpeS + mpeSmJSQlpKPlZGOlJCMkI6JkIyIjouHjYqGjIiEioeCiISAhoN+hIF8gn97gH15fnt2fHl1e3h0eXZy + eHVxdnNvc3BtcnBtcG5rb2xpbWtobGlma2hlaWdlZ2VjZmRhZmNgZGJfZGFeY2BeYl9cYl9cYl9cYV9c + Yl9cYl9cYV9bYmBdYl9cYmBdY2BeZGFfZWJgZmRhZ2RiaWZkamhlbWpnb2xpcW5rdHFudnRxeXZze3l1 + fnt3gH55g4F9hoSAiYaCi4mFjouHkI2Jko+LlJGMl5OQmZWRm5eSnZmUn5uWoZ2Yop+apKCcpqKep6Oe + qaSgq6eirKikramlr6qmsKunsayosq2ps66qs6+qtK+rtrGstrKttrKttrKtt7Kut7OuuLSvubSwubSw + uLSvubSwurWxuraxuraxu7eyu7eyu7ayu7eyvLezvLizvbi0vbi0vbm0vrm1vrm0vbq1vrq1vrq1vrq1 + vrq1vrq1vrq1vru2vrq1vru2vrq2vru2vru2vru1v7u1vru2v7u2vru2v7u2v7y2v7u2v7y1v7u2v7y2 + vru2wLy2v7y2v7y2wLy3v723wLy3wL23wL23wby4wr24wb24wr25wr25wr24wr65wr65wr25wr65wr65 + wr+5wr65wr+5wr65wr65wr+5wr+5w7+6wr+6wr+6wr+6w7+6wr+7w7+6w7+6w7+7w7+6w766w7+6w7+6 + w7+6w7+6w7+7w8C7w8C6w8C6w8C6w8C6w8C6w8C7w8C6w8C6w8C6w8C7w8C6w7+6w7+6w8C7wr+7w8C7 + w8C7wr+6w7+7w7+6w7+7xL+7w7+6xL+6xL+6w8C6w7+6w8C6w7+6w8C6w7+5w7+5w8C6wr+6wr+6wr+6 + wr+6wr+6wr+6w7+6wr66w766wr66wr65w765wr65wr64w764w764wr24wr64w763wr64wr63w764wr63 + wr23wr64wb23wb23wb23wb23wL23wby3wLy3v7u2v7u2v7q2v7u2v7u2vrq1vrq0vrm0vLiyvLiyvLiy + u7exu7ixu7exurawurWvubSuubSuuLOttrKstbGrs7Cqsa6osKymr6umrqqlrKijqqehqKSepqKdo5+a + oZ2ZnpuWnZmVmpaSl5OPlpKOk4+KkIyHjoqGi4eDh4N/hYF9gn56f3x4e3h0d3RxdHFucG5qbWpmaWZj + Z2RhY2FeYl9cXlxZXVpYW1hWWVZUV1VSV1RSVVNQVVJQVFJPU1FPU1FOU1FPVFFPVFFPVFJQVVNQVlNR + V1RSWFZTWVZUWlhVW1lWXVpYX1xZYV5bYmBdZWJfZmRhaWZjamhkbGpmb21pcnBsdXJud3RxeXZyfHl1 + fnp2gX15g4B8hoJ+iIWAioaCjIiEj4uHkY2Jko6KlZGNlpOPmJSQmZaRnZiTnZqVn5uWoJyXoZ2Yo6Ca + pKCapaGcpqKdqKSeqKWgqaWgqqehq6iirKijrKijrqqlraqkrqqmrqqlrqqlramlramlramkramlramk + ramkramkrKijrKmkrKijraijrKiirKijrKiirKiirKeirKeiq6ehq6ehq6ahq6ahq6ahq6ahqqagqqag + qqagqqWgqqWgqqWgqaWgqqWfqaSfqaWfqaSfqaSfqKSeqKSeqKOeqKOeqKOdqKOdp6OdqKOdpqGdpKCb + pJ+bpJ+bpaCcpKCcpaCcpaCcpqCcpaCcpaCcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqKcp6Kdp6Ke + p6KeqKOeqKOfqKOfqKOeqKSfqaSfqaSgqKOfqaSgqaSfqaSfqaWfqqWgqaWgqaWgqaSgqaWgqqWgqqWh + qqWhqqahqqeiqqaiqqeiqqehqKWgqKSfpqKdpqGco5+aop6aoZ2ZoZ2YoJuWnpuVnpmUnJmUm5iTmpaS + mJaRlpKPlJGNlJGNko+LkIyIj4uHjoqGjYmEi4eCiYWAh4N/hYF9g4B7gX56f3x3fnp2e3l0enhzeHVx + dnNwdHJuc29scm9rcG1qbmtobGpna2llamhkaGdjZmRhZWJfZGFfYV9cYV5cYF1bX1xZXltZXltYXFpX + W1lWW1hWWlhVWlhWWlhVWldVWVZUWVZUWVdVWVdVWVdVW1lWXFpXXVpYXlxZX11aYF9cYmBdY2FfZWNg + ZmRhaGZjamhlbWpnb2xpcG1qc3FtdnNweXZye3h1fXp3f3x5gn97hYJ+h4SAiYaCjIiFjoqGkY2Kko+L + lZKOlpKPmJWRm5eTnJmUnpqWn5uXop2Zo5+bpKGcpqKdp6OeqaWgqqahq6eirKijramlrqqlr6qlr6um + sKyosa2osq6os6+qs7CqtLCqtLCrtbGstrKstrKtt7Ott7OuuLSuuLSvuLSvubSwurWwuraxurWxuray + urayu7axuraxuraxu7eyu7eyu7eyu7eyu7eyu7eyvLeyvLeyvLizvbizvbizvLiyvLizvLizvbizvLiz + vbiyvbiyvbizvbiyvbiyvbmzvbmzvbmzvbmzvrq0vrq0vrq0vrq0vrq0vru1vrq1vrq1v7q1v7q1v7q1 + v7q1v7q1v7q1v7q1v7q1v7q1v7q1v7q2v7u1wLu2wLu2v7u1v7u1wLu1v7u1wLy2v7y1v7y2wLy2wLy2 + v7y2wLy2wLy2wLy2wLu2wLu2wLy2wby3wLy3wLy2wby2wLy2wLu2wLu2wLy2wLy2wLy2wLy1wLy1wLy2 + v7y2wLy2v7u1v7u1v7u1v7u1v7u1v7u2v7q1v7q1v7q1v7q1v7q1v7q1v7q0v7q0v7q0v7q0v7q0v7q0 + v7u1v7q0v7u1v7q0vrq0v7q0vrq0vrm0vrm0vrmzvrm0vrm0vrizvbizvbizvLexu7exvLexvLexvLex + u7awu7awu7awurWvurWvurWvubSut7Ott7OttrKstrKstbGrtLCrtK+qtLCqs66psKynsKunr6qmramk + raijrKeiqqagqaWfp6OepaGco5+aop6ZoZ2YnpqVnJiTm5aSl5KOlZGMko6JkIyHjYmFioaCh4SAhYJ+ + gn97fnt3fHh1eHVydXJvcm9sbmtpbGlmaGZiZWNgYl9cX11aXFpXWVZUVlNRU1FPUU9MTkxKS0pHSUdF + SEZFSEZER0VDRkRCRUNCRUNBREJAREJAREJBREJARUNBRURCRkRDRkVDSEZESUhGSklHS0pHTUtJTkxK + UE5MUlBOU1FPVVNRWFVSWlhVXFlXXlxZYF5bY2BdZWJfZ2RhaWZja2hlbmtocW5rdHFtd3RweXZye3h0 + fnp2gHx4g397hYJ9iISAioaBjIiEj4uGkIyHko6JlJCLl5OOmJSPmZaQnJiTnZmUn5qWoJyWoJ2Yo5+Z + pJ+apqGcpaKcqKOdqaSgqqWgqqagq6ahrKeirKiiraijrKijrqmkrqmkramkrKijraijraijrKijrKij + rKejq6eiq6eiqqeiqqahqqahqqahqqahqqWhqqahqqWhqqahqaWgqaWfqaWfqaSfqaSfqaSfqaSfqKSf + qKSeqaSeqKSeqKSeqKSeqKOeqKSeqKOdqKOdqKOdp6OdqKOdp6Odp6Kcp6KdpqKcpqKcpqKcpaCbo5+Z + pJ+apJ+ao56ZpJ+apJ+apJ+apJ+bpJ+bpJ+apJ+bpKCbpJ+bpaCbpaCbpaCcpaGcpaCbpaGcpqGcpqGd + pqGdpqGep6KeqKOep6KeqKOeqKOeqKOeqaSfqKOfqKOeqKSfqKOeqKOfqKSfqKSfqKSgqKSfqKSgqKWg + qKWhqaWgqaWgqaahqqahqaWgqKSfp6OepqKdpKGco56ZoZ2YoJyYoJuYn5qWnZqVnZmUm5iTm5eTmpWS + mJWRlpKPlJGNk5CMko+Lj4yIjouHjYqGjImEioeCiISAh4N/hIF9gn56gH15fnt3fHl1e3h0endzd3Rx + dnNwdHFucm9scW5rb2xpbWpna2lmamhkamdkaGZiZmNgZGJfY2FeYF5bYF5bX11aXltYXFpXXFlXWlhW + WldVWVdUWFVTV1RSVlRSVVNRVFJQVFJQVFJQU1FPU1FPU1JPU1JQVFJQVVNQVFNQVVNRVVRRV1VSV1VT + WFdUWVdUWlhVW1lXXFpYXVtZXlxaYF5bYV5cYmBeZGJfZmRhZ2ViaWdkbGlmbmtocG1qcm9sdHFudnNw + eXZze3h1fnx4gH16g398hoN/iISBioeDjImFj4uHkIyJkY6KlJCMlZKOlpOPmJWQmpeSm5iTnJmUnpqV + n5yXoZ6Yop+apKCbpaGcpqKdp6OeqKWfqaWgqqehq6eirKeirKmkrqqlr6umsKynsKynsa2osq6ps66p + s6+qs6+qtLCqtbCrtbGrtbCrtbGstrKstbGstrGstrKttrKtt7Ktt7Ktt7OuuLOuuLKuuLSvubSvubSu + ubSvubSvubSvubSvubSvubSwurWwurSwurWvurWwurWwurawurWwurawurawu7axuraxurawurWwuraw + urexurawu7axu7axu7axu7axu7ayvLeyvLeyvLeyvLeyvLeyvLeyvLeyvLeyvLixvLexvLexvLexu7ex + vLeyvLixvLiyvLexu7exu7eyu7exu7eyvLeyu7eyu7exu7axu7axu7axu7axu7axu7axvLexu7awu7ex + vLexvLexvLexu7awurawu7awurawurawurawurawurawurWwubSvubSvubSvubSvubSvubSvubSvubSu + ubSvubSuubSuuLOuuLOtt7Kst7KttrKstrGstbGrtLCrtLCrs6+qs6+qs6+qsq6psa2psKunsKynsKum + r6qlrqmkrqmkrKiiq6eiqqahqqWgqKOepqKdpqGcpKCbo5+aop6ZoJyXnpuWnJmUm5iTmJWQl5OPlZGO + lJCMkY2Jj4uHjYmFi4eDiISAhoJ+g4B8gX56f3x4e3h0eXZydXJvc3Btb2xpbGlmamdkZmNhYmBdYF1b + XFpYWVdUVlRSU1JPUU9NTkxKTEpISUdGR0ZERURCQ0I/QkA+QD89Pz48Pjw6PDo5Ozk4Ojg3OTc2ODY1 + ODY1ODY1ODY1ODc1ODc2OTg2Ojg2Ozk4Ozo4PDs5Pjw7Pz07QT89QUA+Q0E/RURCR0VDSUdFSkhGTEpI + TkxKUE1LUlBOVFJPV1RSWVZUW1hWXVtYX11aYmBdZGJfZ2RgaWZja2hlbmtocW5rdHFtdnNveXVye3h0 + fXp2gHx4gn96hYF8h4N/iYWAi4iDjouGj4uGkY2Ik4+KlZGMlpKNmJSPmpaRnJiTnpqUnpuVoJyWop2Y + o56Zo5+apaCapqKcp6KeqKSeqaSfqaWfq6agq6ahrKehq6airaijraijrKeirKaiq6aiq6aiq6aiqqah + q6ahqqahqqahqqahqqahqaahqaagqaWgqaSfqaWgqKSfqKSfqKSeqKOeqKSeqKSep6Odp6Oep6Odp6Kd + p6KdpqKdp6KcpqKcpqGcpqKcpqGcpqKcpqGcpaCbpqGcpaGbpaGbpaCbpaGbpaGbpKCapKCapKCbop6Z + op6Zo56aop6Zo56Zop6Zop6Zop6aop6Zo56Zop6aop2Zo56Zo56Zo56Zo5+ao5+ao6CapJ+apKCbpKCb + pKCcpqGcpqGcpqGcpqGcpqGdpqGcp6Kdp6Kep6Kep6Kdp6OeqKOeqKOep6Oep6Oep6Oep6Oep6Sep6Of + qKOfqKSgqKSgqKSfqKSfqaSfp6OepqGcpaCbo5+bop2YoJyXn5uXoJuXnpqWnZmUnJiUmpeSmpaSmZWR + mJSQlZGOk4+Mk4+MkY+Lj4yIjYqGjImFi4iEiIaBh4SAhYJ+g4B8gH16f3x4fXp2e3h0eXd0eHVydXNw + dHJvc3BtcW5rcG1qbmxobGpmamhkamdkaGZjaGViZWJfZGJfY2BeX15bX11aXlxZXVtYW1lXW1lWWVdV + WVdUWFZUVlRSVlNRVVJRVFJQU1FPUlFOUlBOUE5MUE5MUE5MUE9MUE5MUE5MUE5MUE5MUE5MUE5MUE5M + UU9MUU5MUU9NUVBNUlBNUU9NUlBOUlBPVFFQU1FQVFNRVlRSVlRTV1VTWFZUWlhWW1hWW1lXXVtYXlxa + YF1bYl9dZGFfZWNgZ2RiaWdka2lmbGpnbmxpcG5qc3BtdXJvdnRweXZze3h0fXp3fnx4gX56goB8hIF9 + hoR/iYaBioeDjImFj4yHkI2Jko+KlJCMlZKNlpOOl5SPmJWQmpeSmpeSnJmUnZqVnpuWoJ2YoZ2Yop6a + op+ao6CbpKGcpqKdp6Sep6Sep6SfqKWgqKWfqaWgqqagq6ehq6iirKijrKmjrqmkrqqlr6umr6qmsKun + sKynsq2osq2psqyosayosq2psq2qsq2osqyosq2osq2ps66ps66qs66ptK+qtK+qtK+ptK+qtK+qtLCq + tLCqtLCqtLCrtLCstbGrtLCstbGstbGstbGstrKttrGttrGttrGttrGttrGstrGttrGttrGstrGstrGs + trGstrGstrGstrGstrGstrGttrGstrGstbGstLCrtLCrtLCrtLCrtLCstK+stK+stK+qs66rs66qsq6q + sq6qsq2psq2psq2osayosa2osKynsKynsaynsKumsKynr6unr6umrqqmrqqmrqqmrqqmramkraikraik + rKekq6aiq6aiqqahqaSgqKSgqKSfp6OepaGcpJ+bpKCbo5+bop6ZoZ2ZoJ2Yn5uXnpqWnZiWm5eUmpaS + mZWRl5OQlpKOlZCNk5CMkY6KkIyIjYqGjImFioeEiIWChoKAhYF+gn98f3x5fXt3e3h1eXdzdnRxc3Fu + cW5rb2xpbGlnamdkZ2RiZGJfYmBdX1xaXFlXWVdVVlRSVFJQUU9NT01LTEpISkhGSEZERURCQ0FAQUA+ + QD49PTw6Ozo5Ozk4OTg3ODY1NzY0NjQzNTMyNDIxMzIxMjEwMjAvMTAvMC8uMC8uMC8tMC8tMC4tLy4s + Ly8tMS8uMTAuMjEvMzIwNTMyNjQzNzY0ODc1OTg2Ozo4PDs5Pjw7Pz48QkA+RENBRkRCSEZESUdFTElH + TkxKT01KUk9NVFFPVlRRWFZTWlhVXVpYX1xZYl9cZGFeZmNgaWZia2hkbWpmcW1qdHBsdnJveHRwenZz + fXl1f3t3gX55hIB8hoJ+iIR/ioaBjYmEjoqFkIyHko2JlJCLlZGMl5OOmZWQm5aRnJiSnZmTnpqUoJyX + oZyXop6Yo5+ZpJ+apaGcpqKcp6Kcp6KdqKOeqKSfqaWgqaWfqqagqqahqqahqqahqqahqqahqqagqaWg + qKWgqKWgqKWfqKSfqaSfqKSgqKSeqKOep6Oep6Kdp6Kdp6KdpqKepqKdpqKdpqKdpqKdpqKdp6KepqKd + pqGcpaGcpaGbpaCbpaCapaGcpKGbpKCbpKCapKCao5+ZpJ+bo5+apJ+Zo5+ZpJ+Zo5+Zo5+ZpJ+aop6Y + op6Yo56Zop6Zo56Zop2Yop6Zop6Zop6Zop6Zop6Zop6Zop6aop6Zop2Yop2Yo56Zo56Zo5+ao5+apKCb + pKCbpKCbpaGcpaGcpqGcpaGcpqKdpaGbpqKdpqKdp6KdpqKcpqKcp6Kdp6Kdp6OepqOdp6OepqOepqKe + p6Sfp6Ofp6OfqKSfqKOfp6OepqKdpqGcpJ+bop6ZoZ2YoJuWn5qWn5qWnpmVnJiTnJeUmpaSmZWRmJSR + l5OPlJCNk5CMko6LkY6Lj4uHjYqGjIiFioeEiISBhoOAhYF+g398gH15fnt3fHl2end0eHVyeHVxdXJv + dHFuc3BtcW5rb2xpbmtobGlmamdkamdkaGZjZ2ViZWNfY2FeYmBdX11aX11aXlxZXFpYW1lXWlhWWVZV + WFZUWFZUVVRSVVNQVFJQVFJPUlBOUVBOUU9NUE5MT05LT05MUE5MT01LT05LTkxKTkxKTkxKTUxKTUxK + TUtKTkxKTUtJTUxJTEtJTEpITUtJTUtJTEtJTUtJTUtKTUtKTUtKTUtKTkxKTkxLT01LT01LUE5MUE5M + UE9NUU9NUlBOU1FPU1JPVVNRVlRSV1VTWFZUWVdUWlhVW1pXXFtYXl1aX11bYF9cYmBdZGJeZWNgZmRh + aWZjamhlbGpmbWtocG5qcm9sc3BsdXJvdnRweHVyenh0e3l1fXt3f3x5gX96hIF9hYJ+hoN/h4SAiYaC + i4iEjIqGjYuGjouHkIyIkI2Jko+Lk4+LlJGMlJGNlZGNlpKOmJSPl5SQmJWRmpaSm5eUnJiUnZiUnZmV + npqWnpqWn5qXn5uXoZyZoZ2ZoZ2ZoZ2Zop6aop6ao5+ao56bo5+bpJ+bpKCcpaGcpqKdp6Odp6Oep6Oe + p6Oep6Sep6Sep6Sep6SeqKSfqKWgqKWgqKWgqKWgqKSgqKSgqKSfqKSgqaSgqKSgqKSgqKSfqKSgqKSg + qKSfqKSfqKSfqKSfqKSfqKSfp6OeqKSfp6Sfp6OepqOepqKepqKepqKepqKepqKepKCdpKCdpaGdpKCd + o5+co5+bop6aoZyYoJyYoJyYn5yXn5yXn5uWnpmWnZqWnZmVnJmVnJmUm5iTmZaSmZaTmZWSmJSRlpOQ + lpKPlZGOlJCNk5CMko6KkY2Kj4yIjouHjYmGjIiFioeEiIWCh4SAhoJ/hIJ+g4B9gX57f316fnt4e3l2 + end1eHVydnNwdHFucnBtcG1qbWtobGlmamdkZ2RiZGJfYmBdYF5bXlxZXFpXWVhVV1VTVFJQUlBOUE5M + TkxKTEpISkhHSEZFRkVDRUNBQ0JAQkA+Pz48Pjw6PDs5Ozo4OTg2NzY1NjU0NTQyNDMyMjIwMTAvMTAu + MC8tLy4tLi0sLSwrLSwrLCsqLCsqLCsqKyopLCspKyopKyopKyooKyopKyopKyopLCsqLCspLCsqLCsq + LSwrLi0sLy4sMC4tMjEvMzIwNDMyNjUzNzY0OTc1Ozk4PDo5Pjw6Pz48QkA+REJARkRCR0ZESUdFTElH + TkxKT01KUlBNVFJPVlRSWFZTWlhVXVpYX1xZYl9cY2FdZmNgaGViamdlbWpncG1qc3BsdXJvd3RxenZz + fXl1fnp2gH15g398hoJ+h4R/iYWBjIiEjoqGj4uHkY2IlJCLlZGMl5KOmZSPm5aRnJeSnZiTnZmUn5uW + n5uWoJ2XoZ2Yop6Zo6CapaCcpaCbpqGcp6Kep6OeqKSfqaSfqaWgqaWgqaWfqaWfqKWfqKWfqKSfqKSf + qKSfqKSfqKSfp6Oep6Kdp6OepqKdp6KdpqGcpqKdpqKdpqGcpqKcpqKdpqKdpaGcpqGcpaGcpqGcpaGc + paGcpaGcpKGbpKCbpKCapKCbpKCbpJ+apKCbpKCbpJ+ao6CapKCapJ+ao5+ao5+ao6Cao5+ZpaCbo56Z + o56Zo5+ao5+ZpJ+apJ+Zo5+ao5+Zo5+Zo5+ao56ao56ao56ao56ao5+ao56ao56apJ+apJ+ao5+apKCb + paGcpaCbpaGcpaCcpqGcpqGcpqGcp6GcpqGcpqGcp6Kdp6Oep6Kdp6Kdp6Kdp6OdqKOep6Oep6Oep6Se + p6Sep6SfqKSgqKSfqKOfqKOfpqKepqGcpaCbop6aoZyYn5uWnpqVnpmVnZmVnJiTnJeTmpaRmZaRmJSQ + l5OPlJGMk5CMk4+LkY6Kj4yHjYqGjImFi4iEiIWCh4SAhoJ+g4B8gH16fnt4fHp2end0eHVzeHVydXJw + dHJuc3Btcm9sb21qbmxobWtna2hlaWdkaWdjaGViZmNgZGJeYmFdYF5bX11aXlxZXFtYW1pXW1hWWVdV + WFZVWFZUVlRSVVNRVFJRVFJQU1FPUlBOUVBOUE9MUE5MUE5MT05MT05MT05MTkxKTkxKTkxKTkxKTkxK + TUxKTUtJTEpITEpITEpIS0lHS0pIS0lHS0lHS0lHSklHSkhHSkhHSkhHSkhHSkhHSUhGSkhGSkhGSkhG + SkhGSkhHSklHSkhHSklHS0lHS0lHS0pITEtJTEtITUtJTUxKTkxKT01KT01LUE5MUU9NUlBOUlFOUlFO + VFJPVFJQVFNQVlRSWFZUWFZUWVdUWllWW1pXXFpYXVtYXlxZYF5bYV9cY2FeZWJgZmRhZ2ViaGZjaWdk + a2hmbGpobWtob2xpcW5rcnBsc3FudHJvdnRwd3RxeHZzend0enh1fHh2fXp3fnp4gHx6gH16gn57gn98 + hIB9hYF/hYF/hoOAh4OAh4SBiYWCiYaCioeDi4eEioeEi4iEjImFjYmFjYqGjouHjouHj4uIj4yIkIyI + kI2JkI2JkI2JkY6KkY6Kko+Kko+Mko+Lko+Lko+Mko+Mko6Lko6Lko+Lko+Mko+Lko6Lko6LkY2KkY6K + kY6KkY2JkY6KkY2KkY2KkY2KkY6KkY2JkI6KkI2KkI2JkY2KkI2Jj4yJj4uIjouHjouHjYmHjImFjImF + ioeEioeDiYaCiIWBiIWBh4SAhoJ/hYJ/hIF+hIF+g4F9goB8gH56f315fnx5fXt4fXp3e3h2end0eHZz + eHVydnNxdHJvc3Bucm9scW5rbmxobWpnbGlmamdkaGVjZWRgZGJfYmBdYF5cXlxaXVtYWlhXWFZVVlRT + VVNRVFJQU1FPUlBNUE5LTUtJS0pISkhGSEdFR0VDRkRCRENBQ0JAQUA+QD89Pz48PTw6PDo5Ojk4Ojg3 + ODc2NzY0NjUzNTQyNDMxMzIwMjEvMTAvMC8uLy4tLi4sLi0sLSwrLSwqLCsqKyopKyopKikoKikoKiko + KigoKSgnKSgnKSgnKSgnKCgnKCgnKSgnKSgnKSgnKSgnKSgnKSgnKignKikoKiooKyooKyopKyopLCoq + LSwrLy4sLy4tMC4tMTAvNDIxNTQyNjU0NzY0OTg2Ozo4PTs5Pj07QD48QkA+RENBRkRCSEdFSkhGTEpI + TkxKUE5LUlBOVFJQV1RSWFZUW1hWXVpYX11aYl9cZGFeZmNgaWZja2hlbmtocW1qdHBtdnNveHVxendz + fXp2f3t4gX55hIB8hoJ/iIWAi4eCjoqFjoqGkIyIko6JlJGMlpKMmJSPmZWQm5aSnJiTnZmUnpqUoJuX + oJuXoZ2Yop6Zo56apKCbpaGcpqGdpqKdqKSfqKSgqqahqqahq6ahqqahqqahqqahqqahqqagqaWgqaWg + qKWgqaSfqKSfqKSfqKWgqKSeqKOep6Oep6Kdp6Oep6Oep6Oep6Oep6Kep6Odp6Kdp6Kdp6KdpqKdpqKd + paGcpaGcpaKcpaGcpKGbpKGbpKCbpaCcpJ+bpKCbpKCbpKCbpKCbpJ+ao5+apJ+bpKCao5+apqKcpJ+a + o6CapJ+apJ+apJ+apKCapJ+apKCapJ+ao5+ao5+ao5+ao5+ao5+ao5+ao56ao5+ao56apJ+ao5+apKCb + paCbpaGbpaGbpaCbpaCbpaGcpqKdpqGcpqGcpqKdpqKdp6Kdp6KdqKOeqKOeqKOeqKOep6OeqKOeqKOe + p6Sfp6Sfp6SfqKSfqKOfp6OfpqGdpaCcpJ+aoZ2YoZyXn5qVnpqVnZmUnJiTnJeSm5aSmpWRmZWRmJSQ + lpOPlZGMk4+Lk4+KkY6Kj4yHjYqGjImFi4iEiIWCh4SAhIJ+g4B8gH15fnt4fHl2e3d0eHVyeHVydXNv + dHFuc3BtcW5rb21qbmtobWpmamhkaWdjaWZjZ2ViZWNgZGFfYmBeYF5bX11aXlxZXFtYW1lXWllWWVdV + WFZUWFZUVlRSVVNRVFJRVFJQUlFPUlBOUlBNUE5MUE5LUE5LUE5LT01LT01LTkxKTkxKTkxKTUxJTUxJ + TUxJTUtIS0pIS0pIS0pIS0lHS0lHSklHSklHSklHSkhHSkhGSkhGSUdGSEZFR0ZESEZESEZESEZER0ZE + R0ZER0ZER0ZDR0VDRkVDRkVDRkVDR0VDRkVDR0VDR0VDR0VDR0VDR0VDR0ZDR0ZER0ZER0ZER0ZER0ZE + SEZESEZESEdESUdFSUhFSUhGSUhGSkhGSklGS0lHS0pITEtITEtJTUtJTkxKT05LUE5MUE9MUVBNUlBO + U1FPU1JPVFJQVVNRVVRRVlRSV1VTWFZUWFZUWFdVWVhVWlhWXFpYXFpYXVpYXVtZX1xaYF1bYF5cYV5c + YV9dY2BeY2FfZGJgZWJgZWNhZmNhZ2RiZ2VjaWZkaWZkamdkamhla2hma2lmbGlmbGpnbWtobmtob2xp + b21qb21qcG5qcG5rcG5rcW9scW5scW9scW9scm9scm9tcm9tcm9scm9scm9scm9scm9scW5scW5rcW5r + cW5rcW5rcW5rcW5rcW5rcW5rcG1rb21qb21qb21qbmxpbWtobWpobGpnbGpna2lma2hmamhlaWdkaGZk + aGVjZmRiZWNgZGJfZGFfYl9dYV9cYF5bX11bX1xaXlxZXFpYW1pXWllWWVhVV1VTVlRSVVNRVFJQU1FP + U1FPUVBNUE5MT01LTkxKTUtJS0pISklGSUhGSEZER0ZERkVDRENBQ0JAQkE/QkE/QT8+QD49Pj07PTw7 + PTs6PDo5Ozo4Ojg3ODc2NzY1NzY0NjUzNTQyNDMyMzIxMzEwMTAvMTAvMS8uMC8uLi4sLi4sLi0sLS0r + LCwqLCsqLCoqKyopKyooKikoKikoKigoKSgnKSgnKSgnKSgnKCcmKSgnKCcmKCcmKCcmKCcmKCcmKCYm + JyYlJyYmJyYlJyYlJyYlJyYlJyYlKCcmKCcmKCgmKCgmKSgnKSgnKSgnKSgnKikoKiooKiooKyopLCoq + LSwrLi0sLy4tMC4tMTAvNDIxNTQyNjU0NzY0OTc2Ozo4PDs5Pj07QD48QkA+REJBRkRCSEZESUhGTEpI + TUtJT01LUlBOU1FPVlRRWFZTWlhVXVpYX1xZYV5cY2FeZWNgaGViamhkbWpncG1qc3BsdXJvd3RxenZz + fXl2f3t3gX16hIB8h4N/iIWAioaCjYmFjoqGkIyIkY2IlJCLlZGMl5OOmZSQmpaSm5eSnJiTnZmUn5qW + n5uXoJ2YoZ2Yop6apKCbpaCbpaGcpqGcp6KeqKOfqaWfqaSgqqagqaWgqaagqaWgqKWgqKWgqKWfqKSf + qKWfqKSeqKSep6Oep6OepqKdp6OepqKdpqKcp6Kdp6KdpqKdpqKcpqKcpqKdpqKcpaKcpqGcpaKcpaGc + pKGcpKGcpaGcpaGbpKCcpKCbpKCbpKCbpJ+bpJ+bo5+ao56Zo56aop6Zop6Zo56Zop6Zo56ZpaCbo56a + o56ZpJ+ao56ZpJ+ao56ao5+ZpJ+apJ+ao5+ZpJ+apJ+apJ+apJ+apJ+ao5+ao56ao5+aop6ao5+bo5+a + pKCbpKCapJ+apaCbpaCbpaCbpaCbpaCbpaCcpqGcpqGcpqGcpqKcpqKdpqKdp6Kdp6Kdp6Kdp6Odp6Oe + p6SeqKSfqKSfqKSfp6Oep6OepqGdpKCco56aoZyYoJuWnpmUnZmUnZmUnJiTm5aRmpaSmZWRmJSQl5OP + lpOOlJGMko+Kk46KkI2IjouGjYmFi4iDioaCiISBhoN/hIF9gn97gHx5fnp3fHh1enZ0eXVzeHRydXJw + dHFucnBtcW5rb2xpbmtobWpnamhlaWZkaGZjZ2ViZWJfY2FeYmBdYF1bX11aXlxaXFpYW1lXW1lWWVdV + WFZUWFZUVlRSVVNRVFJQVFJPUlBOUlBOUVBNUE5MT05LUE5LT05LT01LT01LTkxJTkxJTkxJTUtJTUtJ + TUtJTEpIS0lHS0pIS0pIS0lHS0lHSkhGSklHSklHSkhGSkhGSUhGSUhGSEZER0ZER0ZER0VDR0VDR0VD + RkVCRkVCRkVCRURBRURBRURCRURBRUNBRENBRENBREJAREJAQ0JAREJAREJAQ0JAQ0JAQ0I/Q0I/Q0E/ + Q0E/QkE/QkE/QkE/QkE/QkA+QkA+QkA+QkE+QkE/QkE/QkE/Q0FAQ0E/Q0E/Q0JAQ0JAQ0JAREJAQ0JA + REJARENBRENARUNBRUNCRURCRkRCRkVCRkVDR0ZER0ZER0ZER0ZER0ZESEZFSEdFSUdFSUdGSUdGSkhG + SkhGSkhHS0lHTEpITEpJTEpITEpITEpJTEpJTUtJTUtJTkxKTkxKTkxKTkxKTkxKT01KT01LT01LT05M + UE5MUE5MUU9NUE9NUE9NUE5NUE9NUU9NUU9NUU9NUlBOUU9NUU5NUE5NUE5NUE5NUE5NUE5MT05MT05M + UE5MT01MUE5MUE5MT05LUE5MTk1LTk1LTk1KTUxKTUxKTEtJTEpIS0pIS0lISkhHSkhGSUhGSUdGSEdF + R0ZERkVDRkRCRURCRUNBRENBREJAQ0FAQkE/QkA+QUA+QD89Pz48Pz48Pz48PTw6PDs6PTs6PDs5Ozo4 + Ozk4Ojk3Ojg3OTc2ODY1NzY0NjUzNjQzNTQyNTQyNDMyNDIxMzIwMjEvMjEvMTAuMDAuMC8uLy4tLi0s + Li0sLi0sLi0rLSwrLSwrLSwqLCsqLCsqKyspKyopKyooKiooKikoKikoKiknKSgnKSgnKSgnKSgnKSgn + KCgmKCcmKCcmKCcmKCcmKCcmJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYlJyYl + JyYlJyYlJyYlJyYlJyYlJyYlJyYlKCcmKCcmKCcmKCcmKSgmKSgnKSgnKSgnKikoKiooKiooKyopKyop + LCsqLi0sLy4tMC4tMTAvMzIwNDMyNjUzNzY0OTc1Ozk4PDs5Pjw6Pz48QkA+REJARURCSEZESUhGS0pH + TEtJTk1KUU9NU1FPVVNRV1VTWldVXFpXXlxZYF5bYmBdZWNgZ2ViamdkbWpncG1qcm9sdXJud3RweXZy + fHl1fnp3gH15gn97hoJ+h4N/iYaCjIiEjYqFj4uHkY6Kk4+MlJCMlpKOmJSQmZWRm5eSnJiTnJmUnpqV + n5qWoJyXoZ2Yop6Zo5+apKCbpKCbpaGcpqKepqKep6SeqKSfqKWgqaWgqKWfqKSfqKSfqKSfp6Sep6Sf + p6Oep6OepqOdpqKdpqOdpqGcpqKcpqKdpqKcpqGcpaGcpqKcpqGcpqGcpaGcpqGcpaGbpaGbpqGcpaGc + paGbpaCbpaGbpKCbpJ+bpJ+apJ+ao5+ao56ao56ao56ao56ao56Zo56Zop2Yop2Yop2Yop2YpaCco56Z + o56Zo56Zo56Zo56Zo56Zo5+apJ6ZpJ+ao56Zo56ZpJ6ZpJ+apJ+ao56Zo56apJ+ao5+apJ+bo5+bpJ+b + pKCcpJ+apaCbpKCbpaCbpaCbpaCbpaGcpaCbpqGcpqGcpqGcpqKcpqKdpqGcp6KdpqKdp6KdpqKdp6Ke + p6OepqOep6Oep6Oep6Oep6KepaGdpJ+bo56aoJyYn5qWnpmUnZmUnZmUnJiUm5aSmpWSmZWSmJWQl5OP + lpKOlZGMk5CLko+KkY2Ij4uHjomFjIeEi4eDiIWBhoN/hYF+g4B8gX16fnt4fXp3e3h1enZ0eXZzdnRw + dXJvdHFucm9scG1rbmtpbmtoa2lmamhkaWdkaGZjZmRhZWJfZGJeYV9cYF5bYF1bXlxZXVtZXFpYWlhW + WlhWWVhWV1ZUVlRSVlRSVVNRVFJQVFJPU1FOUk9NUU9MUU9MUU9MUU5MUU5MUE5LT01LT01LT01LT01L + T01LTkxKTUtJTUtJTUtJTUtJTUtJTEpJTEpITEpJTEpITEpIS0pIS0lISkhGSUhGSUhGSUdFSUdFSUdF + SEdESEZESEdER0VDR0ZDR0ZDR0ZDRkVDRkVDRkVDRURCRURCRURCRUNBRURBRUNBREJARENAREJAQ0E/ + Q0E/QkE/QkE/QkE/QkE/QkA+QUA+QUA+QUA+QUA+QUA+QUA+QUA+QUA+QD89QD89QD89QD89QD89QD89 + QD49QD89QD48QD89Pz49QD49QD89QD89QD89QD89QD89Pz49Pz49Pz49Pz49Pz48Pz49Pz48Pz49Pz48 + Pz48Pz49Pz49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD49QD89QT89 + QD89QD49QD89QD89QD49QD89QD49QD49QD89Pz49QD49Pz49Pz49QD48QD48Pz08Pz08Pj08Pj07Pj08 + Pj08Pj07Pj07Pj07Pj07Pjw7PTw6PTw7PTw6PTw6PDs6PDs5Ozo4Ozo4Ozk4Ojk3Ojk3Ojk3Ojk3OTg2 + OTg2ODc2ODc1NzY0NzY0NjU0NjU0NjU0NjQzNTQzNTQyNDQyNDMxMzIxMjIwMjEwMjEvMTAvMTAvMTAv + MTAuMDAuMDAuMC8uMC8tLy4tLy4tLy4tLy4sLi0sLi0sLi0sLi0sLi0sLS0sLSwrLSwrLCwqLCsqLCsq + LCsqLCsqLCsqLCsqLCsqLCsqLCsqLCsqLCsqLCsqLCspKyopKyopKyopKyopKyopKyopKyopKyopKyop + KyopKyopKyopKyopKyopKyopKyopKyooKyopKyopKyopKyopKyopKyopKykoKyooKyooKyooKyopKyop + KyooKyopKyopKiooKiooKyopKyopLCsqLCsqLCsqLCsqLCwqLSwrLSwrLSwrLSwrLi0sLi0sLy4sLy4s + Ly8tMTAvMjIwMzIwNDMyNjUzODY1OTg2Ozk4PDs5Pjw7Pz48QUA+QkE/RUNBR0VDSEdFSkhGTEtJTkxK + UE5MUlBOVFNQVlRSWVZUWlhWXVtYX11aYV9cY2FeZWNgaGZjamhlbGpnb21qcm9sdHJud3RxeHZze3h1 + fnt3gH15gn97hIF+h4SAiIWCi4eEjYmGjouIkI2Jko+MlJCNlZKOl5OQmJWRmpaTnJmUnZmUnpqWn5uX + oJyYoZ6Zop+ao5+bpKGdpaKcpJ+bpaCcpqKepqKdqKOeqKOeqKSfqKSfqKSfqKSfqKSeqKSfp6Oep6Oe + p6OdpqKdpqKdpqKcpqKcpaGcpaGcpaGbpaGbpaGcpaCbpaCbpaCbpaCbpaCbpaCbpKCbpKCapJ+apaCa + pJ+apaCbpKCbpKCao5+apJ+ao5+Zop6Zop2Zop6Zop6Yop2Yop2Yop2Yop2YoJyXoZyXoJuXpaGco56Z + pJ+ao5+ao56Zo5+ao56Zo56Zo56Zo56Zo56Zo56Zo56Zo5+ao56Zo5+ao5+apJ+ao5+ao6Cbo5+bo5+b + o5+bpJ+bpKCbpaCbpaCbpKCbpKCbpaCbpaCbpaGcpaCbpaCbpqGcpqGcpaCbpqGcpqGcpqGdpqGdpqKd + pqKdp6KdpqKdp6Oep6OepqKdpaCco5+bop2ZoJuXn5qWnZiUvru44+Pi4+Li4+Li4+Li4+Li4+Li4uLi + 4uLi4uLh4uLh4uLh4uLh4uHh4uHh4uHh4eHh4eHh4eHg4eHg4eDg4eDg4ODg4ODg4ODg4ODg4ODg4ODf + 4ODf4ODf4N/f4N/f39/f39/f39/e39/e397e397e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e + 3t7e3t7d3t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3d3d3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e + 3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e + 3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7d3t7d3t7d3t7d3t7d3t7d3t3d3t3d3t3d3t3d3t3d + 3t3d3t3d3d3d3d3d3d3d3d3d3t7e397e4N/f4eHg4+Pi5eXl5ubm6Ojo6enp6urq6+vr7Ozs7Ozs6+vr + 6+vr6urq6urq6urq6urp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp + 6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6eno6eno6eno6eno6eno6eno6eno6eno6eno + 6eno6ejo6ejo6ejo6ejo6ejo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6+rq + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vq6+vq6+rq6+rq6+rq6+rq6+rq6+rq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6+vq6+vr6+vr6+vr7Ozs7Ozs7Ozs + 7ezs7Ozs6+rq6unp6Ojo5+bm5eXl5OTk5OTk4+Pj4uLi4eHh4eHh4ODg4ODg4ODg4ODg4ODg4ODg4ODg + 4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg + 4ODg4ODg4ODg4ODg4ODg4ODg4eDg4eDg4ODg4eDg4eDg4eHg4eHg4eHg4eHg4eHg4eHh4eHh4eHh4eHh + 4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4uLh4uLh4uLi4uLi4uLi4uLi4uLi4uLi4uLi + 5OPj5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5eTk5eXk5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl + 5uXl5uXl5ubl5ubl5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5+bm5+bm5+fm5+fm5+fm + 5+fm5+fm5+fn5+fn5+fn4+PipaCbpaGcpqKdpqKeqKOfqKOfqKSfqKOeqKOep6Oep6OepqKdpqOdpqKd + pqKcpaKcpqKcpaGbpaGbpaGbpqCbpKCapaCbpKCapKCapJ+apJ+apKCapJ+apKCapJ+apJ+apKCapJ+a + pJ+apJ+ao56Zo5+Zo56Zo56Zo56Zo56Zop2Yop2YoZ2XoZyXoZ2XoZyXoZyXoZyXoJyXoZyXpaCbo56Z + o56Zo56ZpJ+ao56Zo56Zo56Zo56Zo56Zo56Zo56ao5+ao56Zo56Zop6Zo5+ao56Zo5+ao5+ao6Cbo5+a + o5+ao6CbpKCco5+bpKCbpKCbpKCbpKCbpKCbpKCbpKCbpKCbpaCbpKCbpaCbpaCbpaCcpaCcpaGcpqGd + paGcpqKdpqKdpqKcpqGcpqGcpKCbop6ZoZ2Yn5qWnpmVnJeTwb686urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6+vr7Ozs7u7u8PDw8fHx + 8/Pz9fX19vb2+Pj4+vr6/Pz8/f39/v7+/v7+////////////////////////9/f39PT09fX19fX19fX1 + 9fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+vr6+vr6+vr6+vr6 + +/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/Pz8+/v7+vr6+Pj49vb29fX18/Pz8fHx7+/v + 7e3t7Ozs6+vr6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq5ublo5+apKCbpaGdpaGcp6Kdp6Oep6Oep6OepqKdpqKdpqKdpqKcpqKcpqKc + pqGcpaCbpaCbpaGbpaCbpaCbpJ+apKCapJ+apKCapJ+apJ+apJ+apJ+apJ+apJ+apJ+apJ+ao56Zo56Z + o56Zo56Zo5+Zop6Yop6Yop2Yo56Zop6Yop6Yop2Yop2Yop2Yop2YoZyXoZyYoJyXoZ2YoZuYpaCbo56Z + o56Zo56Zo56Zo56Zo56Zo56Zo5+ao56ao56Zop6Zo56Zo56Zo56Zo56Zo56Zo56Zo5+aop+aop+ao5+a + pJ+ao5+ao56ao56ao56ao5+ao5+apJ+apJ+apJ+apJ+apJ+apKCbpKCbpaCbpKCcpaCcpaCcpaCcpaGc + paGcpqGcpqGcpqKdpqGcpaGcpKCbop6ZoZyYn5qWnZiUnJeTwL686urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6+vr7Ozs7u7u8PDw8vLy9PT09/b2+Pj4+/v7/Pz8/f39/v7+//////////// + /////////////////////////////////////////////////////////////f399PT09PT09fX19fX1 + 9fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6 + +vr6+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/f39/Pz8+vr6+Pj49vb29PT08vLy8PDw7u7u7Ozs6+vr6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq5+fno5+Zo5+apaCdpaCdpqKdpqKdpqKdpqKdpqKdpqKdpqGdpqKdpqGcpqGc + pqGcpaCbpKCapKCapJ+apJ+apJ6apJ6apJ+apJ+ao56Zo56Zo56Zo56Zo56Zop6Yo56Zo56Zop6Yop6Y + op2Yop2Yop2Yop2Yop2Yop2Yop2YopyYop2YoZyXoZ2XoZyXoZyXoZyXoZyXoJyXoJyXoJyWpJ+aop2Y + op6Zo56Zop6Yo56Zop6Zo56Zo56Zo56ao56Zo56Zo56Zo5+ao56Zop6Zop6Zo56aop6Zo5+aop+ao5+a + pJ+apJ+apJ+ao56ao56ao56ao56ao56Zo5+apJ+apJ+apJ+apKCapaCapKCbpaCbpaCcpKCcpaCcpaGc + paGcpqGcpqKdpqKcpqGcpqCcpKCcop6ZoZyYn5qWnZiUnJeTwL286urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6+vr7Ozs7u7u8PDw + 8/Ly9fX1+Pf3+vr6/Pz8/f39/v7+//////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////+fn59PT09PT09fX1 + 9fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6 + +vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f39/Pz8+fn59/f39PT08vLy8PDw7e3t + 7Ozs6uvq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq5+fno56Zo5+apJ+bpKCcpqCcpqKdpqGcpqGdpqGcpqGdpqGcpaCbpaGcpKCb + paCcpaCbpaCbpJ+apJ+apJ+apJ+aop6Yo56Zop6Yop6Yo56Zo56Zo56Zop6Yop2Yo56Zop2Yop6Yop2Y + oZyXoZyXoZ2YoZyXoJyXoJuWoJuWoZyXoJyWoZyXoJuWoJyXoJyWoZyXoJuWn5uWn5uXoJuWpKCaop6Z + o56Zop6Zo56Zo56Zo56Zop6Zo56Zo56Zo56Zo56Zo56aop6ao56ao56ao56Zop6ao5+aop+aop+ao5+a + pJ+bpJ+apJ+ao56ao56ao56ao56ao56ao56ao56apJ+bpJ+bpJ+apJ+bpJ+bpaCbpKCcpaCcpKCcpaGc + pqGcpqGcpqGdpqGdpqGcpaCbo6Cbop6ZoZyYn5uWnJiUm5eSwb686+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr7Ozs7u7u8fHx8/Pz9vb2+Pj4+/v7/f39/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+9fX19PT09PT0 + 9fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6 + +vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/f39+vr6+Pj49fX18/Pz8PDw7u7u7Ozs6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6Ojnop2Yo56ZpJ+bpKCbpaGbpaGbpaGcpqGcpaGcpaGcpaGcpKCbpaCbpKCb + pJ+apJ+apKCbo56Zo56Zo5+ao56Zo56Zop6Zop6Zop6Yop6Yop6Yop2Yop2Yop2Yop2YoZ2Xop2YoZ2Y + oZyXoZyXoZyXoJyWoJyXoJyXoJyWn5uWoJuWoJuWoJuWoJuWoJuWoJuWoJuWoJqWn5uWoJuWpKCbop6Z + o56aop6Zop6Zo56Zo56ao56ao56ao56Zo5+ao56ao56Zo56Zo56ao5+ao56ao5+aop6aop+bo6CbpKCb + pKCbpKCbpKCbpJ+bpJ+bpJ+bo56bpJ6bpJ+bpKCbo5+apJ+bpKCapKCapJ+bpJ+cpJ+cpKCbpJ+cpaCc + paCbpqGcpqGcpqGcpaCcpKCbo5+boZ2ZoJuXnpuWnZiUnJeSwL687Ozs7Ozs7Ozs7Ozs7Ozs7Ozs6+zs + 7Ozs7Ozs6+zs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ovs7Ozs7Ovs7Ozs7Ovs7Ozs6+zs + 7Ozs7Ozs6+zs6+vs6+zs6+zr6+vs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozr7Ozs7Ozr7Ozs6+zs6+zs7Ozr7Ozs + 7Ozs7Ovr7Ozr7Ozr6+vs7Ozs7Ozs7Ovs7Ozr7Ovr7Ozs7Ozs7Ovs7Ovr7Ozr7Ovr7Ozs6+zs6+vs7Ozs + 7Ozs7Ozs7e3t7+/v8vLy9PT09/f3+vr6/Pz8/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////+vr69PT09PT0 + 9PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5 + +vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz8+fn59/f39PT08fHx7+7u7e3s7Ozs6+zs6+zs7Ozs + 7Ovs6+zs6+zr7Ozs7Ozr7Ozs7Ovs7Ozs7Ovr7Ozr6+vs7Ozs7Ozs7Ozs7Ozs7Ovs7Ozs6+vs7Ozs7Ozs + 6+zs6+zr7Ozs7Ozs7Ozr7Ovs7Ozs7Ozs7Ozr6+zs7Ozr7Ozs7Ovr7Ovs7Ozs7Ozs7Ozr7Ovs7Ozs7Ozs + 7Ozs7Ozr7Ozr7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs6+zs7Ozs7Ozs7Ozs7Ovs7Ozs7Ovs7Ozs7Ozs7Ozs + 7Ozs6+zs7Ozr7Ozs7Ozs6OjooZyXoZ2Yo5+aop+apKCbpKCapaCbpaCbpaGbpaCbpKCbpaCbpJ+apJ+a + pKCbo5+apJ+ao56Zop2Yo5+aop2Zop6Yop2Yop6ZoZ6Yop2Yop2YoZyXop2YoZ2YoZyXoZ2YoZ2YopyX + oZyXoJyXoZ2XoJyWoJuWoJyXoZyXoZyXoJyXoJyXoJuWoJuWoJuWoZuWoJyWoZyXoJyXn5uWpaCco56a + o56ao5+ao56Zo56Zo5+ao56Zo56ao5+apJ+apJ+apJ+apJ+ao5+ao5+ao5+ao5+bpKCbpKCbpKGcpKCb + pKCbpaGcpKCcpKCbpaCcpKCcpJ+cpaCcpKCcpJ+cpaCbpKCbpKCbpJ+bpKCbpKCbpJ+bpKCcpKCcpaCc + pqGcpqGcpqGcpqGcpaCcpKCbo5+bop6ZoJyXn5qWnJmVm5eTwL687Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7e3t7u7u8fHx9PT09/f3 + +vr6/Pz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9vb29PT0 + 9PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5 + +vr6+vr6+vr6+vr6+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/Pz8+fn59vb28/Pz + 8PDw7u7u7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs6ejooZyWoZyXop6Zop+ao5+apKCbpaCbpaCbpJ+apJ+apKCbo6CbpJ+ao5+a + op+ao5+ao5+aop+aoZ2Yop6aop6ZoZ2Yop2YoZ2Yop2Yop2YoZ2YopyXop2YoZ2YoZyYoZyXoZyXoZ2X + oJyXoZyXoZyXoZyXoJyWoJuWoJuWoJuWoJuWoJuWoJuWoJuWoJuWoJuWoJuWnpqVn5qVn5uWpqGdo5+b + pJ+bpJ+bo56apJ+apJ+apJ+apJ+ao56apJ+bpKCbpKCbpKCbpJ+apKCbpKCbpKCbpKCcpKCcpKGcpaGc + paGcpaGcpKCcpaGcpaGcpaGcpaGcpKGcpKCcpaCcpaCcpaCbpaCbpaCbpaCbpKCbpaCcpaCcpaCcpaGc + pqGcpqGcpqGcpqGcpaCbpaGco6Cbop6ZoZ2Yn5uWnpmVnJmUwcC97e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7+/v8fHx9PT09/f3+/v7/f39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz89PT0 + 9PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5 + +fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/Pz8+vr69/f39PT08fHx7u7u7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7e3t7e3t6enpoJuWoJyXop6Zop6Zo5+ao5+apKCbpJ+apKCapJ+apJ+ao56Zo5+ao56Z + o56Zop6Zop6aop6Yop2YoZ2YoZ2YoZ2Yop2YoZ2ZoZ2YoZyYoZyYoZ2YoZyYoJyYoZyXoJyXoZyXoZyX + oJuWoJuWoJuWn5uVoJuWoJuWoJqWn5qVoJqWn5qVn5qVnpqUn5qVn5qVn5qVn5qVn5qVn5qVpqGepJ+b + o5+bpJ+cpKCbpKCbpaCcpaCbpaGcpaCbpaCbpaCcpaCbpaCbpKCbpKCbpaCbpaCbpaCcpKGcpaGcpaGc + paGcpaGcpaGcpaGcpaGcpaGcpaGcpaGcpaGcpaCcpaGcpaCcpaCcpaCbpKCbpaCbpaCcpaCbpaGbpaGc + paGcpqGcpqGcpaCbpaCbpaCbo6Cbop6ZoZyYoJyXnpmVnZiTwsC97u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u8PDx8/Pz9vb2+vr6/f39/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////9/f3 + 9PT09PT09PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5 + +fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/Pz8+fn59vb28/Lz8PDw7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u6urpn5uWoJyXop6Zop6Zo5+ao5+apKCbpKCbo5+apJ+apJ6apJ+ao56Zo56Z + op6Zo56Zop6Zop6Yop2Yop2YoZ2YoZyYoZ2YoZyYoJyXoJyYoJyYoJuYoJyXoJuXoJuXoJuXoJuXoJuW + oJuWoJuWn5qWoJuWoJqWn5qVn5qVn5qVn5qVn5qVn5qVn5qVnpqVnpqVnpqUn5qVnpmUnpmUpqKepKCc + paCcpJ+cpaCcpKCcpqGcpaCcpaGcpaCbpaGcpaCbpaCbpqGcpaCbpaCbpaCbpaCbpKCbpKGcpKGcpaGc + pqGcpqGcpqGcpqGcpqKcpqGcpqGcpqKcpaGcpKGcpKGcpKCcpKCcpKCcpKCcpJ+cpKCbpaCcpaCbpaCc + paGbpaGbpaGcpqGcpaGbpaCbo6Cbop6ZoZyYoJuWnpmVnZiTwsC+7+7v7+/u7+/u7u7u7u7u7+7v7u7u + 7u7u7u/u7u7u7u7v7u7u7u7v7u/u7+/u7u7u7u7u7+7u7u/u7+7u7u7u7u/u7u/u7+/u7u7u7+7v7u7v + 7+/u7+/u7u/u7u7u7u7u7+7u7u7u7+/u7u7v7u7u7u7v7u7u7+7v7u7v7u7u7+/v7+7v7u7u7u7u7+/v + 8fHx9PT09/f3+/v7/f39//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + 9PT09PT09PT09PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4 + +fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/f39+vr69/f38/Pz8PDw7u7v7+/v + 7u7u7u7u7u7u7u7u7u7u7+7u7u7v7u/v7u7v7u7v7+/v7u7u7u/v7u/u7u7u7u/v7+7u7+7u7+/v7+/u + 7u7u7u7v7u7u7u7v7+7v7u7u7u/u7+7u7u/u7u7v7u7v7+/u7+/v7+7v7u/u7u/v7u7v7u7u7+/v7+7u + 7u/u7u7u7u/v7u/u7+7u7Ovrn5qVoJuWoZ6Yop6Zo56Zo56ZpJ+apJ+apJ+apJ+ao5+ao56Zo56Zop2Y + o56Zop2Yo56Zop2Yop2Yop2Yop2YoZyXoJyXoJyXoJyXoJyXoJuXoJyXn5uWn5uXoJuWn5qWoJqWn5uW + n5qWn5qWn5qWn5qVn5uVn5qVn5qUn5qVnpqVnpmUnpqVnpqVnpqVnpmUnpmUnpmUnpmUnZmUpqKepKCc + pKCbpaCdpqCdpaGdpqCcpqGcpqGcpaGcpaCbpqCcpaCbpqGcpaCbpaCbpaCbpKCbpKCbpaCbpaGcpaCb + pqGcpaGcpqGcpqGcpaGcpaGcpaGcpaGcpaGcpKGcpKGcpKGcpKCco5+cpKCcpKCcpKCcpaCcpaGcpaGc + paGbpaGcpaGcpqKdpaGcpKCbo5+aop6ZoZyXn5uWnZmUnJiTw8C97+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8fHx9PT09/f3+/r6/f39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + +Pj49PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4 + +Pj4+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////f39+vr6 + 9vb28/Pz8PDw7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7Ozsn5qVoJqWoZ2YoZ2Yop2Yo56Zo56Zo56Zo56Zop2Yop6Zop2Yop6Zop6Y + op2YoZ2Yop2YoZ2YoZ2YoZyYoZyXoZyXoZyXoJyXoJyXoJuWoJuWoJyXoJuWn5qXoJuWoJqWoJuWoJuW + n5qWn5uWn5qWn5qVnpqVn5qVn5qVnpqVnpqVnpqVnpqVnpqVnpqVnpqVnpmUnZmUnpqVnpqVp6OepaGb + paGdpaCdpaGdpaGcpaGdpaCcpaCcpaCcpaCcpaGcpaCcpaCbpaCbpaCbpaCbpaCcpaCcpaGcpaGcpaGc + paGcpqGcpaGcpqGcpqGcpqGcpaGcpaGcpaGcpaGcpaGcpKGcpKGcpKCcpKCcpKCdpKCcpaGdpKCcpaGc + paGcpaGcpaGcpaGcpaGcpaCbo5+aop6ZoJyXn5uWnpmUnJeSwsC98PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8vLy9vb2+fn5/Pz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+9PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4 + +Pj4+fn5+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/Pz8+Pj49fX18vLy8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw7e3snpmUn5qVoJyXoJyXop2Yop2Yo56Zop6Zop6Zop2Yop2Yop6Yop2Yop2Y + op2YoZ2Yop2YoZyXoZyXoZyXopyXoJyXoZyXoJuWoJyWoJuWn5uWoJuWoJyXn5yXoJuWoJuWoJuWn5uX + oJuWoJuWn5qWn5qWnpqVn5qVnpqVnpqVnpqVn5qVnpqVn5qVnpqVnpqVn5qVnpqVnpmUnpqVqKOepqGc + paGcpaGcpKGcpKGcpKCcpKCcpaCcpaCcpaCcpKCbpaCcpaGcpKCcpaCbpKCbpKGcpaGcpqGcpaGcpaGc + pqGcpqGcpaGcpaGcpaGcpqGcpqGcpqGcpaGcpaGcpaGcpKGcpKGcpaGcpKCcpKCdpaGdpaCcpaGcpaGc + paGcpaGcpaKdpqKdpaGcpKCbo6Cbo56ZoJyXn5uWnZmUnJiTw8C+8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8/Pz9vb2+vr6/f39//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /Pz89vb28/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb2 + 9vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8+/v7+fn59vb28/Pz8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx7u3tnpiTnpmUn5uWoJyXop2YoZyXop6Zop6Yop2Yop2Yop2Yop2Yop2Yop2Y + op2Yop2Yop2Yop2YoZyXoZyXoZyXoZyXoJuWoJyWoJuWoJuWn5uWoJuWoJuWoJuWoJyWoJuWoJyXoJyX + n5uXoJuWn5uWn5qWnpqVnpuWnpqWn5qVnpqWnpqWnpqVnpqVnpmUnpqVnpqVn5qVnpqVnpqVp6OepaGc + pqGcpqKcpaGcpaGcpaGcpaGcpKCcpKCcpKCcpaCcpKCcpKCcpKCbpaCbpKCbpKGcpKGcpaGcpaGcpqGc + paGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpaKdpaGdpaGdpaKepaKepaKdpqKd + pqKdpqKdpqKdpqKdpqKcpaGcpKCbop+aoZ2YoJyXnpqVnZiTxMG+8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8/Pz9vb2+vr6/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4uLi0dHR0dHR0dHR0dHR1NTU7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u8PDw8vLy + 8vLy8vLy8vLy8vLy8vLy7u7unZmUnpqVn5yWoJyXoZyYoZyXop2Yop2Yop2Yop2Yop2Yop2Yop2Yop2Y + oZ2Xop2YoZyXoZ2YoJuWoZyXoJyWoJuWn5uWoJuWoJuWoJyWn5uVn5uVoJuWn5qWoJuWoJuWoJuWoJuW + oJyXoJuWn5uWn5uXoJuWn5uWn5qVn5qWn5uWnpqWn5qVn5qWnpqVn5qWnpqVnpmUnpqVnpqVqKOepaGc + pqKdpqKcpqKdpaGcpqKdpaGcpaGdpaGcpaGcpaCcpKCcpaCcpKCcpKCcpKCbpKGcpaGcpaGcpaGcpqGc + pqGcpqGcpqGcpqGcpqGcpqGcpqGcpqGcpqKcpqGcpqGcpqKdpqKdpqKdpqKdpaKepaKepaKepqKep6Ke + p6Kep6KdpqKdp6KdpqKdpqKdpaCco5+aoZ2YoJyXnpqVnpmUxMK/8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 9fX1+Pj4/Pz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7+/v7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u8fHx8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz7+/unZqVnpqVn5yXoJyXoZ2YoZyYoZ2YoZyYoZ2YoZ2YoZyXoZyXoZyXoZyX + oZ2YoZyXoZyXoJyXoJuWoZyXoJyWoZyXoZyXoZyXoJyWoJuWoJuWoZyXoJyWoJuWoJyWoJuWoJyXoJuW + oJyXoJuWoJyXoJyXn5uXoJyXn5uXn5uXn5qVnpqWn5qWn5qWn5qWn5uWn5qWnpqVn5qVnpqVp6OepqGc + paGcpqKdpqKdpqKdpqKdpaGdpqGcpaGcpaGdpaGdpaGdpaGdpaGdpaCcpaGcpKGcpaGcpaGcpaGcpaGc + pqGcpqGcpaGcpaGcpqGcpqKcpqKdpqKdpqGcpqKdpqKdp6KdpqKdpqKdpqKdpqKep6Oep6Oep6Ofp6Oe + p6Oep6OeqKKep6Kdp6KdpqKdpaCcpKCbop2YoZyXoJuWnpqVxcK/9PT09PT09PT09PT09PT09PT09PT0 + 8/T09PTz9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09vb2+vn6/f39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw7Ozs6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo8PDw8PDw7+/v + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u8vLy9PT0 + 9PT09PT09PT09PT09PP08O/vnZqVnpqVn5yXoJyXoZyXoZ2Yop6YoZ6ZoZyXoZyXoZyYoZ2YoZ2YoZyX + oZyXoJyXoZyXoZyXoJyXoJyXoJyXoJuWoJyXoJyXoJuWoJuWoJuWoJuWoJyXoJyWoJuWoJuWoJuWoZyW + oJuWoJyXoJyXoJuWoJyXoJuWoJuWoJuWn5uXoJuXn5uXn5uXn5qWn5qWn5qWn5qWn5uWn5qVqKOepaGc + pqKcpqKdpqKdpqKdpqKdpqKdpqKdpqKdpqGdpaGdpqKepqGdpaGdpqGcpaCcpaCcpaGcpqGcpqGdpqKd + pqGcp6KdpqGcpqKdpqKdpqKdp6KdpqKdp6Oep6Oep6Oep6Oep6Oep6OeqKOep6Sfp6SeqKSgp6Ofp6Of + qKOeqKOep6KeqKOep6Odp6KdpaCcpJ+ao56Zop2YoJuXnpmUxcK/9PT09PT09PT09PT09PX09PX19PT0 + 9PT09PT09PT19PT09PT09PX09PT09PT09PT09PT19PT09PX09PT19PX09/f3+vr6/v7+//////////// + /////////////////////////////////////////v7+/v7+/f39/f39/Pz8/Pz8+/v7+/v7+vr6+vr6 + +fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+vr6+vr6+/v7+/v7/Pz8/f39/f39/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwxsbGoqKioqKioqKioqKioqKioqKioqKioqKiqamp8PDw8PDw8PDw + 8PDwycnJ5ubm7u7u3d3dtLS0uLi45OTk7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u8vLy9fT0 + 9PX09PT09PT09PT09fT08PDwnpqVnpqVoJyXoJ2YoZ2YoZ6Zop6Zop6Zop2YoZ2Yop6Zop2Yop2YoZ2Y + oZyXoZ2YoZyYoZyYoZ2YoZ2YoZyXoZyXoZyXoJyXoJuWoZyWoJuXoJuWoJyWoJuWoJuWoJuWoJuWoJuW + oJuWoJuWoJuWoJyXoJuWoJyXoJyWoJuWoJuWoJyXoJuXoJuXoJuWn5uXn5uWoJuWoJuWn5qWqKSfpqGc + p6Kdp6KdpqKdpqKdpqKdpqKdp6OepqOepqOepqGdpqKepqGdpqGdpqGdpqKdpaGdpqGdpqGdpqKdpqKd + p6KdpqKdpqKdpqKdpqKdpqKdpqKepqOep6Oep6Oep6Oep6Oep6Oep6OeqKOeqKOeqKSfqKSfp6OfqKOf + qKOfqKOeqKOeqKOepqGdpqKdpaCcpaCbo56Zop2YoJyXn5qVxsPA9fX19fX19fX19fX19fX19fX19fX1 + 9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19/f3+vr6/f39//////////////////////// + /////v7+/v7+/f39/Pz8+/v7+fn5+Pj49vb29PT08/Pz8fHx8PDw7u7u7e3t7Ozs6urq6enp6Ojo5+fn + 5ubm5eXl5OTk4+Pj4+Pj4+Pj4uLi4uLi4uLi4uLi4+Pj5OTk5OTk5ubm5+fn6Ojo6urq7Ozs7u7u8fHx + 9PT09vb2+fn5+/v7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uoKCgtLS07+/v7+/v7+/v + 7+/vubm5l5eX7u7u7+/v7+/v7+/v4eHhg4OD3t7e7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw5OTkl5eX09PT8PDw8PDw8PDw8PDw8PDw8PDw8PDw7e3tl5eXycnJ8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw5OTkpqamgYGBdXV1fn5+n5+f3t7e8PDw + 8PDw8PDw8PDw8PDw7e3t6+vr8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw1NTUkpKS5OTk8PDwvb29 + ioqK7+/v8PDw8PDw8PDw6urqsbGxiIiIdnZ2dnZ2iIiIsLCw6urq8PDw8PDw8PDw7+/vqampp6enp6en + p6enp6enp6enrKys7e3t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwzMzMn5+fn5+fpaWlqqqqqqqqqqqqqqqqqqqqsbGx8PDw8PDw8PDw + 8PDw3NzcwcHB7u7uq6ur39/f09PTuLi47u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u8/Pz9fX1 + 9fX19fX19fb19fX19fX18vLyn5uWn5yXoJyXoJ2YoZ2Yop6Zop6Zop6Zop6Zop6Zop2Yop2YoZ2Yop2Y + op2YoZ2YoZyXoZ2YoZyXoZyXoZyXoJuWoZyXoZyXoJyWoJyWoJyWoJuWoJuWoJyWoJuWoJuWoJuWoJuW + oJuWoJuWoJuWoJuWoJuWoJuWoJyXoJuWoJuWoJyXoJuWoJuWoJuXn5uXoJyXoJuXn5qWoJqWqKSfp6Kd + pqKdp6Kdp6Kdp6Kdp6Oep6OepqOepqOepqKepqOepqKep6OepqOepqKepqKepqKepqKepqKep6Oep6Oe + p6Oep6Kep6Oep6Oep6Oep6Oep6Oep6Sep6Oep6OeqKOeqKOeqKOep6OeqKOeqKSfqKOep6OfqKSfqKOf + p6Ofp6OeqKOep6Kep6Kdp6KdpaCcpaCco56Zop6YoJyXoJuXxsTB9vb29vb29vb29vb29vb29vb29vb2 + 9vb29vb29vb29vb29vb29vb29vb29vb29vb2+fn5/Pz9/////////////////////v7+/f39/Pz8+vr6 + +Pj49vb29PT08vLy8PDw7u7u7Ozs6urq6Ojo5ubm5OTk4uLi4ODg3t7e3Nzc2tra2NjY1tbW1dXV09PT + 0tLS0NDQz8/Pzs7Ozc3NzMzMy8vLy8vLysrKysrKysrKysrKy8vLy8vLzMzMzc3Nzs7O0NDQ0tLS1NTU + 1tbW2dnZ3Nzc4ODg5OTk6Ojo7Ozs8fHx9vb2+vr6/Pz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uxcXFPDw81NTU7+/v7+/v7+/v + 7+/vioqKSkpK7e3t7+/v7+/v7+/v7u7ub29vd3d37+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw + 8PDw8PDw2NjYNzc3tLS08PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqODg4n5+f8PDw4uLi3d3d3d3d3d3d + 3d3d3d3d3d3d3d3d3d3d3d3d4uLi8PDw8PDw8PDw8PDw3d3dTU1NSUlJfHx8ioqKgICAUFBQQ0NDzs7O + 8PDw8PDw8PDw8PDwra2tXFxc7e3t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwubm5NTU12NjY8PDwlpaW + PDw87u7u8PDw8PDw7+/vbW1tPj4+cnJyiIiIiIiIc3NzPz8/a2tr7u7u8PDw8PDw7e3tOTk5RUVFU1NT + U1NTU1NTREREPz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7uvLy8n5+frKys5ubm8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw7+/vurq64ODgqqqq7u7u5+fnr6+v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v9PT09vb2 + 9vb29vb29vb29vb29vb28/PzoJyXoZ2YoJ2YoZ2Yop2Yo56Zo56Zo56Zo56Zop6Zop6Zop6Zop6Zop2Y + op2YoZ2Yop2Yop2YoZ2Yop2YoZyXoZyXoZyXoJyWoZyXoZyXoZyXoJyWoJyWoJuWoJuWoJuWn5qVoJuW + oJuWoJuWoJuWoJuWoJyXoJuWoJuWoJyXoJuWoJuWoJuWoJuXoJyXoJyXoJuWoJuXoJuXoJuXqaSfp6Oe + p6KdqKKdp6Kdp6Kdp6OeqKOep6OeqKOep6OepqOepqOepqOepqOepqKepqKepqKfpqKfp6Oep6Oep6Oe + qKOep6Oep6Sfp6Oep6OeqKOeqKSfqKOeqKOeqKOeqKSfqKSfqKSfqKOeqKOep6OeqKOeqKSfqKSfqKOf + p6OfqKOep6Oep6Oep6KdpqKdpqGcpaCco56Zop6ZoZ2YoJuXx8TC9/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f3+Pj4+/v7/v7+/////////////v7+/f39+/v7+fn59/f39fX18vLy8PDw + 7u7u6+vr6enp5ubm5OTk4eHh39/f3Nzc2dnZ19fX1NTU0tLSz8/Pzc3NysrKyMjIxsbGxMTEwsLCwMDA + vr6+vLy8urq6ubm5uLi4tra2tbW1tLS0s7OzsrKysrKysbGxsbGxsbGxsbGxsrKys7OztLS0tbW1t7e3 + uLi4u7u7vr6+wcHBxMTEyMjIzMzM0dHR1tbW3Nzc4uLi6enp8PDw9vb2+vr6/f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u7e3tbGxsa2tr7u7u7+/v7+/v7+/v + 7+/vioqKSkpK7e3t7+/v7+/v7+/v7+/vu7u7ODg40tLS7+/v7+/v7+/v7+/v7+/v7+/vy8vLnZ2dwcHB + 7+/v8PDw2NjYNzc3tLS08PDw4eHh3Nzc3Nzc3Nzc3Nzc5eXl6urqODg4n5+f8PDwZmZmNzc3Nzc3Nzc3 + Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3bW1t8PDw8PDw8PDw8PDwsbGxNjY20NDQ8PDw8PDw8PDw39/fPj4+kJCQ + 8PDw8PDw8PDw8PDw4uLiPz8/vb298PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwubm5NTU12NjY8PDwlpaW + PDw87u7u8PDw8PDw7OzsTU1NYWFhwMDA1dXV1dXVwMDAY2NjSkpK6+vr8PDw8PDw7e3tOTk5kZGR3d3d + 3d3d3d3dkJCQPz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7ut7e3n5+frKys6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw39/fvr6+vr6+vLy8tbW1zMzM8PDw8PDw7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v9PT09/f3 + 9/f39/f39/f39/f39/f39PTzn5uVoJyXoZ2Xop2Yop2Yop2Yo56Zop6Zo56Zop6Yop2Yop2Yop6Yop2Y + op2YoZ2YoZ2YoZyXop2YoZyXoZyXoZyXoZyXoZyXoJuWoZyXoJuWoJuWoJuWoJuWn5uWoJuWoJuWoJuW + oJyXoJyXoJyXoZyXoJuWoJyXoJyWoJyXoJuWoJuWoJuWoJuWoJyXoJuWoJyXoJuWoJuWn5uWqaSfqKOe + qKOeqKOep6OeqKOeqKOeqKOeqKOep6OeqKOep6Oep6Oep6OepqKdpqKepqKepqKfpqOfp6Ofp6Kep6Oe + p6Oep6Oep6Oep6Oep6OeqKSfqKSfqKSfqKSfqKSfqKSfqaSfqKSfqaSfqKOeqKSfqKSfqaSfqaWgqKSf + qKSfqKSfp6Ofp6Oep6Kep6Kdp6KdpaGcpJ+apJ+aoZ6ZoZyXx8XC+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+fj5/Pz8/v7+/////////v7+/Pz8+vr6+Pj49vb28/Pz8fHx7u7u7Ozs6enp5ubm + 4+Pj4ODg3d3d29vb2NjY1dXV0tLS0NDQzs7OzMzMysrKyMjIxsbGxMTEwsLCwMDAv7+/vb29vLy8urq6 + uLi4tra2tLS0s7OzsrKysLCwrq6urKysq6urqampp6enpqampKSkoqKioaGhn5+fnp6enZ2dnZ2dnZ2d + nZ2dnp6eoKCgoqKipKSkqKiorKyssLCwtLS0urq6v7+/xsbGzc3N1dXV3t7e5+fn8PDw+Pj4/Pz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7u7u7u7u7u7u7u7u7u7u7u7u7u7u39/fOjo6paWl7u7u7+/v7+/v7+/v + 7+/vioqKSkpK7e3t7+/v7+/v7+/v7+/v6OjoQEBAl5eX7+/v7+/v7+/v7+/v7+/vsbGxOTk5UlJSOTk5 + lpaW8PDw2NjYNzc3tLS08PDwaGhoNjY2NjY2NjY2NjY2ioqK6urqODg4n5+f8PDw3Nzc1dXV1dXV1dXV + 1dXV1dXV1dXV1dXV1dXV1dXV3d3d8PDw8PDw8PDw8PDw39/fVFRUREREbm5ueHh4cXFxSkpKSEhIz8/P + 8PDw8PDw8PDw8PDw8PDwfX19c3Nz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwubm5NTU12NjY8PDwlpaW + PDw87u7u8PDw8PDw8PDwyMjIaWlpQ0NDOzs7Ozs7Q0NDaGhox8fH8PDw8PDw8PDw7e3tOTk5NTU1Nzc3 + Nzc3Nzc3NTU1Pz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7OzssbGxn5+fr6+v6+vr8PDw8PDw8PDw8PDw8PDw8PDw + 0tLSvLy82NjYu7u74eHh2tra3t7e7+/v8PDw8PDw8PDw8PDw7+/v7+/v7+/v7+/v7+/v7+/v9fX1+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj49PT0npqUoJyWoZ2XoZ2XoZ2XoZ2Xop2Yop2Yop2Yop2Yop2YopyXoZ2YoZ2Y + oZ2YoZ2YoZ2YoJ2YoJyXoZ2YoJyXoJyXoJyXoJuWoJuWn5uWn5uWoJuWn5uWoJuWoJuWoJyWoJuWoJyX + oJuWoJyXoJyXoJyXoJyXoJyXoJyXn5uWoJuWoJuWoJuWoJuWoJyWoJuWoJuWoJyXoJuXoJyXqqWgqKOe + qKOeqKOeqKOep6OeqKOeqKSfqKOeqKOep6Oep6Oep6Oep6OepqOep6OepqOepqOfpqKfpqKfp6Ofp6Of + qKSgqKOfp6OeqKSeqaSfqKSeqaSfqaSfqKSfqKSfqKSfqaSfqKSfqKOeqaOeqKOeqKSfqKWgqKSgqKSf + qKSfqKSgqKSfqKSfp6Oep6Oep6OepqGdpaCbpKCao5+Zop6ZyMbD+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+fn5/Pz8/////////v7+/f39+/v7+fn59/f39PT08fHx7+/v7Ozs6enp5ubm4+Pj4ODg3t7e + 29vb2dnZ19fX1dXV09PT0tLS0NDQzs7OzMzMy8vLycnJyMjIxsbGxMTEwsLCwMDAv7+/vb29vLy8urq6 + uLi4tra2tLS0s7OzsrKysLCwrq6urKysq6urqampp6enpqampKSkoqKioKCgn5+fnZ2dm5ubmpqamJiY + lpaWlJSUk5OTkpKSkJCQkJCQkJCQkpKSlJSUmJiYnZ2do6OjqqqqsbGxubm5wsLCzc3N2NjY5OTk7+/v + +Pj4/f39//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS7+/v7u7u7u7u7u7u7u7u7u7u7u7uwcHBMzMzyMjI5OTkWFhYUVFRUVFR + UVFRQUFBNzc3UFBQUVFRUVFRUVFRs7Oz7u7uYGBgbGxs7+/v7+/v7+/v7+/v5ubmR0dHhoaG7u7uoKCg + OTk519fX2NjYNzc3tLS08PDwZWVlYWFh0NDQ0NDQTU1NiIiI6urqODg4n5+f8PDw8PDw1tbWjo6Ojo6O + jo6Ojo6Ojo6Ojo6Ojo6O1dXV8PDw8PDw8PDw8PDw6urq5ubm3d3dqqqqhoaGdHR0g4ODoqKi2dnZ5ubm + 6Ojo8PDw8PDw8PDw8PDwxMTEPDw83t7e8PDw8PDw8PDw8PDw7u7uaGhoUlJSSEhIMzMzTk5OUlJSQ0ND + NDQ0UVFRUlJShoaGgICAgICAf39/eHh4cnJycnJyeHh4f39/gICAgICA2NjY8PDw7e3tOTk5i4uL0tLS + 0tLS0tLSioqKPz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw6enpq6urn5+ftbW17u7u8PDw8PDw8PDw8PDw19fX + tLS03d3drq6u09PTurq68PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7+/v7+/v9fX1+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj49fX1n5uWn5yXop2YoZyXoZ2XoZ2Xop6Yop2YoZ2Yop2Yop2Yop2YoZ2Yop2Y + oZ2YoZ2YoZ2YoZ2YoZyXoJyXoJyXn52YoJyXn5uWn5yXoJuWoJuWn5yXn5yXoJyXoJuWoJyXoJyXoJ2Y + oJ2YoZyXoJyWoJuWoJyXoJuWoJuWoJyXn5uWoJyXn5yXoJuWoJuWoJyXoJuWn5yYoJyWoJyYqqWgqKOe + qKOeqKOeqKOeqKSfqKOeqKOep6OeqKSeqKOeqKOeqKOeqKOeqKSep6Sfp6SfpqOfp6Ogp6Sgp6Ogp6Sg + p6Sfp6SfqKSfqKSfqKSfqKSfqKSfqaSfqaSfqKSfqKSfqKSfqKSfqKOeqKSfqKSfqKWgqKSfqKWgqaWg + qaWgqKWgqKSgqKSgp6Ofp6Ofp6OfpqKdpaCcpKCbpJ+aop6ayMbE+fn5+fn5+fn5+fn5+fn5+fn5+fn5 + +fn5/Pz8/////////v7+/f39+/v7+fn59vb29PT08fHx7u7u6+vr6Ojo5ubm4+Pj4eHh39/f3t7e3Nzc + 2tra2NjY19fX1dXV09PT0tLS0NDQzs7OzMzMy8vLycnJyMjIxsbGxMTEwsLCwcHBv7+/vr6+vLy8urq6 + ubm5t7e3tbW1tLS0srKysLCwrq6ura2tq6urqampqKiopqampKSkoqKioaGhn5+fnZ2dm5ubmpqamJiY + kpCNioR+hHpyfnJoeWtgdmhbdGVYcmRWc2VZdGhdd25lfHVvhIB9jo2NlZWVnp6ep6ensrKyvr6+y8vL + 2tra6enp9fX1/Pz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4ODgz8/Pz8/Pz8/Pz8/P0tLS8PDw7u7u7u7u7u7u7u7u7u7u7u7urq6uNzc31tbW6urqu7u7uLi4ubm5 + ubm5ubm5ubm5ubm5ubm5uLi4ubm52tra7u7ucXFxXFxc7u7u7u7u7u7u7u7uu7u7NjY2z8/P7+/v4uLi + PDw8oqKi19fXNzc3s7Oz8PDwZWVla2tr8PDw8PDwUlJSiIiI6enpODg4n5+f8PDw8PDwvr6+MzMzY2Nj + bGxsbGxsbGxsbGxsbGxsy8vL8PDw8PDw8PDw8PDwgoKCPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8 + X19f8PDw8PDw8PDw8PDw7OzsVlZWm5ub8PDw8PDw8PDw8PDw7u7uq6uroKCgoKCgoKCglpaWkJCQm5ub + oKCgoKCgoKCgsLCwfHx8fHx8fHx8fHx8SkpKSEhIfHx8fHx8fHx8fHx819fX8PDw3d3dioqKpaWl6Ojo + 8PDw8PDwr6+vbW1t6urq8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw4+PjpaWln5+fvr6+7+/v8PDw8PDw8PDwxsbG + zc3N8PDwxsbG0dHRvr6+3t7e8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7+/v7u7u9fX1+fn5 + +fn5+fn5+fn5+fn5+fn59vX1n5uWoJyXoZyXoZ2XoZyXoZ2Xop2Yop2Yop2Yop2YoZ2YoZ2Yop2YoZ2Y + oZ2YoZ2Yop6Zop6Zop6ZoZ2YoZ2YoJyXoJyXoJyXoJyYoJ2YoJyXoJ2YoZ2YoZyXoZyYoZ2YoZyYoZ2Y + oZyYoJyYoZ2YoZyXoZyXoJyXoJyXoJyXoJyXoJyXoJyXoJyXoJyXoJ2YoZyXoZ2YoZyXoZyXqqWgqKOe + qKOeqKOeqKSeqKOeqKSep6OeqKOeqKOep6OeqKOeqKOep6OeqKSeqKSfp6Ofp6Ofp6Sgp6SgqKSgqKSg + qKSgqKSgqKSgqKSfqKSfqKSfqKSfqaSfqKSfqKSfqaSfqaSfqKSfqKOeqKOeqKSfqKSfqKWgqaWgqKWg + qaWgqaWgqKWgqKWgqKSgp6OgqKOfpqKepaGcpaCbpKCbpKCbycfF+vr6+vr6+vr6+vr6+vr6+vr6+/v7 + /v7+/////////f39/Pz8+vr69/f39fX18vLy7+/v7e3t6urq6Ojo5ubm5OTk4+Pj4eHh39/f3t7e3Nzc + 29vb2dnZ2NjY19fX1tbW1dXV1NTU09PT0tLS0dHR0NDQz8/Pzs7Ozc3NzMzMy8vLysrKycnJyMjIx8fH + xsbGxcXFxMTEwsLCwcHBv7+/vr6+vLy8urq6uLi4tra2tLS0srKysLCwra2tpKKfkYd+gG9gdF1Ia082 + ZkguZUguZUcuZEcuY0cuYkYuYUYuYEUtX0UtXkQtXUMtW0MtWkItWkMwYE9Aal5TeHJsiomImJiYpaWl + s7OzxMTE19fX6urq9vb2/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4+Pjz8/Pz8/Pz8/Pz8/P09PT+fn5+Pj49/f39/f39/f39/f39/f3tLS0Nzc33t7e9/f32traUVFRbGxs + w8PD9/f39/f34ODgh4eHS0tLqamp9/f3+Pj4c3NzX19f+Pj4+Pj4+Pj4+Pj4ra2tOjo67u7u+Pj49vb2 + TU1NlJSU39/fNzc3urq6+fn5Z2dnbW1t+fn5+fn5VFRUjY2N8vLyODg4PT09R0dH4eHhxcXFMzMzxMTE + 4ODg4ODg4ODg4ODg4ODg9vb2+fn5+fn5+fn5+fn53NzcxMTEsLCwsLCwsLCwsLCwsLCwsLCwsLCwwMDA + 09PT+fn5+fn5+fn5+fn5+fn5pKSkVFRU9vb2+fn5+fn5+fn5+fn5+fn5+Pj4s7OzWlpaPT09OTk5QkJC + dHR02tra+fn5+fn5+fn5gYGBYmJiYmJiQUFBQEBAYmJiYmJicnJy9vb2+fn5t7e3Pz8/RkZGQEBAT09P + 2tra+fn5nZ2dQEBA8fHx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5 + +fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5 + +fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5 + +fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5 + +fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn54+PjoaGhn5+f0tLS+fn5+fn5+fn55OTk + sLCw1dXVra2t7e3t7e3tu7u7+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+vr6+vr6 + +vr6+vr6+vr6+vr6+vr69vb2oJyXn5yXoZ2YoZ2Yop2YoZ2Yop6Zop6Yop6Zop6Zop6Zop2Yop2Yop6Z + op6Zop6Zop6Zop+aop6Zop6Zop6Zop6ZoZ6ZoZ6YoZ6ZoZ2YoZ6YoJ2YoZ2YoJyXoZ2Yop2Zop2YoZ2Y + oZ2ZoZ2YoZ2Yop2YoZ2YoZ2YoZyXoZ2YoJyXoJ2YoJyXoZ2YoZ2YoJyWoZ2YopyYop2YoZ2YqqWgqKOe + qKOeqKOep6OeqKOep6OeqKOeqKOep6Oep6Oep6Oep6Oep6Oep6Oep6Oep6Ofp6Ofp6SgqKSgqKSgqKSg + qKSgqKSgqKSgqaSfqKSgqKSfqKSfqaSgqaSgqKSfqaSfqaSfqKSfqKSfqKSfqKWgqKWgqaWgqaWgqqWg + qaWgqqahqaahqaahqaWhqaWhqKSgqKSfpqKfpaGdpaGdpaCcysjF+vr6+vr6+vr6+vr6+/v6/f39//// + /////////f39+/v7+fn59/f39PT08vLy7+/v7e3t6+vr6urq6Ojo5+fn5ubm5eXl5OTk5OTk5OTk4+Pj + 4+Pj4uLi4uLi4eHh4eHh4eHh4ODg4ODg39/f39/f39/f3t7e3t7e3t7e3d3d3d3d3Nzc3Nzc29vb29vb + 2tra2dnZ2NjY19fX19fX1tbW1dXV09PT0tLS0dHRz8/PzczMsqqkloZ4eF1GaUouaUouaEkuaEkuZ0ku + ZkguZkguZUguZEcuZEcuY0cuYkYuYUYuYEUtX0UtXkQtXUQtXEMtWkItWUEtV0AtVT8tVUEvYlJFdm5n + jIuKnZ2dsLCwx8fH3t7e8fHx/Pz8//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////v7+/f39/f39/f39/f39zs7OMzMz0dHR/f39+Pj4x8fHeHh4 + ODg4hoaGurq6QkJCV1dXsLCw7Ozs/f39/Pz8YWFhc3Nz/v7+/v7+/v7+/v7+urq6ODg46Ojo/v7++Pj4 + RUVFn5+f5OTkNzc3vr6+////aWlpb29v////////VVVVj4+P+Pj4ODg4dnZ2qqqq8/PzycnJMzMzNzc3 + ODg4ODg4ODg4ODg4ODg45OTk////////////////////09PTODg4ODg4ODg4ODg4ODg4ODg4ODg4rq6u + ////////////////////////7OzsPj4+zs7O////////////////////wMDANzc3jIyMzMzM09PTv7+/ + YWFhS0tL8vLy////////XFxcYGBgqampqampqampqampqamps7Oz/f39+Pj4SEhIgICA+Pj47u7uWFhY + ZGRkvLy8fHx8QEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////09PTn5+fpKSk9vb2//////////// + 6Ojo0NDQ7e3t////////4uLi+/v7/////////////////////////////////////////////////Pz8 + +vr6+vr6+vr6+vr6+vr69/b2oJ2Yop2Yop2Yop6Zo56Zo56Zo56Zo56Zo56Zo5+Zo56Zo56Zo56Zo56Z + o56Zo5+ao5+ao5+ao56Zop6Zo56aop6Zop6Zop6Zop6ZoZ6Yop2YoZ2Yop6ZoZ6Zop6YoZ2YoZ6Zop6Z + oZ2YoZ6ZoZ2Yop2YoZ2YoZ2YoZ2YoZ2YoZ2YoZ2YoZ2YoZ2YoZ2YoZ2Yop2YoZyXoZ2Yop2YqaWgqKOe + qKOeqKOeqKOep6OeqKOep6Oep6Oep6Oep6Oep6Oep6Oep6OeqKSfqKSfqKSfqKSgqKSgqKSgqKSgqKWg + qaahqKWgqKSgqKSgqaSgqaWgqaSfqKWgqaSfqaWgqaWgqaSgqaSfqaSfqKSgqaSfqaWgqaWgqqWgqqah + qqahqqahqaahqaahqaahqaahqaWhqKShpqKfp6KfpaGdpqKdysjG+/v7+/v7+/v7/Pz8/v7+//////// + /////v7++/v7+fn59/f39fX18/Pz8fHx7+/v7u7u7u7u7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t + 7e3t7e3t7e3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7u7u7u7u + 7u7u7u7u7u7u7e3t7e3t7Ozs7Ozs6+vr6urq0s3Io5KDd1pBa0suakouakouaUouaUouaEkuaEkuZ0ku + Z0kuZkguZkguZUguZEcuY0cuY0cuYkYuYUYuYEUtX0UtXkQtXUQtXEMtWkItWUItV0EtVkAtVD8sVD8s + XEc1b2Zig4OIn5+fu7u72NjY7+/v/Pz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////f39/f39/f39/f397+/vPDw8p6en/f39/f39/f39/Pz8 + wcHBPj4+NjY2i4uL9vb2/f39/f39/f398vLyPj4+oqKi/v7+/v7+/v7+/v7+4+PjNzc3srKy/v7+zs7O + NTU1zc3N5OTkNzc3vr6+////aWlpbm5u/v7+/v7+VVVVj4+P+Pj4ODg4qKio////////ycnJMzMzzMzM + 6+vr6+vr6+vr6+vr6+vr/Pz8////////////////////0tLSMzMz1tbW9/f39/f39/f39/f39/f3/Pz8 + ////////////////////////////e3t7fX19////////////////////i4uLTk5O/f39//////////// + zs7ONTU1zc3N////////XFxcNjY2PDw8PDw8PDw8PDw8PDw8b29v////7+/vOzs7ra2t////////e3t7 + PDw8VlZWRkZGQEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////zMzMra2tysrK/////////////f39qqqqn5+f19fX//////////// + //////////////////////////////////////////////////////////////////////////////// + /f39+/v7+/v7+/v7+/v7+Pj4oZ2Yo56Zo56Zo56ZpJ+apJ+apJ+apJ+ao5+ao56ZpJ6apJ6apJ+ao5+a + o56ZpJ+ao5+ao56Zo5+ao5+ao5+ao5+ao5+ao56Zop6Zop6Zo56Zop6aop6Zo5+aop6Zop6ZoZ2Yop2Z + op6Zop6Zop6ZoZ2Yop6ZoZ2Yop2YoZ2Yop2Yop2YoZ2Yop2YoZ2Yop2YoZ2Yop2YoZ2Yop2YqqWgqKOe + qKOep6OeqKOeqKOeqKOep6OeqKSfqKOeqKSfp6SfqKSfqKOeqKSfp6SfqKOeqaSgqKSgqKWgqaWgqaWg + qaahqaWgqKWgqaWgqaWhqaSgqaWgqaWgqqWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaahqqah + qqahqqahqqahqqWhqqaiqaaiqKWhqKWhp6Ogp6Ofp6KepqKdzMnH/Pz8/Pz8/Pz8/v7+//////////// + /v7+/Pz8+vr6+Pj49vb29fX18/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09fX19fX19vb29vb29/f3 + 9/f3+Pj4+Pj4+fn5+vr6+vr6+/v7+/v7/Pz8/Pz8/Pz8/Pz8/f39/f39/f39/f39/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/Pv7zMG3kHdhbUwwbEwva0sva0svakouakouaUouaUouaEkuaEkuaEku + Z0kuZkguZkguZUguZUguZEcuY0cuY0YuYkYuYUYuYEUtX0UtXkQtXUQtXEMtW0ItWUItWEEtVkAtVD8s + Uz4sVkAtTj5AWFZxj4+UuLi42tra9PT0//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////v7+/f39/f39/f39/Pz8d3d3Z2dn/Pz8/f39r6+vlJSU + lJSUVlZWOTk5jo6OlJSUlJSU8vLy/f39vLy8Ojo64+Pj/v7+/v7+/v7+/v7+/f39hISER0dHm5ubUVFR + ampq+vr65OTkNzc3vr6+////aWlpPz8/XFxcXFxcOjo6j4+P+Pj4ODg4qKio////////ycnJMzMzYWFh + ampqampqampqampqampq4eHh////////////////////0tLSMzMzn5+ftbW1tbW1tbW1tbW1tbW15ubm + ////////////////////////////y8vLPz8/7u7u////////////////w8PDODg4hYWFxsbG0dHRt7e3 + XV1dTk5O8/Pz////////XFxcXl5epKSkpKSkpKSkpKSkpKSkuLi4/////v7+dXV1RkZGo6OjkpKSOTk5 + paWl/f39n5+fQEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////0NDQn5+fs7Oz////////////////uLi4n5+fzc3N//////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/Pz8/Pz8/Pz8+fn5op6ao56ao56ao5+apJ+apKCapJ+apJ+apJ+apJ+ao5+apJ+apJ+apJ+a + pJ+apJ+ao56Zo56Zo5+ao5+ao56Zo56Zop6aop6Zop6Zop6Zop6Zop6Zop6Zop6Zop6Zop6aop6Zop6Z + op6Zop6Zop6Zop2Yop2Yop6ZoZ2Yop2Yop2YoZ2Yop2Yop2Yop2Yop2Yop2Yop2Yop2Yop2YqqejqKSf + qKSfqKSfp6WgqKSfqKWfqKSfqKWgqKWgqKSfqaWgqKSfqaWgqKWgqaWgqaWgqaSgqKWgqaahqaWhqaWg + qaWgqaahqqWhqqahqaWhqaWhqaWhqqahqqahqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaahqaWgqqag + qqagqqWhqqWhqqahqqahqaahqaahqaShp6Sgp6Kfp6Ofp6OezMnG/Pz8/f39//////////////////// + /v7+/Pz8+vr69/f39vb29fX19fX19vb29/f3+Pj4+fn5+fn5+vr6+/v7/Pz8/f39/f39/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + ////////////////+vn4wrSmg2VLclE0b08ybk0xbEwwbEsva0svaksvakouaUouaUouaUouaEkuaEku + Z0kuZ0kuZkguZkguZUguZEcuZEcuY0cuYkYuYkYuYUYuYEUtX0UtXkQtXUQtXEMtW0MtWkItWEEtV0At + VUAtUz4sUz8sVT8xRz1WdnaPw8PD6Ojo/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////////f39/f39/f39/f391tbWPT092dnZ/f39lpaWcnJy + cnJycnJycnJycnJycnJycnJy7+/v+/v7ampqhISE/f39/v7+/v7+/v7+/v7+/v7+9vb2k5OTZWVlh4eH + 8PDw/v7+5OTkOTk5vr6+////vb29paWlpaWlpaWlpaWlzs7O+Pj4Ojo6qamp////////5eXlm5ubm5ub + m5ubm5ubm5ubm5ubm5ub6+vr////////////////////2dnZVFRUVFRUVFRUVFRUVFRUVFRUVFRUw8PD + ////////////////////////////+vr6ZGRkubm5/////////////////v7+v7+/ZGRkPj4+Ozs7RkZG + fn5+5OTk////////////ampqREREREREREREREREREREREREaWlp////////9fX1l5eXYGBgZ2dnsLCw + /v7+////oqKiQkJC9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////7Ozsn5+foKCg5OTk////////8PDwo6Ojn5+f3d3d//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/Pz8/Pz8+fn5o5+ao56ao5+ao5+bpJ+apJ+bpKCbpJ+apJ+apJ+apJ+apJ+apJ+apJ+a + pJ+apJ+ao56ZpJ+ao5+apJ+ao5+ao5+aop6Zop6Zop6Zop6Zop6Zop6Zop6aop6Zop6Zop6aop6Zop6a + op6Zop6ao56Zop6Zop6Zop6Yop6Zop6Zop6ZoZ2Yop2YoZ6Zop2Yop2Yop6Zop2Yop6Zop2Yq6ejqaWg + qKSgqKWgqKWgqaWgqKSgqKWgqaSfqaWgqaWgqaWgqaWgqaWgqqWgqaSgqaWgqaSgqaWhqqahqaahqaah + qaahqqahqaahqaahqqahqqWhqqaiqqWhqqWhqaWgqaWgqqWgqaWgqqWgqaWgqaWgqaWgqaahqqWhqqWh + qqWgqqWhqqahqqahq6ahqqaiqaWhqKWhqaahqKSgp6OfqKOfzMrI/f39/v7+//////////////////// + /f39/Pz8+fn59/f39vb29fX19vb2+fn5+/v7/f39/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pv6zr+yknRZgF9Celk8dVU4clI1b08zbk0xbEwwa0sva0svakovakouaUouaUouaEkuaEku + Z0kuZ0kuZkguZkguZUguZUguZUcubUwvfFMwiFoxk18ynmUzpmkzrm00s3A0t3I1tnI1tnE1sG40qGo0 + nWUzjl0yelMwY0cuVT8sTDs+W1h9zs7U/Pz8//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////////v7+/f39/f39/f39/f39sbGxwMDA/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f397e3tkpKS7+/v/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7++fn51NTU8PDw/v7+/////////////////////////v7+1dXV7e3t//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////+vr69PT0/v7+ + //////////////////////////////////////////////////////////////////////////////// + ////////6+vr19fX/f39//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////wsLCn5+foqKivb29v7+/paWln5+fsbGx/Pz8//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39+vr6pJ+apJ+apKCbpJ+bpKCbpKCbpKCbpKCbpKCbpJ+apJ+apJ+apJ+apJ+a + pJ+apJ+ao5+apJ+apJ+ao5+ao5+ao5+aop6ao56Zo5+ao5+aop6Zo56aop6Zo56Zo56Zo56ao5+ao5+a + op+aop6aop6aop6Zop6aop6Zop6Zop6Zop2Yop6Zop2Yop6Yop6Zop6Zop6Zop6Zop6Yop6Zq6ejqqWh + qaahqqahqaWgqaWhqqWhqqahqaWgqqWgqqWgqqagqqWgqqWgqqWgqqWhqqWhqqWhqqWhqqahqqahqaah + qqahqqaiqqahqqahqqaiqqaiqqaiqqaiqqaiqqahqqahqqahqqahqqagqqagqaahqqahqqahqqahqqah + qqahq6aiqqahqqaiq6aiq6eiqqeiqqahqaahqaahqKSgqKOfzcrI/v7+//////////////////////// + /f39+/v7+fn59/f39vb29vb29vb2+fn5+/v7/f39/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////7OHYu56FoYFklXVYi2pOgmJFfFs/dlY6c1I2cFA0bk4ybEwwa0swaksvakovaUouaUouaEkuaEku + Z0kuZ0kuZ0kudE8vh1kxmWIyqms0sW40sm80s3A1tXE1tnE1uHI1uXM1u3Q1vHU2vnY2wHc2wng2xHg2 + xno3x3o3yXw3y304wHc3pGg0gFY0UENarKzG//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////////////f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////Pz8yMjIo6Ojn5+fn5+foaGhurq69fX1//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7++vr6pKCbpJ+bpaCcpaGcpKCbpaCbpKCbpaCcpKCbpKCbpaCbpKCbpJ+bpJ+a + pKCbpJ+ao5+apJ+apJ+apJ+apJ+apJ+bpJ+ao5+ao5+ao5+ao5+ao5+ao5+ao5+apJ+ao5+bo5+bo5+b + pJ+ao5+bo5+bpJ+bo56ao5+aop6ao56aop6Zo56aop6Zop6Zop6Zo5+aop6Zo56aop6Zop6Zq6ejqqai + qqWhqqahqqWhqqahqqahq6eiqaagqqWgqqahqqahqqahqqagqqWgqqWgqqWhqqWhqqahqaWhqqahqqah + q6aiqqahq6eiqqaiq6aiq6aiq6aiq6aiqqaiq6aiqqaiq6aiq6ahqqahqqahqqahqqaiqqaiqqeiq6ai + q6aiqqeiq6aiq6eiq6eiq6eiq6eiq6eiqaahqqahqqaiqqaizsvJ//////////////////////////// + /v7+/Pz8+vr69/f39vb29fX19fX19vb29/f3+Pj4+Pj4+fn5+vr6+/v7/Pz8/f39/f39/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////v2 + 8tnD2rmcx6aKtpV5p4Zqmnlcjm5RhWVIfl1BeFg7c1M3cFA0bk4ybE0xa0swaksvaUovaUouaEouaEku + eFEvjl0yo2gzq2w0rGw0rW00r240sG40sW80s3A1tXE2vH1Ax49Pzp1c1Khm2K5u2rJ02rB02qxy16Vq + 05ldzopKyn46y304zX44z3840YA4z384oWdDc2qN4eHr//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5eXlz8/Pz8/Pz8/Pz8/P1NTU/////////////////////v7+/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9vb25eXl5OTk8vLy//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////+vr6paGcpKCcpaGcpaCcpKCcpaCcpKCcpKCcpKCbpKCcpJ+bo5+apJ+apJ+a + pJ+bpJ+bo5+bpJ+bpJ+bpJ+bpJ+apKCbpKCbpJ+bpJ+apJ+bpKCbo5+apKCbpJ+bpKCbpKCbpJ+bpKCc + pKCcpKCbo5+cpKCbo5+bo5+bo5+ao56ao5+bo5+bo5+apJ+ao5+bo5+ao5+bo5+bo56ao5+aq6ejqaWh + qqaiqqWhqqaiqqaiqqahqqahqqahqqaiqqahqqahqqahqqagqqahqqahqqahqqaiqqaiqqeiqqahqqei + q6eiq6eiq6eiq6eiq6eiq6ejq6ejrKejq6ejrKeirKairKeiq6aiq6aiq6aiqqaiqqajqqajq6ejq6ej + q6ijq6ijq6eiq6iirKiiq6ijq6ijq6ijqqaiq6aiq6aiqqaiz8zK//////////////////////////// + /v7+/f39+vr6+Pj49vb29fX18/Pz8/Pz8vLy8/Pz8/Pz8/Pz9PT09PT09PT09fX19fX19vb29/f39/f3 + +Pj4+Pj4+fn5+vr6+vr6+vr6+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+/v7+/v7+///4//nf + /ujM9dW44sGlz66RvJyArIxvnn5hknJVh2dLgF9DeVk9dFQ4cVE1bk8zbE0xa0wwaksvc08wilsxoGYz + p2ozqGo0qWs0qms0rGw0rm01vH9D0JlZ4LJv8MyG/OOb/+2k//Op//iu//2z//+5//++///D///I///O + ///T///Y/frW9OK76sea36pz1IhE1II52IQ5elOeMjLgoKDq/f3+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5OTkz8/Pz8/Pz8/Pz8/P1NTU/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8+/v7+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+/v7+/v7/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/v7+//// + ////////////////////+/v7pqKdpaGcpaGcpaGcpKGcpKGcpKGcpKCbo5+co5+bpKCcpKCcpKCcpKCc + pKCbpJ+bpKCbpKCbpJ+bpaCbpKCbpaCcpaCbpaCbpKCbpKCbpKCbpKCbpaCbpKCbpaCbpJ+bpaCcpaCc + pKCcpKCbpaCbpKCcpKCcpKCbo6CbpJ+bpJ+co5+bpJ+bpKCbpJ+ao6Cbo5+bpKCbpJ+bpKCbq6ikqaWi + qqaiqqWhqqaiqqaiqqaiq6aiqqaiq6ahq6ahqqahqqahq6ahqqagqqahq6aiqqahqqaiqqeiq6eiqqei + q6eiq6eiq6eiq6eiq6ejq6ejrKejrKejrKejrKejq6ejrKeirKejrKejq6eiqqajq6ajq6ejq6ejrKei + rKeirKijq6ijrKmkrKijrKijrKikq6ijrKikq6ejq6ajqqaiz8zK//////////////////////////// + /////v7+/Pz8+fn59/f39fX18/Pz8fHx8PDw7u7u7u7u7e3t7e3t7e3t7e3t7Ozs7Ozs7Ozs7e3t7e3t + 7e3t7e3t7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8/Pz/f39///+///3 + //3o//LV+t7B6sqt1rWZw6OGspF1ooJmlXZZimtOgmJGe1s/dVY6cVI2b080fFUykl8yo2gzpGgzpWkz + pmkzqGo0rW43yIpM4qdk+MR8/8+H/9SL/9iP/92U/+KY/+ed/+yi//Gn//as//uw//62//+6//+////E + ///J///O///S///X///b///f/v3g9OC75bF6d1ezKir/Kir/XFz43t7///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4uLi0tLS0tLS0tLS0tLS1dXV8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz7pqGcpqKcpaGcpaGcpaKcpaKcpaGcpKCcpaCcpKCcpKCbpaGco5+cpaCc + paGcpaCcpKCcpaGbpJ+cpaGcpaGdpaGcpKCbpaGcpaCbpaGcpaCcpqGcpaCbpaCbpaCbpaCbpaCbpaGc + pKCbpKGcpaGcpKCbpKGbpKCbpKCcpKGcpKCcpKCcpKCbpJ+bpKCbpKCcpKCbpKCbpKCbpKCbq6ikqqai + qqaiqqWiqqWiqqaiqqaiqqahq6aiqqahqqahqqahqqahqqahqqahqqahqqahqqaiqqaiq6eiqqeiq6ei + q6eiq6eirKiirKijq6ijq6ejrKijrKijrKikrKejrKejrKeiq6eirKijrKejrKikq6ajq6ejq6ijrKij + rKijrKikraijrKijrKijrKijrKijrKikrKikrKekrKikrKek0M3L//////////////////////////// + /////////f39+/v7+fn59/f39PT08vLy7+/v7e3t6+vr6urq6Ojo5+fn5ubm5eXl5OTk5OTk4+Pj4+Pj + 4uLi4uLi4uLi4uLi4uLi4eHh4eHh4ODg4ODg4ODg4ODg39/f39/f3t7e3t7e7e3t/v7+//////////// + ///9///x//je/ubK8dG13b2hyamNt5d7p4drmXldjW1ShGRIfF1BhFs4l2I0oGYzomczomczpGgzp2o1 + w4FF455c/Lhx/752/8J6/8Z+/8qC/86G/9OK/9eO/9yS/+CX/+Wb/+qg/+6k//Op//iu//yy//+3//+7 + //+////E///I///M///Q///U///Y///b///e3t7xhob/ODj/Kir/MjL/np7//f3///////////////// + //////////////////////////////////////////////////////////////////////////////// + +vr6+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj48/Pz7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v8PDw8PDw8PDw8PDw8PDw8fHx8fHx8fHx8fHx8fHx8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz9PT0 + 9PT09PT09PT09PT09fX19fX19fX19vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4/f39//// + /////////////////////Pz8pqKdpqKdpqKcpaGcpaGcpaGcpaGcpaKdpaGcpqGcpaGcpaGcpaGcpaCc + paGcpaGdpaGdpaGcpaGdpqGcpaCcpqGdpaGbpaGcpaGcpaCbpaCbpaCbpKCbpaCbpaCbpaGcpaGcpaGc + paGcpaCbpaGcpaGcpKGcpaGcpaGcpaGcpKCcpaCbpKCcpKCcpKCcpKCcpaCbpaCcpKCbpKCbq6mkqqai + qqaiqqajq6ajq6ejq6aiqqaiq6aiqqaiqqaiqqaiqqaiq6aiq6eiq6eiq6eiq6eiq6eiq6eiq6ijq6ej + rKijrKijrKijrKejrKijrKijq6ijrKijrKikrKikrKikrKikraikramkrKijrKijrKikrKikrKijrKij + rKikrKikraikramkramkraikramkrKmkraqlramlraikraik0M3L//////////////////////////// + /////////////v7+/Pz8+vr6+Pj49fX18vLy7+/v7Ozs6urq6Ojo5ubm5OTk4+Pj4eHh39/f3t7e3Nzc + 29vb2dnZ2NjY19fX1tbW1dXV1NTU09PT0tLS0dHR0dHR0NDQz8/P0NDP7u7q//////////////////// + ///////////4//3n/+7S99m948Soz6+TvJyAq4xwnH1hk2xJmWQ3nmUzn2UzoGYzoWYzq24404xN9qdh + /7Bo/7Rs/7dv/7py/752/8J5/8Z9/8qA/86E/9KI/9aM/9qQ/96V/+OZ/+ed/+yh//Cm//Sq//mu//2y + //+2//+6//++///C///G///J///M///Q9/fZx8f+yMj/xMT/fHz/Ly//KSn/amr/8vL///////////// + //////////////////////////////////////////////////////////////////////////////// + xcXFm5ubm5ubm5ubm5ubpKSk8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx+vr6//// + /////////////////////Pz8pqKdpqKdpqKdpqKdpqKdpqKdpqGcpqKcpqKdpaGcpqKdpqKdpqKdpaKd + pqKepqGdpqKepqKepqGdpqGdpqKdpqGcpqGcpaGcpaGcpaCbpaGcpaCbpaGcpaGcpKCbpaCbpaGcpaCb + paGcpaCbpaCbpaCbpqGcpaGcpaGcpaGcpaGcpKGcpKCcpKCbpKCcpKCcpKCcpKCbpaCbpKCbq6ikq6ei + qqaiqqejq6ejqqaiq6ejq6ajq6ajq6ejq6aiq6aiq6eiq6eiq6eiq6eirKejq6ejrKijrKijrKikrKmk + ramkrKikrKmkrKmkramkrKmkrKikramkrKmlrKilramlramlramlrKikrKikrKikrKikramkramlramk + ramkramkrqmkrqmkrqmkrqmkrqmkraqkraqlrqqlraqlraml0M7L//////////////////////////// + /////////////////v7+/f39+/v7+fn59vb29PT08fHx7u7u6+vr6Ojo5ubm4+Pj4eHh39/f3t7e3Nzc + 2tra2NjY19fX1dXV09PT0tLS0NDQzs7OzMzMy8vLycnJyMjIzMjF9OfR//7p///7//////////////// + ///////////////8//7u//TZ+9/E6cqu1LWZuJR1n21CnGQznGQznWUznmUzrnA61YxM9aRc+adg/Kpi + /q1l/7Bo/7Nr/7Zu/7px/711/8F4/8V8/8h//8yD/9CG/9SK/9iO/9yS/+CW/+Sa/+ie/+yi//Cm//Sq + //iu//yx//61//+4//+8//+////C///F0tLru7v/vb3/v7//wMD/r6//UVH/KSn/TEz/5OT///////// + //////////////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8p6Oep6Oep6Oep6Kdp6OepqKdpqKdpqKepqKdpqOepqOepqKdpqOepqKe + pqOepqKepaKdpqKepqKepqKepqKepaGdpqGdpqGdpaGcpaGcpaGcpaCcpaGcpaCbpaGcpaGcpaCcpaGc + paGcpaGcpaGcpqGcpaGcpaGcpqGcpaGcpaGcpqGcpKGcpaGcpKCcpKCcpKCbpJ+bpKCbpKCcramlq6ej + q6ejq6ikq6ikq6ejq6ejq6ejrKejq6ejrKejq6ejq6ejrKijrKiirKijrKijraijrKijraikramlramk + ramkrqmkramkraqkramkraqlramlramlramlramkramlraqmrqqlraqlramlramlrqmlramlramlraql + raqlrqmkrqqlrqqlrqqlrqqlrqqlrqqlrqqlraqlraqlraml0M7L//////////////////////////// + /////////////////////////v7+/f39+/v7+fn59vb29PT08vLy7+/v7Ozs6enp5ubm4+Pj4ODg3t7e + 29vb2dnZ19fX1dXV09PT0tLS0NDQzs7OzMzMy8vLycnJycO+4MSs+Nq+//DV//7q///8//////////// + ///////////////////+///0//nf+N7BvJBpmmMzmmMym2MynGQzp2s30olJ7p1W8aBY86Ja9qVd+adf + /Kpi/q1l/7Bn/7Nq/7Zt/7lw/7xz/8B3/8N6/8d+/8qB/86E/9KI/9aM/9mP/92T/+GX/+Wa/+ie/+yi + //Cl//So//es//uv//2y//+1//+47u7Irq7+sLD/srL/s7P/tbX/trb/trb/cnL/Kir/RET/5OT///// + //////////////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw2tra1tbW6enp8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qKOep6OeqKOep6OeqKOep6Oep6OepqOepqOep6OepqOepqOepqOepqOe + pqOepqOepqOepqOepqKepqOepaKepaGdpaKepqKdpaGdpqGcpaGcpaGdpaGcpaGbpaGcpaGcpaGcpqGc + paGcpaGcpqGcpaGcpqGcpqGcpqGcpqGcpaGcpqGcpaGcpaCcpaGcpKGcpaGcpaGdpaCbpaCcraqmrKik + q6ejrKikrKikrKijrKejrKikrKikrKejrKejrKejrKejq6ejrKijrKijraijramkraikraqlraqkraql + rqqlrqqlrqqlrqqlrqqlrqqlraqlraqmrqqlrqqmrqqmrqqmrqqmrqqlrqqlrqqlrqmlrqmlrqmlrqql + raqlrqqlr6qlrqqlrqqlr6qlrqqlrqqlrqqlrqqlrqqlraql0M7M//////////////////////////// + /////////////////////////////////////v7+/Pz8+vr6+Pj49vb28/Pz8fHx7u7u7Ozs6enp5ubm + 4+Pj4ODg3d3d2tra2NjY1dXV0tLS0NDQzs7OzMzMwbmxu56Eza+T48So99q+//DV//7q///8//////// + ////////////////////////4tK/o3JFmGIymWIymmMyn2Y0xoBC5pZQ6plS7JtU751W8aBY86Ja9qRc + +adf/Kph/qxk/69n/7Jp/7Vs/7hv/7ty/751/8J4/8V8/8l//8yC/9CF/9OJ/9eM/9qQ/96T/+GW/+Sa + /+id/+ug/+6j//Km//Wp//is//quubnro6P/paX/p6f/qKj/qqr/q6v/rKz/rKz/hIT/Li7/RET/6en/ + //////////////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7uTk5ONjY2vr6+8PDw8PDw8PDw8PDw + 8PDwrKys5ubm8PDw3NzcioqKlJSU5ubm8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qKOeqKSfqKOeqKOeqKOep6OeqKOeqKOep6OepqOep6Oep6OepqOepqOe + pqSep6SfpqSfpqOepqSepqOfpqKepqKepqKepqKepaKepqKdpaGdpaKdpaCcpaGdpqKdpaGcpqGcpqKd + pqGcpqKdpaKdpqKdpaKcpaGcpqGcpqGcpqKcpaGcpaGcpqGcpaGcpqGcpaKdpaKdpaGcpaGcraqmrKij + rKikrKikrKijrKikq6ikq6ejrKejrKikrKikrKijrKejraikrKikrKijramkramkramkramkrqqlraql + rqqlrqqlrqumrqumrqqlraqlrqumrqumrqumrqqmrqqmrqqmrqqmr6qmrqqmr6qmrqqmrqqmrqqmrqqm + rqqlrqqlrqqlrqqlr6qlrqqlrqqlrqqlrqqlrqqlrqqlrqql0M7M//////////////////////////// + /////////////////////////////////////////////////v7+/f39+/v7+fn59/f39fX18vLy8PDw + 7u7u6+vr6Ojo5ubm4+Pj4eHh3t7e29vb2dnZvrSrm31jqIpvuZqAzK6T4cKn9ti9/+/U//7p///7//// + /////////////////Pr5wKGFlmEyl2Eyl2IymWIytHQ73Y5J5JRN5pVO6JdQ6plS7JtU751W8Z9Y86Ja + 9qRc+aZe+6lh/qxj/65m/7Fo/7Rr/7du/7px/710/8B2/8N5/8Z8/8qA/82D/9CG/9OJ/9eM/9qP/92S + /+CV/+OY/+ab/+md/+yg/+6i4de+mJj/mpr/m5v/nZ3/np7/n5//oKD/oaH/oaH/oaH/h4f/Ly//U1P/ + 9/f///////////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwwcHBw8PD7u7u7u7u7u7u + 7u7uzc3NuLi47e3t7u7u7u7u7u7u4uLip6en6Ojo7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7uS0tLMzMzvb298PDw8PDw8PDw8PDw + 8PDwrq6ulJSU7e3tXFxcp6enj4+Pfn5+8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qKSfp6OeqKSeqKSfqKSep6Sfp6Oep6Sfp6Sfp6OepqSfp6Sfp6SfpqOe + p6Sfp6Sfp6OepqSfpqOepqSfpqOepqKepqOfp6OepqKepqKepqKdpaKdpqKdpqKdpaKdpqKdpqKdpqOe + pqKdpqGcpqKdpqKdpqKdpqKdpqKdpqKdpqKdpqKdpqKdpqKdpqKdpaGcpqKdpqKdpqOdpqKdrqumramk + rKikraikrKmkrKijrKikrKikrKikrKikrKikrKikrKikrKikrKikraikraikramkramkramkramkraql + rqqlrqqlrqqlrqqlrqumrqumrqumraumrqumrqumrqqmr6qnr6qmr6qmr6qmrqqmrqqmrqqmrqqmrqqm + r6umrqqmr6qlrqqlr6qmr6qlrqqlrqqlrqqlrqqmrqqlrqql0M7L//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f39/Pz8+vr6 + +Pj49vb29PT08vLy8PDw7u7u6+vr6enpwrmwhGZMjG5TmHpgp4huuJl/y6yR38Gm9Na8/+3S//3n///6 + ////////////7eXdpnpUlWAylWAylmEyoWc1zYNC349I4ZFK45JL5ZRN5pVO6JdQ6plR7JtT751V8Z9X + 86FZ9qRb+KZd+6hg/ati/61k/7Bn/7Nq/7Zs/7hv/7ty/750/8F3/8R6/8d9/8qA/82C/9CF/9OI/9aL + /9mO/9yQ/96T/+GV/+SY/uWaoZ3tj4//kJD/kpL/k5P/lZX/lpb/lpb/l5f/l5f/l5f/l5f/fX3/LCz/ + e3v///////////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw1tbWQEBAxsbG7u7u7u7u7u7u + 7u7uioqKSkpK7Ozs7u7u7u7u7u7u7OzsXl5ejo6O7u7u7u7u7+/v7+/v7+/v2trasLCwsLCwsLCwsLCw + sLCwxcXF7+/v7+/v7+/v7+/v7+/vysrKvr6+7+/v7e3ts7Oz3t7e8PDw1NTUubm56+vrs7Oz19fX8PDw + 8PDw8PDw8PDw09PTt7e37e3ttLS019fX8PDw8PDw8PDww8PDvb298PDw8PDw8PDwvb29ycnJ8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw1tbWtLS07Ozs8PDw8PDw8PDwx8fHwcHB8PDwzMzMsLCwsLCwsLCw + sLCwsLCw2NjY8PDw8PDw5+fnsLCw3d3d8PDw8PDw8PDwwsLCxsbG8PDw8PDw8PDw39/fsbGx4uLiwMDA + yMjI8PDw8PDw8PDw8PDw4ODgsbGx4+Pjv7+/zMzM8PDw5OTksbGx6enp8PDwyMjIwsLC8PDw8PDw8PDw + 0dHRnZ2dlJSUtLS06urq8PDw8PDw8PDw8PDw1dXVoKCglJSUuLi47Ozs8PDw8PDwzMzMgYGBwcHB5+fn + sLCwsLCwsLCwsLCwsLCwyMjI8PDw8PDw6enpsLCw3t7e8PDw8PDw8PDwxMTEsLCwsLCwsrKywcHB6Ojo + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDwzc3Nj4+Pj4+Pj4+Pj4+Pj4+Pjo6OPz8/MzMzdnZ2kZGR5OTk8PDw8PDw + 8PDw7OzsZmZm1tbWUFBQ7e3t3t7eWFhY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qKSfqKSfqKSfqKSfqKSfqKSfp6Oep6OeqKSfp6Sfp6Oep6Oep6Sfp6Sf + p6SfpqSep6Sfp6Sfp6SfpqSfp6OepqOfpqKepqOepqSfpqKepqKepqKepqOepqKepqKep6Kep6KepqKe + pqKdpqKdpqKepqOep6OepqOepqKepqKdpqOepqKdpqKdp6Oep6Kdp6Kdp6Oep6KepqOepqKdrqqmramk + ramkrKmkrKmkrKijrKijrKmkrKikrKikraikrKikrKikraikraikramkramkramkramkraqlraqlraql + rqqmr6qlrqqmrqqmrqumrqumrqumrqumrqumrqumrqqmr6umr6qmrqqmrqqmrqqmr6qmrqqmrqqmrqum + rqumr6qmrqumr6umr6umr6umrqqmr6qmr6umrqqmrqqmrqqm0M7M//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/f39/Pz8+vr6+Pj4zMK6dVg/eVxCgWNJi21Tl3lfpYdttph9yKqQ3b6k8tS5/urP//zk + ///4////2Ma1l2U6k18ylGAylWAysXE52IlE3YxG3o5H4I9I4ZFK45JL5ZRM55VO6JdP6plR7JtT751V + 8Z9W86FY9aNa+KVd+qhf/aph/6xj/69m/7Jo/7Rq/7dt/7lw/7xy/791/8J3/8R6/8d8/8p//82C/8+E + /9KG/9SJ/9eL/9mN/9yQz7u8hIT/hob/iIj/iYn/ior/i4v/jIz/jY3/jY3/jo7/jY3/jY3/jY3/aWn/ + KSn/vLz///////////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwfX19Xl5e7u7u7+/v7u7u7u7u + 7u7uioqKSkpK7Ozs7u7u7u7u7u7u7u7urKysPj4+3d3d7u7u7u7u7+/v7+/vsrKyNDQ0RUVFRkZGRkZG + RkZGgICA7+/v7+/v7+/v7+/v7+/vgoKCXV1d7+/vxMTENTU1k5OT8PDwnJycTExM7e3tXV1deHh48PDw + 8PDw8PDw8PDwampqbm5u6urqPj4+pKSk8PDw8PDw39/fPz8/lJSU8PDw8PDw8PDwWFhYfHx88PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwdXV1NDQ0v7+/8PDw8PDw8PDwdnZ2ZGRk8PDwhoaGNjY2RkZGRkZG + RkZGRkZGr6+v8PDw8PDw1NTUMzMzt7e38PDw8PDw8PDwZmZmdHR08PDw8PDw8PDwd3d3NDQ0yMjIi4uL + TU1N7Ozs8PDw8PDw8PDwl5eXRkZG6+vrXl5ehISE8PDwqampMzMzsrKy8PDweHh4aGho8PDw8PDwoKCg + OTk5TExMXV1dOTk5YGBg5eXl8PDw8PDwoqKiOzs7T09PXl5ePDw8X19f4eHh8PDwsrKyMzMzoKCg1tbW + MzMzQkJCRkZGRkZGRkZGhoaG8PDw8PDw2traMzMzurq68PDw8PDw8PDwbW1tOzs7TExMS0tLOzs7SUlJ + wMDA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDwrKysMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzc32NjY8PDw8PDw + 8PDw8PDwtra2jY2NY2Njmpqag4ODhISE8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qaSgqaWgqKSgqKSgqKSfqKSfp6SfqKSfp6Sfp6Sfp6Sfp6Sfp6Sfp6Sf + p6Sfp6Sfp6Sfp6SfqKSfp6Sfp6Sfp6Oep6OfpqSfpqOep6OepqOep6Oep6Kep6Oep6Oep6Oep6Oep6Oe + p6Oep6Oep6Kep6Kdp6Kdp6Kdp6Oep6Oep6Oep6Oep6Kdp6Oep6Kep6Oep6OeqKOepqOepqKerqumraij + raikramkraijramkrKmkrKmkraikraikrKmkramlrKilrKikramkraikramkramkramlramlraqlraqm + raqmrqqmr6umr6umr6umr6umr6umrqqnrqumr6unrqunrqunrqunrqqnrqunrqqnrqumrqqmrqumrqun + rqunr6umr6ynr6umr6unr6unr6umr6unr6unr6umrqunrqun0M/M//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////2tTNcFM6blE3c1U8eVtBgGNJimxSlXhdo4Vrs5V7xqiN2ryh7tC2/ebM + /vjfw6eLkV8ykl8yk18yl2Izwns92YlD2opE3ItF3Y1G3o5H4I9I4pFJ45JL5ZRM55VO6JdP6plR7JpS + 7pxU8J5W86BY9aJa96Rc+qde/Klg/qti/65k/7Bm/7Jo/7Vr/7dt/7pw/7xy/790/8F3/8R5/8Z7/8l+ + /8uA/86C/9CE/9KG+9GMiYXyfHz/fn7/f3//gYH/goL/g4P/g4P/hIT/hIT/hIT/hIT/hIT/hIT/g4P/ + UFD/Pz//8vL///////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDw5ubmQEBAm5ub8PDw8PDw7u7u7u7u + 7u7uioqKSkpK7Ozs7u7u7u7u7u7u7u7u4uLiOjo6oaGh7u7u7u7u7+/v7+/vsrKyOTk53d3d6urq6urq + 6urq7Ozs7+/v7+/v7+/v7+/v7+/vgYGBXV1d7+/viIiISEhIWVlZ7+/vm5ubTExM7u7upqamPT094eHh + 8PDw8PDw3t7eOjo6s7Oz6urqPj4+pKSk8PDw8PDwjo6OQUFB4eHh8PDw8PDw8PDwWFhYfHx88PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw4eHhPDw8VFRUd3d38PDw8PDw8PDwdnZ2ZGRk8PDwhoaGVFRU6+vr6+vr + 6+vr6+vr7u7u8PDw8PDw1NTUMzMzt7e38PDw8PDw8PDwZmZmdHR08PDw8PDwvb29ODg4NTU1yMjI0dHR + NjY2vb298PDw8PDw7+/vWFhYhISE8PDwXl5ehISE8PDwa2trSUlJd3d38PDweHh4aGho8PDwzs7OOTk5 + kZGR6urq7+/vysrKQUFBg4OD8PDwzc3NOTk5lJSU7Ozs7+/v0tLSSkpKeXl58PDw6Ojo19fX5eXl1tbW + MzMzvr6+6+vr6+vr6+vr7e3t8PDw8PDw2traMzMzurq68PDw8PDw8PDwbW1tbm5u7Ozs7Ozs4ODgd3d3 + RERE4eHh8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw0tLSOzs7MzMzioqKpKSkpKSkpKSkQUFBMzMzhoaGpqam5+fn8PDw8PDw + zc3Nnp6e1dXVZ2dn0NDQlJSUn5+f6urq8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qqWhqaWhqaWgqaWgqaWgqaWgqKSfqKSfqKSfqaSfqKSgqKSfqKWgp6Sg + qKSfp6SfqKSfp6Sfp6SfqKSfqKOeqKSfqKSfqKOep6Sfp6Sfp6Sfp6SfqKSfp6Sfp6OeqKOfp6Ofp6Oe + p6Oep6Oep6Kdp6Kdp6Kdp6Kdp6Kep6Oep6Oep6Kdp6Kep6Oep6Oep6Oep6Oep6Oep6Oep6Kdr6umramk + rqmlrqmkraqlramkramlramkraqlraqlramlramlrailramlramlrailramlramlraqlramkraqmrqqn + rqunr6umr6ynr6unr6unr6ynr6ynr6ynr6ynr6ynr6yor6ynr6ynrqunrqunr6unrqumrqumrqumr6un + r6unr6ynr6unr6ynr6ynr6ynsKynsKynsKynr6ynr6yorqyo0dDN//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////5uHdcFU9aEsyak00blE3clU7eFpBf2JIiGtRlHZcoYRqsZN5wqWK1rie5sis + sYZgkF4ykV4ykl8yn2Y1zYE+14dB2IhC2YlD24pE3ItF3Y1G345H4I9I4pBJ45JK5ZNM55VN6JZO6phQ + 7JpS7pxT8J5V8qBX9KJY9qRa+aZc+6he/apg/6xi/65k/7Bm/7Np/7Vr/7dt/7pv/7xx/75z/8F1/8N3 + /8V5/8d7/8l9/8t/uqG+c3P/dXX/dnb/eHj/eXn/enr/enr/e3v/e3v/fHz/fHz/fHz/e3v/e3v/enr/ + d3f/Njb/iIj///////////////////////////////////////////////////////////////////// + tra2f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDwycnJMzMzxMTE6Ojod3d3cXFxcXFx + cXFxUFBQOjo6cHBwcXFxcXFxcXFxvr6+7OzsW1tbdHR07u7u7u7u7u7u7+/vsrKyOTk54uLi7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/vgYGBXV1d7e3tUFBQsbGxQUFB09PTm5ubTExM7u7u5OTkQEBAYmJi + dXV1dXV1YmJiQkJC5ubm6urqPj4+pKSk8PDw0NDQPT09lJSU8PDw8PDw8PDw8PDwWFhYfHx88PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDwpKSkTExMubm5Pj4+4uLi8PDw8PDwdnZ2ZGRk8PDwhoaGVVVV8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw1NTUMzMzt7e38PDw8PDw8PDwZmZmdHR08PDw6enpU1NTfHx8NjY2yMjI7u7u + YWFhVFRUdXV1dXV1cnJyNzc3xsbG8PDwXl5ehISE4uLiQUFBtbW1Q0ND6enpeHh4aGho8PDwh4eHTExM + 6urq8PDw8PDw8PDwioqKSUlJ7Ozsg4ODUlJS6+vr8PDw8PDw8PDwqKioOzs739/f8PDw8PDw8PDw1tbW + MzMzwsLC8PDw8PDw8PDw8PDw8PDw8PDw2traMzMzurq68PDw8PDw8PDwbW1tcHBw8PDw8PDw8PDw4eHh + Pj4+paWl8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwlpaWMzMzampq7u7u8PDw7u7uS0tLMzMzvb298PDw8PDw8PDwyMjI + VlZWnZ2dUlJSqKiog4OD8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qqWhqqWhqqWhqaWgqaWgqaWgqaWgqKWgqKWgqKWgqKWgqKSgqKWgqKWg + qKSfqKSfqKWgp6SfqKSfqKSgqKSfqKSfqKSfqKSfqKSfqKSfqKSfqaSgqKSfqKSgqKSfp6Ofp6Ofp6Oe + p6Oep6Oep6Oep6Kdp6Kep6Oep6Kdp6Kep6Oep6Oep6Oep6Oep6Oep6Odp6Oep6Oep6OeqKOerqunrqql + raqlrqqlraqlrqqlrqqlrqqmraqlrqqlraqlrqqlraqmrqqmraqmramlraqmramlraqmrqqnrqunraqn + r6unr6unsKynsKyosKynsa2osKynsKyosKyor6ynr6ynr6yor6yosKyor6yor6uor6ynr6ynr6unr6um + r6unsK2osKynsKyosKyosKyosK2osK2osKyosK2or62osKyo0s/M//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////8u/tdFtGZEgvZkkwZ0syak00bVA3cVQ7d1pAfmFHh2pQknRbn4ForpB2u5yAnnFI + j10xkF4ykF4yp2o20oM+1YY/1oZA14dB2IhC2olC24pD3ItE3Y1F345G4I9I4pBJ45JK5ZNL5pVM6JZO + 6phP7JlR7ptS8J1U8p9W9KBX9qJZ+KRb+qZd/Khf/qpg/6xi/65k/7Fm/7No/7Vq/7ds/7lu/7tw/71y + /790/8F1/8N3876DdHH3bW3/bm7/b2//cHD/cXH/cnL/c3P/c3P/dHT/dHT/dHT/dHT/c3P/c3P/cnL/ + cnL/YGD/MDD/6Oj///////////////////////////////////////////////////////////////// + tbW1f39/f39/f39/f39/ioqK8PDw8PDw8PDw8PDw8PDw8PDw8PDwsrKyNjY219fX6enpk5OTjo6Ojo6O + jo6Ojo6Ojo6Ojo6Ojo6OjY2NjY2NycnJ7u7ucXFxXV1d7u7u7u7u7u7u7u7usbGxNzc3q6urtLS0tLS0 + tLS05OTkra2tkpKSkpKSkpKS0dHRgYGBXV1dzMzMSkpK6OjocnJymJiYm5ubTExM7u7u8PDwe3t7RERE + jo6Ojo6OSEhIenp68PDw6urqPj4+W1tbcHBwQUFBR0dH1NTU8PDw8PDw8PDw8PDwWFhYfHx88PDw8PDw + 8PDw8PDw8PDw8PDw8PDw7u7uXl5ei4uL6urqSEhIpqam8PDw8PDwdnZ2Y2Nj8PDwhoaGSkpKtLS0tLS0 + tLS0uLi47+/v8PDw8PDw1NTUMzMzt7e38PDw8PDw8PDwZmZmdHR08PDwlJSUY2NjwMDANjY2yMjI8PDw + rKysNTU1hYWFjo6OWlpaUVFR7u7u8PDwXV1dg4ODsLCwYWFh7u7uVlZWtra2eHh4aGho8PDwZmZmbm5u + 8PDw8PDw8PDw8PDw4uLi09PT7u7uXFxcenp68PDw8PDw8PDw8PDw1NTUMzMzwcHB8PDw8PDw8PDw1tbW + MzMzwsLC8PDw8PDw8PDw8PDw8PDw8PDw2traMzMzubm58PDw8PDw8PDwbW1tb29v8PDw8PDw8PDw8PDw + WFhYg4OD8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqWVlZNDQ0sbGx8PDw7u7uS0tLMzMzvb298PDw8PDw8PDwjo6O + n5+f8PDwjo6OpqambGxs1tbW8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8qqaiqqahqqWiqaWhqaahqaWhqaWhqaahqaWhqKWhqaWhqaahqKWhqKWg + qKWgqKSfqKSfqKWgqKSfqKWgqKWgqKSgqKSfqKSfqKSfqKSfqaSfqKSfqKSgqKSgp6SfqKSfqKSfp6Of + p6Ofp6Oep6Oep6OepqKdpqKepqKdpqKep6OepqKdpqKep6Oep6Oep6Ofp6Oep6Oep6Oep6Oer6uorqql + rqqmrqqmrqumrqumrqqmrqumrqqmrqumrqqmrqqmrqqmrqqmrqqmrqqmrqqmrqqlrqqmraqlrqumrqun + r6unsKynsKynsKynsKynsKyosaynsayosKynsKynsKynsKyor6ynsKyor6yosKyor6unr6unr6unr6un + r6uosKynsK2osK2osK2osK2osK2osa2osK2osK2osKyosK2o0tDN//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////Pz8iXRiYkcuY0cvZEgvZUkwZ0oyaU00bFA2cFQ6dllAfGBGhWhPkHNZm3xgkmQ8jl0x + j10xj10xsHA304M91IQ+1YU/1oY/14dA2IdB2YhC2olC24pD3ItE3oxF345G4I9H4pBI45FJ5ZNL5pRM + 6JZN6pdP65lQ7ZpS75xT8Z5U859W9aFY96NZ+aVb+6dd/ale/qpg/6xi/65k/7Bm/7Jn/7Rp/7Zr/7hs + /7pu/7tw/71xpovDZWX/Zmb/Z2f/aGj/aWn/amr/a2v/bGz/bGz/bGz/bGz/bGz/bGz/bGz/bGz/a2v/ + amr/aWn/Pz//ior///////////////////////////////////////////////////////////////// + t7e3f39/f39/f39/f39/i4uL9vb29vb29vb29vb29vb29vb29vb2srKyNzc339/f9vb26enpd3d3lJSU + 3t7e9PT09PT07u7ura2tcHBwxcXF9PT09PT0dnZ2W1tb9PT09PT09PT09PT0tbW1MzMzOzs7PDw8PDw8 + PDw809PTjIyMYWFhYWFhYWFhxsbGhISEX19fkpKShoaG9fX1tbW1Xl5enp6eTU1N8/Pz9vb2ycnJODg4 + 3Nzc5eXlOjo6xsbG9vb28PDwPz8/bW1tk5OTi4uLVlZWRUVF4uLi9vb29vb29vb2WVlZfn5+9vb29vb2 + 9vb29vb29vb29vb29vb209PTNzc31NTU9vb2ioqKXl5e9PT09vb2eHh4ZWVl9vb2iYmJNTU1PDw8PDw8 + PDw8R0dH9fX19vb29vb22dnZMzMzu7u79vb29vb29vb2aGhodnZ22traQ0ND0tLSyMjINjY2zc3N9vb2 + 6+vrQkJCsrKy9fX1Wlpal5eX9vb29vb2X19fhoaGdHR0pqam9vb2lpaWfX19e3t7ampq9vb2YmJidHR0 + 9vb29vb29vb29vb29vb29vb29vb2WFhYgoKC9vb29vb29vb29vb23t7eNDQ0wMDA9vb29vb29vb23Nzc + MzMzx8fH9vb29vb29vb29vb29vb29vb239/fMzMzvr6+9vb29vb29vb2b29vcXFx9vb29vb29vb29vb2 + Xl5egYGB9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 + 9vb29vb29vb29vb29vb29vb29vb29vb2z8/POTk5SkpK6enp9PT0TExMMzMzwcHB9vb29vb29vb2tbW1 + a2tr1NTUWlpazc3NysrKgYGB9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2/Pz8//// + /////////////////////Pz8qqahqqaiqqWhqqahqaWhqqaiqqaiqaaiqaWhqaahqKWhqKWgqKWhqKWg + qKWgqKWgqKWgqKWgqaWgqaWgqKSgqKSfqKSfqKSfqKSgqKSgqaWgqKSfqKWgqKSgp6SfqKSfqKSfp6Sf + p6Kfp6Kep6Ofp6KepqKepqKep6Oep6Oep6Kdp6Oep6Oep6Oep6Oep6Oep6Ofp6OeqKSfqKOfr62or6um + r6umr6umr6ynr6umr6ynrqynr6umrqunr6umrqqmrqqmrqqnrqqnr6qnrqqmrqqnr6umr6unr6umsKun + r6unsKynsK2osKynsaynsaynsa2osa2osaynsK2osK2osKynsKynsKynsKyosKyosKunr6unsKyosKyo + sKypsK2osK2osK2psK2osa2osa2osa2osq2osa2osK2osK2o0tDN//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////p5iLYUYuYUYuYkYuYkcvY0gvZEkwZkoxaEwza082b1M6dFg/e15FhGVKjV83jVwxjVwx + jl0xtnM30oI80oM904Q91IQ+1YU/1oY/14dA2IdB2YhB2olC24pD3ItE3oxF341G4I9H4pBI45FJ5JJK + 5pRL6JVM6ZdO65hP7JpQ7ptS8J1T8p5V9KBW9qJY+KNZ+aVb+6dc/ale/6pg/6xh/65j/7Bk/7Fm/7Nn + /7Vp/7Zq6KuBYF/9X1//YGD/YWH/YmL/Y2P/ZGT/ZGT/ZWX/ZWX/Zmb/Zmb/Zmb/Zmb/ZWX/ZWX/ZGT/ + Y2P/YmL/WVn/Nzf/9/f///////////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM////////////////////////////ycnJNDQ02NjY////6enpnp6eU1NT + QEBArq6u2NjYWVlZPz8/hISEzc3N/Pz8/Pz8aGhobW1t/f39/f39/f39/f39u7u7Ojo67+/v/Pz8/Pz8 + /Pz8/f39/f39/f39/f39/v7+/v7+iIiIX19fWFhYzMzM/v7+9PT0RUVFiYmJTk5O/Pz8/v7+/f39WFhY + nJycsbGxTk5O+/v7////+Pj4Pz8/ra2t////////7OzsOTk5q6ur/////////v7+W1tbgoKC//////// + ////////////////////kpKSW1tb/v7+////2NjYNjY229vb////e3t7Z2dn////jY2NWFhY/v7+/v7+ + /v7+/v7+////////////4eHhMzMzwcHB////////////ampqd3d3b29vkpKS////z8/PNjY21NTU//// + ////hoaGbGxs39/fOjo639/f/////v7+YGBgfn5+R0dH6Ojo////3t7eR0dHeXl5bGxs////gYGBYmJi + /f39////////////zMzMpqam/v7+d3d3aGho/v7+////////////yMjINTU14eHh////////////4+Pj + MzMzzs7O////////////////////////5+fnMzMzxMTE////////////cnJydHR0////////////+vr6 + SUlJnZ2d//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////lJSUMzMzjo6O/f39TU1NMzMzx8fH/////////////f39 + qampdXV1ubm5/v7+/v7+pKSk9vb2//////////////////////////////////////////////////// + /////////////////////Pz8qqahqqaiqqaiqqaiqaWhqaaiqaahqaWiqaWhqKWhqKWhqaWhqKWiqaWh + qaWhqaWhqaWhqKWhqKagqKWgqKWgqaWgqaWgqaWgqKWgqaWgqKSfqKSfqKSfqaWgqKSfqKSgqKSgp6Sf + p6Sfp6Ofp6Ofp6KepqKfqKOfp6Oep6Ofp6Oep6OfqKSfqKSgp6Ofp6SfqKSfqKSfqKSgqKSfsKyor6um + r6umr6umr6ynr6umr6ynr6ynr6umr6ynr6ynr6unr6unrqqnr6unr6unr6qnrqqnr6umr6umr6umsKyn + sKynsKynsKynsKyosaynsayosa2osa2osaynsaynsaynsKyosKynsKynr6ynsKyosKynsKyosKyosKyo + sK2psK2psK2osK2psq6psa6osa2osa2osq2osa2osK2osK2o0tDN//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////0cnCX0UtYEUuYEUuYUYuYUYuYkcuY0cvZEgwZkoxaEwza042blI5dlc9iVw0jFwxjFwxjl0x + unU40IE70YI80oI804M91IQ91IQ+1YU+1oY/14dA2IdA2YhB2olC24pD3ItE3oxE341F4I5G4pBH45FI + 5JJJ5pNK55RM6ZZN6pdO7JlP7ppR75xS8Z1U859V9KBW9qJY+KNZ+qVa/Kdc/ahd/qpf/6tg/61h/65j + /7Bk/7FlkXfLWVn/Wlr/W1v/XFz/XFz/XV3/Xl7/Xl7/X1//X1//X1//YGD/X1//X1//X1//Xl7/Xl7/ + XV3/XFz/W1v/Ojz/1Of///////////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM////////////////////////////6+vrODg4tLS0////////////+fn5 + nJycODg4QEBAaWlp5ubm/f39/f39/f399vb2RERElpaW/f39/f39/f39/f39u7u7Ojo67+/v/f39/f39 + /f39/f39/f39/f39/f39/f39/v7+iIiIQ0NDUFBQ+Pj4/v7+/v7+fn5+Tk5OTk5O/Pz8/v7+/v7+pKSk + VVVVbm5ukpKS////////+Pj4Pz8/ra2t////////7OzsOjo6rKys////////////W1tbgoKC//////// + ////////////////+vr6SkpKo6Oj/////////v7+WFhYkZGR////fHx8Z2dn////jY2NWFhY//////// + ////////////////////4eHhMzMzwcHB////////////ampqRkZGT09P9PT0////0NDQNjY21NTU//// + ////1tbWOjo6h4eHY2Nj/f39////////YGBgT09PZ2dn/v7+/////f39Xl5eRkZGbGxs////wMDANzc3 + zs7O////////9vb2Wlpaampq////vLy8Nzc3zs7O////////+fn5a2trXl5e/Pz8////////////4+Pj + MzMzzs7O////////////////////////5+fnMzMzxMTE////////////cnJydHR0/////////v7+r6+v + ODg42tra//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////9vb2VlZWOTk51tbWTU1NMzMzx8fH//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8q6aiq6eiqqeiqqaiqqaiqqeiqaaiqKWiqaWhqaWiqKWiqKWiqaWiqaWh + qaWhqaWhqaaiqKWhqaWhqKWhqaWhqaWgqaWgqaahqaWgqaWgqaWgqaWgqKSgqKSgqaSgqKSgqaSgqKSf + qKSfqKOfqKOfqKSfqKKfp6SfqKSfqKOfqKSfqKSfqaSfqKSgqKSgqKSfqKWgqKSgqKSgqKSfsK2or6um + r6ynr6ymr6ynr6umr6ynr6ynr6ynr6ynr6ynr6ynr6yor6uor6uor6unr6unr6unr6unr6unsKunsKyo + sKyosK2osK2osK2osa2osa2osa2osa2osa2osa2osayosKyosKynsKyosKyosKyosKyosKyosKyosKyo + sKuosKyosK2osK2osa6psq2osq2osq2osq2osq2osa2osa6p0tDN//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////8O7raVE8XkQtX0UtX0UuYEUuYEUuYUYuYkYuYkcvZEgwZUkxZ0szbE81hloyi1sxi1sxjVwxuXQ3 + 0IA70IE70YE70oI80oI804M91IQ91YQ+1oU+1oY/14dA2IdA2YhB2olC24pC3YtD3oxE341F4I5G4Y9H + 45BI5JFJ5ZNK55RL6JVM6pZN65hO7ZlQ7ppR8JxS8p1T859U9aBW9qJX+KNY+qRa+6Zb/adc/qld/6pf + /6tg2ZmEU1P/VFT/VVX/Vlb/Vlb/V1f/WFj/WFj/WVn/WVn/WVn/Wlr/Wlr/WVn/WVn/WVn/WVn/WFj/ + V1f/V1f/Vlb/Sm//bNP///////////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM/////////////////////////////f39ZmZmdnZ2////////0dHRwsLC + wcHBXl5eOjo6s7OzwMDAwMDA9vb2/f39y8vLNjY21dXV/f39/f39/f39/f39u7u7NjY2gICAhoaGhoaG + hoaGv7+//f39/f39/f39/f39/f39iIiIMzMzjo6O/v7+/v7+/v7+wcHBMzMzTk5O/Pz8/v7+/v7+6+vr + PDw8ODg42NjY////////+Pj4Pz8/Z2dnioqKhYWFVVVVRkZG6+vrmZmZhoaGhoaGQ0NDU1NThoaGhoaG + sbGx////////////wMDAOjo66Ojo////////////n5+fSUlJ+Pj4fHx8Z2dn////jY2NQkJChoaGhoaG + hoaGhoaGysrKhoaGhoaGenp6MzMzbW1thoaGhoaG2NjYampqNTU1wMDA////////0NDQNjY21NTU//// + /////f39XFxcNTU1qqqq////////////YGBgMzMzr6+v////////////oKCgMzMzbGxs/////Pz8dnZ2 + QUFBkJCQoaGhX19fPz8/1NTU/////f39dXV1Pz8/j4+PoaGhYmJiPz8/0tLS////////////////4+Pj + MzMzzs7O////////////6+vriIiIhoaGfX19MzMzbm5uhoaGhoaG1dXVcnJyUFBQjo6Oi4uLcXFxOTk5 + mJiY/v7+//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////zs7OODg4YmJiSUlJMzMzx8fH//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8q6eiq6eiq6eiq6eiq6eiqqeiqqeiqaaiqaaiqKWiqqaiqaaiqaaiqaai + qaaiqaahqqaiqaahqaWhqaahqaahqaWgqqahqqahqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaSgqaWgqaSg + qKSfqaWgqKSgqKSfqKSfqKWgqKSgqKSgqaWgqaSgqKSgqKSgqaWgqaWgqaWgqaSfqaWgqKWgsa2psKyn + sKynr6umsKymr6ynr6ynr6ynr6ynr6ynr6yosKyor6yosKynsKyor6unr6qnr6unr6unsKunsKyosKyo + sKyosKyosK2osa2osa2osa2osa2osa2osa2osaynsayosK2osKyor6ynsKynsKypsKyosKyosKypsKyo + sKypsK2osa2osK6psa2osq6psq6psq6psq2osq2osq6osa6p0tHO//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////j35vXUQtXkQtXkQtXkQtX0UtX0UuYEUuYEYuYUYuYkcvY0gwZkoxgVcxilsxilsxjFwxuHM3z4A6 + z4A60IA70IE70YE70oI804M804M91IQ91YQ+1oU+14Y/2Ic/2IdA2YhB2olB24pC3YtD3oxE341E4I5F + 4Y9G4pBH5JFI5ZJJ5pNK6JRL6ZZM65dN7JhO7plP75pQ8JxS8p1T855U9aBV9qFW+KJX+aRY+6VZ/KZb + /qdcd2PZTk7/T0//UFD/UVH/UlL/UlL/U1P/U1P/VFT/VFT/VFT/VFT/VFT/VFT/VFT/VFT/U1P/U1P/ + UlL/UVH/UYj/T9D/NMX/9fz///////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM////////////////////////////////xcXFPj4+6Ojo////eXl5S0tL + S0tLS0tLS0tLS0tLS0tLS0tL6urq/Pz8fX19bW1t/Pz8/f39/f39/f39/f390dHRdXV1dXV1dXV1dXV1 + dXV1tra2/f39/f39/f39/f39/f39rq6udXV12tra/v7+/v7+/v7+9fX1eXl5h4eH/f39/v7+/v7+/v7+ + kJCQeXl5/v7+////////+/v7fn5+dnZ2dnZ2eXl5l5eX4+Pj////i4uLdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2 + pqam////////////rKyslJSU////////////////5ubmd3d33d3dpqammZmZ////srKydnZ2dnZ2dnZ2 + dnZ2dnZ2w8PDdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ20tLSm5ubkpKS/v7+////////39/feHh44uLi//// + ////////tbW1ZGRk7Ozs////////////lJSUd3d37e3t////////////5ubmdnZ2nJyc////////+vr6 + oqKiY2NjWlpae3t72dnZ////////////+vr6qampZWVlWlpagYGB3d3d////////////////////7Ozs + dnZ23t7e////////////6Ojod3d3dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2z8/PoKCgdnZ2dnZ2d3d3jIyMzs7O + /v7+//////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////i4uLMzMzMzMzMzMzx8fH//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8rKijq6ijq6ejq6eiq6eiqqaiqqaiqqaiqqaiqqaiqaaiqqaiqqeiqqai + qqaiqqaiqqaiqqaiqqWgqqaiqqahqqahqqahqqagqqahqqahqqWgqqagqaagqqahqaWgqqWgqqSfqaWg + qaWgqaSfqaWgqKWgqaWgqKWgqaWgqaWgqaSgqKWgqaWgqaWgqqWgqaWgqaWgqqWgqaWgqaWgsa2psKyn + sKynsKynsKynsKynsKynsKynr6ynr6ynr6yosK2osKyosKyosKyosKyosKunsKyosKuosKynr6unsKyo + sKyosKyosa2osK2osa2osa2osa2osa2osa2osa2osa2osa2psK2psK2psK2psK2psKypsa2psK2qsKyp + sKypsa2psa6psa6psq6psq6psq6psq6psq6psq6psq6qsq6p0tDO//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + xb21XEMtXEMtXUMtXUQtXkQtXkQtXkQtX0UuX0UuYEUuYEYuYkcvfFQwiVoxiVoxilsxs3E2zn85zn86 + z4A60IA60IE70YE70YI70oI804M81IM81IQ91YQ91oU+14Y+2Ic/2YdA2ohA2olB24pC3YpC3otD34xE + 4I1F4Y5G4o9G45BH5ZFI5pJJ55RK6JVL6pZM65dN7JhO7plP75pQ8JxR8p1S855T9Z9U9qBV96JW+aNX + xYmJSkr/Skr/S0v/TEz/TEz/TU3/Tk7/Tk7/Tk7/T0//T0//UFD/UFD/UFD/T0//T0//T0//Tk7/Tk7/ + TVv/Taz/TNL/S9L/OMn/xO////////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM/////////////////////////////////f39jY2NsrKy/////Pz8+/v7 + +/v7+/v7+vr6+fn5+fn5+fn5/Pz87Ozsa2tr4ODg/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////8/PzT09PMzMzMzMzx8fH//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8rKijrKiirKijrKeirKiiq6eiq6eiqqaiqqaiqqaiqqaiqqaiqqaiqqai + qqajqqaiqqajq6ajqqaiqqaiqqaiqqaiqqaiqqahqqahqqWgqqahqqWgqqWgqqahqqWgqqahqqahqqWg + qqWgqaWgqqagqaWgqKWgqaWgqaahqaWhqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqaWgqKSfsa2psKyn + sKynsKyosKynsKyosKyosa2osKyor6yosK2osK2or6ynsKynsKyosK2osKyosKuosKyosKyosKyosKyp + sK2osK2osK2osK6psa6psa6psq6psa2osa6psa2psa2psa2psa6psK6psK6psK6psK2psK2psa2psq6p + sq6qsq2psq6qsq+qsq+qsq6ps66ps6+qs66qs66qs66psq6q09HO//////////////////////////// + ////////////////////////////////////////////////////////////////////////////9fPy + a1VCW0ItW0MtXEMtXEMtXUMtXUQtXkQtXkQtXkQtX0UuYEUudVAwiFoxiVoxiVoxrG01zX45zn85zn85 + z386z4A60IA60IE60YE70oI70oI804M81IM81YQ91YQ91oU+14Y+2IY/2Yc/2ohA24lB24lB3IpC3YtC + 34xD4I1E4Y5F4o9G45BG5JFH5ZJI5pNJ6JRK6ZVL6pZM65dM7ZhN7plO75pP8JtQ8pxR851S9J5T855W + YVTkRkb/R0f/SEj/SEj/SEj/SUn/Skr/Skr/Skr/Skr/Skr/Skr/S0v/Skr/Skr/Skr/Skr/Skr/Snn/ + ScX/SM7/SM7/R87/Psr/kuH///////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM//////////////////////////////////////////////////////// + /////////////f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////xsbGNjY2MzMzx8fH//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8rKijrKijrKijrKiiq6eiq6eiqqajq6eiqqaiqqejqqaiqqeiq6ejq6ej + qqejqqejqqejqqejqqaiq6aiqqaiq6eiq6aiqqahqqahq6ahqqahq6ahq6ahqqahqqahqqahqqahqqWg + qqahqaWgqaWgqaahqaahqaahqaahqaahqaWhqaWhqaWhqqWhqaWhqaWgqqWgqaWgqKSgqKSfsa2psKyn + sKyosK2osa2psKyosKyosa2osKypsK2psKyosK2osK2psK2osKyosKyosKyosKyosKypsaypsKypsa2p + sK2psa2psa6psa6psa6psa6psq6psq6psq6qsq6psq6psa6psa6qsa6qsK6psa6qsa6qsa6psq2qsq2q + sq6qsq6qsq6qsq+qsq+qs6+qs6+qs6+qs6+qs6+qs6+qs6+q09HO//////////////////////////// + ////////////////////////////////////////////////////////////////////////////opSJ + WUItWkItWkItW0ItW0MtXEMtXEMtXUQtXUQtXkQtXkQtbEsvh1kxiFoxiFoxomc0zH44zX45zX45zn85 + zn85z4A60IA60IA60YE60YE70oI704I704M81IM81YQ91oQ91oU+14Y+2IY+2Yc/2ohA24hA24lB3IpB + 3YtC3oxD34xD4I1E4o5F449G5JBG5ZFH5pJI55NJ6JRJ6ZVK6pZL7JdM7ZhN7plN75pO8JpP8ZtQrHiW + QkL/Q0P/Q0P/RET/RET/RUX/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/Rkb/RlL/RqD/Rsv/ + Rcv/RMv/RMr/Q8r/Qcn/adX///////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM//////////////////////////////////////////////////////// + /////////////v7+/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+sbGxnJyc5OTk//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8rKijrKijrKijrKijrKejq6ejq6ejq6eiq6ejq6eiqqejq6ejq6ejq6ej + q6ekqqejq6ijq6ejq6ejq6ejqqejq6eiqqahq6eiq6ahq6aiq6aiqqahq6ahq6ahqqahqqaiqqahqqah + qqahqqahqaahqaahqqahqaahqaahqaaiqaahqaahqaahqqaiqaahqqahqaWhqqWhqaWhqaWhsa2qsKyo + sa2psKyosKypsa6psa2psa2psa6psa6psa6psK6qsK6psa6psa6psa6psa2psa2psa2psa2psa2psq2p + sa2psa2psa6psq6psq6ps6+psq6qsq6qsq6psq6psq+qsq6qsq6qsq6qsa6qsa6psq6qsq6qsq6qsq6q + sq6qsq6qsq6qsq+qs6+qsq+qs6+qs6+qtLCrtLCrs6+qs6+q1NHP//////////////////////////// + ////////////////////////////////////////////////////////////////////////5uPgWkQw + WEEtWUItWkItWkItWkItW0MtXEMtXEMtXEMtXUQtY0cuhFgxh1kxh1kxlmEzynw4zH44zX44zX45zn85 + zn85z385z4A60IA60IA60YE60oE70oI704I71IM81IM81YQ81oQ91oU914Y+2IY+2Yc/2og/24hA24lA + 3IpB3YpC3otC34xD4I1D4Y5E4o5F449F5JBG5ZFH5pJH55NI6JRJ6pRK65VK7JZL7ZdM7phM5pVVT0fu + Pz//QED/QED/QUH/QUH/QkL/QkL/QkL/Q0P/Q0P/Q0P/Q0P/RET/RET/Q0P/Q0P/Q2j/Qrr/Qsj/Qsj/ + Qsj/Qcj/QMf/QMf/P8f/SMz///////////////////////////////////////////////////////// + urq6f39/f39/f39/f39/jIyM/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/f39/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////// + /////////////////////Pz8rKikrKijrKijrKejrKejq6ikrKijq6ijq6ejq6ekq6ejq6ekq6ejq6ej + q6ikq6ijq6ijq6ikq6ikrKajq6ejq6ejq6ajq6ejq6aiq6ejq6aiqqaiqqaiq6eiq6eiq6eiqqaiq6ei + qqaiqqeiq6eiq6ejqqehqqaiqqeiqaeiqqeiqaeiqaaiqqaiqaaiqqejqaaiqaWiqaaiqqaisa6qsK6p + sK6psa2psa6psa6psa2psa6psq6qsa+qsq+qsa+qsq6psa+qsa6psa6psq2psa2psa2psq6psq6qsa2q + sq6qsq6psa6psq6psq+qsq6qs6+qsq6ps6+qs6+qsq6qsq+qsq+qsq+qsq+qsq+qsq6qsq6qsq6qsq6q + sq6qs6+rsq+qsq+qs6+qs6+qs7Crs6+qtLCrtLCrtK+qs6+q1NHP//////////////////////////// + ////////////////////////////////////////////////////////////////////////kIJ1V0At + V0EtWEEtWUEtWUItWkItWkItW0ItW0MtXEMtXUMtfVQwhlkxhlkxjVwyxHk3zH04zH04zX44zX44zn45 + zn85z385z3850IA50IA60YE60YE60oE704I704I71IM81IM81YQ81oQ914U914Y92IY+2Yc+2oc/24g/ + 24lA3IlA3YpB3otC34xC4IxD4Y1D4o5E445E5I9F5ZBG5pFG55JH6JNI6ZNI6pRJ6pVJ7JZKlGmlPDz/ + PT3/PT3/Pj7/Pj7/Pj7/Pz//Pz//Pz//QED/QED/QED/QED/QED/QED/QEf/QJL/QMT/P8T/P8T/P8T/ + PsT/PsT/PcT/PcT/PMT/Ncb//P7///////////////////////////////////////////////////// + t7e3gYGBgYGBgYGBgYGBjIyM8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx+vr6//// + /////////////////////Pz8raikrKikrKikrKikrKikrKikrKikrKikq6ekrKikrKikrKikrKikrKek + rKikrKikrKmkrKikrKijrKikrKekrKekq6ekq6ijq6ejq6ejq6ejqqeiq6aiq6eirKeiq6eiq6eiq6ei + q6eiq6ejq6ejq6ijq6ejq6eiq6iiq6eiqqejq6ijq6ijqqejqqejqqeiqqeiqqeiqqaiqqaisa+rsK6p + sa6qsa6qsq6qsa6qsq+qsq+qs6+qsq+qsq+qsq+qsq+qsq+qsq+qsq6psq6qsq6qsq6qsa2psq6qsq6q + sa2psq6qsa6psa6psq+qs6+qs6+qsq6qs6+rsq6qs6+rs6+qs6+rsq+qsrCrsq+rs6+qsq6qsq6qsq6q + s66qsq+rsq6qs6+rs7Crs7Crs6+qs7CqtLCrtLCrs6+rtLCr1NHP//////////////////////////// + ////////////////////////////////////////////////////////////////////4+DcWEIvVkAt + VkAtV0EtWEEtWEEtWUEtWUItWkItWkItW0ItcU4vhVgxhlgxh1kxuHM2y304zH04zH04zX44zX44zn44 + zn85zn85z385z4A50IA50IA60YE60oE60oE604I704I71IM71YM81YQ81oQ814U914U92IY+2Yc+2oc+ + 2og/24g/3IlA3YpA3opB34tB4IxC4IxC4Y1D4o5E445E5I9F5ZBF5pFG55FG6JJH6ZNH2YtZQj72Ojr/ + Ojr/Ozv/Ozv/PDz/PDz/PDz/PDz/PT3/PT3/PT3/PT3/PT3/PT3/PV7/PbL/PcH/PcL/PML/PML/PML/ + PML/O8L/O8L/OsH/OsH/McP/6fn///////////////////////////////////////////////////// + 7e3t4+Pj4+Pj4+Pj4+Pj5eXl8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz7e3t6urq6urq6urq6urq6urq6+vr6urq6+vr6+vr6+vr6+vr6+vr6+vr7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7e3t7e3t7e3t7e3t7u7u7u7u7u7u7u7u7u7u7+/v7+/v8PDw + 8PDw8PDw8PDw8PDw8fHx8fHx8fHx8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz+/v7//// + /////////////////////Pz8rKmlramlramkrKmlrKikrKikrKikrKilramkrKikq6ikq6ikrKikrKmk + rKmlrKilrKmlramkrKikrKikrKikrKikq6ejq6ekq6ejrKejq6eirKeiq6eiq6eirKeiq6eirKeiq6ei + q6eirKiiq6eiq6ijrKeirKijrKiiq6ejq6ijq6ijqqiiq6iiq6ijqqeiqqaiq6ijqqaiqqaisa6rsa6p + sa6psa6psq6qsq6qsq+qsq6qsq+qsq+qsq+qsq+qsq+qsq+qsq+qsq+qsq6qsq+qsq6qsq6qsq6qsq6q + sq6qsq6qsa6qsq6qsq+qs6+qs6+qs6+rs6+qs6+rs6+rs7Crs7Crs7Crs7Crsq+rsq+qsq6qsq6qs6+r + s6+rs6+rsq+rs6+rs7Crs7Crs7Crs7Css7CrtLCstLCstLCs1NLQ//////////////////////////// + ////////////////////////////////////////////////////////////////////koJ1V0EtVkAt + VkAtVkAtV0AtV0EtWEEtWEEtWUItWUItYkYuhFgxhVgxhVgxpWg0y3w3y304zH04zH04zX44zX44zX44 + zn44zn85z385z3850IA50IA50YA60YE60oE60oI604I71II71IM71YM71oQ81oQ814U82IU92IY92YY+ + 2oc+2og+24g/3Ik/3YlA3opA3opB34tB4IxC4IxB3opA24g/2og/24g/3YpB4o5D55FGfFq3Nzf/ODj/ + ODj/ODj/OTn/OTn/Ojr/Ojr/Ojr/Ojr/Ojr/Ojr/Ojr/Oj//OoL/Or7/Or//Or//Or//Or//Or//Ob// + Ob//Ob//OL//OL//N7//MsL/2PX///////////////////////////////////////////////////// + r+v6cOD8cOD8cOD8cOD8feL79PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT08/Pz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8fHx8fHx8fHx8fHx8fHx8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0+/v7//// + /////////////////////Pz8rqmlramlramlrKmlramlramkramkramlrKmkrKmlramlramlramkrail + ramlraikrKmlraikramkramkrKikrKikq6ijrKijq6ejq6ejrKejq6ejq6eirKeirKeiq6eirKeirKii + rKijrKeirKijrKeirKijrKijrKijrKijrKijrKijq6iirKijq6ijq6iiq6ijq6ejq6eiq6eisq+rsa6p + sq6qsq6qs66qsq6qsq+qsq+qs6+qsq+qs6+qsq+qsq+qsq+qs6+rsq+qsq+qsq+qsq6qsq6qsq6qsq6q + sq6qsq6qsq+rsq+rsq+rsq+rs7Crs7Crs7Crs7Crs7Crs7Crs7Crs7Css7Crs7Crs7Css6+rs6+rs6+r + s6+rs6+ss6+ss6+ss7Css7Css7Css7CstLCstLCstLGstLCs1NLQ//////////////////////////// + ////////////////////////////////////////////////////////////////7OnmW0QwWEEtV0At + VkAtVUAtVkAtVkAtV0AtWEEtWEEtWUEtfVQwhFgxhFgxkV4yyXs3y3w3y303zH04zH04zH04zX44zX44 + zn44zn44z384z3850H850IA50YA50YA50oE60oE604I604I61II71IM71YM71oQ81oQ814U82IU82IY9 + 2YY92oc+2oc+24g+3Ig/3Yk/3Yg+24c93phb4al54rKI4rSN3q6DtYZdvXk+tnFHg1iNMjD2NDT9Njb/ + Njb/Njb/Nzf/Nzf/Nzf/ODj/ODj/ODj/ODj/ODj/OFT/OKb/OLz/OLz/OLz/OL3/OL3/OL3/N73/N73/ + N73/Nr3/Nr3/Nr3/Nb3/MsD/0PP///////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8rqqlrqqlrqqlrqqlrqmlramlramlramlramlramlrKikraikramlraml + ramlramlramkraikramkramkramkrKmkrKijrKijrKijrKejrKejq6ejq6eiq6eirKeirKejrKejrKei + rKeirKijrKijrKijrKijrKijrKijrKiirKijrKijrKijrKijq6ijq6ijq6ejq6ijqqeiq6ejsq+rsq6q + sq+qs6+qsq+qs6+qsq+qs6+qsq+qs6+qs6+qs6+qsq+qsq+qsrCqs6+rsq+qsq6qsq6rsq6qsq6qsq6r + sq6rsq6rsq6rsq+rsq+rs7Crs7Css7Css7Css7CstLGss7GstLGstLGstLGss7CstLCstLCss7Css7Cs + s7Css7Css7CstLCss7Css7Css7Css7CstLCstLGttLGstLGt1NLQ//////////////////////////// + ////////////////////////////////////////////////////////////////pJaKWUItWUEtWEEt + V0AtVkAtVUAtVUAtVkAtV0AtV0Eta0suhFcwhFgwhVgxvHU2ynw3y3w3y303zH03zH04zH04zX44zX44 + zn44zn44zn84z384z3850IA50IA50YA50YE50oE60oE604I61II61II61YM71YM71oQ71oQ814U82IU8 + 2IY82YY92oY924c934xD6bB989e+/fn2////////////////////l77gLXC8LDvDKSnhKSnxKSnvLi71 + NDT+NTX/NTX/NTX/Njb/Njb/Njb/Njb/Njj/Nnr/Nrf/Nrr/Nrr/Nrr/Nrr/Nrv/Nrv/Nrv/Nbv/Nbv/ + Nbz/NLz/NLz/NLz/M7z/Mb7/0PP///////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8r6unrqqmrammrqqlramlrqqlramlrqqlramlramlramlramlramlraml + ramlramlrqmkrqmkrqmkramkraikraikramkrKijrKijrKijrKejrKijrKejq6ejrKejrKejrKejrKei + rKijrKijrKijrKijrKijrKijrKijrKijrKijrKijrKijrKijrKiiq6eiq6ejq6ijq6ijq6ejsq+rsa6q + sq+qs6+qs6+qs6+rs6+qtK+qs6+qs6+qs6+qs6+rsq+rsrCrsrCrsq+rsq+rsq+rs6+ssq+rsq+rsq+r + sq6rsq6rsq+rsq+ssrCssrCstLCstLGstLGstLGstbGstLGttLGstLGstLGstLGstLCttLGttLCstLGt + tLCttLGstLCstLCstLCttLCttLCttLGttLGttbGttbGttbGt1NLQ//////////////////////////// + ////////////////////////////////////////////////////////////+/v6ZlA8WkItWUItWEEt + V0EtVkAtVkAtVT8tVUAtVkAtWkItgVYwg1cwg1cwo2gzynw3ynw3y3w3y303zH03zH03zH04zX04zX44 + zn44zn44zn44z384z3840H850IA50YA50YA50oE50oE504E604I61II61II61YM71YM71oQ714Q714Q8 + 2IU82YU8341E8MGY/PXu////////////////////////////////yd7wKXrBKXa/KUm7KSnHKSnlKSno + KyvrMjL9NDT/NDT/NDT/NDT/NDT/NEj/NJz/NLf/NLj/NLj/NLj/NLj/NLn/NLn/NLn/NLn/NLr/M7r/ + M7r/M7r/Mrr/Mrr/Mrr/ML3/7fn8//////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw5uvxf6/3MIL8FXL+Inr9WJn5wtbz8PDw8PDw8PDw8PDw8PDw + 8PDwvNLz7O7w8PDw6OvwosP1rsr07e7w8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8r6yorqqmrqqmrqqmrqqmrammrammramlrammramlramlrqmlramlrqml + rqmlrqmkramkramkrqmkramkramlramkramkramkramkraikrKijrKikrKikrKekrKikrKijrKijrKik + rKejrKijrKikrKijrKikrKijrKikrKijrKikrKijrKijrKijrKijrKijq6ijq6ijrKijq6ijsrCssq+r + sq+qs6+rs7Crs6+rs6+qs7Crs6+rs6+rs7Crs7Crs7Crs7CrsrCrsq+rsq+rs6+rs7Css6+ssq6rsq+s + s7Css6+rtLCssrCssrCss7CstLGstLCstLGstbKttbKstbGstbGstLKttbKttbKttLCstbGttbGttLCs + tLCstLCstLCstLCstLCstLCttLGttLGttLGttbKttbGstLGs1NLQ//////////////////////////// + ////////////////////////////////////////////////////////////ysG6XEMtW0ItWkItWUIt + WEEtV0EtVkAtVUAtVT8tVT8tcU4vg1cwg1cwilsxxno3ynw3ynw3y3w3y3w3zH03zH03zH03zX04zX44 + zn44zn44zn44z384z3840H840H840YA50YA50YA50oE50oE504E61II61II61YI61YM61oM71oQ714Q7 + 2oU77bSC/fXu////////////////////////////////////////5vD4KXzFKXrCKXi+KVq8KSy9KSne + KSniKyvmMjL+MjL/MjL/MjT/Mmz/MrH/MrX/Mrb/Mrb/Mrb/Mrf/Mrf/Mrf/Mrj/Mrj/Mrj/Mrj/Mrj/ + Mrj/Mbj/Mbj/Mbj/MLj/Oqjg5OTk//////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw2dnZ1tbW8PDw8PDw8PDw + 8PDw4ODg19fX8PDw8PDw8PDw8PDw5+fnyMjI7e3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7Ozs6+vr6+vr + 6+vr6+vr6+vr6+vr7Ozs7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7e3t3Nzc6enp7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v6Ojo3Nzc7u7u7+/v8PDw7u7u7e3t7e3t7e3t7e3t7e3t7e3t7u7u8PDw8PDw8PDw + 7e3t7e3t7e3t7e3t7e3t7e3t7e3t7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw7+/v7e3t7e3t7e3t7e3t7e3t7e3t7e3t8PDw8PDw8PDw7+/v7e3t7e3t7e3t7e3t7e3t7e3t + 7u7u8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw39/f5ubm8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 5OTk4eHh8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw2+TxKn78AGb/AGb/AWf/AGb/AGb/BGj/krr28PDw8PDw8PDw8PDw + 8PDwg7H3lbz27+/wUpX6ZKD5TZL6fK338PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sKyorqumrqqmraqmraqmraqmrqqmrqqmrqqmrqqmramlrqmlrqmlrqml + rqmmrqmlrqqmrqmlrqmlrqmlrqmkramkrqmkrqmkramkramkramkrKmkramkrKikrKikrKikrKikrKil + rKikrKikraikraikrKmkramkrKmkrKikrKijrKikrKijrKijq6ejrKijq6ijq6ijq6ejq6iks7CssrCr + s7CrtLCss7CrtLCrtLCrtLCstLCstLCrtLCrs7Crs7Crs7Crs7Crs7Gss7Crs7Css7Css6+ss7Css7Cs + s7Css6+rtLCstLCstLCstLCstLGstLGstbKttbGstbGstbGstbKttbKttbKttbKttbGttbGttbGttbGt + tbGttLCttbGstLCstLCttLGttLGttLGttLGttLGstbGttbKt1NPQ//////////////////////////// + ////////////////////////////////////////////////////////////jXtrXEMtW0MtWkItWkIt + WUEtWEEtV0AtVkAtVUAtXEMtgVcwglcwglcwr240ynw3ynw3ynw3y3w3y3w3zH03zH03zH03zX03zX44 + zX44zn44zn44z344z3840H840H840IA40YA50YA50oA50oE504E504E51II61II61YI61YM61oM6349I + +NvB////////////////////////////////////////////////8/T0NmOKKXzEKXvCKXm+KWm8KTO+ + KSnbKSncLCzpMTH/MUL/MZb/MbP/MbT/MbT/MbT/MbX/MbX/MbX/Mbb/Mbb/Mbb/Mbb/Mbb/MLf/MLf/ + MLf/MLf/MLf/NLDxQZXBUXiM6+vr//////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw4uLiS0tLtbW18PDw8PDw8PDw + 8PDwjY2NTU1N7u7u8PDw8PDw8PDw6urqUVFRpaWl7u7u7u7u7u7u7u7u7u7u7u7u7u7ucXFxOzs7PDw8 + PDw8PDw8PDw8PDw8eXl57u7u7u7u7u7u7+/v7+/v7+/vxsbGbGxs0dHROzs7srKy7+/v7+/v7+/v7+/v + 7+/v7+/vpqamf39/pqamPDw85+fn7+/v7+/vhISEOzs7PDw8PDw8PDw8PDw8PDw8goKC8PDw8PDw8PDw + WFhYPDw8PDw8PDw8PDw8PDw8PDw8vb298PDw8PDw8PDw2trajo6O5ubm8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw0dHROzs7PDw8PDw8PDw8PDw8PDw8QkJC5eXl8PDw8PDwpqamOzs7PDw8PDw8PDw8PDw8PDw8 + bW1t8PDw8PDw8PDw8PDw8PDw8PDw6enpcHBwvb29SkpKkpKS8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + gICAXFxc8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwTpP6AGb/Hnf9sMv07O7w2uPxZaD5AGb/BGj/wtbz8PDw8PDw8PDw + 8PDw5erxPIj72+TxInn97O3w1+LyMIL88PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sKyor6umrqumrqqmrqqmrqqmraqmrqqmrqqmrqqmrqqmrqqmraqmrqqm + rqmlrqqlrqqmrqqlrqqlrqqmrqqlrqqlrqqlrqqlraqlramlramlramlraqlramlramlramlramlraml + ramlramlramlramlramlramlrKmkramkrKmkramkrKmkrKmkrKikrKijrKijrKikrKikrKiktLGss7Cs + s7CstLCstLCstLCrtLGstLCrtLCrtLCrtLCrtLCrs7CrtLGss7CrtLGss7Crs7Css6+ss6+stLCss7Cs + tLCstLCss7CstLCstLCstLCstbGttLGstbKttbKttbGstbKttbKttbKttbKttbKttbKttbGttbGttbGt + tbGttbGttbGstLGttLCttLGutLGttLGttbKttLGttbKttbKs1dLQ//////////////////////////// + ////////////////////////////////////////////////////////9fPyY0o0XUQtXEMtW0MtWkIt + WUItWEEtWEEtV0AtVkAtck4vglYwglYwj10xyXs3ynw3ynw3ynw3y3w3y3w3zH03zH03zH03zX03zX03 + zX43zn44zn44z344z384z3840H840H840YA40YA50oA50oE504E504E51IE51II51II61YI65JpZ/e/j + ////////////////////////////////////////////////////6enpRkZGPVduKnm+KXvCKXm/KXK8 + KULJKSnbKSzaL1/4MKv/MLL/MLL/MLP/MLP/MLP/MLT/MLT/MLT/MLT/MLX/MLX/MLX/MLX/L7b/L7b/ + NqnoQ5C5UnSGXV9gXV1dXl5e+fn5//////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwkJCQUVFR6+vr8PDw8PDw8PDw + 8PDwjIyMSkpK7u7u8PDw8PDw8PDw8PDwn5+fR0dH5eXl7u7u7u7u7u7u7u7u7u7u7u7ubGxsVlZWvb29 + vb29vb29vb29vb29zs7O7u7u7Ozs7u7u7u7u7+/v7+/vtbW1ODg4y8vLNjY2sbGx7+/v7Ozs7+/v7+/v + 7+/v7+/vioqKU1NTpKSkNzc35+fn7+/v7+/vfn5+S0tLvr6+vr6+vr6+vr6+vr6+0tLS8PDw8PDw8PDw + UVFRZGRkpqampqampqampqamp6en4ODg8PDw8PDw8PDw6urqSkpKqqqq8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw0NDQMzMznJycvr6+vr6+vr6+vr6+wMDA7e3t8PDw8PDwoqKiNTU1oqKipqampqampqampqam + wMDA8PDw7+/v7u7u7u7u7+/v8PDw5ubmPT09qKioRkZGj4+P8PDw7u7u8PDw8PDw8PDw8PDw8PDw8PDw + fX19WFhY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw4ujxA2j/AGb/scz08PDw8PDw8PDw8PDwRY77AGb/XJv58PDw8PDw8PDw + 8PDw8PDwjrj2h7T2KH38tM30krr2UJT68PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sK2or6unr6unrqunrqynrqunrqqnraqmrqunrqqnrqqmrqqnrqqmrqqn + rqqmrqumr6unr6qmr6umrqumrqumrqumrqumrqumrqqlrqumrqqmraqlraqlrKqmraqlraqlraqmraml + ramlraqmrqmlraqlrqqlraqlraqlramlraqlraqlramkrKmkrKmkrKmkrKikramkramkrKmktLGttLCs + s7CstLCstLGstbCstbGstLCstLCrtLGstLCrtLCrtLCrs7Crs7Css7Crs7CstLCstLCstLCstLCstLCs + tLCstLCstLCstLGttLCstLCstbGttbGstbGstbKttbKttrKttbKttbKttbKttbKttbKttbKutbKttbGu + tbGutbGutbGttbGutLGttbGutbGutbKutbKttbKutbKutrKu1dPQ//////////////////////////// + ////////////////////////////////////////////////////////zcW9X0QtXkQtXUMtXEMtW0It + WkItWUItWEEtV0EtXUQugVYwgVYwglYws281yns3ynw3ynw3ynw3y3w3y3w3zH03zH03zH03zX03zX03 + zX43zn43zn44zn44z384z3840H840H840YA40YA40YA40oA50oE504E504E51II51II5555d/vXu//// + ////////////////////////////////////////////////////1dXVRkZGRkZGQU5aLXKvKXvCKXm/ + KXe8KX3OKYLQK5TjL7H/L7H/L7H/L7L/L7L/L7L/L7P/L7P/L7P/L7T/L7T/L7T/L7T+N6TgRoisVWx5 + XV1dXV1dXV1dXV1dXFxcampq//////////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqSEhIj4+P8PDw8PDw8PDw8PDw + 8PDwjIyMSkpK7u7u8PDw8PDw8PDw8PDw3NzcNzc3rq6u7u7u7u7u7u7u7u7u7u7u7u7ubGxsYmJi7u7u + 7u7u7u7u6OjolZWVy8vLyMjIVVVV0tLS7u7u6enpg4ODk5OTODg4y8vLNjY2sbGxv7+/TU1NvLy87+/v + 7+/v7+/vioqKU1NTpKSkNzc35+fn7+/v7+/vfn5+VFRU8PDw8PDw8PDw5ubmlpaW0tLS8PDw8PDw8PDw + WFhYOzs7PDw8PDw8PDw8OTk5ODg42dnZ8PDw8PDw8PDw8PDwkJCQYWFh7+/v8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw0NDQMzMzwcHB8PDw8PDw8PDwtbW1qamp8PDw8PDw8PDwpaWlOjo6PDw8PDw8PDw8Ozs7NTU1 + ioqK8PDwsbGxWlpaWlpaYGBgbm5urq6uPT09qKioRkZGj4+Pzs7OXFxcysrK8PDw8PDw7u7ukZGRvr6+ + fX19WFhY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw4OfxgrH3g7H37e7w8PDw8PDw8PDw8PDwkrr2AGb/K3348PDw8PDw8PDw + 4ujxvNLz4OfxPon7vNLzSpH6WJn62OLx8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sa2pr6ynr6ynr6ynrqynr6unrqunrqynr6ynr6unr6unr6unr6unr6un + r6unrqunr6unr6unr6umr6umr6umr6umr6umr6umr6umr6umr6umrqumrqumrqumrqumrqqmrqqmrqqm + rqqmrqqmrqqmrqqmrqqmrqqmrqqlrqqlrqqlramkrqqlramkramkramkramkramkramkramktbGttLCs + tLCstLCstLCstbGstbGstbGstbGstbGstbGstbGstLGstLCrtLCss7Gss7Css7GttLCstLGts7CstLCs + tLCstbGttLCstLCttLCttLCttLGstLGttLGttrKttrKttbKttrKttrKstbKttbKutbKutbKutbKutbGu + tbGutbKutbGutbKutrKutbKutbGutbKutbOutrKutrKutrOu1dPQ//////////////////////////// + ////////////////////////////////////////////////////////nYx+X0UtXkQtXUQtXEMtXEMt + W0ItWkItWUEtWEEtcE4vgVYwgVYwjl0xyXs3yns3ynw3ynw3ynw3y3w3y3w3zH03zH03zH03zX03zX03 + zX43zn43zn43zn44z344z3840H840H840H840YA40YA40oA40oA404E504E51IE55ZpY/vbu//////// + ////////////////////////////////////////////////////ycS/R0ZGRkZGRkZGRElOMmqbKXrC + KXm/KX7IKYHOKYTRLq/+LrD/LrD/LrH/LrH/LrH/LrL/LrL/LrL/L7H8OpzVSYGhV2VtXFxcXFxcXFxc + XFxcXFxcXFxcXFxcXFxcf39///////////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDwz8/PMzMzvb296urqnJycmJiYmJiY + mJiYYmJiQEBAl5eXmJiYmJiYmJiYzs7O7e3tU1NTenp67u7u7u7u7u7u7u7u6urq6+vrmJiYkpKS7u7u + 7u7u7e3t4uLiNzc3paWl5+fnXl5eXFxc6Ojog4ODQ0NDlpaWODg4y8vLNjY2sbGx6urqfHx8PDw8wcHB + 7+/v7+/viYmJU1NTpKSkNzc35+fn6enp09PTmZmZenp68PDw8PDw8PDw29vbNjY2sbGx8PDw8PDw8PDw + rq6uoaGhoaGhoaGhoaGhf39/Nzc32dnZ8PDw8PDw8PDw8PDw1dXVOzs70NDQ8PDw8PDw8PDw8PDw8PDw + 8PDw1NTU0dHRYWFhzc3N8PDw8PDw8PDwdnZ2Xl5e8PDw8PDw8PDw0NDQoaGhoaGhoaGhoaGhn5+fQkJC + ioqK8PDwoaGhNjY2lpaWmJiYiIiIrKysPT09qKioRkZGj4+P6OjoaWlpRkZG2NjY7+/vhYWFPDw8tLS0 + fX19WFhY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwlrz2AGb/JXn38PDw8PDw0t7y + K378VZf6M4P8iLT2gbD38PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sa2psK2osK2osKynsK2osK2osKynr6ynr6ynr6ynr6ynr6ynr6unr6yn + r6unr6unr6unr6ynr6umsKynr6ynr6umsKymr6umr6umr6umr6umr6umr6umr6umr6umrqumrqqmrqum + rqqmrqqmrqqmr6umrqqmrqqmrqqlrqqmrqqlrqqlramkrqqkramkramkramkramkramkraqltbGttLCs + tLCstbGstbGstbGstbGstbGstbGstbGstLGstbGstLCstLGstLGstLGttLGss7GttLGstLGttLGttLGt + tLGttLCttLCttLGttLCttbGutbGttbKttbKttbGttrGttrKttrKttrKutbKutbKutbKutbKutbKvtbGv + tbGvtrKutbKutrKutrKutrKutrKvtrKutrOutrOutrOutrOv1dPQ//////////////////////////// + ////////////////////////////////////////////////////////dl5KYEUtX0UtXkQtXUQtXEMt + W0MtWkItWUItXEMtf1YwgVYwgVYwsW81yXs3yns3ynw3ynw3ynw3y3w3y3w3zHw3zH03zH03zX03zX03 + zX43zn43zn43zn43z344z3840H840H840H840YA40YA40oA40oA404E404E5341E/vDj//////////// + ////////////////////////////////////////////////////upR0fVk4S0hFRkZGRkZGRkZHN1+B + KXrAKXzEKX/KKX/KLKf2La//LbD/LbD/LbD/LbH/L675PZTHS3mTWGBkW1tbW1tbW1tbW1tbW1tbW1tb + W1tbW1tbW1tbW1tbW1tbnJyc//////////////////////////////////////////////////////// + cd/6AMz/AMz/AMz/AMz/GND98PDw8PDw8PDw8PDw8PDw8PDw8PDwtbW1NTU11NTU5+fnaWlpY2NjY2Nj + Y2NjY2NjY2NjY2NjY2NjY2NjY2Njurq68PDwbW1tYGBg7u7u7u7u7u7u7e3tc3Nza2tr3t7e7u7u7Ozs + rKyseXl53d3dNzc3paWl7u7uzc3NOTk5gICANzc3r6+vtbW1ODg4y8vLNjY2sbGx7+/v7Ozsb29vSUlJ + rq6uXl5eR0dHU1NTpKSkNzc35ubmpKSkOTk5cXFx1tbW7+/v8PDw8PDw29vbNjY2sbGx8PDw5+fn7+/v + bW1tVFRUVFRUVFRUVFRUUlJSUFBQ3Nzc8PDw8PDw8PDw8PDw7u7uaGhoh4eH8PDw8PDw8PDw8PDw8PDw + 4+PjSkpKTU1Nra2t7u7u8PDw8PDw8PDwdnZ2XV1d8PDw7u7u6enpsLCwVFRUVFRUVFRUVFRUVFRUTk5O + mJiY8PDwoaGhOTk56urq8PDw8PDw5ubmPT09qKioRkZGj4+P8PDw4+PjUVFRZWVlpqamNzc3rq6u8PDw + fX19WFhY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw3eXxssz0y9vy8PDw8PDw8PDw8PDwU5b6AGb/S5H68PDw8PDweqz3 + f6/38PDwZ6L4lrz1PIj73ubx8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8sq6psK2osK2osK2osK2osK2osK2osK2osKynsKynr6ynsKyor6ynr6un + r6unr6unsKynr6unr6unr6unr6unr6ynsKynr6umr6umsKymr6umr6umr6umr6umrqumrqumr6umrqum + r6umrqumrqqmr6unr6unrqqmrqqmrqqlrqqlrqqlramlrqqlramkramlramkramkramkramktbGttLCs + tLCstLCstbGstbGttbGttbGttbGttbGstbGttbGstbGttbGttLGts7Gss7Gts7KttLGttLGutLGutbGu + tbGttbGttbGttbGttLGttbGttLGttLKttbKutrKutrKutrKutrKutrKutbKutbKutbKutbKvtbOwtrOv + trKwtrOvtrOvtrOutrKutrOutrOvt7OutrOvtrSutrOvtrOu1tTR//////////////////////////// + ////////////////////////////////////////////////////8u/tYkYuYUUuYEUtX0QtXkQtXUMt + XEMtW0ItWkIta0sugFYwgFYwiVoxyHo3yXs3yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3840H840H840H840X840YA40oA40oA40oA42IM4+9vA//////////////// + ////////////////////////////////////////////////+fXynmg4mWIyil01UUpDRkZGRkZGRkZG + PVNnK3e7KX3HKX3HK5/uLK//LK//MafwP428TnGGWV1fWlpaWlpaWlpaWlpaWlpaWlpaWlpaW1tbW1tb + W1tbW1tbW1tbW1tbW1tburq6//////////////////////////////////////////////////////// + cuD8AMz/AMz/AMz/AMz/GND+8vLy8vLy8vLy8vLy8vLy8vLy8vLyr6+vNzc33Nzc8vLy7+/vnZ2dvLy8 + 7e3t8vLy8vLy8vLy0tLSl5eX2tra8vLy8vLydnZ2Wlpa8fHx8PDw8PDw8PDw0dHRU1NTV1dX4eHhhoaG + OTk5lJSU4ODgNzc3p6en8PDw8PDwdnZ2MzMzYWFh5eXlsLCwODg4zc3NNjY2srKy8fHx8fHx4uLiR0dH + Z2dnpqamaGhoVFRUpqamNzc36enp8fHxx8fHXl5eQUFBvb298vLy8vLy3d3dNjY2s7Oz4+PjUFBQeXl5 + 5ubm8vLy4uLihYWFnJycurq6QkJC3Nzc8vLy8vLy8vLy8vLy8vLytLS0RkZG6urq8vLy8vLy8vLy8vLy + 8vLy5eXlj4+POjo6fn5+7e3t8vLy8vLydnZ2Xl5e8vLykZGRTk5OwMDA8vLy8fHxsrKyb29v4eHhV1dX + kZGR8vLyoqKiNjY2l5eXmpqapqamoKCgOTk5qqqqRkZGkJCQ8vLy8vLywMDANjY2Ozs7gICA4uLi4uLi + d3d3WFhY8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLyXJv6AGb/EnD+mb724ejz1OHzbaX4AWb/AGb/sMz38vLy8vLyjrj4 + Yp756OzzSI/7rsv2pcb3eKz48vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy+/v7//// + /////////////////////Pz8sq6qsa2osa2osa2osa2osKyosa2osK2osK2osKyor6ynr6ynr6ynr6yn + r6ynr6unr6unr6unsKqnr6unr6umr6umr6unr6umsKynr6umr6umsKynr6umsKymr6umr6umr6umr6um + rqumr6unrqumrqqmr6umrqqmrqqmrqqlrqqmrqqlrqqlramlramlrqqlrqqkramkrqqlrqqltbGttLCs + tLCstLCstLCstbGttbGttrGttbGttbGttbGttbGttbGttbGutbKutbKutLKutbKutLKutbKutbKttbGu + tLGttbGutLGttbGttbGutLGttLGttbKutbKttrKutrKutrKutrKutrOutrOutrOutbOvtrOvtrOvtrOv + trOvtrOvt7OvtrOvtrOutrOut7OvtrOvt7OvtrOvtrOutrOu1tTR//////////////////////////// + ////////////////////////////////////////////////////0cjBYkYuYUYuYEUtX0UtXkQtXUQt + XEMtXEMtW0Ite1MwgFYwgFYwp2ozyXs2yXs3yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H840H840H840X840YA40oA40oA40oA48rV///////////////////// + ////////////////////////////////////////////////072omWIymmMymWIykV8zXk5ARkZGRkZG + RkZGQk1WN2OKMW6lM4zLQoStT2x/WVlZWVlZWVlZWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpa + WlpaWlpaWlpaWlpaWlpa4ODg//////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH//v7+/v7+/v7+/v7+/v7+/v7+/v7+xMTENDQ03Nzc/v7+4ODgdnZ2PDw8 + WVlZ0dHR8PDwfn5+OTk5Xl5eubm5/v7+/v7+bGxsZ2dn/v7+/Pz8/Pz8/Pz8/Pz85+fnTExMUVFRODg4 + tbW17+/v4+PjNzc3rq6u/Pz8/Pz8vLy8MzMzmJiYQ0NDOjo6OTk51tbWNzc3urq6/Pz8/Pz8/Pz8oaGh + Pj4+6enpjIyMVlZWra2tNzc39PT0/v7+/v7+9/f3g4ODPj4+lZWVVlZWUlJSNDQ0u7u7/v7+ycnJSkpK + YGBg0dHRTk5OT09PwMDAv7+/Nzc35ubm/v7+/v7+/v7+/v7+/v7+9fX1SEhIurq6/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+yMjIQUFBhISEY2NjVlZWPz8/YGBg/v7+7u7ufHx8Ozs7vb29iIiIODg4jY2N7u7uTk5O + kZGR/v7+urq6XFxcXFxcOzs7UlJSWFhYNTU1srKyR0dHlpaW/v7+/v7+/Pz8WFhYNjY24ODgQkJCOjo6 + NjY2Wlpa/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+jLr/AGb/AGb/AGb/A2j/Amf/AGb/AGb/fbH//v7+/v7+/v7+9fn/ + YKD/MoT/daz/+/z++/z+ZKL/8/j+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////// + /////////////////////Pz8sq6qsa2osa2osa2osa2osKynsK2osKyosK2osK2or6ynsKyor6ynr6yn + r6ynr6unr6yor6uor6unr6unr6unr6unr6unr6unr6unr6umr6umr6umr6unsKynr6umr6unr6umr6un + r6umrqumrqumrqqmrqumrqqnrqqmrqqmrqqmrqqmraqlramlramlraqlrqqlrqqmrqqlrqqltbGutLCt + tLCttLCttLCstbGttbKttbKttrGutbKttbKttrKutbKutrKutbKutbOutbKutbKutbKutbKutbKutbKu + tbKutbKutbKutrKutbGttbGttbGttbGutbKttrKutrOutrOutrOutrOutrOvtrOutrSvtrSvt7SwtrOw + t7OwtrOvt7Svt7Ovt7Sut7Out7Ovt7Ovt7Ovt7Ovt7Out7Sv1dTQ//////////////////////////// + ////////////////////////////////////////////////////taebY0cuYkYuYUYuYEUtX0UtXkQt + XUQtXEMtY0cugFUwgFUwglYwwXc1yXs2yXs3yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H830H830H840X840YA40YA40oA44Ys///Pq//////////////////// + /////////////////////////////////////////////Pr5oXNKlmEymGIymWIymWIylmEybFM8RkZG + RkZGRkZGRkZGRkZGUlJSWFhYWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWlpaWlpaWlpaWlpa + WlpaWlpaWlpaWlpacHBw//////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH/////////////////////////////5OTkNTU1vb29////////////5ubm + dnZ2PT09VlZWT09PyMjI/Pz8////////+vr6TExMjIyM/////v7+/Pz8/f39/f39/f39s7OzMzMzf39/ + sbGxOzs7Ozs7MzMzrq6u/f39/f392dnZNDQ0wMDAycnJmpqaOTk519fXNzc3urq6/f39/f39/f394+Pj + NDQ0QEBAOjo6VlZWra2tNzc39fX1/v7+/v7+/v7++vr6bm5uQEBAoqKimZmZNTU1u7u7////////4eHh + REREOTk5XFxcrKysnJyce3t7Nzc35ubm////////////////////////kJCQaWlp/v7+//////////// + ////////////////wsLCNzc3fHx8p6enXFxcYGBg/////////Pz8goKCOTk5Nzc3o6Ojm5ubmpqaQUFB + kZGR/////////////f39XV1dgICA9fX1Pj4+srKyR0dHlpaW////////////f39/TExM+vr64eHh4ODg + dnZ2W1tb//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////utX/AGb/EHD/YqH/JHz/H3n/SJH/tNL///////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8sq6psa2psa2psa2psa2osa2osK2osa2osKyosKyosKyosKyosKynr6yn + r6yor6yosKyor6unr6yor6yor6uor6yor6uor6ynsKyor6ynsKunsKynsKynr6ynr6ynr6ynr6ynr6yn + r6ynr6ynrqunrqunrqumrqunrqunrqumrqqmrqqmrqqmraqmrqqmrqqmrqumrqumrqumrqumtbGutLCs + tLCttLGttLCstbGttbKttbKttrKutbKutrOutrKutbKutbKutrOvtbOutbOutrOutbOutbKutrOutrKu + trKutbGttrKutrKutbGutbGttbKttbKttbKutrKutrOut7Out7OvtrSvtrSvt7SwtrSvt7Swt7Swt7Sw + t7Swt7SwuLOvuLSvt7Out7Out7OvuLOvt7Ovt7Ovt7OvtrOu1tTR//////////////////////////// + ////////////////////////////////////////////////////m4h3ZEcuY0YuYkYuYUUuYEUtX0Qt + XkQtXUQtb00vf1Uwf1UwlWAyyXs2yXs2yXs3yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H830H830H830X840X840YA404A4+MGQ//////////////////////// + ////////////////////////////////////////////x66Ykl8ylGAylWAyl2EymGIymWIyl2EyfFg4 + SkdFRkZGRUVFRUVFU1NTWFhYWFhYWFhYWFhYWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZ + WVlZWVlZWVlZWlpaoaGh//////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH//////////////////////////////Pz8WFhYhISE////////7Ozs5eXl + 4eHhXl5eOTk5yMjI5eXl5eXl/Pz8////2traNTU1yMjI/////////f39/Pz8/f39/f394+PjMzMzuLi4 + 7Ozs0NDQxcXFNjY2rq6u/f39/f3939/fNjY2y8vL/f39v7+/OTk519fXNzc3urq6+vr6rKyspqamo6Oj + ODg4hoaGeXl5VlZWra2tNzc39fX1/f392tra1NTU1NTUq6urNDQ00tLS5+fnNjY2u7u7/v7+//////// + lJSUMzMzzs7Onp6ebGxsWlpaNzc35ubm////////////////////////3d3dOzs74eHh//////////// + ////7e3t1dXV1dXV1NTUUVFRe3t7////e3t7YGBg////////////6OjoODg4d3d33d3dbGxsa2trOzs7 + kZGR////5OTkvr6+vLy8UFBQgICA9fX1Pj4+srKyR0dHlpaW/v7+tra2qKioZGRkRkZGpqamqamp7Ozs + goKCW1tb//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////5/H/AGb/Amf/5/H//f7//f7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8s6+rsa6psq6qsa2psa2psa2psa2osK2osa2psK2osK2osK2or62osKyo + r6ynr6yor62or6yor6yor6yor6yosK2psKyosKyosKyosKyosKyosKyosKynsK2osKynsKyor6ynr6yn + sKynr6ynr6ynr6ynr6ynrqunrqynrqunrqunrqunrqqmrqqmrqumrqunrqumrqumrqumrqumtbGutLCt + tLGttLGttbGttbGttbGttrKttrKutrKutrKutrKutrOvtrOutbOutrOvtrOvtrOutrOvtrOutrKutrKu + trKutrKutrKutrKutbGutbGttbKttbKutrKutrKutrOvt7Ovt7Svt7Swt7SvtrSwt7Svt7SwuLSwt7Sw + uLSwuLSwuLSwuLSvuLOvt7OvuLOvuLOvt7Ovt7Ovt7Ovt7Ov1tTR//////////////////////////// + ////////////////////////////////////////////////////iXNfZEcuY0cuYkYuYUYuYEUtX0Ut + XkQtXUQte1Mwf1Uwf1UwrW00yXs2yXs2yXs2yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H830H830H830X830X840YA44Yg5//Lm//////////////////////// + ////////////////////////////////////////6uLaj2A2jl0xkF4ykl8ylGAylmEyl2IymGIyl2Ey + iFw1UElDRUVFRUVFVVVVWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYXFpYZl1WcGFUemVTgmhQjmtNl29M + onNJrHZHtXlFwX5C69O+//////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH/////////////////////////////////sLCwRERE8vLy////bGxsODg4 + ODg4NTU1NDQ0ODg4ODg4ODg46urq////kJCQW1tb+/v7/////////v7+/f39/f39/f395ubmMzMzvr6+ + /f39/f398PDwNzc3rq6u/f39/f3939/fNzc3y8vL/f39v7+/OTk519fXNzc3urq69/f3Y2NjWFhYWFhY + WFhYra2tkJCQVlZWra2tNzc39fX1+/v7VFRUNjY2NjY2NjY2NDQ0ra2t5+fnNjY2u7u7/v7+//////// + rq6uMzMz9fX1////////v7+/Nzc35ubm/////////////////////////v7+ZWVllJSU//////////// + ////qKioNjY2NjY2NjY2NTU1WFhY/f39e3t7YGBg/////////////v7+PDw8mpqa/////////Pz8Tk5O + kZGR////tbW1Tk5OTk5OTk5OkJCQ9fX1Pj4+srKyR0dHlpaW/Pz8cHBwVlZWVlZWVlZWVlZWV1dX29vb + goKCW1tb//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f7/GHT/AGb/ttT///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8s6+rsq6qsq6qsa2psa6psa6psa6psa6psKyosa2osa2osK2osK2osK2o + sK2osK2osK2psK2osK2osK2osKyosK2psK2psa2psK2osa2osKyosK2osK2osa2osKynsKyosK2osKyn + sKynr6ynr6ynr6ynr6umr6unr6umrqunrqunrqumr6unr6umr6unr6umr6unr6umr6umr6umtbGttbGt + tLCttbGttLCttbGttbGttbGutrKutrKutrKutrOut7OvtrOvtrOutrOvtrSutrOutrOvt7OutrOvtrKu + trKutrKutrKutrKutrKutbGutbGttrKutbOutrOvtrOut7Svt7SvuLSwt7Wwt7Wwt7Swt7Swt7OwuLSw + uLSwuLSwuLSwuLSwt7OvuLOvuLSut7Ovt7SwuLOwt7Owt7Ov1dTS//////////////////////////// + ////////////////////////////////////////////////////eV9IZUguZEcuY0cuYkYuYUYuYEUt + X0UtZEcuf1Uwf1UwgVYwxHk2yXs2yXs2yXs2yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H830H830H830X830X830YA49Khl//////////////////////////// + ////////////////////////////////////+fb0m3VTiVsyi1sxjVwxkF4ykl8yk2AylWAylmEymGIy + l2Eyl2Ize1g6ZVFAjGpMl25KoHJIqnVGs3hEv3xCyIBA0oM+3oc744k65Ik65Io65Yo65Yo65oo65oo6 + 5os654s654s66Ys6/vHl//////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH/////////////////////////////////+fn5ZmZmqqqq////7e3t5+fn + 5+fn5+fn5+fn5+fn5+fn5+fn/Pz87u7uTU1Nzc3N/////////////////f39/Pz8/f399/f3xsbG7Ozs + /f39/f399fX1hISEzc3N/f39/f39/Pz89fX1+/v7/f395eXlsrKy6urqhISE1NTU/f39+vr6+vr6+vr6 + +vr6/Pz809PTvb29zMzMhYWF+fn5/v7++Pj49vb29vb29vb29vb2+/v78PDwhISE1dXV/v7+/v7+//// + 5eXlvb29/Pz8////////2NjYhYWF8PDw////////////////////////////39/fz8/P//////////// + /////Pz89/f39/f39/f39/f3+Pj4////rq6unp6e////////////////wMDA3t7e/////////f39k5OT + vLy8/////f39+/v7+/v7+/v7/Pz8+/v7tbW14eHhj4+Pv7+//////Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/v7+ + s7Ozm5ub//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////Q47/AGb/R5D/fLD/fLD/fLD/fLD/fLD/5O////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8tLCssq6qsq6qsq6qsa6qsq6qsa2psa6psq6psa2psa2osayosa2osa6p + sK6psa2osK2osK6psK6osa2osK2osa2psK2psayosa2psa2psa2osa2osKynsKyosa2osayosa2osKyn + sK2osKynsKynsKynsKynr6ynr6umr6unr6ynr6unrqumr6ynrqqmr6umr6umr6umr6umr6umtbGttLCs + tbGttLCttLCttbGutbGttrKutrKutrKutrKutrOutrOutrOvtrOutrOutrOutrSvt7OvtrOutrOvtrOu + trKutrKutbKutrKutbGutbGutbGutbKutrOvtrOvtrSwt7SwuLSwt7Wwt7Swt7WwuLWwuLWwuLSxuLSw + uLSxuLSxuLSwuLSwuLSwuLSvuLSvuLSwt7Owt7Swt7Owt7Sw1tTS//////////////////////////// + ////////////////////////////////////////////////////blE4ZkguZUguZEcuY0YuYkYuYUUu + YEUtbkwuf1Uwf1UwkV4xyXs2yXs2yXs2yns2yns3ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H430H830H830X830X831oI3/86j//////////////////////////// + /////////////////////////////////fz8tZZ7jWI8iFw0iFoyilsxjFwxjl0xkF4ykl8ylGAylmEy + l2IynWQznWQztXE134c54Ic54Ic54Yg64Yg64Yg64og64ok644k644k65Ik65Ik65Yo65Yo65Yo65oo6 + 5os654s654s676Ri//////////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/Pz8/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////cKr/AGb/AGb/AGb/AGb/AGb/AGb/AGb/yuD///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8tLCss6+qs66qsq6qsq6qsq6qsq6qsq6psq2psq6psq2psa2osa2osa2o + sa6psa2osa6psK2osa2psK6osa2psa6psa2psa2psa2psa2psa2psa2psa2osa2osa2osKyosKynsKyn + sKynsKynsKynsKynsKynr6ynr6umr6ynr6ynrqunrqumr6unr6unr6unr6unr6unr6unr6untbGttLCt + tbGttLCutLCttbGutbGttrKttrKttrKutrOutrKutrOvtrOutrOutrSvtrSvtrSvtrOvt7OvtrOvtrOu + trKutrKutrKutrKutrKutrKvtrKvtrKvtrOwtrOwtrSwt7SwuLWxuLWxuLaxuLaxuLWxuLWxuLWxuLSw + uLSxuLSxuLSxuLWxuLSwuLSwuLSvuLSvuLSwuLSwuLSxuLSx1tTS//////////////////////////// + /////////////////////////////////////////////////v79aUowZkguZUguZEcuY0cuYkYuYUYu + YEUudVAvf1Uwf1UwpmkzyXs2yXs2yXs2yns2yns2ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H430H830H830X830X835Ik5/+TM//////////////////////////// + ///////////////////////////////+7tW+vJVyn3ZRj2Q+iFw2iFoyiVoxi1sxjlwxkF4ykl4yk18y + mWIynWUznWQzy3w334c54Ic54Ic54Ig54Yg54Yg54og54og544k544k55Ik55Ik55Io55Yo65Yo65oo6 + 5oo654s654s69sym//////////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/f39/Pz8/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////zuL/jrv/jrv/jrv/jrv/jrv/jrv/jrv/6PH///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8tLCss6+rs6+rs66qsq6qs66qsq2psq2psa2psq2psa2osq2osq2osa2o + sq6psq6psq6psa2osa6osa6psK2psa6psa6psa6psa6psa6psa2psa2psa2psa2psKyosKyosKyosKyn + sKynsKynsKyosKunsKynr6ynsKynr6ynr6ynr6unr6yor6ynr6yor6unr6unr6unr6unr6untbGutLGt + tLCttLCutLGutbGutrKutbKutrOutrKutrOutrOutrOutrOutrOvtrOutrOvt7Svt7SvtrOvtrOvtrOv + trOvtrKvtrOvtrOvtrKwtrOvtrKwtrOvtrOwt7Owt7Swt7Sxt7WwuLaxuLawuLWxuLWxuLWwuLWwuLWx + uLWxuLWxuLWxuLWxuLSwuLSwuLSwuLSwuLSwuLSwuLSxuLSx1tTS//////////////////////////// + ////////////////////////////////////////////////+vn4aEkuZ0kuZkguZUguZEcuY0cuYkYu + YUYufVQwf1Uwf1UwtnI0yXs2yXs2yXs2yns2ynw2ynw3ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03 + zX03zn43zn43zn43z343z3430H430H830H830X830X837Y45//Tr//////////////////////////// + ///////////////////////////+///2//ba8M6sxp99pXxYkWdCiV03h1oziFoxilsxjVwxj10xkV4y + nWQznmUzpGg03oY534c534c54Ic54Ic54Yg54Yg54og54og544k544k544k55Ik55Ik55Yo55Yo55oo5 + 5oo554o56I4+/vTr//////////////////////////////////////////////////////////////// + deP/AMz/AMz/AMz/AMz/GtH///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////Pz8/f39/Pz8/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8tLCss6+rsq+rs6+rs66rsq6qsq6qsq2psq6psa2osa2psq6osa2osa2p + sa2psq6psq6osa6psa2osa6psa6psa6qsa6qsa6psa6psa6qsa2psa2psa2psa2psKyosKyosKyosKyo + sKyor6unsKyor6unr6ynr6unr6unr6ynr6ynr6unr6yor6yor6yor6yor6yor6yor6uor6yotbGutbGu + tLGutbGutbGutbGutbKutrKutrKutrOutrOvt7Out7Svt7OvtrSvtrSvtrSvt7SvtrSvt7Svt7Svt7Ov + t7OvtrOvt7Owt7OvtrOvt7Ovt7Ovt7Owt7Owt7Swt7Swt7Swt7WwuLWwuLaxuLaxuLaxuLWwubWxuLWw + uLSwuLSwuLSwuLWxuLWwuLSwuLSwuLSwuLSwuLSwuLSxuLSx1tTS//////////////////////////// + ////////////////////////////////////////////////+vn4aUouaEkuZ0kuZkguZUguZEcuY0Yu + Zkguf1Uwf1UwgVYwxno2yXs2yXs2yXs2yns2ynw2ynw3y3w3y3w3y3w3zHw3zHw3zH03zH03zX03zX03 + zn03zn43zn43zn43z343z3430H430H830H830X830X839JE6//z5//////////////////////////// + ////////////////////9uzj/e3P///y///8//zo99280quJq4NglGtGil45h1ozh1oxiVoxjFsxlmEy + n2Yzn2UzwHY23oY534c534c54Ic54Ic54Yg54Yg54og54og54og544k544k55Ik55Ik55Yo55Yo55oo5 + 5oo554o58bF3//////////////////////////////////////////////////////////////////// + cuD8AMz/AMz/AMz/AMz/GdD+9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08/Pz8fHx8fHx8fHx + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0 + 9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0+/v7//// + /////////////////////Pz8tLGts7Crs6+rsq6rsq6rs66rsq6rsa2qsq6qsa2psa2psq6qsa2psq6p + sa6psa2psq2qsa6psa2psq6qsq6qsa6qsq6qsa6qsa6qsK2psa6qsK2psa2qsK2psK2psKypr6yosKyo + sKyosKynr6unsKyosKuor6ynsKyosKyosKyosK2or6yor6yor62or6yor62or6yor6yor6yotbKvtbKu + tLGutbKvtbGvtbKvtrKvtbKutrOvtrOutrOutrOuuLSvt7Svt7Svt7Svt7Svt7Svt7SvtrSvt7Swt7Ov + t7OvtrOwt7Owt7Owt7Owt7Owt7Svt7Swt7Swt7Swt7SwuLSwuLWwuLWwuLWwuLaxuLaxuLawubaxuLSw + uLSwuLSwuLSxuLSwuLSwuLSxuLSwuLSwuLSwuLSwuLWwuLWw1tXS//////////////////////////// + /////////////////////////////////////////////////fz8a0swaEouZ0kuZkguZUguZEcuY0cu + akovflUwflUwjFwxyHs2yXs2yXs2yXs2yns2ynw2ynw3y3w3y3w3y3w3zHw3zH03zH03zH03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X83+JM6//v3//////////////////////////// + ////////////8/DsvaSPsIhl3raT/erK///1//////70/OnK3beVs4tomG9Li2A7h1o0h1kyjFwxoGYz + oGYzp2o03IU53oY534c534c54Ic54Ic54Yc54Yg54og54og54og544k544k55Ik55Ik55Yk55Yo55oo5 + 5oo554o5+uPO//////////////////////////////////////////////////////////////////// + ye32o+b2o+b2o+b2o+b2q+f28vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8fHx7Ozs6urq6urq + 6urq6urq6urq6urq6urq6urq6urq6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7e3t7e3t7e3t7e3t7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v + 7+/v8PDw8PDw8PDw8PDw8PDw8fHx8fHx8fHx8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy+vr6//// + /////////////////////Pz8tLGts7Crs6+rsq+rsq+rsq+rsq6rsa6qsq6qsq6psa2qsa6qsa6qsq6p + sq6qsq6qsq6qsq6qsq6qsq6psq6psa6psq6qsa6qsa6psa6qsa6psK6psa6psa2psa2psKypsa2psKyo + sKypsK2osKynsKynsKyosK2osK2osK2osa2osKyor62osK2osK2osK2osK2osKyosK2osKyotrKvtbKv + tbGutbKvtbKvtrKutrKvtrOvtrOut7Out7Svt7Svt7Out7Out7Out7Svt7Svt7Svt7SvuLSwt7Swt7Sw + t7SwuLSxt7Owt7Owt7Owt7Svt7Ovt7SwuLSwuLSwuLSwuLWwuLWwuLWwuLWwuLWwuLawuLWwuLWwuLSw + uLSxuLSwuLSxuLSxuLSxuLSwuLSwuLSwuLSwuLSwuLWwuLSx19XS//////////////////////////// + ////////////////////////////////////////////////////dFY7aUouaEkuZ0kuZkguZUguZEcu + b00vflUwflUwmGIyyHs2yXs2yXs2yXs2yns2ynw2ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X83+JM6//Po//////////////////////////// + ////8OzotaCMglw6glo3kGlGrYVi2rKQ/OjI///2///////7/vPZ58Siu5RynHRQjGI9h1s1nWQzomcz + omczynw33oY53oY534Y534c54Ic54Ic54Yc54Yg54og54og54og544g544k55Ik55Ik55Yk55Yo55oo5 + 5oo57aJh//////////////////////////////////////////////////////////////////////// + 1NLxtLDqtLDqtLDqtLDqurfr9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39fX18fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09PT09PT09fX19fX1 + 9fX19vb29vb29vb29vb29vb29vb29vb29vb29/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3/Pz8//// + /////////////////////Pz8tLGtsq+ss7Css7Css7Cssq+rsq+rsq+qsq6rsq6rsq6qsq6qsq6qsq6q + sq6qsa6ps66psq+qsq+psq+qsq6psq6psq6psq6psa6psq+qsa6psa6psa6psa6psa6psa2psK2osa2p + sa2psK2osKyosa2osa2osK2osa2osa2osa2osa2osa2osK6osK2osK2osK2osK2osKyosKyot7OvtrKu + tbKvtbKvtrOvtrOvtbKutrKutrOutrSut7SvuLSvt7OuuLSvt7Out7Svt7Svt7Svt7SvuLSwt7Svt7Sw + t7Owt7Owt7Owt7Owt7SwuLSwt7Swt7SwuLSwuLSwuLSwuLSwuLWwuLWxuLWwuLWwuLWwuLWxuLWxuLWw + uLSwuLSxuLSxuLSyuLSxuLSxuLSxuLSwuLSwuLSxuLWwuLWw19TS//////////////////////////// + ////////////////////////////////////////////////////gGRLakouaUouaEkuZ0kuZkguZEcu + c08vflUwflUwpGgzyHs2yXs2yXs2yXs2yns2ynw2ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X839ZI6+Ni7////////////////+vj34trTwrGi + mXxjeVMxeVIwelMwfFQxgVo3jmZEqYJf1a6L++XE//71///////+//nm79CwxJ17oXlWnGc4pWgzpGgz + t3I13oY43oY43oY534Y534c54Ic54Ic54Yc54Yg54og54og54og544g544k55Ik55Ik55Yk55Yo55oo5 + 5oo599i8//////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8tLGss7Crs7CssrCrsq+rsq+rsq+rs6+rsq+rsq+rsq6qsq6rsq6qsq6q + sq6qsq6qsq6psq6psq+qsq6psq6psq+qsq+qsq6psq6psq6qsa6qsq6qsq6qsa6psa6qsa6psa6psa2p + sK2psa2psa2osa2osa2osa2osa2osa2osa2osa2osa6osa2osa2osK2osK2osK2osK2osKyotrOvtrKv + trKutrOvtrKvtrKutrKutrOvtrOut7SutrOut7Sut7OuuLSvt7OuuLSut7Svt7Svt7Svt7Swt7Swt7Sw + uLSxuLSxuLSxt7Swt7SwuLSwuLSwuLSwuLSwuLSxuLSwuLSwuLSxuLWxuLWxuLWxuLWxuLaxuLWxuLWx + uLWxuLSxuLSyuLSyuLWyuLWxuLWxuLWxuLWxubWxubWxubax19XS//////////////////////////// + ////////////////////////////////////////////////////knlka0suakouaEouZ0kuZkguZUgu + dlEvflUwflUwrG00yXs2yXs2yXs2yXs2yns2ynw2ynw3y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X8374461IE4m2c4nXBImnFMj2ZCflUweFIwdVAv + dlAvd1EveFEveFIwelIwe1QxgFg2jGRCpX5b0KmG+eHA//7z//////////3w9ty8vIxgqGo0pmkzrW00 + 2oQ43oY43oY43oY434Y434c54Ic54Ic54Yc54Yg54og54og54og544g544k55Ik55Ik55Yk55Yo55oo5 + 655b//79//////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8tbGstLCrtLCss7Crs7Crs6+rsq+rs6+rs6+rsq+rsq+rsq+rsq6qsq6q + sq6qs6+qsq6qsq+qsq+qsq6qsq6ps6+qs6+qsq6psq+qsq+qsq+qsq+qsq6qsq+qsq6qsq6psa6psa2p + sa2psa2psa2psa2psq6psa2osq6osa2osq6osq6psa2osa2osa2osa2osa2osK2osK2or6ynt7OwtrOv + trOvtrKvt7OvtrKvtrOvtrKut7Svt7Ovt7Svt7OuuLSvuLSvuLSvt7Svt7Svt7Svt7Swt7Swt7Sxt7Sx + t7SwuLSxuLSxt7SxuLSxuLWxuLWwuLWwuLSwuLWwuLWwuLWwuLWxuLaxuLWxuLaxuLaxuLWxuLWyuLWy + uLWyuLWyuLWyuLWyuLayuLWyubaxubayubaxubaxubaxurax19XS//////////////////////////// + ////////////////////////////////////////////////////qJSDbEsuakouaUouaEkuZ0kuZkgu + eVIwf1Uwf1UwtHE0yXs2yXs2yXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X835Yk59JE6pGgzmGIykV4yi1sxhVgxf1UweVIw + dVAvdVAvdlAvd1EveFEweVIwelMxf1c1imJAoXpXyqOB9tu6//3w////////2Lqbq2s0qWs0rGw01IE3 + 3YU43oY43oY43oY434Y434c44Ic44Ic54Yc54Yc54og54og54og544g544k55Ik55Ik55Yk55Yo55oo5 + +NvD//////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw2trpfHzOTU3ATU3BdnbM09Po8PDw8PDw8PDw8PDw8PDw + 8PDw3d3q8PDw8PDw8PDw0dHn2dnp8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trGstLCrtLCrs6+qs7Crs7Crs6+qs7Crs7Crs6+rs6+rsq6qs66rs6+r + s6+rs6+qs6+qsq6qs6+qsq6ps6+qs6+qs6+qs6+qs6+qs6+qsq+qsq+qsq+qsq+qsq+qsa6qsq6qsa6p + sa6psq6qsq6qsa2psa2qsa2psq6psa2psa2psq6osq6psq6psa2osa6psa2psK2osK2osK2ot7OwtrOv + t7OvtrOvt7Ovt7OwtrKvtrOvtrOvt7Svt7Ovt7Svt7SvuLOvuLSvt7Ovt7Swt7Sxt7Sxt7Wxt7SxuLSx + t7SxuLSyuLSxuLWxuLSxuLWxuLWxuLWwuLWwuLWwuLWwuLWwuLWxuLWxuLaxuLaxuLaxuLaxubayubay + ubWyuLayuLWyubayubayubeyubaxubaxubaxubayuraxurax19XT//////////////////////////// + ////////////////////////////////////////////////////xbisbEsva0suakouaUouaEkuZ0ku + elMwf1Uwf1UwuHM1yXs2yXs2yXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H430H830H830X830X832II4+ZQ704A4oGYzmWIykl8yi1sxhVgxf1Uw + eVIwdFAvdFAvdlAvd1EveFEveFIwelMxfVc0h2A+nXZUxJ5789Wz/ffmzqaCrm00rGw0rm000X833YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc54Yc54og54og54og544g544k55Ik55Ik55Yk55Yo57KZp + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7Ozs6+vr8PDw8PDw8PDw + 8PDw7e3t7Ozs8PDw8PDw8PDw8PDw7u7u6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+vr7e3t7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7Ozs7+/v7+/v7+/v7+/v7+/v7Ozs6+vr7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw6+vr6urq8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwu7vhFhawAACqAACqAACqAACqEhKvt7ff8PDw8PDw8PDw8PDw + 8PDwb2/Kr6/d8PDwdnbMPT28MTG4nJzY8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8tbGstLCrtLCrs7CrtLCrtLCrs7Crs7Crs7Crsq+qs6+rsq+qs66rs66r + s6+rs6+rs6+ss6+rs6+rsq6qs6+qs6+qs6+qs6+qs6+qs6+qsq+qsq+qsq+qsq+rsq+rsq+qsq+qsa6q + sq6qsq6qsq6qsq6qsq6qsq6qsq6qsq6qsa6psq6psa6psa6psa6psa6psa2osa2psa6psK2ot7SxtrOw + trOvt7Owt7Owt7Owt7Owt7Ovt7Owt7Svt7Svt7Svt7SwuLWwuLSwuLSwuLWxuLWxt7WxuLSxuLWyt7Wx + uLWyuLWyuLWyuLWxuLWyuLWxuLaxubWxubaxubaxubWwuLWxubWxubayuLayubayuLayubayubayubay + ubayubeyurezurazurazureyureyureyu7ayuraxuraxurax19XS//////////////////////////// + ////////////////////////////////////////////////////4NnTbUwvbEsua0suakouaEkuZ0ku + e1Mwf1Uwf1UwvHU1yXs2yXs2yXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H830H830H830X830X830n837486+ZY+wHg4oWYzmWMykl8yjFwxhlgx + f1UweVIwdFAvdE8vdVAvdlAvd1EveFEweVIwfFY0hV48mXJQvpJsv4JLsW80r240sm8004A33IU43YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc44Yc54og54og54og544g544k55Ik55Ik55Yk55Ys7+ufX + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqYGBgpqam8PDw8PDw8PDw + 8PDwlJSUWFhY7+/v8PDw8PDw8PDw4+PjTk5Ovr6+8PDw8PDw8PDw8PDw8PDw8PDw7+/vfn5+YGBgYGBg + X19fX19fX19fX19foKCg7u7u7u7u7u7u7u7u7u7u7u7u09PTj4+P3t7eT09Pubm57u7u7u7u7u7u7u7u + 7u7u7u7utra2mpqasLCwU1NT4uLi7+/v7+/v7+/v7+/vioqKW1tb7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw4+PjtbW17Ozs8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDweXl5bW1t8PDw8PDwpqamYGBgYGBgYGBgYGBgYGBgYGBgYGBg + 5+fn8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw3t7rGhqyAACqSEi/tbXft7ffT0/BAACqFRWw19fp8PDw8PDw8PDw + 8PDw2NjpQkK94eHsICCz5ubtzc3mNTW68PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trGstK+rtbCstK+rtLCrtK+rs7Css7CssrCrs7Crs7Css7Css6+rs6+s + s6+ss6+rs6+ss6+rtK+rs6+rs6+rs6+rs6+rs6+qs6+qs6+qsq+rs6+rs6+rs6+rsq+qsq+rsq+rsq6r + sq+rsq6rsq+qsq6rsq6rsq6qsq6qsq6qsa6qsa+qsq6psa6psq6qsa6psa6psa2psa6psa6puLSxt7Sw + t7Sxt7Owt7Swt7Owt7Swt7Swt7Swt7Swt7Swt7WwuLWwuLWwuLWwuLSwuLWxuLWxuLWxuLWxubayuLax + uLayuLayubayuLWxubaxubWxuraxuraxuraxubWwubWwubaxubWxurayubWyuLaxubayubayubayubay + ubayubayubezurazurayureyureyurayu7eyurayuraxurax19XS//////////////////////////// + /////////////////////////////////////////////////////v79eVk+bUwva0suakouaUouaEku + e1Mwf1Uwf1UwvXU1yXs2yXs2yXs2yns2ynw2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03 + zn03zn43zn43z343z343z3430H830H830H830X830X830n832oQ4+pdA+6BMw4JComczmmMyk18yjFwx + hlkxgFUwelIwdFAvc08vdFAvdlAvdlEvd1EweFIwf1czomo5tnI2tXE1s3A1uXM11oI33IU43IU43YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc44Yc54og54og54og544g544k55Ik55Ik55Yk577iI//// + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwo6OjR0dH5ubm8PDw8PDw8PDw + 8PDwi4uLSUlJ7u7u8PDw8PDw8PDw8PDwj4+PVVVV7Ozs8PDw8PDw8PDw8PDw8PDw7u7uW1tbWFhYmZmZ + mZmZmJiYmJiYmJiYv7+/7u7u7u7u7u7u7u7u7u7u7u7uurq6NTU11NTUNDQ0sLCw7u7u7u7u7u7u7u7u + 7u7u7u7ugYGBSkpKpqamOjo639/f7+/v7+/v7+/v7+/vgICATExM7+/v7+/v7+/v7+/vz8/PlJSUlJSU + lJSUlJSUlJSUlJSUlJSUlJSUlJSUmJiY8PDw8PDw8PDw5OTkQUFBu7u78PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwcnJyZGRk8PDw8PDwjo6OPj4+oKCgoKCgoKCgoKCgeXl5NDQ0 + 5OTk0tLSfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+gICA3Nzc8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwf3/PAACqKyu26Oju8PDw8PDw7OzvOzu7AACqcnLK8PDw8PDw8PDw + 8PDw8PDwdXXMnp7YISGz1dXotrbfQEC98PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trGttLCstbCstLCrtLCrtLCrs7Css7Css7Css7Css7Css7Css7Css6+s + s6+ss6+ss6+ss6+stK+rs6+rs6+rs6+rs6+rs6+rs6+rs6+rs6+rs7Crs7Crs6+rsq+rsrCrsrCrsq+r + sq+rsq+rsq+rsq6rsa6qsq6qsq6rsq6qsq6qsq6psq6psq+qsq6qsq6psa6qsa6psa6psa6puLWyuLSx + t7SwuLSwuLWwuLSwuLSwuLSwt7SwuLSwt7WwuLWwuLWwuLWxuLWwuLWxuLWxuLWxuLWxuLaxuLayubay + uLayubayubayubayubaxubaxubaxuraxurawubWxuraxubWxubWxubWyubWyubayuLayuLayubayubay + urazubayurezurezu7ezu7eyu7eyu7eyu7eyu7eyurayurax2NXS//////////////////////////// + ////////////////////////////////////////////////////////o4t2b00vbEsva0suakouaUou + elMwf1Uwf1UwvHQ1yXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zHw3zH03zH03zX03zX03zX03 + zn43zn43zn43z343z3430H430H830H830X830X830X830n830oA35o09/6lT/sp12rt7qnREm2MylGAy + jVwxhlkxgFYwelIwdFAvc08vdE8vdVAvf1YxoGc1unQ3vHU2uXM1t3I1xXk22oM424U43IU43IU43YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc44Yc44og54og54og544g544k55Ik55Ik555RL/ffx//// + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw7OzsU1NTg4OD8PDw8PDw8PDw8PDw + 8PDwi4uLSUlJ7u7u8PDw8PDw8PDw8PDw0tLSNTU1u7u78PDw8PDw8PDw8PDw8PDw7u7uW1tbeHh48PDw + 8PDw7+/v5eXlurq639/f0tLSeHh44eHh7u7u7e3tpqamqqqqNTU11NTUNDQ0sLCwzMzMbm5u1dXV7u7u + 7u7u7u7ugYGBSkpKpqamOjo639/f7+/v7+/v7+/v7+/vgICATExM7+/v7+/v7+/v7+/vvr6+Y2NjY2Nj + Y2NjY2NjY2NjY2NjY2NjZGRkZGRkaWlp8PDw8PDw8PDw8PDwfn5+cnJy7+/v8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw7e3t5ubm5ubm5ubm5ubm5ubmb29vZGRk8PDw8PDwjo6OQ0ND09PT09PT09PT09PTm5ubNDQ0 + 5OTk0NDQdXV1dXV1V1dXNzc3cnJycHBwNTU1Xl5edXV1dnZ22tra8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDwNja5AACqe3vO8PDw8PDw8PDw8PDwiorSAACqOTm28PDw8PDw8PDw + 7u7v6Oju3NzqQEC8o6PZLCy3MzO5v7/i8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trKutLGstLGstLGstLCstLCstLCstLCss7CstLCss7CstLGss7CstLCs + tLCstLCss7CstLCss6+stK+ss7CrtLCrs6+rs7CrtLCrtK+rs7Crs7Crs7Crs7Crs7Crs7Crs7CrsrCr + srCrsq+rsq+rsq+rsq6qsq+rs6+rsq+qsq+qs6+qsq+qsq6qsq6psq+qsq+qsq6psq6psq+qubWyuLWx + uLSwuLSwuLWwuLWwuLSwuLSwuLSwuLWwuLWwuLWwuLWxubWxubWxubWxuLWxuLaxuLaxuLaxuLaxuLax + ubayurayubayurayurayurayurayuraxuraxuraxuraxubWxubWyubWyubWyubayubeyubayubeyubay + ubazurazurayurezu7ezurazu7ayu7eyu7ayu7ayurayuray19XS//////////////////////////// + ////////////////////////////////////////////////////////08e8ck4vbkwvbEsuaksuaUou + elIwf1Uwf1UwuXM1yXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zHw3zH03zH03zX03zX03zn03 + zn43zn43zn43z343z3430H430H830H830X830X830X830n830oA304A36ppK/9aB//7D/Pn12sOvu5Z1 + onVNkGA2h1kxglgzhmM+mXRKs31MyIVK0odEyH49wnk5vnY3wXc20oA324Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc44Yc44og54og544g544g55Ik55Ik55Ig49tm///////// + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDw1tbWNTU1tra27e3twMDAvr6+vr6+ + vr6+dHR0Q0NDvb29vr6+vr6+vr6+3d3d7OzsTExMhYWF8PDw8PDw8PDw8PDw8PDw7+/vcHBwiYmJ8PDw + 8PDw8PDwzc3NNTU1u7u73NzcS0tLcnJy7e3toKCgOjo6i4uLNTU11NTUNDQ0sLCw3d3dYGBgSUlJ1tbW + 7u7u7u7ugYGBSkpKpqamOjo61NTUmZmZl5eXl5eXl5eXXFxcQEBAl5eXl5eXl5eXl5eXz8/P7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDwycnJOjo629vb8PDw8PDw8PDw8PDw8PDw + 8PDw8PDwrq6uPDw8PDw8PDw8PDw8PDw8NjY2ZGRk8PDw8PDwkZGRODg4OTk5OTk5OTk5OTk5ODg4OTk5 + 5OTk8PDw8PDw8PDwmpqaPj4+6Ojo4eHhODg4rq6u8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw7OzuDg6sAACqhITQ8PDw8PDw8PDw8PDwk5PVAACqMzO08PDw8PDw4eHs + Q0O9KSm2VlbDeHjNmprX8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8tbKttbGstbGstbGstbGstLGstbGstLCstLGstLGstLGstLGstLGstLCs + tLCstLCstLGstLCstLCstLCstLCstLCrtLCrtLCrs7CrtK+rs7Crs7Crs7Crs7Crs7Crs7Crs7Crs7Cr + s7CrsrCrs6+rs6+rs7Crs6+rs6+rs6+rs6+qs6+qs6+qsq6ps6+qs6+qs66qsq6psq+qsq6pubayubWx + ubWxubWxuLSwubWwuLWwubWwubWwubWwubWwubWxuLWxubWxubWxubWxubaxubayuLayuLayubayubay + urayurayurayurazurayurayurayurayuraxurayuraxubWyubWzubayubazubWzubezuLezuLeyubez + ubazurazurazurazurazurazu7azu7ezu7azurayureyu7ey2NbT//////////////////////////// + ////////////////////////////////////////////////////////+vj3fls8cU4vbUwva0suakou + eFEvgFUwgFUwtHA0yXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zHw3zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830X830oA30oA30oA304A346VY+/TG//////////// + /////v79+/r4///////g/+mi/rx37J5a2I1KzYJAyX060X842oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY43oY434Y434c44Ic44Ic44Yc44Yc44og44og544g544g544g44oc37LJ+//////////// + //////////////////////////////////////////////////////////////////////////////// + iILeKyDJKyDJKyDJKyDJPjXN8PDw8PDw8PDw8PDw8PDw8PDw8PDwubm5NTU10dHR5eXlSkpKQ0NDQ0ND + Q0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDra2t8PDwbGxsZWVl8PDw8PDw8PDw7+/vhYWFlpaW6+vr7u7u8PDw + yMjIoKCgzs7ONTU1u7u77u7uurq6NjY2n5+fPDw8l5eXurq6NTU11NTUNDQ0sLCw7u7u4uLiVlZWWVlZ + xsbGhoaGVVVVSkpKpqamOjo6zc3NYGBgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eurq67e3tp6en + pqampqampqampqampqampqamwMDA7+/v8PDw8PDw8PDw8PDw7+/vWVlZmJiY8PDw8PDw8PDw8PDw8PDw + 6OjorKys3d3dzMzMzMzMzMzMt7e3yMjImpqanp6e8PDwu7u7sLCwqKioqKioqKioqKioqKioqKioqKio + t7e31NTU7+/vbGxsQEBANDQ0SkpKSUlJNDQ0Q0NDaWlp8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw3t7oCAiqAACqPDy87e3v8PDw8PDw8PDwYGDGAACqVFTA8PDw8PDwhYXR + bW3K7OzvU1PCmZnXOzu75+ft8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trKutbGstbGstbGstbGstbGstbGstbGstLGstLGstLGstLGstLGstLGs + tLGstLCstLCstLCstLCstLCstLCstLCss6+rtK+rtLCrtLCrtLCqs6+qtLCrtLCrs6+qs6+qs7Crs7Cr + s7Crs7Crs7Crs7Crs7Crs7Crs6+rs6+rs6+rs6+rs6+rs6+qs6+qsq6qs6+qsq6ps6+qsq6pubayuLWx + uLSwubWxubWxubWwubWwubWwubWwubWwubWxuLWxuLWyubWxubaxubaxubayuLayubayuLayubeyubay + ubayurayurazurazurazurazurayurayurayurayurayubayubayubazubazubazuLezuLezubezubaz + ubezurazurazurazurezu7ezu7ezureyu7eyu7eyurezu7ez2NbT//////////////////////////// + ////////////////////////////////////////////////////////////s5yJdVAvcU4vbUwva0su + dlAvgFYwgFYwrGw0yXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830X830oA30oA30oA304A304A31odB6LyV+u/m//// + ///////////////////w//a1/8qF8qRf3IxG14Q72YM42YM42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y434c44Ic44Ic44Yc44Yc44og44og54og54oc44YY25JVP/ffy//////////// + //////////////////////////////////////////////////////////////////////////////// + iIPeKyDJKyDJKyDJKyDJPzXN8PDw8PDw8PDw8PDw8PDw8PDw8PDwra2tNzc329vb8PDw6urqurq61dXV + 6urq6urq6urq6urq4+Pjtra24ODg7u7u8PDwdXV1W1tb8PDw8PDw8PDw8PDwrKysPj4+enp67u7uoqKi + Ojo6dnZ2ysrKNTU1u7u77u7u7e3tZWVlNTU1UVFR6Ojourq6NTU11dXVNDQ0sbGx7u7u7u7u0tLSPDw8 + cXFxgICAU1NTSkpKpqamOjo639/f5ubmnZ2dm5ubm5ubm5ubm5ubm5ubm5ubm5ub0NDQ7+/v6urqNjY2 + Pj4+S0tLS0tLS0tLS0tLS0tLhoaG7+/v7+/v8PDw8PDw8PDw8PDwoaGhUFBQ7e3t8PDw8PDw8PDw8PDw + wMDAQkJCYGBg39/f7u7ulpaWPT09p6encnJyZWVl7+/vVFRUSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpK + SkpKnp6e7+/vWFhYYGBgsbGxsbGxsbGxsbGxsbGxvLy88PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw29vmBweqAACqAACqcXHL6Oju7OzvpqbaCQmsAQGqpqbb8PDw8PDwfn7P + eHjN8PDwX1/GoKDZiYnSkJDU8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////Pz8trKutbCstrGstbCstbGstbGstbCstbCstbCstbGstbGstLGstbGstLGs + tLGstLCstLGstbCstLCstLCstLCstLCstLCstK+rtLCrtLCrs6+rtLCrs6+rs6+qtLCrtLCrtLCrs7Cr + s7Crs7Crs7Crs7Crs7Css7CstLCss6+rs6+rs6+rs6+rs6+rsq6qsq6qsq6qsq6qsq6qsq6pubWxubWx + uLSwubWxubWxubWxuLSwubWwubWxubWwuLWxuLWyubayubayubayubayubayubezubayubeyubazuray + urayurazurayurazurazurayurayurayurayurayubayubayubayubeyubayubezubeyubeyubeyubez + urezurazurezu7ezu7ezu7ezu7ezu7eyu7ezu7ezu7ezu7ez2NbU//////////////////////////// + ////////////////////////////////////////////////////////////7ujkfFUzdFAvcE0vbEsu + c08vgFYwgFYwo2gzyXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830X830oA30oA30oA304A304A31IA31IE31IE325JS + 46t66buT68Sg68Kd6LmM46Vh3I1D2IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y44Ic44Ic44Ic44Yc44Yg44og44og44Yc34IY24Ic4+OXU//////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbhKyDJKyDJKyDJKyDJQDbO/v7+/v7+/v7+/v7+/v7+/v7+/v7+v7+/NTU14ODg/v7+29vbU1NTOjo6 + fn5+6urq+vr6paWlSEhIQEBAqamp/v7+/v7+c3NzZmZm/v7+/v7+/v7+/v7+/v7+zc3NPDw8b29vNzc3 + oKCg/Pz82traNTU1xMTE+/v7/Pz8sLCwMzMzioqKZmZmVFRUNTU14ODgNTU1ubm5/Pz8/Pz8/Pz8jo6O + RUVF9PT0h4eHS0tLr6+vOjo66+vr7OzsZ2dnUlJSNjY2Y2NjY2NjQEBAPT09Y2Njw8PD/Pz8+Pj4NjY2 + jY2N+Pj4+Pj4+Pj4+Pj4+Pj4+vr6/f39/f39/f39/f39/f39/v7+8PDwPz8/yMjI/v7+/v7+/v7+/v7+ + /v7+4uLiU1NTYWFhjIyMPT09sbGx/Pz8dnZ2aGho/v7++vr6+fn52NjYkpKSdnZ2cHBwfn5+ra2t8fHx + +fn5/Pz8/f39W1tbWFhYm5ubm5ubm5ubm5ubm5ubuLi4/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+7+/3CQmrAACqGBiyAACqExOwGxuzAACqAACqVlbH/Pz9/v7+/v7+5+f2 + OTm9RkbBR0fC9PT78/P6SkrD9vb7/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////// + /////////////////////Pz8trKutbGttrGttbCstbGstbGstbGstbGstbCstbCstbGstbCstbGstLGs + tLGstLCstLCstLGstLCstLCstLCstLCstK+rtLCstLCss6+ss6+stLCrs6+rs6+rtLCrtLCrtLCstLCr + tLCss7Crs7Css7Css7Css7CstLCss7Css6+ss6+rs6+ss6+rsq6rsq6qsq6qsq6qsq6qsq6pubWyuLSx + ubWxubWxubWxuLSwubWyubWwubWxubWxubWxubayubayubazubazubazubayurayubezurezurezuray + urazurayurWyurayurazurazurezureyurezurayureyurayureyurezureyurezureyurezurezubez + urezurezurezurezurezu7ezu7ezu7ezu7ezu7ezu7ezu7ez2NbU//////////////////////////// + ////////////////////////////////////////////////////////////////rpR+eVIwdE8vb00v + cE0vgVYwgVYwl2EyyXs2yXs2yXs2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830X830oA30oA30oA304A304A31IA31IE31IE31YE3 + 1YE31oE31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y44Ic44Ic44Ic44Yc44Yc44Yc34IY234U13oQ08s2s//////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO////////////////////////////3d3dNDQ0xsbG/////////Pz8w8PD + VlZWTk5OdXV1Pj4+n5+f8fHx/v7+/////Pz8VFRUg4OD////////////////////////mJiYMzMzc3Nz + /v7+////29vbNTU1xsbG/Pz8/Pz82dnZMzMzvb29nZ2dfn5+NTU14eHhNTU1urq6/f39/f39/f391tbW + NjY2YGBgSEhIS0tLsLCwOjo67Ozs/f39/Pz8s7OzQEBA+/v7/Pz8dnZ2XFxc/Pz8/Pz8/f39+Pj4NjY2 + kJCQ/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////gYGBeXl5//////////////// + ////////3NzcODg4NjY2uLi4////////dnZ2aGho////////xMTEPDw8Y2Njk5OTmpqag4ODRUVFYmJi + +fn5/////v7+iIiIampqampqampqampqampqQ0NDcHBw//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+FRWvAACqqqrjWlrIDg6vBQWsHR20goLV+Pj9//////////////// + +fn94+P2+/v+////////9fX8/Pz+//////////////////////////////////////////////////// + /////////////////////Pz8trKutbGutrGutrGttbGstbGstbCstbGstbGstbCrtbCstLCstbGttLGs + tLCstLCstLCstLCstLCstLCstLCss7CstLCss6+ss6+ss7Css6+ss6+rs7CstLCss7Crs6+rtLCstLCs + tLCstLCss7Css7CstLCss7CstLCss7Css7Css6+ss6+ssq+rsq+rsq+rsq6qsq6qsq6qsq6pubayuLSx + uLSxubWyuLWyuLWxuLWxuLWxubWxuLWxuLWxubWxubayubazubezubezubezureyurizureyureyuray + urayurayurazurezurazurazurazurazureyureyureyureyureyureyureyurayurezubeyubeyurez + urezurezurezu7ezu7ezu7ezu7ezu7ezu7ezu7ezu7ezu7ez2NbT//////////////////////////// + ////////////////////////////////////////////////////////////////8ezohFw6eFEvc08v + b00vgFYwgVYwiFoxyXs2yXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830X830oA30oA30oA304A304A31IA31IE31IE31YE3 + 1YE31oE31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y44Ic44Ic44Ic44Ic44IY334U23oQ03YMz6rOC//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO////////////////////////////+fn5TExMkZGR/////////Pz8+vr6 + 7e3tVVVVNzc3xsbG+vr6+vr6/v7+////5ubmNjY2urq6////////////////////////09PTMzMzvr6+ + ////////29vbNTU1x8fH/Pz8/Pz84uLiNDQ0z8/P/Pz8xcXFNTU14eHhNTU1urq6+vr60NDQzc3NzMzM + Ozs7cHBwX19fS0tLsLCwOjo67Ozs/f39+fn5uLi4aGho+Pj4+Pj4nJycfHx8+Pj4/Pz8/f39+Pj4NjY2 + bm5utLS0tLS0tLS0tLS0tLS009PT/v7+/v7+/v7+/v7+/v7+/v7+/v7+zc3NPj4+7Ozs//////////// + ////////////aWlpUFBQ////////////dnZ2aGho////////enp6UlJS/Pz8////////////urq6NDQ0 + 1dXV////////8PDw7Ozs7Ozs7Ozs7Ozs7OzsaGhocHBw//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////RETAAACqhobX/////Pz+8/P7/v7/+/v++fn9/Pz+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8trKvtrGutbGttrGutbGutbCttbCttbCttbCstbCstbCstbCstLGstLCs + tLGstLCstbGstLGstLGstLGstLGstLCss7CstLCss7Css7CstLCstLCstLCss7CstLCstLCstLCstLCs + tLCstLGstLGstLGss7KttLGss7Css7Css7Css7Css7Css7Crs6+rsq+qsq+qsq+qsq6qsq6qubayubWy + uLSxuLSxubWxubWxubWxubWxubWxubaxubayubayubayuLayubeyubeyubeyuriyureyurezureyu7ay + urazurayu7ayurazu7azurazurazu7eyu7ezureyureyureyu7eyu7eyureyurayurazureyurezubey + urezurezurayurezurezu7ezu7ezu7ezu7ezu7izu7ezu7ez2NbT//////////////////////////// + ////////////////////////////////////////////////////////////////////xbGgfVQwd1Ev + ck4vfVQwgVYwgVYwvnY1yXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830n830oA30oA304A304A304A31IA31IE31IE31YE3 + 1YE31oE31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y44Ic44Ic434Y334U23oQ13YM03IIy5aJo/v38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO////////////////////////////////m5ubT09P+Pj4////eHh4SkpK + SkpKPT09NTU1SkpKSkpKSkpK7Ozs////oaGhS0tL9vb2////////////////////////3NzcMzMzycnJ + ////////29vbNTU1x8fH/v7+/Pz84uLiNDQ0z8/P/f39xcXFNTU14eHhNTU1urq68vLyRkZGPDw8PDw8 + PDw8qKioh4eHS0tLsLCwOjo67Ozs/f39YmJiSUlJSUlJSUlJSUlJSUlJSUlJSUlJ5OTk/f39+fn5TExM + SUlJSUlJSUlJSUlJSUlJSUlJlZWV/v7+/v7+/v7+/v7+/v7+/v7+/v7+/Pz8V1dXo6Oj//////////// + ////////////eHh4YmJi////////////dnZ2aGho////////wsLCOzs7ZWVllJSUnJychoaGRkZGYmJi + +Pj4/////v7+X19fNzc3Nzc3Nzc3Nzc3Nzc3Nzc3c3Nz//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////kpLbAACqIyO28/P7/////////v7/QkLAAgKqhYXW//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8trKvtbKutbKutbGutbKutbGttbGttbCstLCttbGstbGstLCstbGstbGs + tbGstbCstbGstLGstbGstLGstLGstLGttLGttLGstLCttLCstLGts7CstLGstLCstLGstLGstLCstLGs + tLGstLGstLGstLGstLGss7Gss7Gss7Gss7Gss7Css7Css6+rs6+rs6+rsq+qsq6qs6+qsq6qubayubWx + ubWxuLWxubWxubWxubWyubWyubWxubaxubayubaxubayurayurezurezureyuriyureyu7eyureyu7ay + urazu7ayurayu7azu7azurazu7ezu7ezurezu7eyu7ezureyu7eyu7eyureyurayurazurezubazubez + ubezurezurezure0ure0u7e0u7ezu7ezu7izu7ezu7izu7iz2NbU//////////////////////////// + /////////////////////////////////////////////////////////////////////v79nXtdfFMw + dlAvelIvglcwglcwq2wzyXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830n830oA30oA304A304A304A31IA31IE31IE31YE3 + 1YE31oI31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YU43oY43oY434Y434Y434Y43oU23YQ13YM03IIz24Ey4ZZU/fn1//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO////////////////////////////////8vLyUFBQurq6////zs7Ovr6+ + vr6+vr6+vr6+vr6+vr6+vr6++Pj49vb2UFBQtLS0////////////////////////////7+/vn5+f5ubm + ////////4eHhWVlZ0dHR/////f399vb2zc3N8vLy/Pz83Nzch4eH6urqWFhYxsbG/Pz88PDw7+/v7+/v + 7+/v9/f3t7e3lJSUvb29XV1d7+/v/f39yMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDA9fX1/f39/f39/f39 + /f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+xsbGs7Oz//////////// + ////////////v7+/tbW1////////////j4+Pg4OD////////////39/fmZmZdnZ2bm5ug4ODtLS09/f3 + ////////////6enp5OTk5OTk5OTk5OTk5OTk5OTk7Ozs//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////8PD6Hh60AACqUVHF5OT2+vr9oaHgBASrAwOrycnt//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8t7SvtbKutbKttbGttbGttbGttbGttbGttbGttLGstbGstbCstbGstbGs + tbGstbGstbGstbKttLGstLGttLGttLGstLGttLGstLGstLGstLGstLGstLCstbGttLGstLCrtLGstbGs + tbCstbGstbGstbGstLCstLGstLGstLGss7Css7Css7CstLCss7Crs6+rs6+rsq6qs6+qs6+qurayubWx + ubWxubWxubWxubWxubWxubayubWxubaxubayubayubayubayurayureyureyurezureyu7eyureyu7ay + urayurazu7azu7azu7azu7azu7azu7eyurezu7ezu7ezu7eyu7eyu7eyurezu7ezurazurazurezubaz + urezuba0ure1ure0ure0ure0u7i0u7e0u7i0u7i0u7i0u7i02NfU//////////////////////////// + ////////////////////////////////////////////////////////////////////////8OrlimI/ + elMwd1Evglcwglcwl2EyyXs2yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830n830oA30oA304A304A304A31IE31IE31IE31YE3 + 1YE31oI31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43YU4 + 3YY43oY43oY434Y43oU33YQ23IM03IIz24Ey2oAx35NQ+/Ps//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO////////////////////////////////////6+vr6Ojo//////////// + ////////////////////////////9vb23Nzc/v7+//////////////////////////////////////// + /////////////////////////v7+/Pz8/Pz8/Pz8/f39/Pz8/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////xcXsEhKwAACqAQGqCgqtAACqAQGqbW3O//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8t7SvtrOutbKttrGttbGttrGttrGstrGttbGttbCstbGttbGttbGstbGs + tbGstbGstbGstbGstbGstLKstbKstbKttLGstLGstbGttbGttbGttLCstbGttLGttbGstbCstbGstbCs + tbCrtbGstbGstbCrtbGstbCrtLGstLCrtLCss7Css7CstLCss7Crs6+rs7Crs66rs6+rsq6qurayubWx + ubWxubWxubWyubWxubWyubayubayubayubaxubaxurayuraxurayureyubayureyureyureyureyuray + urazurazu7azurazurazurezu7ezu7ezu7ezu7ezu7ezu7izu7ezu7ezu7eyurezurezurezurezubez + urezube0ure0ure0uri0uri0u7i0u7i0u7i0u7i0u7i0u7i02NbU//////////////////////////// + ////////////////////////////////////////////////////////////////////////////3dDF + g1o1eVIwgFYwg1cwhFgwwXc1yns2yns2ynw2ynw2y3w3y3w3y3w3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830n830oA30oA304A304A304A31IE31IE31IE31YE3 + 1YE31oI31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43YU43YU4 + 3YY43oY43oU33YQ23IM124I02oEz2oAx2X8w3ZBM+/Ho//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/Pz8/Pz8/Pz8/f39/Pz8/Pz8/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////3t70aGjMKiq4ICC1QkLAo6Pg/f3+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8t7OutrKutrOutrKttbGttrGttbGttbGttbGttbGttbCstrGttbGttbGt + tbGstrGstrGstbGstbGstbKttbKttbGstbKttbKttbGttbGttbGttbGttbGttbCttbGstbCstbCstbCs + tbCstbGstbCstbCrtLCrtbCstLCrtLCstLCrtLCss7Crs7Css7Crs6+rs6+rs6+rsq6rs66rurayubWx + ubWxubWxubWyubWxubWyubWyubayubaxubaxubaxuraxubaxurayurayureyureyurezurezurezurez + urazurazu7ezurezure0ure0u7ezu7izu7izu7izu7izvLizu7izu7izu7izu7eyurezure0urezure0 + ubi0ube0ure0ure0uri0uri0u7i0u7i0u7i0u7i0vLm0vLi02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 0cCyf1UwfVQwhFgwhFgwqGozyns2ynw2ynw2y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z343z3430H430H830H830X830X830n830oA30oA304A304A304A31IE31IE31IE31YE3 + 1YE31oI31oI31oI414I414I42II42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43YU43YU4 + 3YU43IQ33IM224I02oEz2YAy2H8w2H4v3ZBN+/Ho//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + jIbiKyDJKyDJKyDJKyDJQDbO//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8uLSvtrOutrOutrKttrGttbGttbGttbGttbGttbCstbGttrGttbGttbGt + tbGttbGttrGstbGttbKttbGstbKttbKttbKttbKttbKttbKttbGttLCttbCttbGttbCttbCttbCttbCt + tbCstbCstbCstbCstbCrtbCstbCstbCss7CstLCss7Css7Css7Css7Css7Css6+ss6+ss6+surayubWx + ubSxubWyubWxubWyubayubayubayubayubaxuraxurayubWyurayurayubayubezurezurizurizurez + ure0ure0u7e0ure0u7e0u7e0u7i0u7i0u7m0u7izvLizvLizvLizu7izu7izu7eyurizurezure0ure0 + uri0ure0ure0uri0uri0uri0u7i0vLi0vLm0vLm0vLm0vLm02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////xbGeflUwg1cxhFgxjFwyyHo2ynw2ynw2y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zX03zn03 + zn43zn43z343z3430H430H830H830H830X830X830n830oA30oA304A304A304A31IE31IE31IE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IU43IU43IQ3 + 24M22oI12oE02YAy2H8x134w1n0v3ZNS+/Pr//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ioTfKyDJKyDJKyDJKyDJQDbO9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39fX19PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX1 + 9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1 + 9fX19fX19fX19fX19vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 + 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3/Pz8//// + /////////////////////fz8uLWwtrOutrKutrOutrKttbGttbKttbGttbGttbGttbGttbGutbGttbGu + tbGttbGttbGttbGttrKutbKttbKutbKttbKttbKutbKutbKutbKutbKutbGttbCttbCttLCttbCttbCt + tbCttbCstbCstbCstLCstbCstLCstLCstLCstLCss7Css7Css7Css7Css7Cssq+rs7Css7CsurazubWy + ubWyubazubWyubayubayubayubayubayubayubaxuraxubaxubayurayubazubezurezurizurizuriz + ure0ure0ure0u7e0u7i0u7i0vLi0u7i0vLm0vLizvLm0vLizvLizvLizu7izu7izu7izurezurizure0 + ure0ure0ure0uri0uri1u7i0u7i0vLi0vLm0vbm0vLm0vbm02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////uJ+JgVYwhVgxhVgxrWw0ynw2ynw2y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zX03zn43 + zn43zn43z343z3430H430H830H830H830X830X830n830oA30oA304A304A304A31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q43IU43IQ324M22oI1 + 2YE02IAz2H8y134w1n0v1nwu4Jxh/fj0//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + urbnhoDbhoDbhoDbhoDbkYzd8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw6+vr6urq6urq6urq6+vr6urq6+vr6+vr6+vr6+vr6+vr + 6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs + 7Ozs7Ozs7Ozs7Ozs7Ozs7e3t7e3t7e3t7e3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v + 7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8t7SvtrOutrKutrKutrKutrKutbKutbKutbKutbKutbGutbKutbGutbKu + tbGutbKutbKutbKutbKutbKttbKttrKutbKttbKutbKutbKutbKutbKttbKutbGttbCttbGttbCttbCt + tLCttbGttLCstbGstLGstLGstLGstLCstLCstLGss7GstLCss7Gss7Css7Css7Css7Css7CsurezuLWy + ubWyubayubayubayuLayubayureyurayuraxuraxuraxurayubayurayurazubezurezuri0urizuri0 + u7e0u7e0u7i0u7i0u7i0vLi0vLi0vLm0vLm0vLm0vLm0vLizvLm0vLm0u7i0u7i0u7izu7e0urizure0 + ure0ure0ure0ure0uri0uri0u7m0u7m0vLm0vLm0vLizvbm02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79rZB3hVgxhlkxjFwxxnk2ynw2y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A304A31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM42oQ42oQ42oQ424Q424Q42oM32oI22YE02IAz + 138y1n4x1n0v1Xwu1Xwu5a18/vz6//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + +O7q9OLa9OLa9OLa9OLa9eTe+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr69vb28vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT0 + 9PT09PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29vb29/f39/f39/f39/f39/f3+Pj4+Pj4+Pj4 + +fn5+fn5+fn5+fn5+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6/f39//// + /////////////////////fz8uLSwtrOutrKutrOutrKutbOutbOutbOutbKutbKutbKutbGutbKutbKu + trKutbKutbKutbGutrKutrOutbKttrKutbKttbOutbKttbKutbKutbKttbKttbKutbGttbGttbGttLGt + tbCttLGttbGttLCstbGstLCstLGstLGstLCstLGstLGstLCrs7GstLGss7CrtLCss7Css7Csubayubaz + ubayubayubayubayubayubayurayurayuraxuraxuraxuraxurayurayurazurezurezurizure0uri0 + u7e0u7i0u7i0vLi1vLi0u7i0vLi0vLm0vLizvbm0vLm0vLizvLizvLizu7izu7i0u7i0ure0ure0uri0 + uri0ure0ure0ure0ure1u7i0vLm0vLm0vLm0vbm0vbm0vbm02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////+/r5poVph1kxh1kxomczynw2y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A304A31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM42oQ42oQ42oQ42oM32YI22IE12IA0138y1n4x + 1X0w1Hwv1Hwu1X4x7MWi//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3p6DylMhylMhylMhylMhzmM28PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSvt7OutrOutrOutrOutrOutrOutbKutbOutbKutbKutbKutbKutbKu + trKutbKutrKutrKutrKutbKttrKutrKttrOutrKttrOutbKttbKutrOutbKttbKttbKttbKttbGttLGt + tbGttbGttbGttLGstbGstbGstLGstbCstbGstLCrtbGstLCrtLGstLCrtLGstLGstLCrtLCsurazubay + ubazubayubayurayurayurayurayurayuraxuraxuraxuraxuraxuraxurazurezurezurezurezuri0 + u7e0u7i0u7i0vLi0u7i0u7izvLm0vLm0vLizvbm0vLm0vbm0vLi0vLi0u7izu7i0u7i0u7i0uri0uri0 + ure0ure0ure0u7e0u7e1u7i1u7i0vLm0vLi0vLi0vbm1vLm02dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////9/XynXhYiFoxiVoxuHI1y3w2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM42oQ42oM32YI22IE114A01n8z1n4x1X0w1Hwv + 03su1Hwu2IlD9eDO//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSvt7OutrOutrOutrOutrOutrOutrOutrOutrKutrOutrOutrKutrKu + trKutrKutrKutrKutrKutrOutrKutrKutrKttrKttrKtt7KttrOutrOutbKttrOutbKttbKttrKttbKt + tbGttbGttbGttbGttbGstbGstbCstbGstbGstbCrtbGstbCrtLGstLCrtLCrtLCstLCrtLCrurezubay + ubayurayurayurayurayurayurayurayuraxuraxuraxuraxuraxurayurazubazurezure0uri0urez + uri0u7i0u7i0u7i0vLi1vLi0vbm0vbm0vbm0vbm0vbm0vLi0vLi0vLi0u7i0u7i0u7i0u7i0uri0uri0 + uri0uri0u7i0u7i0u7i1u7i1vLi0vLm0vLm0vLm1vbm1vLm12dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////9O/smHBMiVoxjl0xxHk2y3w3y3w3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42YM42YM32II22IE114A01n8z1X4y1H0w1Hwv03su03su + 03su4KJq/Pbw//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw6dzR27aV + 1qh/27SS6dzQ8PDw8PDw8PDw8PDw8PDw8PDw8O/v5dG/2K6I2rGO6NnM8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw7+7u8PDw8PDw8PDw7+3s7+7t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8ubSvuLOut7Out7Out7Out7Out7OutrOutrOutrOutrOutrOutbOutrKu + trKutrKutrKutrKutrKutrKutrKutrKutrKutrKttrKttrKttrKttrKttbKttbKttbKttbKttbKttbGt + tbGttbGttbCstbGttbGttbCstbGttbGstbCstbCstbGstbGstbCrtLCstLGstLCstLCstLCsurezubay + ubayurayurayurayurayurayuraxurayuraxuraxuraxuraxurayurayubazubezubezubezuri0uri0 + uri0uri0u7i0u7i1vLi1vLi1vbm1vbm1vbm0vbi0vLi1vLi0vLi0u7i1u7i0u7i0u7i0uri0uri0uri0 + u7i0u7i0u7i0u7i0vLi1u7i1vLm1u7m0vLq1vLq0vLm0vbm12dfU//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////7ujilGlDilsxl2EyyHo3y3w3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42IM42IM42IM42II314E21oA01n8z1X4y1H0x03ww0nsv0nsu0nsu1YI5 + 7syv//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8O/u2KyFv2YXvWEQ + vWEQvWEQvmUW1qh/8O/u8PDw8PDw8PDw7+7t0ptrvWISvWEQvWEQvmUW2bCM8PDv8PDw8PDw8PDw8PDw + 8PDw1KJ259fJ8PDw3r+jx3w7x34+5dG/8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSwt7Ovt7Out7Out7Out7Out7OutrOutrOutrOutrOutrKttrOutrKu + trOutrKvtrKvtrKutrKutrKutrKutrKutrKutrKutrKutrKttrKttrKutrKutbKttbKttbKttbKttbKt + tbKutbGttLGttbGutbGttLCttbGttbGttbGstbGttbGstbCstbCstbGstLCstLCstLCstLCsurezubay + ubayurayurayurayurayurayurayurayurayurayurayurayurayurayurazubazube0ube0uri0uri0 + uri0uri1u7i1vLi1vLm1vLm1vLm0vLm0vLm0vLm0vLm0vLm0vLm1vLi1vLi0u7m0u7m0u7i0uri0u7i0 + u7i0u7i0u7i0vLi1vLi1vLm1vLm1vLm0vLm1vLm0vLm0vbm12dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////6N/Xk2Y+jFwxnGQyyXs3zHw3zHw3zH03zH03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I42II414I314E21oA11X801H4y1H0x03ww0nsv0Xou0nou0nsu36Bp+vDm + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7ugICAqKio8PDw8PDw8PDw + 8PDwpqamdnZ27u7u8PDw8PDw8PDw4eHhYmJi0tLS8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw4ODgdHR0x8fH8PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqc3NzuLi47u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u0NDQg4ODW1tbUFBQWVlZfHx8xsbG7u7u + 7u7u7+/v7+/v7+/v4+Pj3t7e7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vycnJbm5u3t7e7+/vqqqq + ZmZm7e3t8PDw8PDw8PDw3t7ej4+PY2NjUlJSUlJSY2Njj4+P3d3d8PDw8PDw8PDw7u7uioqKhoaGhoaG + hoaGhoaGhoaGjY2N7Ozs8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw38CmvWISvmQV0p1u + 3bqb051vvmUWvWER2bCL8PDw8PDw8PDw16mBvWEQv2ca059y0JZjvmMTvmIS38Cl8PDw8PDw8PDw8PDw + 8PDw59fJzpFb7urnxHUu6+HY5M+8yoZL8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSwt7Ovt7Ovt7Kvt7Ovt7Out7OutrOutrKutrOutrKutrOutrOvtrOv + trOutrOvtrOutrKutrKutrKutrKutrKutrKutrKutrKutrKutrKutrKutrKutbKutbKttbKutbKutbKu + tbKutLGttbGutLGttLCutLCttbGutbGttbGttbCttbGttbGttbCstbCstbGttLGstLGstLCsurezubay + ubazubayurayurayurayurayu7eyurayurayurayurayureyurezurayubezube0ube0uri1uri0uri0 + uri1uri1u7i0vLi1vbm1vbm1vbm1vbq0vbm0vbm1vLm1vLm0vLm1vLm1vLi0u7m0vLi0u7m0u7m0u7i0 + vLi0vLi0vLi0vLi1vLi1vLi1vLm1vbm1vbm1vLm1vLq1vbq12dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////6d/XlWhAjVwxnGQyx3o3zHw3zH03zX03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI414I414I31oE21YA11X801H4z030y0nww0Xsv0Xou0Xou0Xou1olF79C2//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwtra2Pz8/3t7e8PDw8PDw8PDw + 8PDwi4uLSkpK7u7u8PDw8PDw8PDw8PDwfn5+ZmZm7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw2NjYNzc3tLS08PDw8PDw8PDw8PDw8PDw8PDw8PDw6urqODg4np6e7u7uyMjIu7u7u7u7u7u7 + u7u7u7u7u7u7u7u7u7u7u7u7ysrK7u7u7u7u7u7u7u7u0dHRPj4+Y2NjnZ2dqqqqoKCgbm5uOTk5vb29 + 7u7u7u7u7+/v7+/vsbGxSkpK6Ojo7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vuLi4NTU119fX7+/vlpaW + PDw87Ozs8PDw8PDw7u7uXFxcTU1NlpaWqampqampl5eXTk5OWVlZ7e3t8PDw8PDw7e3tOTk5WFhYd3d3 + d3d3d3d3WFhYPz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwyYZKvWEQ0p1u8PDw + 8PDw8PDw3byevWERwGgb7OTc8PDw6uDXvmUXvWEQ4MKn8PDw8PDw1qh/vWEQxHQt7uvo8PDw8PDw8PDw + 8PDw8PDv0Zlo48u2xHQu7urm6NvOyIFC8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSwt7Ovt7Ovt7Kvt7Ovt7Ovt7Ovt7Ovt7OvtrOvtrOvtrOvtrOvtrOv + trOvtrOutrOvtrOvtrKutrKvtrKutrKutrKutrKutrKutrKutrKutbKttrKutrKutbKutbKttbKttbKu + tbKttbKutLGttbGutbKutbGutbKutbGutbKttbGutbGttbGstbGttbKttbKttLKttbGstLGsurezuraz + ubazurazurazurezu7ezureyureyureyureyurezurezureyurezurezurezure0ubi0uri1uri0uri1 + uri0u7i0vLm1vLm1vbm1vbm1vbm1vbm0vbq1vbm1vbm1vbm1vLm1vLm1vLm0vLi0vLm0u7m0vLi0vLi0 + u7i0vLi0vLi0vLm1vLi1vLi1vLi1vLm1vbm1vLm1vbq1vbq22dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////7ufgnnJMj10xmGIyw3g2zH03zX03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oI31oI31oI31oE21YA11H80034z030y0nwx0Xsv0Hou0Hou0Hou0n825rmS/vv4//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw7u7uYGBgdnZ28PDw8PDw8PDw8PDw + 8PDwi4uLSkpK7u7u8PDw8PDw8PDw8PDwx8fHNjY2yMjI8PDw8PDw8PDw8PDw8PDw7u7uq6urfHx8n5+f + 6+vr8PDw2NjYNzc3tLS08PDwy8vLvr6+vr6+vr6+vr6+1dXV6urqODg4np6e7u7ubW1tQEBAQEBAQEBA + QEBAQEBAQEBAQEBAQEBAQEBAc3Nz7u7u7u7u7u7u7u7usbGxNjY2wsLC7Ozs7e3t7e3t1NTUPj4+kpKS + 7u7u7u7u7u7u7+/v6OjoRkZGr6+v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vuLi4NTU119fX7+/vlpaW + PDw87Ozs7+/v8PDw7e3tV1dXU1NTmpqatbW1tbW1m5ubU1NTVVVV7e3t8PDw8PDw7e3tOTk5gYGBwMDA + wMDAwMDAgICAPz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8O/v3b2h27aU6d3S8PDw + 8PDw8PDw8O/uyIFCvWEQ27WU8PDw2K6IvWEQx34+8O/v8PDw8PDw7unmwWwivWEQ4cau8PDw8PDw8PDw + 8PDw8PDw6dzRzY5X16uEyYJEx30838Gm8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLWxt7Owt7Ovt7Ovt7Ovt7Ovt7Ovt7Out7Ovt7OutrOvtrOvt7OvtrOv + trOvtrOvtrOvtrOvtrOvtrOvtrKvtrOvtrKutrKutrOutrOutrKutrOutrKutbKttrKutbKutLKttbKt + tbKutbKttbKttbKutbGttbKutbKutbGttbKttbGttrKttbGttbKttbKttbKttbGstbKttLGsu7i1urez + urezurezurezu7ezu7izureyu7eyu7eyu7izu7eyu7ezu7izu7ezurezurizuri0uri0uri0u7i1u7i0 + u7i1vLm1vLm1vLm1vbm1vbm1vbm1vbm0vbm0vbm1vbm1vbm1vLm1vLm0vLm0vLm0vLm0u7m0u7m0vLi0 + vLi0vLi0vbi0vLi0vbm1vbm1vbm1vbm2vbm2vbm2vbq2vbq22dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9/Txs5BykV4yk18yt3I1zX03zX03zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1YE31oE31YE21IA11H80034z0n0y0Xwx0Hsw0Hovz3ku0Hku0X405LSJ+/Pt//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDw3NzcNzc3rq6u8PDw6+vr6+vr6+vr + 6+vriYmJSUlJ6enp6+vr6+vr6+vr7u7u6urqRkZGj4+P8PDw8PDw8PDw8PDw8PDwmpqaOzs7cnJyQkJC + fX197+/v2NjYNzc3tLS08PDwZmZmNTU1OTk5OTk5NTU1iYmJ6urqODg4np6e7u7u6+vr6urq6urq6urq + 6urq6urq6urq6urq6urq6urq6+vr7u7u7u7u7u7u7u7u5eXlbm5uOTk5UVFRW1tbVFRUOjo6X19f29vb + 7u7u7u7u7u7u7+/v7+/viYmJZmZm7+/v7+/v7+/v7+/v7+/v7+/v6+vr6urqtLS0NTU10tLS6urqk5OT + PDw86Ojo6urq7Ozs7+/v2traioqKX19fUlJSUlJSX19fiYmJ2dnZ7+/v8PDw8PDw7e3tOTk5NjY2OTk5 + OTk5OTk5NjY2Pz8/6Ojo8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7ejj4cWt + 3LeW4MSr7efi16uEvWEQzpFb8PDwy4dMvWEQ1qh/8PDw8PDw8PDw8PDwzY9YvWEQ1KJ28PDw8PDw7+3s + 1KJ1x3w72bCL0p1u48u26t7U6+Pb8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLWxt7Owt7Swt7Ovt7Svt7OvuLSvt7Ovt7Ovt7Sut7Svt7Ovt7OutrSv + trOvt7Svt7SvtrOutrKutrOvtrOvtrKutrKutrOutrKutrOutrKutrKttrKutrOutrKttrKttrOutrKt + tbKttbKutbOutbKttrKutbKutrKutbKutrKutrKttrKttrKttrKttrKstbKttbGstbKttbGsu7i0urez + urezu7ezu7izu7ezu7izu7eyu7izu7ezvLizu7ezu7izu7ezu7ezu7ezurizu7i0uri0uri0u7i1u7i0 + vLi1vLi0vLm1vLm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vLm1vLq1vLm1vLm0vLm0u7m0vLm0vLi0 + vLi0vLi1vbi1vLi1vbm1vbm1vbi1vbm1vbm2vbm2vbm2vLq22dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v791cKwmmpAk18ypGgzxHg2zX03zn03zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A31IA31IE31IE31YE31YE3 + 1IA21IA203800n4z0n0y0Xwx0Hswz3ovznkuz3ku0H4447WN+vLr//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz8PDw8PDw8PDw8PDw8PDw8PDw8PDwvr6+NDQ0zc3N5OTkQEBAODg4ODg4 + ODg4ODg4Nzc3ODg4ODg4ODg4ODg4qqqq8PDwZGRkZ2dn8PDw8PDw8PDw8PDw4eHhPj4+mZmZ8PDws7Oz + NjY2zc3N2NjYNzc3tLS08PDwZWVlaWlp7Ozs7OzsUlJSiIiI6urqODg4n5+f7u7u7u7uzMzMbGxsbGxs + bGxsbGxsbGxsbGxsbGxsysrK7u7u7u7u7u7u7u7u1dXVxcXFxcXFp6eniIiIdHR0hYWFoKCgxMTExsbG + zs7O7u7u7u7u7u7u7+/vzs7OOjo61dXV7+/v7+/v7+/v7+/v7OzsUVFRNjY2NTU1NDQ0NjY2NjY2NTU1 + NDQ0NjY2NjY2cnJyYWFhYWFhYWFhYGBgYGBgYGBgYGBgYWFhYWFhYWFh0dHR8PDw7e3tPz8/nZ2d7u7u + 7u7u7u7unJycRUVF6enp8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw + 8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw4cWswnAnvWEQ + vWEQvWEQw3Eo16uDvWEQyYNG8O/vxHQtvWEQ38Gm8PDw8PDw8PDw8PDw1aZ8vWEQzIxU8PDw8PDw3bqb + z5Jd7ObgyYRG3ryfy4lP7+7t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw+vr6//// + /////////////////////fz8uLSxt7Swt7Swt7OvuLSvuLSwuLSvt7SvuLSvt7Svt7Out7Sut7Out7Sv + trSvt7Svt7Out7Out7OutrOutrOvtrOvtrOutrOutrKutrOvtrKut7OutrKutrKutrKttrKttrOutrKu + trKutrKttrKutbKttrOutrKutrKutrKutrKutrKutrKttrGttrKttbKttbKttrGstrKttbGsu7e0urez + u7ezurezu7ezu7ezu7eyu7izu7eyvLeyu7ezvLi0u7ezu7izu7ezurizurizurizu7i0u7i0u7i0vLi1 + vLi0vLi1vLm1vbm1vLm1vbm1vbm1vrq2vbq1vbm1vbq2vbm1vLm1vLm1vLq1vLm1vLm0vLm1vLm1vLi0 + vLi1vLi1vbi1vbi1vLi1vbm1vbm2vbm3vbm3vbm2vbm3vbq32dfW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////9fDswaOImGQ3l2Eyrm00x3o2zn43 + zn43zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A304A31IE31IE31IA30382 + 0n400n400X0y0Hwxz3swz3ovznkuzXgt045P58Oj/Pf0//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 3pyBylEeylEeylEeylEezmEz7+/v7+/v7+/v7+/v7+/v7+/v7+/vra2tNzc32dnZ7u7u1tbWxsbG0NDQ + 1NTU1NTU1NTU1NTU09PTxcXF0tLS5eXl7+/vc3NzW1tb7+/v7+/v7+/v7+/vtra2Nzc31tbW7+/v5ubm + Pz8/nJyc19fXNzc3s7Oz7+/vZWVla2tr7+/v7+/vUlJSiIiI6enpODg4lpaW4ODg6+vrvLy8MzMzfX19 + i4uLi4uLi4uLi4uLi4uL0tLS7e3t7e3t7e3t7e3tf39/OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5 + XFxc7e3t7e3t7e3t7e3t7OzsYmJijIyM7u7u7u7u7u7u7u7u7u7uxsbGwMDAv7+/t7e3nJyckpKSqKio + vLy8wMDAwMDAxcXFmZmZlJSUlJSUlJSUUVFRTk5OlJSUlJSUlJSUmZmZ3d3d7u7uxMTEhISEkpKS1tbW + 7+/v7+/vq6urZWVl6enp7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v + 7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v5dHAv2YYvWEQyIBA + 1KR5zY5WvmMTv2cZvWEQw3Qt7+7tvmMTvWEQ48y37+/v7+/v7+/v7+/v16yGvWEQyYNF7+/v7+/v1qd+ + 2bCM7+/v1KJ33bqc1KN44MWt7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v+vr6//// + /////////////////////fz8ubaxuLSwuLSwuLSwuLSwuLSvuLSvuLSvuLSvuLSvuLSvuLSvt7Svt7Su + t7Svt7Sut7Out7Sut7Out7Ovt7Out7Out7OutrKutrOvt7Ovt7OutrKvt7Out7Out7OutrKutrOutrKu + trKttrOutrOutrKutrOttrKutrKutrKutrKutrKutrKutrKttrKttrGstrGstbGstrKttbGtu7ezu7ez + u7ezu7ezu7ezu7ezu7eyvLizu7eyvLizu7ezu7ezu7ezvLi0u7i0u7izuri0u7i0u7i0u7i0vLi0vLi1 + vLi1vLi1vLi2vLm1vbm1vbm2vrm1vrm2vrm2vbq2vbq2vbq2vbq2vLq2vLq2vLq1vLm1vLm1vLm1vLm1 + vLi1vLi1vLm1vbm1vbm1vbi2vbi2vLm2vbm2vLm2vbq3vbq32dfW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////8+znw6SInms9mmMyrGw0 + wHc2zn43z343z3430H430H830H830X830X830X830n830oA30oA304A304A304A304A303820n410X00 + 0Hwy0Hwxz3owznovzHguzYE/3q6E8N3M//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4aCEylEeylEeylEeylEez2I0/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8urq6NjY24ODg/Pz82dnZREREUFBQ + p6en9vb2+/v7ysrKaGhoOjo6oqKi+/v7/Pz8cnJyYWFh/Pz8/Pz8/Pz8/Pz8rq6uOjo68vLy/Pz8+fn5 + Tk5OlJSU4uLiNzc3u7u7/Pz8aGhobm5u/Pz8/Pz8VVVVjo6O9fX1ODg4MzMzNjY23t7excXFMzMzq6ur + wsLCwsLCwsLCwsLCwsLC8vLy+fn5+vr6+vr6+vr67u7u2trarq6urq6urq6urq6urq6urq6urq6u0NDQ + 6+vr+vr6+vr6+vr6+vr6+vr6srKySkpK8/Pz+vr6+vr6+vr6+vr6+vr69vb2lJSUQUFBOjo6PDw8Nzc3 + VlZWxMTE+vr6+vr6+vr6ampqRkZGRkZGOTk5ODg4RkZGRkZGWVlZ9/f3/Pz8oKCgOTk5YmJiWFhYPj4+ + y8vL/Pz8n5+fQEBA8/Pz/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz80JNdvWEQ0ZBY+vj3 + /Pz8+/v75MGivWIRvWEQxHMs+/r5wGgavWEQ69O+/Pz8/Pz8/Pz8/Pz83bCJvWEQzYlM/Pz8/Pz88uLV + x3s42KZ6yHw69+/o9u7nzotR+/n4/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/v7+//// + /////////////////////f38urayuLSwuLSwuLSwuLSwuLSwubSwuLSwuLSwuLSvuLSvuLOvuLSvt7Ou + t7Out7Svt7Svt7SvtrOut7Ovt7OvtrOut7KvtrOut7OvtrKut7OvtrKutrKut7Ovt7Out7OutrKtt7Ou + t7OutrKutrKttrOutrOttrKutrKutrKutrKut7KutrKutrGttrKutrGttrKttbGstrKttbGtu7ezu7ez + urayu7ezu7ayu7ezu7ezu7eyu7ezu7ezvLezu7ezu7e0u7i0u7i0u7izu7izu7i0u7i0vLi1vLi1vLi1 + vLi2vLi1vLi1vLm1vbm2vbm2vbm2vbq2vbm2vbq2vbq2vLq2vLq2vLq2vLq2vLq1vLm1vLm1vLm1vLi1 + vLi1vbi1vbm2vbm2vbm1vLm1vbq2vbq2vbq1vbq2vLm2vbq22dfW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////+vj118Gtto1p + nmc2omczsm81wHY2zHw30H830H830X830X830X830n830oA30oA304A304A30n820X410H000Hwyz3sy + zXkwx3YuzYlO3LGK7tvK/v38//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1////////////////////////////1dXVMzMzzc3N////////6enpmZmZ + QEBAaGhonJycODg4dXV109PT/Pz8/////f39W1tbenp6////////////////wMDANzc35OTk////9vb2 + QkJCpKSk5eXlNzc3vr6+////aWlpb29v////////VVVVj4+P+Pj4ODg4ioqKzMzM9vb2x8fHMzMzRUVF + SUlJSUlJSUlJSUlJSUlJ5eXl/Pz8/f39/f39/f39/f390NDQMzMzSkpKT09PT09PT09PT09PT09Ptra2 + /f39/f39/f39/f39/f39/f398fHxQ0NDv7+//f39/f39/f39/f39/f39rq6uOTk5rKys7e3t8vLy4eHh + eXl5Pz8/6enp/v7+/v7+XFxcY2NjsLCwsLCwsbGxsbGxsbGxv7+//v7+9fX1QEBAlJSU////+/v7ZmZm + UlJSmZmZaWlpQEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////Pv5wXIsvWEQ69C4//// + //////////79y4NEvWEQy4NE///+yoA+vWEQ5cCf////////////////2qV3vWEQ1Jll//////////// + 9+3k68+3+vLs////////9ObZ/fr4//////////////////////////////////////////////////// + /////////////////////f38urezuLSwuLSwuLSwuLSwuLSwuLOwuLSwuLSwuLSvuLOvuLSvuLOvuLOv + uLSvt7Out7Svt7SvtrOut7SvtrOvt7Out7Ovt7Ovt7Ovt7Ovt7Ovt7Ovt7OutrKut7Out7Out7Out7Ou + t7OutrOutrOutrOutrOutrOutrKutrKutrKutrKutrKutrKutrGutrGutrKutrKttbGttrKuvLi0u7ez + urayu7ezu7ezu7ezu7ayu7eyu7ezu7ezu7ezu7ezu7izu7izu7izu7izuri0u7i0u7i0u7i0vLi0vLi1 + vLm2vLm1vLm2vLm1vLm1vbq2vbq2vbq2vbq2vbq2vbq2vLu2vLq2vLu2vLq1vbq1vbm1vbm1vbm1vLm1 + vbm1vbm1vbm2vbm1vbm2vrm1vbm1vbm1vbq1vbq2vbq2vbq22dfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + +PTx4M6+yKeJtolhpm07qWszsnA0unM1v3Y2xHg2x3o2yHs2yXs2yHo1x3k0xHczwXQxxH9Czpdm2bGO + 5s66+PHr//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1////////////////////////////9PT0QkJCnp6e//////////////// + 3t7eR0dHNTU1q6ur/v7+////////////7+/vOjo6ra2t////////////////7e3tPT09oaGh////vb29 + NjY22dnZ5eXlNzc3vr6+////aWlpbGxs9fX19fX1U1NTj4+P+Pj4ODg4qKio////////x8fHMzMz1dXV + 9PT09PT09PT09PT09PT0+/v7/f39/f39/f39/f39/f390NDQMzMz29vb/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39iIiIcHBw/Pz8/f39/f39/f39/f39jIyMTExM+vr6/v7+/v7+/v7+ + ycnJNTU1z8/P/v7+/v7+XFxcODg4QEBAQEBAQEBAQEBAQEBAcnJy////8vLyPT09oaGh/////f39cHBw + RkZGdHR0VlZWQEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////+vj1vmwkvWEQ8NrH//// + ////////////1ZpmvWEQ0ZJa////1JhkvWEQ2KN0////////////////zYZIvWEQ4LaQ//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38ureyuLSwuLSwuLSwuLSwuLSwuLSwuLSwuLSwuLOvuLOwt7OvuLOvt7Ov + t7Ovt7Ovt7Swt7OvtrOvt7SwtrSvt7Svt7Swt7Ovt7Ovt7Ovt7Ovt7Owt7Ovt7Owt7Ovt7Ovt7Out7Ou + t7Ovt7Ovt7Out7OvtrSutrOutrOvtrKutrKutrKvtrKutrKvtrKutrKutrKttbKttrKutrKtu7ezuray + u7ezu7ezurezu7ezu7ayu7ezu7azu7e0u7ezu7i0u7i0u7izu7izu7izu7i0u7i0u7i0vLi0vLi0vLi1 + vLi1vLi2vLm2vLq2vLm2vLq1vbq2vbq2vbq2vbq2vbu2vbq1vLq1vbq1vbq1vbq1vbm1vbm1vbm1vbm1 + vbm1vbm2vbm2vbm1vbm1vbm1vrm1vbm1vbm1vrq2vrq2vrq22tfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v799O3n6tzP48++3cSu28Co2byj27+m3sOs4sq16tjI8ebb+/j1//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1////////////////////////////////h4eHW1tb/Pz8////k5OTbW1t + bW1tSkpKODg4a2trbW1tbW1t8PDw////sbGxQEBA7u7u////////////////////nJycPDw8dXV1QUFB + g4OD/v7+5eXlNzc3vr6+////aWlpNzc3Pz8/Pz8/NTU1j4+P+Pj4ODg4qKio////////ycnJMzMzRUVF + SUlJSUlJSUlJSUlJSUlJ2NjY/Pz8/Pz8/f39/f39/f390NDQMzMzgICAkJCQkJCQkJCQkJCQkJCQ19fX + /f39/f39/f39/f39/f39/f39/f3919fXOzs75OTk/f39/f39/f39/f3909PTPT09YmJipKSksLCwk5OT + R0dHYGBg+Pj4/v7+/v7+XFxcXFxcnZ2dnZ2dnZ2dnZ2dnp6esbGx////////jo6OPDw8fn5+bW1tOTk5 + vb29////oaGhQEBA9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79xnw7vWEQ47yZ//// + /////////v38yHw5vWEQ47uZ////6MisvWEQw3An/Pj1////////9ejcv2UWvmIS8+PU//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39urezuLWxuLWxuLSwuLSxubSxuLSxuLSxuLSwuLSwuLOwuLSwt7Owt7Ov + uLOvt7Ovt7Ovt7Swt7Swt7Svt7Ovt7Swt7Owt7Svt7Owt7Owt7OwtrOwt7Owt7Owt7Ovt7Ovt7Ovt7Ou + t7Ovt7Ovt7OvtrOvt7OvtrOvtrKutrOutrKvtrKvtrKutrKutrKutrKutrKutrKutrKutbKtvLi1urez + u7e0urezurezu7ezurezu7ezu7izu7i0u7ezu7m0u7izu7m0u7i0u7m0vLm0u7i0u7i0vLi0vLi0vLi0 + vLi1vLi2vbi2vLm2vbm1vLq1vbq2vrq2vru2vru2vru2vbq1vrq1vbu2vbq1vrq1vbm1vbm1vbm1vbm1 + vbm2vbm2vbm2vbm2vbm2vbm2vbm1vbq1vbq1vbq1vbq1vbq22tfV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1////////////////////////////////5ubmQkJCzMzM////sLCwlJSU + lJSUlJSUlJSUlJSUlJSUlJSU9PT0/Pz8W1tbmpqa/////////////////////////f39uLi4hoaGrKys + +fn5////5ubmPj4+wMDA////3Nzcz8/Pz8/Pz8/Pz8/P5eXl+Pj4Pz8/q6ur////////8PDwxMTExMTE + xMTExMTExMTExMTExMTE8fHx/Pz8/Pz8/Pz8/f39/f3939/fdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2zs7O + /f39/f39/f39/f39/f39/f39/f39+/v7hoaGwMDA/f39/f39/f39/f39/f393NzchoaGXV1dVVVVaGho + oqKi8/Pz/v7+/v7+/v7+hoaGaGhoaGhoaGhoaGhoaGhoaGhohoaG/////////Pz8vLy8gYGBiYmJ0tLS + ////////pKSkR0dH9/f3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////4LWQvWEQxHIp8+PV + ///+/vv537KLvWEQwWoe+fHq/////vz6xngzvWEQ16Bv/fn3+vTuzopOvWEQ0I5V/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39urezubWxuLWxubWxubWxubSxuLWxuLSxuLSxuLSxt7SwuLSwt7Swt7Sv + t7Svt7Svt7Svt7Svt7Svt7SvtrSwt7Swt7Svt7SwtrSvt7Swt7Ovt7Swt7OvtrOwt7Ovt7Ovt7Svt7Ov + t7SvtrSut7Svt7Svt7SvtrOut7SutrOvtrOvtrKutrOutrKvtrKutrOvtrKutbKut7OutrKtu7i1u7ez + u7e0u7izu7ezu7e0u7ezu7i0vLezu7ezvLi0u7izu7m0u7i0u7m0vLizvLm0vLizvLizvLi0vLizvLi0 + vLi1vLi2vLi1vLi1vbm1vbq2vbq2vbq1vrq1vru2vrq1vru2vrq2vrq1vbq1vrq1vrq2vbm1vbm2vbm2 + vbm2vbm2vbm2vbm2vbm2vbm2vbq1vbq2vbq1vbq2vrq2vrq22tfW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1////////////////////////////////////0dHR09PT//////////// + ////////////////////////////8vLyuLi4+fn5//////////////////////////////////////// + /////////f398vLy+/v7/////////////////////////////v7+8vLy+fn5/////////////v7+/Pz8 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/Pz8/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/Pz8+/v7/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////////////////// + ////////+fn58vLy/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////Pj1zIZHvWEQv2YY + y4FBxnYvvWEQvmMU5sSm////////////8NrIv2YYvWEQw3AnwWwgvWEQw3An9une//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38urizubaxubaxubayubWyuLWxuLWxuLWxuLWxubSxuLSwuLSwt7Swt7Sw + uLSvt7Svt7SvuLSvt7Svt7Swt7Wwt7Svt7Svt7Swt7Svt7Svt7Ovt7Svt7Swt7Ovt7Ovt7Swt7OvuLSv + t7Svt7Ovt7Svt7Out7OutrSutrSvtrOutrOut7OutrKut7Ovt7Kut7Ovt7KvtrKutrOutrKuvLm1u7ez + u7ezu7ezu7izvLi0u7ezu7i0vLe0vLizvLi0u7izu7izvLm0vLizvLizvLizvLizvLi0u7i0vLi0u7i0 + vLi1vLi1vLi2vLi2vbm1vbq1vbq2vbq2vrq2vru2vrq2vru2vrq2vrq2vrq1vrq1vrq2vrm2vrm2vbm2 + vbm2vbm2vbm2vbm2vbq2vbq2vbq2vbq2vbq2vbq2vrq2vrq22tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/Pz8/f39/Pz8/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////+/Tv2KNzwm0i + vmUWv2YYyX486861////////////////////79jDyX48v2YXv2YYzolN9ObZ//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38u7izubaxubaxubaxubWxubayubWxubWxubWxubWxuLSxuLSwuLSwuLSw + uLSwuLSvuLSvuLSvuLSwuLSvt7Svt7Svt7Svt7Svt7Svt7Svt7Ovt7Ovt7Ovt7Ovt7OvuLOvt7OvuLSv + t7OuuLSvt7Out7Out7Out7Out7Svt7Out7Kut7Out7Kut7Ovt7Kut7KutrKutrKut7Kut7Ktvbm0vLi0 + u7ezu7izvLizu7ezu7izu7izvLi0vLi0vLi0vLm0u7izvLi0vLi0u7izvLizvLizvLi0u7i0vLi0u7i0 + u7i0vLe1vLi2vLi1vbm1vLm1vbq2vbq2vbq2vrq2vrq2vrq2vru2vru2vbq2vrq2vrm2vrm2vrm3vbm3 + vbm3vbq2vbm2vbq2vbq2vbq2vbq2vbq2vrq2vbq2vrq2vrq22tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4qGFylEeylEeylEeylEe0GI1//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/Pz8/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////fv4 + 9+3k+fHq///+//////////////////////////////7++O/n+fLr//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vLizubaxubaxubaxubaxubayurayubWxubWxubWxuLSwuLSwuLSwuLSw + uLSwuLSvuLSvuLSvuLSvuLSvuLWvt7Svt7Svt7Svt7SvuLSvuLSvt7SvuLOvt7Ovt7Ovt7OvuLSwt7Ov + t7Ovt7Out7OuuLSut7Svt7Out7OutrOut7OutrKut7OutrKut7KutrKut7Kut7Kut7Kut7Ouvbi0vLi0 + vLizu7ezu7ezvLi0vLi0vLi0vLm0vLi0vLi0vLm0vLi0vLi0vLm0vLi0vLi0vLi0u7i0u7i0vLi0vLi1 + u7e2vLe1vLi1vLm1vLm1vLm1vLq2vbq2vbq2vbq2vbq2vbu2vbq2vbq2vru3vbq2vbq3vrq3vrq3vrm3 + vbq2vbm2vbq2vbq2vbq2vbq2vru2vru2vru2vru2vru2vru22tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 4aCEylEeylEeylEeylEez2I0+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +Pj49/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 + +Pj4+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6 + +vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6/f39//// + /////////////////////f39vLizuraxuraxurayurayuraxurayurayubWxubWxubWxuLSwubWxuLSw + uLSwuLSwuLSwubWwuLSwuLSvuLSvuLSvuLSvuLSvuLSvuLSvt7Svt7Svt7Svt7Ovt7Ovt7OvuLSvuLSw + t7Ovt7Out7Out7OuuLOvt7Out7Out7OutrOut7OutrKutrOutrKut7Kut7Kut7KutrKut7KuvLi0vLi0 + u7e0vLi0vLi0u7ezvLi0u7izvLizvLi0vLm0vLm0vLm0vLm0vLi0vLi0vLi0vLi0vLi1vLi0vLi0vLe0 + u7i1u7i1u7i1vLi1vLm1vLm1vbq1vLq2vbq2vrq2vbu2vbu2vbu2vru2vru3vrq3vrq3vrq3vrq3vrq3 + vrq2vrq2vrq2vru2vbu2vru2vru2vru2vru2vru2v7u2vru22tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 5LSf1HtV1HtV1HtV1HtV14dl8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8PDw7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u + 7u7u7+/v7+/v7+/v7+/v8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx+vr6//// + /////////////////////f39u7izuraxurayurayurayurayubaxubaxubWxubaxubWxuLWxuLSwuLSw + uLSwuLSwubWxubWwuLSvuLSvuLSvuLSvuLSvt7Svt7SvuLSvt7SvuLSvt7Svt7Svt7Owt7Ovt7Owt7Ov + t7Ovt7Ovt7Ovt7Out7Out7Out7OutrOut7Out7OutrOutrKutrKut7KutrKutrGut7KutrKuvbm1vLi0 + u7ezu7ezu7e0u7i0vLi0vLi0vLm0vLm0vLi0vLm0vLi0vLm0vLi0vLi0vLi0vLi1vLi1vLi1vLi1vLi1 + u7i1u7i1u7m1vLm1vLm1vbq1vbq1vbq2vbq2vbq2vbu2vbu2vbu3vru3vru3vru3vrq3vrq3vrq3vrq3 + vru2vru2vru2vru2vru2vru2vru2vru2v7u2v7u2vru2vru22tjV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f399vb28PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8fHx8fHx8fHx8fHx8fHx8fHx + 8fHx8fHx8fHx8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09fX1 + 9fX19fX19vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+Pj4+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7 + /Pz8/Pz8/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+//// + /////////////////////f38u7izuraxurayubaxurayurayurayurayubayubWxubWyubWxubSxubWx + uLSxubSwuLSwubSxubSwuLSwuLWxuLSvuLSwuLSvuLSvt7SwuLSwt7Swt7Swt7OwuLOwt7OwuLOwuLOw + t7OwuLOvt7Ovt7Ovt7Out7Kut7Out7OutrOvt7OutrOutrOutrOvtrOvtrKvtrKut7Kut7Kvvbi1u7e0 + vLi0u7e0u7e0u7i0u7i0vLm1vLq1vLq1vLm0vLm0vLi0vLm1vLm1vLi0vLm1vLm0vLi1vLe1u7i0vLi1 + vLi1vLm1vLm1vLm1vLm1vbm1vbq1vrq1vrq2vrq2vbq2vbu2vbu2vbu2vru3vru3vrq3v7q3vrq3vrq3 + vru2vru2vru2vru2vru2vrq1vru2v7u2vrq2v7u2vru2vru32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8vLy8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29/f3 + 9/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39/f39 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38vLizurayurayuraxurayubayurayurayubayubWxubWxubWyubWyubSy + ubWxuLSxuLWyubSxubSwubWxubSxubSvubSwuLSvuLSwt7Wwt7SwuLSwuLSwuLSxuLOwt7OwuLOwuLOw + uLOwt7OwuLOwt7Owt7Ovt7Out7Kut7Out7OvtrKut7OvtrOvtrKvt7OutrKvtrKutrKutrKvvLi1u7e0 + u7i0u7i0u7i0vLi0u7m0vLm1vLm1vLm0vLm1vLm1vLq1vLm0vbm1vLm1vLm0vbm1vLi1vLi1vLi1vLm1 + vLi1vLm1vLi0vLm1vbm1vbm1vrq1vrq1vbq2vrq2vbq2vbq3vbu3vru3vbu3vru3vrq3vrq3vru3vrq3 + vru2vrq2vru2vru2vru2vru2v7u2v7u2v7u2vru2v7u2vru32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////+fn58vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8vLy8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb2 + 9/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39/f39 + /f39/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38u7ezurayubayurayurayurayubayurazubayurazubWyurWyubWyubWy + ubWyubWyubWyubWxuLWxubWxuLWxubSwuLSwuLSwuLSwuLSwt7Wwt7SwuLWwt7Swt7SwuLSwt7Swt7Sw + uLSwt7Owt7Owt7Ovt7Swt7Ovt7Out7Ovt7OvtrOut7OutrOutrOutrSvt7OvtrKut7Kvt7KvvLm1u7i0 + u7i0u7i0u7i0vLm1vLm0vLm0vbq1vLq1vLq1vbm0vbq1vbq1vbm0vbm1vbm2vbi1vbi1vLm1vbi1vbm1 + vLm1vbm1vLm1vLm1vbm1vbq1vbq1vrq1vrq1vrq2vrq3vbq3vbu3vbu3vru3vru3vrq3vrq3vru3vru3 + vru3vru2vrq2vru2v7u3vru2v7u3vrq2v7u3v7q2vru3vru32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////9PT08vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8vLy8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb2 + 9vb29/f39/f39/f39/f3+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7/Pz8/Pz8/Pz8/f39 + /f39/f39/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////9/f35OTk////6enp2dnZ2dnZ2dnZ2dnZ9vb2//////////// + /////////////////////f39u7izubaxurayurayurayureyureyurezubayubayubayubayubayubay + ubayubWxubSyubWyubWxubaxuLaxubWxubWwuLawuLWwuLWwuLWwt7SwuLWwt7WwuLWwuLSwuLSwuLSw + uLSwt7Swt7SwuLSwt7Ovt7Svt7Svt7Svt7Out7Svt7Svt7Out7Out7Sut7Svt7Out7Ovt7KvvLm1u7i0 + vLm0vLi0vLi0vLm0vLq0vLm0vLq0vbq1vbq0vbq1vbm1vbm0vbm1vbm1vbm1vbm1vbm2vbm1vbm1vLm1 + vLm1vLm1vLm1vLm1vbm1vbm0vrq1vrq1vrq1vbq2vbq3vbq3vbq3vbq3vbq3vbq3vrq4vrq3vrq3vru3 + vru3vru2vru2vru2v7u2vru2v7u3v7u3v7u3vru3vru3vrq32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////+/v78vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb2 + 9vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8 + /f39/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+vr6lpaWk5OTk5OTvb29/Pz8paWllZWV6enp//// + ////1tbW2tra////4eHhlpaWmZmZ6+vr1NTUyMjI////////////+vr6tra2////6Ojok5OTk5OTk5OT + 0tLS////////////////////////////4+Pjpqam////o6Ojq6ururq6urq6urq67+/v//////////// + /////////////////////f39u7i0urayuraxuraxureyureyubeyubeyubeyubayubayubayubayubax + ubayubWyubWyubayubWxubayurWxubaxubWxubWwuLWwubWwuLWwuLWwuLWwuLWwuLWwuLSwuLWwuLWx + uLSwuLSwuLSwuLSwuLSwuLOvuLSvuLSvuLSvt7Out7Svt7Svt7Svt7Svt7Ovt7Ovt7Ovt7Ovvbm1vLi0 + vLi0vLi0vLm0vLm0vLm0vLq0vLm0vLm0vbm0vbq1vbm0vbm1vbm2vbm1vbm1vbm1vLm2vLi1vbm2vLm1 + vLm1vLm1vbm1vbm1vbm1vbm1vbm1vrq2vbq2vbq2vbq2vbq3vbq4vbq4vbq4vbq3vbu4vbq4vru4vru3 + vru3vru2vru2vru3v7u3v7u3v7u3v7u3v7u3vru3vru4vru32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////9fX18vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8vLy8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19vb29vb29vb2 + 9vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8 + /Pz8/f39/f39/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////rq6uvr6+/f39/v7+wMDAwMDA6+vrlZWV//// + ////wsLCyMjI////r6+v8fHx6urqlpaW+vr6m5ub////////////+Pj4k5OT/////Pz8l5eX19fX/f39 + /v7+/////////f39m5ub1dXV////////4+Pjpqam////rKys5+fns7Oz5+fn//////////////////// + /////////////////////f39vLezurayurayurayubaxurayureyureyureyubeyureyubaxurayubax + ubayubWxurayubaxubayubWxurWxubWyubWxubWwubWwubWwubWwubaxubWwuLWwubWwubWwubSwubWw + uLSwubSwuLSwuLSwuLSwuLSwuLSvuLSvuLSvuLSvt7Svt7Out7Svt7SvuLSvt7SuuLOvuLOvvbm1u7iz + vLm0u7izvLm0vLizvLm0vLm0vLm0vLm0vbq1vbm0vbm1vbm1vbm2vbm1vbm2vbi2vbm2vLm2vLm2vLi1 + vbm1vLm1vbm1vbm0vbm1vbm1vrq2vrq2vrm1vrq2vbq2vbq3vbq4vbq4vbq4vbq3vbu4vbu3vrq3vbu2 + vru2vru2vru3vru2v7y3v7y3v7u3v7u3v7u4vry4vru3vru42tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f398vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT05eXlk5OTfX19fHx8fHx8fHx8fHx8fHx8fHx8fX19fn5+ + hISEmJiYwcHB8vLy9/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8 + /Pz8/f39/f39/f39/v7+/v7+/v7+////////////////////////////////////9fX1sbGxdXV1XFxc + XV1deHh4tra2+Pj4//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f39mpqa19fX////mJiY8fHx////kZGR+fn5 + ////wsLCyMjI////9PT0rq6utbW1j4+P+/v7qqqq6+vr////////+Pj4k5OT////////9/f3jY2N6urq + ////////////////9vb2kJCQ2dnZ////4+Pjpqam2trasLCwsbGxg4ODoqKisbGxtLS0/Pz8//////// + /////////////////////f39vLi0urayuraxurayurayuraxurayuraxureyuraxurexurayuraxurax + urayurayubWxurWxubWxuraxuraxuraxubaxubaxuLWwubWwubaxuLawubWwubWwubWwubWwubWwuLSx + ubSwuLSwuLSwuLSwubSwuLSwuLSwuLSvuLSvuLSvt7OvuLSvt7Svt7Svt7OuuLOvuLSvuLOvvLm0u7i0 + u7izvLizvLi0vLm0vLi0vLm0vLm0vbq1vLm1vbq1vbm1vbm1vbm2vbm2vbm2vbm2vbm2vLm2vLm2vLm2 + vLm1vLm1vLm1vbm1vbq1vbm1vbq2vbm2vrq2vbq2vLq2vbq3vbu3vbu3vbu3vbu3vbq3vbu3vbu3vru3 + v7u2v7u2v7y3v7u2v7y3v7y3v7y3v7y4v7y4v7y4vry4vry32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7++fn5+fn5+fn5/v7+//////////////////////////////////////////////// + ////+/v7+fn5+fn5+/v7//////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////1tbWgICA + gICAgYGB9vb2//////////////////////////////////////////////////////////////////// + ////////////////////9/f38vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8vLy8/Pz + 8/Pz8/Pz8vLy7u7u7u7u7u7u8/Pz9PT09PT0iYmJMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzNTU109PT9/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+vr6+vr6+vr6+vr66+vrgYGBf39/ + f39/29vb/f39/f39/f39/v7+/v7+/v7+////////////////////////////3d3dU1NTMzMzMzMzMzMz + MzMzMzMzMzMzXFxc5ubm//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////9/f3jIyM7+/vk5OT9/f3////lpaW9PT0 + ////wsLCyMjI////np6e0tLS0NDQa2tr9vb24uLis7Oz////////+Pj4k5OT////////////6urqjo6O + +/v7////////////////9fX1iIiI+fn54+Pjpqam8PDws7Oz1NTU4uLi4eHhu7u7zc3N/v7+//////// + /////////////////////f39vLi0urayurayurayurayuraxu7eyureyuraxuraxureyureyurayurax + uraxuraxurayurWxurayurWxubWxubWxubWxubaxubWwubWwubaxubWwubWwubWwubWwubWwubWxubWw + ubSxubSwubSwubSwuLSwubSwubSwuLSvuLSvuLOuuLSvuLSvuLSvt7Svt7SvuLSvt7SvuLOvvLm0vLi0 + vLm0vLi0vbm0vLm0vLm0vLm0vLq1vbq1vLm1vLm1vbq2vLm2vLm2vbm3vbm2vbm2vbm2vLm2vLm2vLq2 + vbm1vbq1vbq1vbq1vbm1vbm1vbq1vbq2vbq2vbq2vbq2vLu3vbq3vbu3vbu3vbu3vbu3vbu3vbu3vru3 + v7u3v7u2v7y3v7y3wLy3wLy3v7y4v7y4v7y4v7u3vry4vry32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////19fXPj4+PT09PT0939/f//////////////////////////////////////////////// + ////iIiIPT09PT09b29v//////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////vr6+MzMz + MzMzNDQ08PDw//////////////////////////////////////////////////////////////////// + /////////////////////v7+8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyp6eniYmJ + iYmJx8fH0dHRPDw8PDw8R0dH7+/v8/Pz8/PzcXFxMzMzMzMzPT09XFxcW1tbWlpaWVlZWFhYVlZWVlZW + VVVVQ0NDT09P8vLy9vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr64eHhNjY2MzMz + MzMzyMjI/Pz8/f39/f39/f39/v7+/v7+////////////////////////8vLyUFBQMzMzMzMzNTU1SEhI + R0dHNDQ0MzMzMzMzXFxc+Pj4//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+vr6tbW1////zMzMuLi4paWl5OTk/v7+jY2N/Pz8 + sbGxubm5yMjI////jIyM/v7+/v7+h4eH/f39/v7+mZmZ/v7+yMjI1tbWk5OT////6OjoyMjI////rq6u + 1tbW////////////////////u7u7ycnJ4+Pjpqam/v7+1NTUkZGRw8PDmJiYsbGx7+/v//////////// + /////////////////////f39vLi0urWyurayurWxurayu7ayureyureyuraxuraxuraxurayurayuray + ubaxurWyurayurayurWxurayurayubWyuraxurWxubWxubaxubaxurWwubaxubWxubWxubWwubWwubWw + ubSxuLSxuLSxubSwubWxubSxuLSvubSwuLSwubSvuLSwuLSvt7Svt7Ovt7Swt7Swt7Ovt7OwvLm1u7i0 + vLm0vLm1vLm0vLm1vLm1vLm1vLm1vLm1vLm2vLm2vLm2vLm2vLm2vbq3vLm2vbq2vbq2vbq2vbq2vbq2 + vbq1vrq1vbq1vbm1vbq1vrq1vrq2vbq2vbq2vbq2vbq2vbu3vbu2vru3vrq3vrq3vbu3vru3vru2v7u2 + v7u2wLy3wLu3wLy3wLy3wLy3wLy4v7y4v7y4v7y4v7y3v7y32tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////1NTUNDQ0MzMzMzMz3d3d//////////////////////////////////////////////// + ////goKCMzMzMzMzaGho////////+Pj46urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6+vr/f39////////////////////////////////////////////////vr6+MzMz + MzMzNDQ08PDw/////////////////////////v7+6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq + 6urq6urq6urq6urq6urq6urq5OTk6+vr8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyaWlpMzMz + MzMzo6Ojz8/PMzMzMzMzPj4+7+/v8/Pz9PT0dHR0MzMzMzMzRUVFenp6enp6eXl5eXl5eHh4d3d3dnZ2 + dXV1eHh4zc3N9vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr64eHhNjY2MzMz + MzMzx8fH/Pz8/Pz8/f39/f39/f39/v7+/v7+////////////////////ra2tMzMzMzMzNDQ0rq6u/Pz8 + /Pz8oqKiNDQ0MzMzMzMzu7u7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+kpKSxsbGmZmZ0tLS4ODglJSUs7OzsbGx//// + 39/feXl5yMjI////tbW1sLCwurq6qKio////////vLy82dnZ9fX1nJyckJCQ////9/f3iYmJzMzMioqK + 6urq////////////09PTu7u7pqamqKio4+Pjpqam////8vLy6enpf39/wMDA7Ozs/Pz8//////////// + /////////////////////f39vLi0urWxurayurayurayurayurayurayurayuraxurayurayurayuray + urayurayubayurayubWyurayurayurayurayubayubWxuraxubWxubWxubWxubaxubWxubWxubWxubay + ubWxubSxubSxuLSxubSxubSwubSwuLSwubSwubSwuLSwuLSwuLSwuLSwt7SwuLSwt7Owt7OwvLm2u7i1 + vLm1vbm1vLm1vLm1vLm1vLq1vLm1vLq1vLm1vbq2vLm2vrq3vbq3vbq3vbq3vbq2vbq2vbq2vrq2vrq1 + vrq1vrq1vbm0vrq1vrq1vrq1vrq2vbq2vbq2vbq2vbq2vbq2vbu2vru2vbq3vbq2vrq3vrq3vru2v7u2 + v7y3wLy3wLy4wLy3wLy3wLy4wLy4v7y4v7y4v7y3v7y4v7y42tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////1NTUNDQ0MzMzMzMz3d3d//////////////////////////////////////////////// + ////goKCMzMzMzMzaGho////////v7+/ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4 + ODg4ODg4ODg4ODg4Pz8/7Ozs////////////////////////////////////////////////vr6+MzMz + MzMzNDQ08PDw////////////////////////9PT0PDw8ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4 + ODg4ODg4ODg4ODg4ODg4ODg4ODg4tLS08vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyaWlpMzMz + MzMzo6Ojz8/PMzMzMzMzPj4+7+/v8/Pz8/PzeHh4MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzmZmZ9vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr64eHhNjY2MzMz + MzMzx8fH/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+////////////////hoaGMzMzMzMzUFBQ/Pz8//// + /////Pz8QEBAMzMzMzMzkJCQ//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////9/f3xsbG2tra////////4ODgzc3N/f39//// + ////6+vr6enp/////v7+0dHRzs7O/f39////////8/Pzz8/P/////Pz82NjY////////7u7uw8PD5eXl + ////////////////5OTk1dXV1dXV5ubm6enpuLi4////xsbGqampqKioqampqqqq8PDw//////////// + /////////////////////f39vLi0urWyurayu7azu7ayu7ayu7ayu7eyurayureyurayurayurayurez + ubayurayubayurazubayubWyurazubWyubWyurayurayurayubWxubayubayubayubayubayubayubay + ubWxubWxubWxubWyubWxubWxubWxuLSwuLSwuLSwuLSwuLSvuLSwuLSwt7SwuLSwt7Swt7OvvLm2vLi1 + vLm1vLm1vLm1vLm1vLm1vLm1vLq1vbq1vbq2vbm2vbm2vbq2vbm2vbq2vbq2vbq2vbq2vrq2vrq2vrq1 + vrq1vrq1vrq2vrq1vrq1vbm1vrq1vbq2vbq2vbq2vbq2vbq2vbq2vrq2vrq3vrq2vrq3v7q3vru2vru3 + v7u2v7u3wLy3wLy4wLy4wLy4v7y4v7y4v7y4v7y4v7y4v7y42tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////1NTUNDQ0MzMzMzMz3d3d/////v7+3t7exsbGxMTExMTEzs7O5eXl/Pz8//////////// + ////goKCMzMzMzMzaGho////////vb29MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzOTk56+vr////////////////////////////////////////////////vr6+MzMz + MzMzNDQ08PDw////////////////////////9PT0NjY2MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzt7e38vLy4+PjwsLCurq6urq6xMTE4uLi8vLy8vLy8vLyaWlpMzMz + MzMzo6Ojz8/PMzMzMzMzPj4+7+/v8/Pz8/PzsrKyjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Njo6OVlZW + MzMzMzMzgICA9vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn54eHhNjY2MzMz + MzMzx8fH+/v7/Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+////////////ioqKMzMzMzMzSUlJ+vr6//// + ////9/f3PDw8MzMzMzMzlZWV//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vLe0urayurazurayu7azurazu7ayu7ayurayurezurayurayurayuray + urayurayureyurezurazurazubayubayubayurayurayurayuraxubayubWxubayubaxubaxubayubWx + ubWxubayubSxubSxubWyubWxuLWwubWxuLWwuLWwuLWwuLSvuLSwuLWwt7Swt7Wwt7Swt7Swvbq2vLm1 + vLq1vLm1vLm0vLm0vLm0vbq1vbq1vLq2vbq2vbq2vbm2vrm2vbq2vbq2vbq2vrq2vbq2vru2vbq1vrq1 + vrq2vrq2vrq2vrq1vrq2vbq1vrq2vbq2vru2vbq2vbq2vbq2vbu2vrq2vrq2vrq3vrq3v7u2v7u3v7q2 + v7u3v7y3wLu4wLy4wLy4v7y4v7y4wLy4v7y4v7y5v724v7y42tjW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////Pz84uLiwcHBvb2919fX+fn5//// + ////////////1NTUNDQ0MzMzMzMz3d3d+/v7eXl5NjY2MzMzMzMzMzMzMzMzNzc3SkpKhoaG2dnZ//// + ////goKCMzMzMzMzaGho////////3d3dlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW + lpaWlpaWlpaWlpaWmZmZ9fX1////////////////////6urqurq6urq6urq6urq6urq6urq6j4+PMzMz + MzMzNDQ0sLCwurq6urq6urq6urq6urq6u7u78fHxmJiYlpaWlpaWenp6MzMzMzMzOzs7kpKSlpaWkpKS + NTU1MzMzMzMzgYGBlpaWlpaWlpaW3Nzczc3NQkJCMzMzMzMzMzMzMzMzOzs7d3d31dXV8vLyaWlpMzMz + MzMzo6Ojz8/PMzMzMzMzPj4+7+/v8/Pz8/PzhoaGRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRkZGOjo6 + MzMzMzMzaWlp9vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn54eHhNjY2MzMz + MzMzx8fH+/v7/Pz8/Pz8/Pz8/f39/f39/f39/v7+/v7+////////////u7u7MzMzMzMzMzMzjo6O7e3t + 7OzshISEMzMzMzMzNDQ0ycnJ//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vLi1urayurayurayu7ezu7azurayu7ayureyureyureyurezurayuriy + urezureyubezurayurezubayurazurayurazubayureyurayureyuraxubayuraxubeyubayubaxubax + ubayuraxurayubayubWxubayubWxubWxuLSwuLWwuLWwuLWwuLSwuLWwt7SwuLSvuLWwt7Svvbq2vLm1 + vLm1vbq1vbm1vbq1vLq1vbq1vbq2vbq2vbm2vbm2vbm2vrm2vbq2vbq2vrq2vbq2vrq2vru2vrq2vrq1 + vrq1vrq1vbm1vrq1vrq2vrq2vbq2vbq2vbq2vbq2vbq2vbu2vbu2vrq2vrq2vrq3vrq3vrq3v7q3v7u3 + v7u3v7u4v7y4wLy4wLy4v7y4v7y4v7y4v725v7y5v7y4v7y52tjX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////0tLSYGBgNDQ0MzMzMzMzMzMzTExMsLCw + /v7+////////1NTUNDQ0MzMzMzMz3d3d1tbWNDQ0MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzODg45ubm + ////goKCMzMzMzMzaGho//////////////////////////////////////////////////////////// + ////////////////////////////////////////////w8PDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzODg46Ojo////////////xcXFMzMzMzMzQ0ND9/f3////9/f3 + Nzc3MzMzMzMz1NTU////////////////hoaGMzMzMzMzMzMzMzMzMzMzMzMzMzMzPj4+39/faWlpMzMz + MzMzo6Ojz8/PMzMzMzMzPj4+7+/v8/Pz8/Pzenp6MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzfn5+9fX19vb29vb29vb29vb29vb29/f39/f3kZGRYmJiYmJiYmJiYmJiYmJiXFxcNDQ0MzMz + MzMzVlZWY2NjY2NjY2NjY2NjY2NjY2Njj4+P/f39/v7+/v7+////////+fn5YmJiMzMzMzMzMzMzNTU1 + NTU1MzMzMzMzMzMzUlJS+vr6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vLi0u7ayu7azurezurezu7ezu7ezu7eyu7eyurezureyureyurizurey + urezureyurezureyurezurezubayurayubayureyurayureyuraxurayuraxubayubaxuraxureyubay + uraxubayubWxubayubWxuLWxubWxubWxubWwuLWwubWwuLWwuLWwuLWwuLWwt7WvuLWwt7Swvbq2vLm1 + vLm1vLq1vbq1vbq1vbq1vLm1vbq2vbq2vbm2vbm2vbm2vrm2vrq2vrq2vrq2vrq2vru2vru2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq2vbq2vbq2vbu2vbq2vbq2vbu3vrq3vrq3vrq3v7q3vrq3vrq3v7q3v7u3 + v7u3v7u4v7y4v7y4v7y4v7y4v7y5v725v725v7y4v725v7y529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////yMjIPDw8MzMzMzMzMzMzMzMzMzMzMzMzNDQ0 + l5eX/v7+////1NTUNDQ0MzMzMzMz3d3dyMjIMzMzMzMzNDQ0ioqKl5eXjIyMVVVVMzMzMzMzMzMz4eHh + ////goKCMzMzMzMzaGho////////////////////7e3toqKigICAfn5+fn5+fn5+fn5+gICAiIiIm5ub + sLCw0NDQ9/f3////////////////////////////////w8PDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzODg46Ojo////////////w8PDMzMzMzMzQUFBzMzMyMjIysrK + NjY2MzMzMzMz0tLS////////////////eHh4MzMzMzMzV1dXkZGRbGxsMzMzMzMzNjY22traaWlpMzMz + MzMzo6Ojzs7OMzMzMzMzPj4+7+/v7Ozs6enpsLCwjo6Ojo6Oj4+Pj4+PQ0NDMzMzMzMzX19fi4uLiIiI + h4eHlpaW3t7e6urq7u7u9vb29vb29vb29vb29vb29/f3cXFxMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzbW1t/f39/v7+/v7+/v7+////////7e3tbm5uNTU1MzMzMzMz + MzMzMzMzMzMzMzMzNDQ0kpKS//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbm0u7ezu7ayu7ezu7ezvLezu7izu7ezu7ezu7izu7izu7izureyurey + ureyurezurezurayurezurayurayurayurayu7ezurayurayureyurayuraxurayuraxuraxurayurax + ubaxubaxurWxubWxurWxubWxurWxubWxubWxubWwuLWwuLWwubWwuLSvuLWwuLWwuLWwt7Swvbq2vLm1 + vLm1vbq1vLm1vbq1vbq1vbq1vbm2vbm2vbm2vbm2vrq2vbm2vrq2vrq2vrq2vrq2vrq2vru2vrq2vrq2 + vrq1vrq2vrq2vrq2vrq2vbq2vbu2vbu3vbq3vbu3vbu3vrq3vru3vru4vru3v7u3v7u3v7u3v7q3v7u4 + v7u4v7y4v7y4vry4v7y4v7y4v724v725v725v725v724v7y529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9vb2T09PMzMzMzMzPT09hoaGkZGRTExMMzMzMzMz + Nzc31tbW////1NTUNDQ0MzMzMzMz3d3dycnJMzMzMzMzNTU16+vr////////09PTNDQ0MzMzMzMz4uLi + ////goKCMzMzMzMzaGho////////////////+Pj4UlJSMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzQUFB4+Pj////////////////////////////7e3txMTEw8PDtbW1w8PDxMTExMTExMTExMTE + xMTExMTExMTExMTExMTEtLS0wsLCxMTExcXF+Pj4////////////wcHBMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMz0NDQ////////////////eXl5MzMzMzMzgoKC8vLy4eHhNjY2MzMzNjY22traaWlpMzMz + MzMzoqKiz8/PMzMzMzMzPj4+7+/va2trNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MzMzMzMzMzMzNDQ0NDQ0NDQ0 + NDQ0NDQ0NDQ0NDQ0cXFx9vb29vb29vb29vb29vb29/f3fn5+RkZGRkZGRkZGRkZGRkZGR0dHR0dHR0dH + R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHe3t7/f39ysrKwsLC/f39/v7+/////////v7+zc3NbGxsdHR0 + dHR0kJCQf39/MzMzMzMzOTk58PDw//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbm0vLezvLezvLezvLezvLezvLezvLezu7ezu7eyu7ezu7izu7izu7iz + u7eyu7izu7ezu7ezu7ezu7ayu7ezu7ayu7ezurayu7eyu7ayurayurexurayuraxureyuraxureyurax + ubaxuraxurWxubWxurWxurWxubWxubWxurWwubWwubWwubWwubWwuLWwuLWwuLWwuLSwuLSvvbq2vLm1 + vLm1vLm1vbq1vbq1vLq1vbq2vbq2vbm2vbm2vrq2vbq2vbq2vbq2vrq2vrq2vrq2vru2v7u2vrq2vru2 + vrq2vrq2vru3vru3vrq3vru3vbu3vby3vbu3vru3vru3vru4v7u4vru4v7u3v7u3v7u3v7u3v7u3v7u4 + v7u4v7u4v7y4v7y4v7y4v724v725v724v724v725wL25wL2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////wMDAMzMzMzMzNDQ0tra2////////5eXlPz8/MzMz + MzMzh4eH////1NTUNDQ0MzMzMzMz3d3dysrKMzMzMzMzNTU17Ozs////////1NTUNDQ0MzMzNDQ04uLi + ////goKCMzMzMzMzWlpax8fHx8fH5+fn////zc3NNDQ0MzMzMzMzNzc3ODg4ODg4ODg4ODg4Nzc3NDQ0 + MzMzMzMzQkJC9PT0////////////////////////////////////3d3dPT09YGBgoaGh5eXl/v7+//// + ////////////////2NjYTExMkpKS/v7+/////////////////f39iYmJMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzhYWF/f39////////////enp6MzMzMzMzg4OD8vLy4uLiNjY2MzMzNzc32traaWlpMzMz + MzMzfX19mpqaMzMzMzMzPj4+7+/vampqMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzcHBw9fX19vb29vb29vb29vb29vb28/Pz8fHx8fHx8fHx8vLy8vLy8vLy8/Pz8/Pz + 9PT09PT0vb29n5+fh4eH09PT9fX19vb2+Pj46enpSEhINTU1fX198fHx/v7+////////wsLCOTk5h4eH + 8fHx////y8vLMzMzMzMzMzMz19fX//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbm0vLezvLezvLezvLezvLi0vLezvLi0vLizvLizvLezu7eyu7eyu7ey + u7eyu7eyu7eyu7ezu7ayu7eyu7ezurayurayu7ayurayu7ayu7ayurexuraxurayuraxuraxubaxurax + uraxubaxubWxurWxurWxubWxubWxurWxubWxurWxubWwubWxubWwubWwuLWwuLSwuLWwuLWwvbq2vbm1 + vLm1vbq1vLm1vLm1vLm1vbm1vLq1vbm2vbm2vrm3vbq3vrq2vrq2vrq2vru3vru2vru3v7u3vrq2vru2 + vru3vru3vrq2vru3vrq3vru3vru3vbu4vru4vru3vru3v7y4v7y4v7y4wLu3wLy3wLu4v7u3wLu4wLu4 + v7u4v7u4v7y4v7y4v724v724vr24vr24v7y4v725wL25wL2529nW//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////lJSUMzMzMzMzRUVF+/v7////////////f39/MzMz + MzMzWFhY/v7+1NTUNDQ0MzMzMzMz3d3dysrKMzMzMzMzNTU17u7u////////1NTUNDQ0MzMzNDQ04uLi + ////goKCMzMzMzMzMzMzMzMzMzMzpqam////xMTEMzMzMzMzMzMzy8vL6urq6urq6urq6urq5+fn1dXV + wsLCn5+fk5OT////////////////////////////////////////mZmZMzMzMzMzMzMzODg4cXFxzs7O + /v7+////////yMjIQUFBMzMzNDQ0qamp////////////////vLy8NDQ0MzMzMzMzPT09enp6lJSUfHx8 + Pz8/MzMzMzMzMzMztLS0////////////e3t7MzMzMzMzhYWF8vLy4uLiNjY2MzMzNzc32traaWlpMzMz + MzMzMzMzMzMzMzMzMzMzPj4+7u7uv7+/qqqqfHx8e3t7lpaWqKioqqqqqqqqqqqqq6urq6urq6urq6ur + p6encHBwpqamrKysw8PD9fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5 + +fn5+vr6W1tbMzMzMzMznZ2d+/v7/Pz8/Pz8hoaGMzMzMzMzMzMzWlpa6urq////9fX1U1NTMzMzMzMz + m5ub////0dHRMzMzMzMzMzMz1tbW//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbq0vLezvLizvLi0vLezvLi0vLi0vLi0vLizvLizvLizvLiyu7izu7ey + u7iyu7eyureyu7ezu7ezureyu7ayureyurayu7ezurayurayurayu7eyurayuraxurayuraxuraxubax + ubaxuraxuraxurSxurWxubWxurWxurWxubWxurWxurWxubWxubWwubWwubWwubWwuLSwt7Swvrq2vLm1 + vLm1vLm1vLm1vLm2vLm2vLm2vbm3vbm2vbm3vbq3vrq3vrq3vrq2vru2vru2v7u3v7u3v7u3v7u3vru2 + vru3vru2vru3vru3vru3vbu3vru3vru3vry4vru3v7y4v7y4v7y4wLy4v7u3wLy3wLy3wLu3wLu4v7u3 + wLu4v7u4v7y4v7y4v7y4v724v724v724v725v7y4wLy4wLy429nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////g4ODMzMzMzMzX19f/v7+////////////nJycMzMz + MzMzR0dH/f391NTUNDQ0MzMzMzMz3d3dy8vLMzMzMzMzNTU17+/v////////1dXVNDQ0MzMzNDQ04+Pj + ////goKCMzMzMzMzMzMzMzMzMzMzpqam////xcXFMzMzMzMzNDQ0jY2Nm5ubm5ubm5ubm5ubm5ubm5ub + m5ubm5ubzMzM////////////////////////////////////////hoaGOTk5MzMzMzMzMzMzMzMzNTU1 + bW1tzs7OmZmZOjo6MzMzMzMzSEhI1dXV////////////////ZWVlMzMzMzMzQ0ND3Nzc//////////// + 4ODgR0dHMzMzMzMzXl5e/v7+////////fHx8MzMzMzMzh4eH8/Pz5OTkNjY2MzMzNzc329vbaWlpMzMz + MzMzMzMzMzMzMzMzMzMzPj4+7+/v8vLy8fHxUlJSMzMzOTk5SEhIbW1tnJyc1NTU8fHx9PT08fHxubm5 + WlpaNDQ0n5+f9fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5 + +fn5+fn5fn5+MzMzMzMzdnZ2+/v7+/v7/Pz87+/vfn5+NDQ0MzMzMzMzXl5e9PT0mJiYMzMzMzMzSUlJ + 8fHx////1NTUMzMzMzMzMzMz2NjY//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vrq2vLi0vLezvLezvLi0vLi0vLi0vLi0vLizvLizvLezu7izu7eyu7ey + u7eyu7eyu7ezu7izureyu7ezu7azu7azurazu7ayu7ayu7ayu7ayu7ayurayurayuraxurayubaxubax + ubayubaxubaxubaxubaxurWyubWxurWyurWxurWyubWxurWxubWxubWwuLWwubWxuLWwuLWwvbq1vLm1 + vLm1vLm2vLm2vLi2vbq2vLm3vbm3vLm2vbq3vbq3vbq3vbq2vru2vru3v7u2v7u3vry2v7y3v7u3v7u2 + vru3vru3vry3vry3vru3vru3vry3vby3vru3v7y4v7u4v7y4wLy4wLu3wLy3wLy3wby3wLy3wLu2v7u4 + wLu4v7u4v7u4v7y4v7y4v724vr24v724v725v7y4wLy4wLy429nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////i4uLMzMzMzMzVFRU/v7+////////////kZGRMzMz + MzMzT09P/v7+1NTUNDQ0MzMzMzMz3d3dzMzMMzMzMzMzNTU18PDw////////1tbWNDQ0MzMzNDQ04+Pj + ////goKCMzMzMzMzT09PoKCgoKCg1dXV////xsbGMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzmJiY////////////////////////////////////////////7e3tra2tYmJiNTU1MzMzMzMz + MzMzMzMzMzMzMzMzMzMzV1dX4+Pj/////////////////v7+PT09MzMzMzMzjY2N//////////////// + ////k5OTMzMzMzMzQEBA9PT0////////fX19MzMzMzMzjIyM9fX15eXlNjY2MzMzNzc329vbaWlpMzMz + MzMzd3d3kpKSMzMzMzMzPj4+7u7u8/Pz5OTkOzs7MzMzMzMzMzMzMzMzMzMzMzMzXFxckZGRVlZWMzMz + MzMzMzMzRkZG6urq9fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4 + +fn5+fn5np6eMzMzMzMzUlJS+Pj4+/v7+/v7/Pz8+/v7n5+fNTU1MzMzMzMzZ2dnODg4MzMzNDQ0kpKS + vLy8vLy8oaGhMzMzMzMzMzMz2dnZ//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vrm1vLizvLi0vLe0vLe0vLi0vLi0vLe0vLe0u7i0u7ezvLizu7izu7ey + u7ezu7ezu7ezu7eyurezu7ezurezu7azurazurazu7azu7azurazu7ayu7ayu7ayurayurayurayuray + ubayubWxurayubWyurWyurWyurWyurWyurWyurWyubWyubWxubWxubWxubWxubWxuLWxuLWxvrq2vLm2 + vLm1vLm2u7m2vLm2vLq2vLm2vbq3vbq3vbq3vbu3vbu3vru3vru3vru2vru2v7u2v7y3v7u2v7u3vry3 + vru3vru3vru4vru3vru3vru3vry3vry3v7y4v7u3v7u3wLy4wLy4wLy4wLy3wLu3wLu3wLu3wLu3wLu3 + v7u3v7u4v7u3v7y4v7y4vry4vr24vr25v7y4v7y4v725wL2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////rKysMzMzMzMzNjY24eHh/////////Pz8V1dXMzMz + MzMzcHBw////1NTUNDQ0MzMzMzMz3d3dzc3NMzMzMzMzNTU18vLy////////19fXNDQ0MzMzNDQ04+Pj + ////goKCMzMzMzMzaGho////////////////yMjIMzMzMzMzMzMzNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3 + Nzc3Nzc3mpqa/////////////////////////////////////////////////////f391tbWeHh4NjY2 + MzMzMzMzMzMzMzMzenp68fHx/////////////////////Pz8ODg4MzMzMzMzmZmZ//////////////// + ////n5+fMzMzMzMzPT098vLy////////fn5+MzMzMzMzjo6O/Pz85eXlNjY2MzMzODg43NzcaWlpMzMz + MzMzoqKizs7OMzMzMzMzPj4+7+/v8vLy7Ozsr6+vioqKZWVlPz8/NTU1MzMzMzMzMzMzMzMzMzMzMzMz + Nzc3bW1ty8vL8/Pz9PT09fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4 + +Pj4+fn5tra2MzMzMzMzODg48/Pz+/v7+/v7+/v7/Pz8+/v7hYWFMzMzMzMzMzMzMzMzMzMzcnJyiYmJ + MzMzMzMzMzMzMzMzMzMzMzMz2tra//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vrq2vLi0vLi0vLi0vLi0vLi0vLi0vLi0vLe0vLe0vLezu7ezu7ezu7ez + u7ezu7ezu7ezu7ezu7ezu7ezu7ezu7azu7azu7azu7azu7azu7ayurayurayu7ayurayurayurayuray + ubayuraxubayubayubWyurayubWyurayurWyurWyurWyurWxubWxubWxubWxubWxuLWxuLWwvru2vLq1 + vLq1vLq2vLq2vLm2vLq3vbm2vbq3vbq3vrq3vrq3vru2vbu2vru2vru2v7u2v7u2v7u2v7u2v7u2v7y3 + v7u3vry3vru3vru3vry4v7y4vry3vru3v7u3v7y4v7y4v7y4wLy4wLy3wLu3wby3wLy4wLu4wLu3wLu3 + v7u4v7u3v7y4v7y4vry3vr24v725vr25v7y5vry4v7y5wLy529jX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5ubmOzs7MzMzMzMzaGho4eHh6+vrkZGRMzMzMzMz + MzMztLS0////1NTUNDQ0MzMzMzMz3d3dzs7OMzMzMzMzNTU18/Pz////////2NjYNDQ0MzMzNTU15OTk + ////goKCMzMzMzMzaGho////////////////ycnJMzMzMzMzNjY20tLS6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo + 6Ojo6Ojo9PT0////////////////////////////////////////////////////////////////zMzM + UVFRMzMzMzMzMzMzb29v+vr6////////////////////////UFBQMzMzMzMzZWVl/Pz8//////////// + /Pz8ampqMzMzMzMzTExM+/v7////////gICAMzMzMzMzj4+P////6urqNzc3MzMzODg43NzcaWlpMzMz + MzMzoqKizs7OMzMzMzMzPj4+7u7u8/Pz8vLy8vLy8/Pz8/Pz7u7uysrKlJSUU1NTNDQ0MzMzMzMzMzMz + hYWF8/Pz9PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f39/f39/f39/f3+Pj4 + +Pj4+Pj4xMTEMzMzMzMzMzMz4uLi+vr6+/v7+/v7+/v7/Pz85ubmOzs7MzMzMzMzRUVFjo6O8/Pzi4uL + MzMzMzMzMzMzMzMzMzMzMzMz29vb//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbq2vLi1vLi0vLi0vLi0vLi0vLi0vLe0vLi0vLe0u7ezvLezu7izu7ez + u7ezu7ezu7ezurayurezu7ezurezu7ezu7azu7azurazu7azurazurezu7azu7eyurayurayurayubWy + ubayuraxubaxurayubayubayubWyurayubWyurWyubWyubayubWyubWyuraxubWxubWxuLWwvbq2vLq1 + vbq2vLq2vLm2vLm2vbm3vbm3vbq3vrq3vrq3vrq2vru2vru2vru2vru2v7u2wLu2v7u2v7u3v7u2v7u3 + vru3vru3vru3vru3vry3vry3vru3vru3v7u3v7u3wLu4wLu4wLy4wLy3wLy3wby4wLu3wLy4wLu4wLu3 + wLu4wLy4v7y4v7y4v7y5v7y5vry5v7y5v7y5wLy6wLy6v7y52tnX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////kJCQMzMzMzMzMzMzNzc3Ojo6MzMzMzMzMzMz + Xl5e+Pj4////1NTUNDQ0MzMzMzMz3d3dz8/PMzMzMzMzMzMzSkpKTExMTExMR0dHMzMzMzMzNTU15OTk + ////goKCMzMzMzMzaGho////////////////ysrKMzMzMzMzNTU1iYmJlZWVlZWVlZWVlZWVlZWVlZWV + lZWVlZWVtLS0////////////////////////////////////////8PDwvLy8vb29vr6+vr6+wMDAwsLC + s7OzSEhIMzMzMzMzMzMzpKSk////////////////////////kpKSMzMzMzMzMzMzfX1929vb9PT03Nzc + f39/NDQ0MzMzMzMzioqK////////////gICAMzMzMzMzPj4+TExMSkpKMzMzMzMzODg43NzcaWlpMzMz + MzMzoqKizs7OMzMzMzMzPj4+7u7u8vLy8vLy3Nzcenp6enp6fHx8fX19fn5+e3t7TU1NMzMzMzMzMzMz + NTU1ra2t9PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29fX1w8PDu7u7urq6ubm5ubm5uLi4uLi4 + t7e3t7e3i4uLMzMzMzMzMzMz1dXV+vr6+/v7+/v7+/v7/Pz8+/v7XFxcMzMzMzMzenp6/v7+/v7+3t7e + xsbGxsbGqampMzMzMzMzMzMz3Nzc//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vbq2vLi0vLi0vLi0vLi0vLi0vLi0u7i0u7i0vLi0vLe0u7izvLe0vLez + u7izu7ezu7ezu7ezuriyurizurizu7ezu7ezurezu7ezu7azu7azu7azu7ezurayu7ayurayurayuray + ubaxubayurayubeyureyubayubayubayubWxurayubayurayubayuraxubaxurWwubWxuLaxvbu2vLq1 + vbq1vbm2vbm2vbq2vbm3vbq3vrq3vrq2vru3vrq2vru3vru2vru2v7u2v7u2v7u2v7u2v7u2v7u2vru3 + vru3vru3vru4vru4v7y4v7y4v7y3vru4v7u4wLy4wLy3wLu4wLu3wLy4wLu3wLy4wLy4wLu4wLu4wLu3 + v7y4v7y4v7y4v7y4v7y5v7y5vry5v7y5wLy6wL26v7y6wL262tnX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////+vr6g4ODNTU1MzMzMzMzMzMzMzMzMzMzXl5e + 5+fn////////1NTUNDQ0MzMzMzMz3d3d0NDQMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzNTU15OTk + ////goKCMzMzMzMzaGho////////////////y8vLMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzbm5u////////////////////////////////////////0tLSNDQ0MzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzS0tL/Pz8////////////////////7+/vUlJSMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzT09P7e3t////////////goKCMzMzMzMzMzMzMzMzMzMzMzMzMzMzODg43d3daWlpMzMz + MzMzoqKizs7OMzMzMzMzPj4+7u7u8vLy8/Pz0NDQNTU1MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz + MzMzYmJi8/Pz9PT09PT09PT09PT09fX19fX19fX19fX19fX18vLyS0tLMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMz2tra+vr6+vr6+/v7+/v7+/v7/Pz8a2trMzMzMzMzZ2dn/v7+/v7+/v7+ + ////////19fXMzMzMzMzMzMz3d3d//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vru3vLi0vLi0u7i0vLi0vLi0u7i0vLe0vLi0u7i0vLi0vLi0u7izu7iz + u7izu7izu7izu7izu7izurezu7i0u7ezurezu7ezurezurezu7ezurezu7ezu7ezu7eyureyuraxurey + ureyurayubayubeyureyurayubayurayubWxurWyubayubayubayubWxurayubaxubWwubaxvbu2vbq1 + vbq1vbq2vbm2vbm3vbm3vbm3vbq3vrq2vrq3vru2vru2vru2vru2v7u2wLu2v7u2v7u2v7u2v7u3v7u4 + vru3vru4v7u4vry4vru3vru3v7u4v7u3v7u4v7u4wLu4wLu4wLu3wLu3wLu4wLu4wLu4wLy4v7y4v7y4 + v7u4v7y4v7y4vry4v7y5v7y5v7y5wLy5wLy5wLy5v7y6wLy529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+0NDQi4uLaGhoZGRkfn5+ubm5+fn5 + ////////////1NTUNDQ0MzMzMzMz3d3d2traXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXl5e6urq + ////goKCMzMzMzMzaGho////////////////zc3NNzc3NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2 + NjY2NjY2cHBw////////////////////////////////////////0tLSNDQ0MzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzXV1d/f39////////////////////////5+fnbGxsNTU1MzMzMzMzMzMzMzMz + MzMzNTU1a2tr5ubm////////////////m5ubXFxcXFxcXFxcXFxcXFxcXFxcWlpaXV1d4uLiaWlpMzMz + MzMzoqKizs7OMzMzMzMzPj4+7u7u8vLy8vLy1dXVTk5OTExMS0tLRkZGMzMzMzMzNTU1Tk5OSkpKRUVF + R0dHo6Oj9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX18vLyS0tLMzMzMzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzYGBg9vb2+vr6+vr6+vr6+/v7+/v7+Pj4VFRUMzMzMzMzdXV1/f39/v7+/v7+ + /v7+////19fXMzMzMzMzMzMz3t7e//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vrq2vLm0vLm0vLi0vLi0vLi0vLi0vLi0vLizvLi0vLe0vLizvLi0vLiz + vLizu7izu7izu7izu7izu7izu7izu7izurizu7ezu7ezu7ezu7ezu7azurezu7ezureyurayu7eyurey + ureyureyuraxuraxureyureyurayurayurWxurayurayurayurayurayuraxurWwubaxubaxvru2vbq1 + vbm1vbm2vbm1vrm2vbm3vbm3vbm3vbq3vbq2vru2vru2vru2vru2v7u2v7u2v7u2v7u3v7u3v7u3vru4 + v7u4vru4v7u4vru4v7y4v7u4v7u4v7u4v7u4wLu4wLu4wLu4wLu4wLy4wLy4wLy4wLy4wLy4wLy4wLy4 + wLy4v7y4v724v724v725v725v7y5wLy5wL25wLy5wL26wLy529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////6OjokpKSkZGRkZGR7e3t//////////////////////////////////////////////// + ////vLy8kZGRkZGRrq6u////////////////+vr66enp6enp6enp6enp6enp6enp6enp6enp6enp6enp + 6enp6enp8PDw////////////////////////////////////////7+/vubm5uLi4t7e3tbW1tbW1tLS0 + s7OzsrKysrKysbGxtra27+/v/////////////////////////////////v7+09PTmZmZdnZ2a2trdXV1 + mJiY0tLS/v7+////////////////////////////////////////////////+vr68/Pz8vLyqampi4uL + i4uLx8fH39/fi4uLi4uLkZGR8PDw8vLy8vLy8vLy8/Pz8vLy8/Pzz8/PNTU1MzMzOTk54ODg8/Pz8/Pz + 8/Pz9PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19PT0u7u7srKysbGxsLCwr6+vr6+vrq6u + rq6ura2tra2trKysubm58PDw+fn5+fn5+vr6+vr6+vr6+/v7+Pj4urq6eHh4QkJCr6+v/f39/f39/v7+ + /v7+/v7+4ODgYmJiYmJiYmJi5ubm//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vru2vLm0vLm0vLizvLi0vLi0vLizu7izvLizvLizu7i0vLi0vLi0vLiz + vLizvLizu7izu7izu7izu7izu7izu7ezu7ezu7ezu7ezu7ezu7ezu7ezu7ezu7eyu7eyu7eyureyurey + ureyureyurayureyurayuraxuraxurayuraxurayurWxurayurayuraxurWxurWwubaxubawvru2vrm1 + vbm1vbm2vbm3vbm2vbm3vrm3vbq3vbq2vru2vrq2vrq2vru2vru2v7u2v7u3v7u3v7u3v7u4vru4v7u4 + v7y4v7y4v7u4v7y4vru4v7u4v7u4v7u4v7u4v7y4wLy4wLu4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4 + wLy4v724v724v724v724wLy5wL25wL25wL25wL25wL25wL2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////9PT08vLy8vLy8vLy + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLywsLCSEhINTU1PT095ubm8/Pz8/Pz + 8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29/f3 + 9/f39/f39/f3+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7/Pz88PDw+Pj4/f39/f39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vru2vLm0vLm0vLm0vLi0vLi0vLizvbi0vLezvLi0vLizvLi0vLizvLi0 + vLezvLizvLizu7izu7izu7izu7iyu7izvLizu7ezu7ezu7ezu7ezvLezu7ayu7ayvLezu7ayureyuray + u7eyureyu7eyuraxuraxuraxuraxurayurWxurWxurayurayurayuraxurWxuraxubawuraxv7u2vbm1 + vbm2vbm2vbm2vbm2vbi2vrm3vrm3vrq2vbq2vrq2vru3vbq3vru3vry3v7u3v7u3v7u4v7u4v7y4vru4 + v7y4v7y4v7y4v7y4v7y5v7y4v7y4v7y4wLy4v7u4wLy4wLy4wLy4wLy4wLy4wLy4wL25wL24wL24wL24 + wL24v724v724v724v724wLy4wLy5wL25wL26wby5wL25wL2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////+/v78vLy8vLy8/Pz + 8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8fHx0dHRsbGx8/Pz8/Pz8/Pz + 8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb29vb29vb2 + 9/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8/f39/f39 + /f39/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39vru2vbm0vLm0vLizvLi0vLizvLi0vLizvLezvLezvLi0vLezvLi0vLi0 + vLizvLizvLizvLizvLizvLizu7izvLizu7iyu7ezvLezvLezu7ayu7ayu7ezu7ezvLezu7ayu7eyu7ey + u7eyu7eyureyurayuraxuraxureyurayurWyurayurWyurayurayurayurWxuraxuraxubWwv7q2vbm2 + vrm2vbm2vrm2vbq3vrq3vbq3vbq3vrq2vrq3vbq2vrq2vru3v7u3vru2vru3vru4vry4v7y4vru4v7u4 + v7y4v7y5vru5v7y4v725v7y5wLy4wLy5wLy4wLy4wLy4wby4wLy4wLy4wby4wLy4wLy4wL25v7y4wL24 + v724v724v724wL24v7y4wLy4wL24wb25wb25wby6wb26wb253NnX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////9fX18/Pz8vLy + 8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8vLy8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19vb29vb29vb29vb29vb2 + 9vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/Pz8/f39 + /f39/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39v7u2vbm0vLm0vLizvLizvLizvLizvLizvLizvLe0vLi0vLezvLi0vLi0 + vLezvLizu7izvLizu7izvLizvLizvLizvLizvLezu7ezvLezvLezvLayvLayvLezu7ayu7ayu7ezurey + u7eyureyuraxurayurayuraxureyuraxurWxurayurayu7ayurayurWxurWxuraxurWwubWwvrq3vbm2 + vbm2vbm2vbm2vrm3vrm3vbq3vrq2vrq2vrq3vru3vru3vrq3vru3v7u3v7u3v7y3vru3v7y4v7y4v7y4 + v7y4v7y5v7y5v7y4v7y4v7y4wLy4wLy4wLy4wLy4wby4wLy4wby4wb25wb25wby4wLy4wLy4wL24wL24 + wL24wL24v724wL25wL24wLy4wLy4wLy5wby5wb25wb25wb2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////f398vLy8/Pz + 8vLy8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8/Pz8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19vb29vb29vb29vb2 + 9vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8/f39 + /f39/f39/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39v7u2vbm0vbm0vLi0vLm0vLizvLi0vLizvLi0vLe0vLe0vLi0vLezvLiz + vLi0vLizvLi0vLizvLizvLizu7izu7izvLizvLezu7ezu7ezvLezu7azu7ezu7ayvLezu7ayu7eyu7ay + urayurexureyurayureyurayurayurayurayurayurayurWxurayurWyurayurWxuraxurWxv7q3vrq3 + vbm3vbm3vrq4vrq3vrq2vrq2vrq2vrq3vrq3vru3vrq3vru3v7u3v7y3v7y3vry3v7y4vry4v724wLy5 + v7y5v7y4v725v725v7y4wL25wLy4wLy4wby4wby4wL25wby4wby4wby4wb25wb25wLy4wLy4wL24wL65 + wL25wL65v724wL24wL24wLy4wby5wby5wby5wLy5wb25wb253NnX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/f38vLy + 8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8vLy8/Pz8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb29vb2 + 9vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7+/v7/Pz8/Pz8 + /f39/f39/f39/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39v7y2vrq1vLm0vLi0vLm0vLm0vLizvLizvLi0vLe0vLi0vLe0vLi0vLe0 + vLi0vLi0vLi0vLi0vLm0vLizvLizu7izvLizvLizu7ezvLezu7ezvLazu7azu7azu7azvLezvLazu7ez + u7eyureyu7eyureyurayureyurayurayurayurayurWyurayurWyurWyubWyurayurWxubaxvrq3vbm3 + vrq3vrq3vrq3vrq2vrq3vbu3vru3vru3vru3vru3v7u3v7y3v7y3v7y3v7y3vry4vry4v7y5v7y4v7y4 + wLy4wLy4v7y4v7y4wLy4wLy4wLy4wby4wLy4wb24wby4wb24wr24wr25wb25wby4wL25wL25wL25wL24 + wL25wL24wL25wLy4wLy4wLy5wLy5wby5wby5wLy5wLy5wby53NnX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+8/Pz + 8vLy8vLy8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb29vb2 + 9vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+vr6+/v7+/v7/Pz8/Pz8 + /Pz8/f39/f39/f39/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39v7u3vbm0vbm0vLm0vbm0vbm0vLi0vLi0vLi0vLi0vLe0vLi0vLe0vLi0 + vLi0vLi0vLi0vLi0vLi0vLi0vLizvLizvLi0u7i0u7e0u7ezvLe0u7ezu7e0u7azu7azu7ezu7ezu7ey + u7eyureyureyureyureyureyureyurayurayurazurazurWyurayurayurayurayurayubayv7u4vrq3 + vrq2vrq3vrq2vrq2vrq2vru2vru2vru3vru3vru2vry3v7u3v7y3vry3v7y4vry4v7y4v7y4v7y4wLy5 + wLy4wLy4wL24wLy4wLy4wLy4wby4wL24wby4wby4wby4wr25wb25wb24wby5wb25wL25wb25wL65wL65 + wL25wL25wLy4wLy5wLy5wLy5wLy5wLy5wLy5wby5wLy5wby529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////+fn5 + 8vLy8vLy8vLy8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19fX19vb2 + 9vb29vb29vb29vb29/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7/Pz8 + /Pz8/Pz8/f39/f39/f39/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39v7u2vbm1vbm1vLm0vLm0vLm1vLi0vLm0vLi0vbi1vLi0vLi0vLi0vLi0 + vbi1vLi0vLi0vLm1vLm0vLi0vLi0vLi0u7i0vLi0u7e0vLe0u7e0vLa0u7ezu7ezu7azu7azu7ezu7ez + u7eyureyurezureyureyureyurayurazurayurayurayurayurazurayurayuraxurayurayvru4vrq3 + vru3vrq2vrq2vru2v7q2vry3v7u2vry3v7u3vry3v7u3v7y3v7y3vry3vry3v7y4v7y4v7y5v7y5wLy5 + v7y4wLy4v7y5wL25wLy4wLy4wLy4wL24wby4wby4wb24wb25wby6wb25wL25wLy5wL25wL25wL66wL25 + wL25wL25wLy5wLy5wLy5wLy5wLy6wLy6wLy5wLu4wby5wb2529nX//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 9PT08vLy8/Pz8vLy8/Pz8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8/Pz8vLy8/Pz8vLy + 8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT08/Pz9PT09PT09PT09PT09PT09PT09fX19fX19fX19fX19vb2 + 9vb29vb29vb29vb29/f39/f39/f39/f3+Pj4+Pj4+Pj4+fn5+fn5+fn5+vr6+vr6+vr6+/v7+/v7+/v7 + /Pz8/Pz8/f39/f39/f39/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f39wLy3vbm1vbm1vbm1vbm1vbm1vLm0vLm0vLi0vbi1vLi0vbi1vLi0vbi0 + vLm0vLi0vbm1vLi1vLm0vLm0vLm0vLi0u7i0u7izu7i0u7e0u7e0u7ezu7e0u7ezu7e0u7ezvLezu7i0 + u7eyurezu7ezu7ezu7eyurezureyureyu7ezurazurazurWyurazurayurazubayurayurayv7u4vrq2 + vrq2vrq2vru3vrq2vru2vru2vru3v7u3v7u3v7y3v7y3v7u3v7u3v7y4v7y4v7y4v7y4v7u4v7y5v7y5 + wLy4wLy4wL25wLy4wLy4wby4wb24wb24wby4wb24wby5wb25wb26wb26wb26wb26wL26wL26wL66wL26 + wL25wL25wLy5wby6wLy5wLy5wLy5wLy5wLy5wL25wby5wL2509HO7ezr7ezr7ezr7ezr7u3s7u3s7u3s + 7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s + 7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s7u3s + 7u3s7u3s7u3s7u3s7u7t7u7t7u7t7u3s7u7t7u7t7u7t7u3s7u3s7u3t7u3t7u3s7u7s7u3s7u7s7u3s + 7u7t7u7s7u7s7u7s7u7s7+7s7u7s7u3s7u7s7u3s7+7s7u7s7+3s7+7s7+7s7+7s7u7s7+7s7+7s7+7s + 7+7s7+7s7+7s7+7s7u7s7u7s7u7s7u7s7+7s7+7s7+7s7+7s7+7s7+7s7u7t7+7t7+7t7+7s7+7t7+7t + 7+7t7+7t7+7t7+7t7+7t7+7s7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7s7+7t7+7t7+7t7+7t7+7t7+7t + 7+7t7+7t7+7t7+7s7+7t7+7s7+7t7+7t8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O/u + 8O/u8O/u8O/u8O/u8O/u8O/t8O/t8O/t8O/t8O/t8O/t8O/t8O/u8O/u7+/t8O/u8O/u8O/u8O/u7+/u + 8O/u8O/t7+/t7+/t7+/t7+/t7+/t7+/t7+/t7+/t7+7t7+7t7+7u7+7t7+7t7+7t7+7t7+7t7+7t8O7t + 7+7t7+7t7+/t8O7t7+7t7+/t7+/t7+7t7+/t7+/t7+7t7+7t7+7t7+7t8O7t7+7t7+/t7+7t7+7t7+/t + 7u3r7Ovq7Ovq7Ovq7Ozq7Ozq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq + 7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ovq7Ozq7Ovq7Ovq7Ozq7Ovq7Ovq7ezr7ezq7ezq7ezq7ezr + 7ezr7ezr7ezr7ezr7ezr7ezr7ezr7ezr7ezr7uzr7uzr7u3s7uzs7u3s7u3s7u3s7u3s7u3s7u3s7u3s + 7u3s7u3s7u3s7u7t7+7u7+7t8O7u8O7u8O/u8O/u8O7u8O/u8O/u8O/u8O7u8O7u8O7u8O7u8O7u8O/u + 8O/u8O7u8O7u8O/u8O/u8O/u8O/u8O/u8O/u8O/u8O7u8O7u8O/u8O7u7+7u7+7u8O/u7+7u7+7u8O7u + 8O/u8O/u8O/u8O/u8O/u8O/u8O7u8O/u8O7u8O7t8O/t8O7u8O7u7+7t7+7t8O7u7+7t7+7t7+7t8O7u + 8O7t8O7u8O7u8O7u8O7u8O7u8O7t8O7u7+7t7+7t8O7u7+7u7+7t7+7t7+7u7+7u7+7t7+7t7+7t7+7t + 7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t7+7t + 7+7t7+7t7+7t7+7t7+7t7ezrv7u3vbm1vbm1vbm1vbq1vLm0vbm1vbm1vLi0vLi0vLi0vbi1vbi1vbi1 + vLi0vLi0vLm0vLm0vLm1vLm1vLi0vLi0vLi0u7i0vLi0u7i0vLi0u7ezu7ezu7i0u7e0u7ezu7e0u7ez + u7ezurizureyuriyuriyuriyurizurezurezureyurazurayurayurezurayurayurayuraxv7u3vrq2 + vru3vru2vrq2vru2v7u2v7u2v7y3v7y3v7u2v7u3v7u3v7u3v7y3v7y3v7y4v7y4v7y5v7y5v7y5v7y4 + v7y5wLy4wL25wL25wb25wby4wby4wb24wb25wby5wby5wb25wL26wb26wL26wL26wL26wL66wL25wL26 + wL26wL26wLy5wLy5wLy5wby6wb25wLy5wL25wL25wby5wb25wL25wL65wb65wb65wb65wb65wb66wb66 + wL+6wb66wb67wb67wb68wb68wb67wb67wb+7wr+7wr+7wr+7w7+7wr+7wr+7w7+7wsC6w8C6wsC7w7+6 + w7+6wsC7wsC7wsC7w7+7wr+7w7+8w7+8w767wr67w767w766w7+7w766w767w766w7+7w7+7w7+7w7+6 + w8C7w7+7w8C8w8C8w8C8w8C9w8G8w8C8w8C8w8G9w8C8wsC8wr+8w7+9wr+8wr+8w8C8w8C8w8C8w8C8 + w8C8w8C8w8C8xMC8xMC8xMC8w8C8w7+7w8C8xMC8xMC7xMC7xMC7xMC8xMC8xMC7xMG8xcG8xcG8xMC8 + xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMC8xMC8xMC8xMG8xMG8xMC8xMG8xMG8xMC8xMG8xMC8xMC8xMC8 + xMG8xMC8xMG9xMG9xMC8xMC8xMC9xMG9xMC8xMC8xcC8xcC8xMG9xcC8xcG9xcC8xcG9xcG9xcG9xcG9 + xcC8xcC8xcC8xcC8xcC8xcC8xcG9xcC8xcG9xcG9xcG9xcG9xcG9xsG9xcG9xcG8xcC8xcC8xcC8xcC8 + xcC8xcC8xcC8xcC8xcC8xL+7xcC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG8xMC8xMC8xMG8 + xMC8xMC8w8C7w8C7w8C8w8C7w8C7w7+7w7+7w8C7w7+7w7+7w8C7w7+8w7+8w7+8w7+7xMC8w7+7xL+7 + xMC7w7+7xMC7w7+7xMC7xMC7xMC7xMC7xMC7xMC7xMC7xMC7w7+7xL+7xL+7w7+7xL+7w8C7w7+7xMC7 + w7+7xMC7xMC7xMC7xMC7xMC7xMC7xMC7xMC7xMC7w8C7w8C7w8C7w8C7w7+7w8C7w8C7wr+7w8C7wr+7 + w7+7w7+8w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7wr+7wr66wr+6wr66wr66w766wr+6w7+6wr66wr+6 + wr66wr66wr65wr66wr66w766w766w7+7w7+6w767w767w7+7w767w7+7w767w766wr66wr66wr66wr66 + wr66wr66wr66wr66wr67wb26wr26wby6wr26wby6wby6wb26wr26wby5wby5wby5wby5wby5wby5wby4 + wby5wby5wby5wb26wby5wb26wb26wb25wb25wb25wLy5wL25wLy5wLy5wLy5wLy4wLy5v7y5v7y5wLy5 + wL25wLy5wL25wL25wL25wL25wb25wL24wLy4wLy4wLy4wLy4wLy4wLy4v7y4wLy3wLy4v7y4wLy4wLy4 + wLy4wLu4wLu4wbu4wLy5wLu4wLy5wLu4wLy5wLy4wLu4v7u4v7u4v7u4v7u4v7y4v7u4vru4vru3vru3 + vru3vru3vru3vru2vru2vrq2vbq2vbq2vbq2vbq2vbm2vrm2vrm2vbm2vrm2vbm1vrm2vrm2vbq2vrq2 + vrm2vbm1vbq1vbq1vbm1vbq1vrq2vbq1vbq1vbq1vbq1vbq1vbm1vbi1vbi1vbm1vbi1vbm1vbi1vbm1 + vbm1vLm0vLm0vLm0vLm0vLm0vLm0vLi0vLm0vLi0u7i0u7i0vLi0u7izvLe0vLi0vLi0u7ezvLi0u7ez + u7ezu7iyuriyurizurizuriyurezurezurezu7eyurayurezurayurayurayubayurayuraxv7u3v7q2 + vrq2v7q2v7u3v7u2v7u3v7u3v7u2v7u2v7u3v7u2v7y3v7y3v7u3wLy3v7y4v7u4v7y5v7y5v7y5wLy6 + v7y5v7y5wL25wL25wb25wby4wb25wby5wby5wb25wb25wb26wb26wL26wL26wL66wb66wL66wL66wL26 + wL25wL26wL25wb26wL26wb26wL25wLy5wby5wb25wb25wb25wb65wb65wb65wb65wb65wb65wb65wL66 + wb66wb67wb67wr67wr68wr67wr67wr67wb67wr+7wr+7wb67wr+7wr+7wr+6w7+6w8C7w8C7wr+6w8C7 + wsC7wsC7wsC7w8C7wr+8w7+7w7+8w7+7w767w767w7+7w7+7w766w766w766w7+7w7+7w7+7w7+6w7+6 + w8C7w8C7w8C7w8C7xMC8xMC8w8C8w8C8w8C9w8C8wsC9w7+9wr+8w7+8w8C9wr+8w7+8w7+8w7+8xMC8 + xMC8xMC8xMC8xMC8w8C8xMC8w8C8w8C8w8C7xMC8w8C8xMC8xMG8xMC8xMG8xMG8xMG8xMG8xcG8xcG8 + xcG8xMG8xMG8xMG9xMG8w8G8w8C8xMC8xMC8xMG8xMG8xMG8xMG8xMG8xMC9xMG9xcG9xMG9xMG9xMC8 + xcG9xMC9xMC8xMC8xMC8xMC9xMC8xcC8xcC8xcG9xcC9xcG9xcC8xcG9xcG9xcC8xcC9xcC8xcC8xcG9 + xcG9xcC9xcC9xcC8xcG9xcC8xcG9xcG9xcG9xcG9xsG9xcG9xsG9xsG9xcG8xcC8xcG9xcC8xcC8xMC8 + xcC8xMC8xMC8xMC8xcC8xcC8xMG8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG8xMG9xMC8xMG8xMG8 + xMC8xMC8xMC8w8C7w8C8w7+8w8C7w7+8w8C8w7+8w7+8w7+7w7+8w8C8w7+8w7+8w8C8w8C8xL+8w7+8 + xMC7xMC7w7+7xMC8xMC7xMC7xMC8xMC8xMC8xMC7xMC8xMC7xMC7xMC7xMC7w7+7xMC7w7+7xL+7w8C8 + w8C7xMC8xMC7xMC7xMC8xMC8xMC8xMC8xMC8w8C7w8C7w7+7wsC7w8C7w8C7wr+7w8C8w8C8w7+8w7+8 + wr+7w7+7wr+7w7+7w7+7wr+7w7+7w7+7w7+7w7+7wr+7w7+7w7+7w7+6w7+7w7+7w7+6wr66w766w767 + w766w767w766wr+6wr+6w7+6w7+7w7+7w767w7+7w767w7+7w7+7w767w7+7w7+6w767w767w767w767 + wr66wr67wb26wb66wr27wb26wby6wr26wb26wb26wb25wby5wb26wby5wby5wby5wby5wLy5wby5wby5 + wLy5wby5wby6wb25wby5wby6wb26wb26wb66wb26wLy5wLy5wL25wLy5wLy5v7y5wL25v725wLy5wLy5 + wL25wL25wL25wL25wL25wb25wL25wb25wL24wL24wLy4wLy4wLy4wL24v7y3wLy4wLy4v7y3wLy4wLy4 + wLy4wLy4wLy4wLy5wL24wLy4wLy5wLy5wLy5wLy5wLy5wLy5v7y5v7y4v7u4v7u4v7y4v7y4vru4v7y3 + vru4vru3vru3vrq2vrq2vbq1vbu2vbq1vbq1vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2 + vrq2vrq2vbq2vbq1vbu1vru1vrq2vbq1vrq2vrq2vbq1vrq1vbq1vbm1vbm1vbm1vbm1vbm1vbm1vbm1 + vbm1vLm0vbm1vLm0vLq1vLm0vLm0u7m0vLi0vLm0u7i0vLi0u7i0vLi0vLi0vLezu7i0u7i0vLi0u7i0 + u7izu7izu7iyu7izuriyurizurizurezurizurezu7ezurezurayurezurayurezureyuraxv7u3vrq2 + v7q2v7q3v7q2v7u3vrq2v7y2v7u2v7y3v7y3v7y3v7y4v7u3v7u3wLy4v7u4v7u4v7u5wLy5v7y5v725 + v7y5wL26wLy5wL25wb25wb24wb24wb25wb25wb25wb26wL25wL66wL25wL66wL25wL66wL66wL66wL25 + wL66wL66wb66wb25wb25wb25wby5wb25wby4wb25wb25wb25wb65wr66wb65wr65wL65wb65wb65wb65 + wb66wb67wr67wr68wr68wr67wb67wr+7wr67wb66wr+7wb67wr+6wr+6w7+7w7+6w8C7w8C7w8C7wr+7 + wr+6wsC6w7+8w8C8w7+8w7+8w7+8w7+8w7+8w767w766w766w766w766w7+6w7+6w7+7w7+7w8C7w7+7 + w8C7w8C7w8C7xMG8xMC7w8C8w8C7w8C8w8C8wsC8w7+8wr+8w7+8w7+9w7+9w7+8w7+8w7+8xL+8xMC8 + xMC8xMC8w8C8w8C8w8C8w8C8w8C8xMG8xMC8xMG8w8G8xMG8w8C8xMG8xMG8xMG8xMG8xMG8xMG8xMG8 + xMG8xMG8xMG8xMG9xMG9w8C8w8G9xMC8xMG8xMC8xMC9xMG8xcG8xcC8xMC9xMC8xMG9xMG9xMC8xcC9 + xcC9xcC9xMG9xcG9xMC8xMG9xcC9xcC8xcC9xcG9xcG9xcG9xcG9xcC9xcG9xcG9xcG9xcC9xcG+xcC8 + xcC8xcC9xcC9xcC9xsG9xcC8xsG+xsG9xcC9xsG8xcG9xsG9xcG9xcC9xcG8xsG9xcG8xcC8xcC9xcG8 + xMC8xcC8xcC8xMG8xMC8xMC8xMC9xMC8w8C8xMC8w8C8xMC8xMG9xMG9xMC8xcG9xcG9xMC9xMC8xMC9 + xMC9xMC9xMC9xMC8w8C8w7+8xMC8w7+8w7+8w7+8w7+8w7+8w7+8xMC8w8C8w8C8w7+7w7+7xMC7w7+7 + xMC8xMC7xMC8xMG8xMC8xMC8xMC8xMC8xMC8xMC8xMC8w8C7w8C8xMC8w7+7w7+7w8C8w8C8w7+7xMC7 + xMC7w7+8xMC8xMC8xMC8xMC8xMC8w8C8w8C8w7+8w8C7w8C8w8C8wsC7wsC8wr+7wr+8w7+8wr67w7+7 + w7+7w7+7wr66w7+7w7+7w7+7w7+7w8C7w7+7w7+8w7+7wr+7w7+7w7+7w7+7w7+7wr+6w767w7+7w7+7 + w7+7w767w7+7wr+6w7+7wr66w7+7w7+7w7+7w7+7w7+7w7+7w767w7+7wr+7w7+7w7+7wr66wr67wr66 + wb66wb67wb66wb66wr26wb26wb26wr26wb26wb26wb26wb25wb25wby5wb25wby5wLy4wby5wby5wLy4 + wby5wby5wby5wb25wb26wb66wb26wb26wb26wby5wb25wb25wL25wL25wLy4wLy5wby5wLy5v7y5v7y5 + wLy5wLy4wL25wb25wb25wL24wLy4wb25wL24wL24wL24wLy4wL24v7y4wL24v7y3wLy4wLy4wLy4wLy4 + wLy4wLy4wLy4wb25wLy4wLy4wLy5wLy5v7y4wLy5wLy5v7y5v7y5v7y5v7y5v7y4v7y4v7y4v7y4vry3 + v7y3vru2vry3vru2vru2vrq2vru2vbq1vrq1vrq2vbq2vbq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2 + vrq2vrq2vbq1vbq1vbq1vrq1vbq1vbq1vbq1vru2vrq2vbq1vrm1vbq1vbm1vrm1vbm1vbm1vbm1vbm1 + vbm1vbm0vbq1vbm0vLm0vLq1vLm0vLm0vbm0vLm0vLi0vLi0vLi0vLezvLi0vLezu7i0vLi0vLi0u7ez + u7izu7izu7izu7izu7izu7izu7izu7izurezurezu7eyu7azurayu7ezurayureyurayureyv7u3v7q2 + vrq2v7q2v7u2vru2v7u2v7u2vry3vru2v7y3v7y4v7u3v7y3v7u3v7y4v7y4v7u4v7y5v7y6v7y5v7y5 + v726wL25wL24wL24wL25wb25wb25wb25wb65wL25wL25wL25wL25wL66wL66wL65wL66wb25wL25wL25 + wL66wb66wr26wb26wr25wb25wb25wb25wb24wr25wb25wr65wr65wr65wr65wr65wb65wb65wb65wb66 + wb66wr67wb27wr67wr68wr67wr+8wr67wr67wr67wr+7wr+6wr+7wsC7wr+6wr+6w8C6w8C6w7+6w8C7 + wr+7wsC7wsC7wsC7w7+8w7+8xL+8w767w7+8w767w766w766w767w766w766w7+7xL+6wr+7w8C6wr+7 + w7+6w8C7w8C7w8C7w8C7xMG8w8C7w8C7w8C7wr+8w8C8w7+9wr+8wr69w7+8w7+8w768w7+8xL+9xL+8 + xL+8xL+8xMC8w7+8w8C8w7+8w8C8w8C8w8C8w8C8xMG8xMG8xMG8w8C8xMG8w8G9xMG8xMG9xMG8xMG9 + xMK9xMG9w8G9w8G9w8G9xMG9w8C8w8G8xMC8xMC8xMC8xMC9xMC8xMC8xcG9xMC9xMC8xcC9xcG9xMC9 + xcG9xcC9xcC8xcG9xcC9xMC9xcG9xcG9xcG9xcC9xcG9xcG9xcG9xcG9xcG+xcG9xcC9xcC9xcC9xcC9 + xcC9xcC9xcC9xcC9xsG+xcC9xcG9xcC9xcC9xsG+xcG9xcG9xsG9xcC9xsG+xcG9xcG8xcC9xcG8xcG8 + xMG8xcC9xMC8xMC8xMC9w8C8w8G8xMC9xMC8xMC8w8C8xMG9xMC8xMC9xMG9xMC9xMC9xMC9xMC9xMC9 + xMC9xMC9w8C9xMC9w8C8xMC9w7+8w7+8w7+8w7+8w7+8w7+8w8C8w7+8w7+7w8C8w8C7xMC8w8C8xMC8 + xL+7xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xL+8w8C8xMC8w8C8xMC8w8C8w8C8w8C8 + xMC8xMC8xMC8xMC8xMC8xMC8w8C8w8C8xMC8w8C8w8C8w8C8w7+8wr+7w8C8w8C8w7+8w7+8w7+8w8C8 + w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w8C7w8C7w7+7w7+7wr+7w7+7wr+7w7+7w7+7 + w7+7w7+7wr+6wr+6wr+6wr+6wr+6w7+7wr+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7wr+7wr+7wr+7wb67 + wr66wb66wr66wr26wr67wb26wb26wr66wb25wr66wb25wb25wby5wby5wb25wLy4wby5wb25wby5wb25 + wb25wb25wb26wb26wb26wb66wb66wb66wb26wb26wb25wL26wL25wL25wL25wL25wLy4wLy4wLy5wL25 + wL25wL25wL25wb25wL65wL25wL25wL65wL24wL24wL24wL24v7y3wL24wLy3wLy3v7y3v7y4wLy4wL24 + wLy4wLy4wL25wL24wby4wb25wLy5wLy5wLy4wL25wL25wLy5v7y5v7y5v725v7y5v7y4v7y4v7y3vry4 + v7y4vry3vru3v7u2vru2vru2vru2vrq2vrq2vrq2vrq2vrq2vrq2v7q2vrq2vrq2vrq2v7q2vrq2vrq2 + vrq2vrq2vrq2vru2vrq1vrq1vrq1vbu2vbq2vru2vrq2vrq2vbq1vrq1vbm1vbm1vrm1vbm1vrm1vbm1 + vbm1vbm1vbm1vLm0vLm0vLm0vLm0vLm0vLm0vbm0u7m0vLi0vLi0vLi0vLi0vLezvLi0vLezvLi0vLiz + u7ezvLizu7izu7izu7izu7izvLizu7ezu7ezu7ezu7ezureyurayurayu7ayu7eyu7eyuraxv7u3vrq2 + vru2vru2vrq2v7u3v7u2vry3v7u2v7u3v7y4v7u3v7y3v7y4v7u4v7u4v7u4v7u4v7u4wLy4v7y5v725 + v726v725wL24wb25wb25wb65wr66wb65wb25wLy5wL26wL25wL25wL25wL65wL66wL66wb66wb66wL66 + wL66wL25wr26wb66wr25wb25wr25wry4wb25wb25wr25wr65wr65wr65wr+6wb66wb65wb+6wb+6wb66 + wb+6wr66wr67wr27wr67wr67wr67w7+8w767wr67wr+7wr+7wr+7wr+7wsC7wr+6w7+6wsC7w8C7w8C7 + w8C8wr+7w7+8w7+8w7+8w7+8xL+8w767xL+8w7+8w7+7w767wr+6w7+6w767xL+7w766w7+7wr+7w7+7 + w8C7w8C7w8C7xMC8w8C7w8C7w8C7w8C7wsC8w8C7wsC8w8C8w8C8w7+9w7+9xL+8xL+8xL+8xL+8xL+8 + xL+8xL+8xL68xMC8xMC8xMC8xMC8xMC8xMC8w8C9w8C8xMC9w8C8xMC8xMG9xMG8xMK9xMK9xMK9xMK9 + xMK9xMG9w8G+w8G8w8C9w8G9xMC9xMC9xMC9xMC8xMC9xMG9xMG8xcG9xMC9xcG9xMG9xcC9xMC9xcG+ + xcC9xMG+xcC9xcC9xcG9xcG9xcC9xcG+xcC+xcG+xcC9xcC9xcG+xcG9xcC9xcG9xcG9xcC9xcG+xcC9 + xcG+xcC9xsG9xsG9xcG9xsG9xcG+xcC+xcG+xcC+xcG9xcC+xcG9xcC9xcG8xcC8xMG9xcC9xMG9xMC8 + xMC8xMG8xMG9xMC8xMK9xMG9xMG9xMG9w8C8xMG9w8C8xMC8xMC9xMC9xcG+xMC9xMC+xMC9xMC9xMC9 + xMG+xMG9xMC9xMC9xMC9w8C8xMC9w8C8w7+8w7+8w8C8xMC8w8C8xMC8xMG8xMG8w8C7xMC8w8C7xMC8 + xMC8xMC8xMC8xcG9xMC8xMG8xMC8xMC8xMC8xMC8xL+8w8C8xMC8w8C7w8C8xMC8w7+8xMC8w8C8xMC8 + xMC8xMC8xMC8xMC9w8C8w8C8w8C8w8G8w8C8wsC8w8C8wsC8w8C8w7+8wr+8w7+8w8C8wr+8w8C8w7+8 + w7+7w7+7wsC7w7+7w8C7w8C7wr+7w8C7w8C7w8C7w8C7w8C8w8C8w7+7wr+7w7+7w7+7w7+7w7+7w8C8 + w8C7w7+7w7+7wr+7w7+7wr+6w8C6w7+6w7+7wr+7wsC7w7+7w7+7wr+7wr+7w7+6wr+6wsC7wb+7wb+6 + wr+7wr67wb67wb66wr27wb26wr67wb26wby6wr66wb25wr26wby5wb25wb65wb25wb25wby5wby5wL25 + wL24wb25wb25wb66wb65wr66wb66wb66wb66wb66wb66wb25wb26wb25wL25wby5v724wLy4wL25wL26 + wL25wL65wb65wb65wL25wL25wL24wL24wb65wL24wLy4wL24wLy3wLy3wL24wL24wLy3v723wLy3wLy3 + wL24wb24wb25wLy4wL25wb25wL25wb25wLy6wL25wL25wL25v7y5v7y5v7y5v7y5v7y5v724v7y4v7y3 + vry4v7y3vry3vru2v7u2v7u2v7u2vru2vru2vru2vrq2v7q2v7q2vrq2vrq2v7q2vrq2vrq2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vbu2vrq1vrq1vrq1vru2vrq2vbq1vrq1vrq1vbq2vbq2vbm1vrm1vrm1vbm1 + vbm1vbi0vbm1vLm0vLm0vLi0vLm0vLm0vLm0vLizvLmzvLi0u7i0vbizvLi0vLi0vLi0vLi0vLi0u7i0 + vLizvLizu7izu7izu7izvLizvLizu7izu7izu7ezu7ezu7eyu7ayu7ayu7ezu7eyu7ayureyv7u3vrq2 + v7q2vru2v7u2vru2v7u3vru3vru3vru3v7u3v7y4v7u3v7u3v7u4v7u4v7u4v7u4v7u4v7y5v7y5v7y5 + v725v725wL24wL25wb25wb25wb25wb25wb25wb25wL25wL25wL25wL25wL65wL25wL25wL66wL25wb66 + wb25wb66wb66wb25wb25wb25wb25wb25wb25wb25wr25wb65wr65wr65wr65wb+6wb66wb65wb66wr66 + wr66wr66wr67wr67wr67wr67wr67wr67wr67wr67wr67wr+7wr+7wr+7w7+7wr+7wr+6wr+7wr+6wsC7 + w8C7w7+8wr+8w7+8w7+8w7+8xL+8w768w7+7w7+7w7+7w767w767w7+6w7+7w7+7w7+7wr+7w7+6wr+7 + wr+7w7+7xMC8xMC8w8C7w8C7w8C8w7+8w8C8w7+8w7+8w7+8w7+8xL+8w7+8xL+8xL+8xL+8xL+9xL+8 + xL+8xL+8xL+8xL+9w7+9w7+8w7+8w8C8xMC8w8C9w8C8xMC8xMC9xMC9xMG9xMC9xMG9xMG9xMG9xMG9 + w8G9w8K9w8G9w8G9w8G9w8C8w8G9w8G9w8G9w8G9w8C9xMG9xMC9xMG9xMG+xcG9xMG9xMG+xcC9xcG9 + xMG9xMG9xcC9xcC9xcC9xMG+xcC9xcG9xcG+xcC9xcG+xcG9xcC9xcG9xcG+xcG+xcG9xcG9xcG9xcC9 + xcG9xcG9xcG9xcC9xcG+xcG9xcG+xcG+xcG9xcC9xcG9xcG9xcG9xcG9xcK9xMG9xMG8xMG8xMG8xMG9 + xMG9xMG8xMG9xMG9w8G8w8G9w8C8w8C8xMC9xMC9xMC9xMC8xMC9xMC9xMC9xcC+xMC9xMC9xMC9xMG9 + xMC9xMC9xMC9xMC8xMC8xMG8xMC8w8G8xMC8w8C8w8C8w8C8xMC8xMC8w8C8w8C8xMC8xMG8xMC8xMG8 + xMG8xMG8xMC8xMG8xMC8xMG9xMC8xMG8xMC8xMC8xMC8xMC8w8C7xMC8xMC8w8C8xMC8xMC8xMC8xMG8 + xMG8xMC8xMG8xMG8w8C8w8G8w8G8w8C8w8C8w8C8wsC8wsC8wsC8wr+8wr+8w7+8w7+8w7+8w8C7w8C7 + w8C7w8C7w7+7wsC7w8C7w7+7w8C7w8C7w8C7w8C7w8C7xMC8w8C7w8C7w8C7w8C7w8C7w8C7w8C7xMC8 + w8C7w8C7w8C7w7+7w8C7w7+7w8C7w8C7w7+7w7+7w7+7w8C7w7+7w8C7wr+7wr+7wr+6wr+7wb66wb66 + wr66wb66wb66wr66wb26wr66wr26wb66wr66wb65wr66wb25wb25wb25wb25wb25wb25wb25wb25wb25 + wb25wby5wb25wb66wb66wb66wb66wb66wr66wb66wb66wb66wb25wb25wb25wL25wL25wb25wL25wb25 + wb65wb65wL25wL25wb65wL25wb65wL25wb24wL24wL24wL24wL24wL24wLy3wLy3wL24wb24wL24wL24 + wL24wL24wb24wb25wb25wby4wb25wb25wL25wL25wLy5v7y5v7y5v7y5v7y5v7y5v7y4v7y4v7y4v7y4 + v7y4v7y4v7y3v7u2v7u2vru2vru2v7u2vrq2v7q2v7u2v7q2v7q2v7q2v7u3vru3v7q2v7q2v7q2vrq2 + vrq2vrq2vrq2vrq2vrq1vrq2vrq1vrq1vrq1vrq2vrq2vrq1vrq2vrm1vrq2vrm1vrm1vrm1vrm1vbm1 + vbm1vbm1vLm0vbm0vLm0vLm0vbm0vbm0vbm0vbm0vLm0vbi0vLi0vLi0vbi0vLizvLizvLi0vbi0vLi0 + vLi0vLizvLizvLizvLizvLizvLizu7iyu7ezu7eyu7ayu7ezu7ezu7ayu7ezu7ayu7eyu7eyv7u3v7q2 + vrq2vrq3vru3vru2vru3vru3vry4v7y4v7u3v7y3v7y4v7y3v7u4v7u4v7u5v7u4v7u4v7y4v7y4v724 + wL24wL25wL25wL24wL25wb65wb65wb25wb25wL25wL25wL25wL25wb25wL25wL25wL25wb25wL25wb25 + wb66wb25wb25wb25wr25wb25wb25wr25wr25wb26wb66wr66wr65wr+6wb+6wb66wb+6wb65wb+6wr66 + wr67wr66wr67wr67w767wr67wr67wr67wr67wr+7w767wr+8wr+7wr+7w7+7wr+7w8C7wr+7wr+7wsC7 + wsC8w8C8w7+8w768xL+8xL68xL+8xL+8w7+7xL+8w767xL+8w7+7w767w767w7+8w7+7w7+7w7+7w7+7 + xMC8w7+7xMC8xMC8w8C8w8C7w8C7w7+8wsC8w8C8w8C9w7+9w7+8xMC8xL+8xL+8xL+8xL+8xL+8xL+8 + xL+8xL+8xL+8xL+8xL+8w7+8w8C8w8C8xMC9xMC8w8C9xMC8xMC8xMC9xMC9xMG9xMG9xMG9xMG+xMG9 + xMK+w8G9w8G9w8G+wsG9wsG9w8G9w8G8w8G9xMG9w8G9w8C9w8G9xMC9w8G9xMG+xMG+xMG+xMG+xMG+ + xMG+xMG+xMG9xcG+xcG+xMG9xMG+xcG+xcG9xcG+xMG+xcG+xMG+xcG+xcG+xMG9xMG+xcG+xcG+xMK9 + xcG+xcG9xcK9xcG+xcG9xcG9xcK+xMG9xcK9xMK9xMG8xMG9xMG9xMK9xMG9xMK9xMK9xMG9xMG8w8C8 + w8K9xMG9xMC9xMG9w8C8w8C8xMC8w8C8xMC9xMG9xMC9xMC9xMG9xMG9xMC9xMC9xMG9xMC9xMG9xMG9 + xMC9xMG8xMG9xMC8xMC8xMC8xMG8xMG8xMC8xMC8w8C8xMC8xMG8xMG8w8C7xMG8xMG8xMG8xMG8xMG8 + xMG8xMG8xMC8xMC8xMG8xMG8xMG8w8G8w8C8xMC8xMC8xMC8xMC8xMG8xMC8xMG8xMG8w8G8xMC8xMC8 + xMG9xMG9xMG9xMG9w8G8w8G8w8G8w8C8w8C8w8C8w8C8wr+8wr+8wr+8wsC8wsC8wr+7wr+7w8C7w8C7 + w8C7w8C7w8C7w8C7w8C7w8C7w8C7w8C7w8C7w8C7w8C7w8C7xMC8w8C7w8C7w8C7w8C7wsC7w8C7w8C7 + w8C8w8C7xMC7w8C7w8C7wsC7wsC7wr+7w7+7w8C7wr+7w7+7wsC7w8C7wr+6wr+6wb+6wb+6wb+7wr+6 + wr66wr+6wb66wb66wr65wb65wr65wb65wr66wr65wr66wb25wb65wb25wr65wb25wr65wr25wb24wb25 + wb25wr25wb25wr65wb66wb66wb66wb66wb66wb66wb66wb26wb66wb25wb25wb25wb25wb25wb66wb25 + wb65wL26wb66wb65wb65wb25wb65wL65wb24wb24wLy4wL24wL24wb24wLy4wLy4wLy4wL24wL24wb24 + wb25wb25wby4wb25wb25wb25wLy5wb25wL25v7y5wL25wL26v7y5wLy5wLy4v7y5v7y4v7y4v7y4v7y3 + v7y3v7y4v7y3vru2v7y3v7u2v7u2v7u2v7u2v7q2v7q2vru2v7u2v7u3v7q2v7u3v7q2v7q2v7q2v7q2 + vrq2vrq2vrq2vrq2vru2vrq1vru2vru2vru2vrq2vrq2vru2vrq2vrq1vrq1vbm1vrm2vrq2vbm1vbm1 + vbm1vbm1vbm0vLm0vbm0vLm0vLm0vbm0vLm0vLm0vLm0vbi0vLizvLe0vLi0vLi0vbi0vbi0vbi0vLi0 + vLi0vLi0vLizvLizvLizvLizu7eyu7izu7eyu7eyu7eyu7ezu7ezu7ayvLezu7ezu7izu7eyv7q2vbm1 + vbm1vrq2vrq2vrq2vrq2vrq2v7u3vrq2vru2vru3v7u3v7u3vrq3v7u3v7u3vru3v7u4vru3vru3v7u3 + v7u3v7y3wLy3wLy4wLy4wLy4wLy4wby4wLy4wLy4wLy4wLy4v724v724wL24wL24v7y4wLy4wLy4wby5 + wby5wb25wby5wby5wby4wLy4wLy4wby4wb24wb24wb25wb25wb65wb24wb25wb25wb65wb66wb66wr66 + wr26wb26wr67wb26wr26wr66wr67wr67wr66wr67wb67wr67wr67wr67wb+7wr+7wr66wb+7wr+7wb+7 + wr+8wr67wr+8wr67wr68wr68w767w767wr66w7+7w767w7+7wr66wr66wr66wr66wr+7wr+6wr+7wr+7 + w7+7w7+7w7+7w8C8w7+7wr+7w8C7wsC8wr+7w7+8wr+8w768w7+7w7+8w768w767w767w7+7w7+8w7+8 + w7+8w7+8wr+8w7+8w8C8wr+8w7+8wr+7w8C8w8C8wr+7w7+8w8C8w8C8w8C8w8C8w8C8w8C9w8C8w8C9 + w8C8wsC9wsG9wsC9wsC9wsC9wsC8w8C9w8C9w8C8w8C8w8C8w8C9w8C8w8C9w8C8w8C9xMC8w8C8w8C8 + w8C8xMC9w8C8xMG9xMG9w8C8xMC8xMC8xMG9xMG9xMG9xMG9xMG8xMG9xMG9xMG9xMG9xMG9xMG9xMG9 + w8G8xMG8w8G8xMG8w8G8w8G8w8G8w8G8w8G8xMG8w8G8w8C8w8G8xMG8w8G8w8G8w8G8w8G9w8G8w8C8 + wsC8w8C8w8C8w8C8wsC8w8C8wsC8wsC8w8C8w8C8w8C8w8C8wsC8w8C8w8C8xMC9w8C8w8C8w8C8w8C8 + w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C7w8C8w8C7w8C7w8C8w8C8wsC7w8C8w8C7w8C8w8C8w8C8 + w8C8xMG8xMC8w8C7w8C8w8C8w8C8w8C8w8C8w7+7w8C8w7+7wr+7w7+7wr+7w8C7w8C8w8C8w8C8xMC8 + w8C8xMG8w8G8w8G8w8C8w8C8w8C8w8C8wsC8wr+8wr+8wr67wr67wr67wr67wr+7wr+7wr+7wr+7w7+7 + wr+7wr+7wr+7wr+7wr+7wr+7w7+7wr+7wr+7w7+7wr+6w8C7w7+7w7+7w7+7wr+7w7+7wr+7wr+7w7+7 + w7+7w7+7wsC6wr+6wr+6wr+6wr+6wr+6wr+6wr+6wr+6wr+7wr+6wr66wr+6wr+6wr+6wb+6wr66wr66 + wr66wb66wb66wb65wr25wb65wb65wb25wb24wb24wb24wb24wb24wb24wb24wL24wby4wb24wb24wb24 + wby4wb24wb24wby4wb25wb25wb25wb25wb25wb25wb25wb25wb25wb25wby4wby4wby4wb25wby4wLy4 + wb25wb25wL25wLy4wL25wL24wL24wLy4wLy4wL24wLy4v7y4wLy4wLy4wLy4wLy3wLy3wLy3wLy3wb24 + wb24wLy4wb24wb24wby4wby4wby4wLy4wby4wLy4wLu4wLy4v7u4v7u4v7u4v7u4v7u3v7u4v7u4v7u3 + vru3vru3vru2v7u2vru2vru2vrq2vrq2vrq1vrq2vrq1vru2vrq2vrq1vrq1vrm1vrm1vrm1vrq2vrq2 + vrq2vrq1vrq1vrq1vrq2vrq1vbm0vbq1vbq0vbq1vbm1vbq1vbm0vrq1vbm0vbm0vbm1vbi0vbi0vbi0 + vbi1vbi0vbi0vbi0vLi0vLi0vLi0vLi0vLizvLizvLizvLizvLizvLizvLezvLezvLezvLezvLezvLez + vLezvLezvLezu7eyu7ayu7eyurayurayureyurayurayurayurayurayu7ayu7ayu7eyu7ayvrq2vbm1 + vbm1vrq2vrq2vrq2vbq2vru2vrq2vru2vru2v7u2v7u3v7u3v7u3vrq3vrq3v7u3vrq2vru3v7u3v7u3 + v7u2v7u2v7y3wLy3wLy4v7y4wLy4wLy4wLy4v7y4v7y4v7y4v7y3wLy4wL24wLy4wLy4wLy4wLy5wLy4 + wLy5wby5wby5wby5wby5wLy4wLy4wLy4wL24wb24wb25wb25wb25wb25wb66wb25wb66wb26wb26wb26 + wb26wr27wb26wr26wb26wr66wr66wr66wb66wr67wr67wr67wb66wb66wb66wb66wb66wr+7wb67wb67 + wb67wb67wb67wr67wr67wr67w767wr67w7+7wr+7wr66wr+6wr+6wr66wr+6wr+6wr+6w7+7wr+6wsC7 + wr+6wsC7w767w8C7w8C7w7+7w7+7wr+7wr+7wr+8wr67w7+8w7+7w767w7+7w7+7w7+7w7+7w7+7w7+7 + w7+7wr+7w7+8wr+7w8C7wr+7wsC7wr+7wsC7wr+8wsC8wr+8wsC8wsC8w8C8w8C8w8C8w8C8wsC8wsC8 + wsC9wsC9wsC9wsC9wsC8w8C8wsC8wsC8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8G8w8G8w8C8w8C8w8C8 + w8C8w8C8w8C8xMC8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8xMG9xMG8xMG8xMG8xMC8w8G8xMC9xMC8 + w8G8w8G8w8G8w8G8w8G8w8G8w8C8w8G8w8C8w8G8w8C8w8C8w8C8w8G8w8G8xMG9w8G9xMG8w8C8w8C9 + w8C8wsC8wr+7w8C8wsC7wr+8wr+8wr+8wr+8wr+8w7+8w7+8w7+8w7+8w8C8w8C8w8C8w8C8w8C8w8C8 + w7+8wr+8w7+8wr+8w8C8xMC8w8C7xMC8wsC8w8C8wsC8xMC8xMC7w8C8w8C8w8C7w8C7xMC8w8C7wsC8 + wsC7w8C8xMC7w8C8w8C8w8C8wsC7w8C7w8C7w8C7w8C7w7+7wr+7wr+7w7+7w7+7w7+7w7+7w7+7w8C8 + w8C8w8C8w8C8w8C8w8C8wsC8wsC8wsC8wr+7wr67wr+7wr67wr66wr67wr66wr66wr67wr66wr+7wr+7 + wr+7w7+7wr+7w7+6wr66wr+7wr+7wr+6wr66wr66wr66wr+7w7+6w7+6wr66wr+6wr66wr66wr+6wr66 + wr66w7+6w7+6wr66wr+6wr66wr66wr+6wr66wr66wr66wr66wr66wr+6wb66wr+6wr+6wb66wr66wr66 + wb66wr26wb25wb25wL25wb25wb24wb24wb24wb24wb24wb24wby4wb24wb24wb24wb24wb24wL24wLy4 + wby4wL24wby4wby4wby4wby4wby4wby4wb25wb25wby4wb25wby4wby4wby4wby4wby4wby4wLy4wLy4 + wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy3wLy4v7u4wLy4wLy3wLy3v7u3wLy3wLy3 + wLy4wL24wLy3wby4wLy4wLu4wLy4wLu4wLy4wLu4wby4v7u4v7u3v7u3v7u3v7u3v7u3v7q3vru3vru2 + vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq1vrq1vrq2vrq1vrq1vrq1vrm1vrm1vrm1vrm1vrm1vrm1vrm1 + vrm1vrm2vrq2vrm1vrq1vrq1vbq1vbm1vbm0vbm0vbq0vLm0vbm1vbq1vbm0vLm0vbi0vLi0vLi0vbi1 + vbi1vbi0vbi0vLi0vLi0vLizvLizvLizvLizvLizvLizvLizvLezu7ezu7eyvLezu7ezu7ezvLezvLez + u7ezu7ezu7eyu7ayu7ayurayurayurayurayurayurayureyurayurWyurWyurWyu7ayuraxv7u3vrq2 + vbq2vbu2vbq1vru2vru1vru2vru2v7u2vru3v7u2v7q3v7u3v7u3v7q3vrq3vrq2vru2vrq3v7u3v7u2 + v7u2v7y3wLu3wLu3v7y3wLu3wLy4wLy4v7y4v7y3wL24wL24wL24v7y3v7y3wLy4wLy4wLy4wLy4wLy5 + wby5wLy5wLy5wby5wLy5wLy5wby4wby5wb25wL24wL25wb25wL25wb25wb25wL65wb26wb26wb26wr66 + wr66wb66wr26wr26wr26wr66wr66wb66wr67wr66wb67wr67wb66wr67wb+7wb66wb+6wr+7wb+7wb67 + wb+7wr68wr67wr67wr67wb67w767w7+7wr+6w7+7wr66wr+6wr+6wr66wr+6wr+6wr+6wr+6w8C7w7+7 + w8C7w7+7w8C7wr+7w8C8w7+7w8C8w7+8wr+7wr+7wr67wr+8w7+8w767w7+7w7+7w7+7w7+7w7+7w7+7 + w8C7w7+7wr+7wr+7wsC7wr+6wr+7w8C7wr+7w8C7wr+7wsC8wsC8w8C8wsC8wsC8w8C9w8G8w8C9wsC9 + wsC9wsC9wsC9wsC9wsC9wr+8w7+8wsC8w8C8w8C8w8C8wsC8xMC8w8C8w8C8w8C8xMC8w8C8w8C8w8C8 + w8C8w8C7w8C8w8C7w8C8w8C7w8C8w8C8w8G8w8G8w8C8xMG8w8G8xMG9w8G8xMG9xMG9xMG9w8G8w8K8 + xMG8w8G8xMG8w8G8xMG8xMC8xMG8w8G8xMG8xMG8xMC8w8C8w8C8xMG8xMG9w8G8xMG8w8G8xMC9w8G9 + wsC8wr+8wsC8wsC8wr+8w7+8w7+8w7+8wr+8wr+8w7+8w8C8w8C8wr+8wsC8w7+8w7+8w8C8w7+7w7+8 + w7+7w7+8w7+7w7+7xMC8w7+7w8C8w8C7w8C8xMC8xMC8w8C7xMC8w8C8xMC7w8C8xMC8xMC8w8C8w8C8 + w8C7w8C8w8C8w7+7w8C7xMC7w8C7wsC7w7+7wr+6wsC7w8C7wr+6w7+7w7+7w8C7w7+7w7+7w8C8w7+7 + w8C8w8C8w8C8w8C8wsC8wsC8wsC8wsC7wr+7wr67wr+7wr66wr66wr66wr67wr66wr66wr66wr+7wr+7 + wr+7wr+7wr+7wr+7w7+7w7+7w7+7wr66w7+7w7+7wr+6w7+6wr+7wr+6wr66wr66wr66wr+6wr67wr66 + wr66w7+7wr66wr66wr66wr66wr66wr66wr+6wr66wr+6wr66wr+6wr+6wb66wb+6wr66wr66wr66wr66 + wb25wb26wb65wr65wb25wb64wb24wb64wb64wb64wb24wL24wb24wb65wb24wby4wb24wLy4wb24wb24 + wb24wL24wby4wby4wby4wby4wby4wby4wb25wr25wb25wb25wby4wby4wb25wby4wLy4wby4wLy4wL25 + wLy4wb25wb25wLy4wLy4wLy4wL24wLy5wLy4v7y4wLy4wLu4wLu3v7u3v7u3wLy4wLy3wLy4wb24wLy3 + wLy3wLy3wb24wby3wLy4wby4wLy3wLy4wLu4v7u4v7u3v7u4v7u3v7u3v7u4v7q4v7q3v7u3vru3vru3 + vrq2v7q3vrq2v7u2vrq2vrq1vrq1vrq1vrq2vrq2vrq2vrq1vbq1vrq1vrm1vrm1vrm1vrm1vrm1vrm2 + vrm1vrm1vrm1vbq2vbm1vrm1vrm1vbm1vbm1vbm0vbm0vbm0vbm1vbm0vLm0vbm0vbm1vLi0vbi0vbi0 + vbi0vbm1vbm1vLi0vLi0vLi0vLi0vLizvLizvLizvLizvLi0u7ezu7izvLezvLe0u7ezvLezu7a0vLez + vLezu7eyurayurayurayurayurayurayureyurayurayurayurayurWyurayurayu7ayu7ayv7q3vrq2 + vru2vru2vru2vbu1vru2v7u2v7u2v7u2v7u2v7u3v7u3v7q3v7q3v7q3v7q3vru3vru3vrq2vrq2vrq2 + v7u2v7u2v7y3v7u3v7u3v7y4v7u3v7y4wLy4v7y4v7y4v724v724wLy4v7y4wLy4wLy4wLy5wLy5wLy5 + wby5wby5wby5wby5wLy5wby5wby5wL25wb25wb25wL25wL25wb25wL25wb65wb65wb66wb66wb26wb26 + wr27wb27wr66wr66wr66wr66wr66wb66wr66wr+6wb66wb66wb67wr+7wb66wr67wr67wr67wb+7wb67 + wb67wb67wb67wb67wr67wr67wr66wr66wr+6wr66wr+7w7+7wr+6wr+6w7+6wr+6wr+7w8C7w8C7w8C7 + w8C7w8C7w8C7w7+7w7+7wsC8wr+7wr+7wr+8wr+8wr+8w7+8wr67w7+7w766w7+7w7+7w7+7w7+7w7+7 + wr+6w7+7w7+6wr+6xL+7w7+7w7+6w7+6wsC7w8C8w7+8w8C8w8C8w8C8w8C8w8C8w8C8w8C9wsC8w8C9 + wsC9wsC9wsC8wsC9wsC9wr+8w7+8w7+8w7+8w7+8w7+8xL+8w8C8w8C8w7+8w8C8w8C8w7+8xMC8w8C8 + xMC8w8C8w7+8w8C8w8C8w8C8w8C8w8C8xMC8w8C8w8C8xMC8xMG8xMG8xMG9xMG8xMG8xMG8xMG8xMG8 + xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8w8G9xMG8xcG9xMG8w8C8xMG8xMC9xMC9w8C9xMC9 + w8C8xL+8wr+8w7+8wr67w7+8wr+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8wr+8w7+8w7+8w7+8w7+7xMC7 + w8C8w7+7xMC8w8C8w8C8w7+7xMC8w7+7w8C8w8C8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8w8C7w7+8 + w8C8w8C7w8C7xMC8w8C7w7+7w8C7w8C7wsC7wr+7w7+6w7+7wr+6w7+7w7+7w7+7w7+7w7+7w8C8w7+7 + wr+7w8C8w8C8w8C8w8C8wr+8w7+8w7+8wr67wr+7wr+7wr67wr66wr+7wr+6wr66wr66wr66wr66wr66 + wr+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7wr66wr66wr66wr66wr66wr66wr+6wr66wr66wr66wr66 + wr66wr66wr66wr66wr66wr66wr66wr66wr66wr66wr66wr+6wr+6wr66wr+7wr66wb66wr+6wr66wb26 + wr66wr66wr65wb65wb65wb64wb24wb24wb24wb24wb24wb24wr24wb24wb24wr25wb24wb24wb24wr24 + wb24wb24wby4wb24wby4wby4wby4wby4wb25wby4wby4wby4wby4wby4wby4wby4wby4wby4wby4wLy4 + wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4v7u4wLy4wLy4v7y4v7u4wLy4wLy3wLy4wLy3wLy4 + wLy4wLy4wLy4wLy3wLy4wLy4wLy4wLu4v7u5wLu4wLu4v7u3v7u4v7u3v7u3v7u4v7u3v7u3v7q3v7q2 + vrq3vru3vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq2vrq1vrm2vrm1vrm2vrm1vrm2vrm1vrm2 + vrm2vrm2vrm2vrm1vbm1vrq2vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm0vbi1vbm1vbm1vbi1 + vbi1vLi0vbi1vbi1vLi0vLi0vLi0vLi0vLi0vLi0vLi0vLizu7izu7izu7ezu7ezvLezvLe0u7azvLez + vLezu7azu7eyurayu7ayurayurayureyureyureyurayurayurWyurayurazurazu7ayu7ayv7u3vru2 + vbq2vru2vbu1vru2vru2vru2v7u2v7u3v7u3v7u3v7u3v7q3v7q3v7u3vru3vru3vrq3vru3vrq2vrq2 + v7q2v7u2v7u3v7u3v7u3wLy3v7y4v7y4v7y4v7y5v725v7y4v7y4v7y4v7y5wLy5wLy5wLy5wLy5wLy5 + wby5wby5wLy5wby5wby5wL25wb25wL25wb25wL25wb25wb65wb65wL65wb66wb65wb66wb66wr66wr67 + wr67wr67wb66wr66wr66wr26wr66wr66wr+6wr66wr66wr+6wb66wb67wr66wr+7wr67wr67wb67wr68 + wr+7wb+8wb67wb67wb67wr66wr66wr+6wr66wr+6w7+6wr+7w8C7wr+6w7+6wr+6w7+6w8C7wsC7w8C7 + w7+7w8C7w7+7w7+7wsC7wr+7w7+7w8C8w7+8w7+8w7+8w7+8w7+7w7+7xL+7w7+7w7+7w7+7w7+7w7+7 + w7+7w7+6w7+6w8C6w8C7wsC7wr+6w7+7w8C8w8C8wr+7w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C9 + wsC8w8C9w8C9wsC9wr+8wr+8w7+8w7+8w8C8w8C9w7+8xL+8w8C8w7+8w7+8xL+8xL+8xL+8w7+8xL+8 + w7+8w7+8xL+8w7+8xL+8xMC8w8C8xMC8xMC8xMC8xMC8xMC8xMG8xMG8xMC9xMG8xcG9xMG8xMG9xMG9 + xMG9xMC9xMC8xMG8xMG9xMG8xMC8xMG8xcG9xcG9xMG9xMC9xMC8xMC9xMC8xMC9xMC9xMC9xMG9w8C8 + xMC8w7+8w7+8wr+8w7+8w7+8wr+8w7+8w7+8w7+8wr+8w7+8w7+8w7+8wr+7w7+7w7+8w7+7w8C7w7+7 + w7+7w7+7w7+7w7+7xMC8xMC8xMC8xMC8xMC8xMC8xMG9xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8 + w7+7xMC8xMC8w8C7w8C7w8C7w8C7w7+7w7+7w7+7wr+6w7+7w7+7w7+7w7+7w8C7w7+7w7+8w7+7w8C7 + w8C8w8C8w8C8w7+8w7+8w8C8w7+8w7+7w7+8w7+8w7+7wr+6w7+7w7+7w7+6wr66wr67wr+7wr66wr+7 + wr66wr66w7+7w7+7w7+7w7+7w7+7w7+7wr66wr66wr66wr66wr66wr66wr66wr66wr66wr66wr66wr66 + wr66wr66wr66wr66wr66wr66wr66wr66w7+7wr66wr+6wr66wr+7wr+7wr66wr66wr66wb26wr66wb26 + wr66wb25wr65wb65wr64wb24wb64wb64wb24wb64wb24wb25wb64wr25wb24wr65wr24wr24wb24wby4 + wby5wr25wby5wb24wb24wby4wby4wby4wr25wb25wby4wby4wby5wby4wby4wby4wby4wby4wby4wby5 + wby4wLy4wLy5wLy4wLy4wLy4wLy5wLy4wLy4wLy5v7u4wLy4wLy4wLy4wLy4wLy4v7y4wLy4wLy4wLy4 + wLy4wLy4wLy4wLy4wby4wLy4wLu4wLu4wLu4wLu4wLu4v7u4v7u3v7u4v7u4v7u4v7u3v7u4v7u3vrq3 + vrq4vrq3vrq3vrq2vrq3vrq2vrq2vrq1vrq1vrq2vrq2vrq2vrq2vrq2vrm2vrm2vrm1vrm1vrm2vrm2 + vrm2vrq3vrq2vrq2vrq2vrq1vrq2vbm1vbm1vbm1vbm1vbm1vbm1vbm0vLm1vbm1vbm1vbm1vbi1vbi1 + vbi0vbi1vbm1vbi1vLi0vLi0vLi0vLi0vLi0vLi0vLi0vLi0vLi0u7izvLezu7izu7ezvLe0vLe0vLe0 + vLe0u7ezu7eyu7ezureyurayureyureyureyurayurayurayurWyurWyurWyurazu7ayu7ayv7u3vru2 + vru2vru2vbu2vru2vru2vru2v7u2v7u2v7u3v7u3v7q3v7q3v7q3v7u4v7u3vrq2vru2vrq2vru2v7u2 + v7q2v7q2v7u2v7u3v7u3v7u4v7y4v7y5v7y4v7y5v725v725v7y4wLy5v7y4wLy5wLy5wLy5wLy5wLy5 + wLy5wby5wby5wLy5wb25wb25wb25wb25wb65wL65wb65wb65wb65wL65wb66wb66wb66wb66wb66wr67 + wb26wr66wr66wr66wr66wr66wr65wr66wb66wb65wr66wb66wr66wr66wr66wr+7wr67wb+7wb+7wb67 + wb67wb67wb67wb67wr67wb67wr66wr+6wr66wr+7wr+6w7+7wsC6w7+6wr+6w7+7wr+6w7+7w7+7w7+7 + w8C7w7+7w7+7w8C8w7+7w7+7wr+7wr+7w7+7w7+8w768w7+7w767w7+7w767w7+7w7+7xL+7xL+7w7+7 + xL+7w8C7xMC7xMC7w7+6w7+6w8C7w7+7w8C7xMC8w7+7w8C8w7+7w8C8w8C8w8C8xMC8w8C8w8C8w8C8 + w8C8wsC8w8C9w8C8w8C8w7+8w8C8w7+8xL+8w7+8w7+8w7+8xL+8xL+8xL+8xL+8xL+8xL+8w7+8xL+8 + xL+8xL+8w7+8w7+7xL+8xL+8xMC8w7+7xMC8xMC8xMC8xL+8xMC8xMC9xMC8xMC8xMC8xcC9xcG9xcC9 + xMC8xMC8xcG9xMC8xMG9xMG9xMC9xMC8xcC9xcG9xcG9xcG9xMG9xcG9xMG9xcG9xcG9xMC9xMC9xMC8 + w7+8xMC8w7+8w7+8w7+8w7+8w7+8w7+8w7+7w7+7w7+7w7+8w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7 + w7+7w7+7w7+7w7+7xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8w7+8w8C8 + xMC8w8C7w8C7w7+7w8C7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7wr+7wr+7wsC7 + wsC8w8C8w8C8w8C8w8C8w7+8w7+8w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7 + w7+7w7+7w7+7w7+7w7+7wr67w7+7w7+7w7+7wr66wr66wr66wr66wr66wr67wr66wr66wr66wr66wr66 + wr66wr66wr66wr66wr67wr66wr67wr66wr67wr+7wb66wr66wr66wr66wr67wb66wb26wr66wr66wr66 + wr65wb26wr66wr65wb25wb65wb65wb65wb65wb65wb65wb65wb24wr25wr25wr65wr25wr25wr25wr25 + wb25wr25wb25wb24wb24wby5wby5wby4wby4wby4wb25wby5wby4wby4wby4wby5wLy4wby5wby4wby4 + wLy5wby4wLy4wLy5wLy4wLy5wLy4wLy5wLy5wLy4wLy4wLy4wLy4v7y4wLy4wLy4wLy4wLy4wLy4wLy4 + wLy3wLy4wLy4wLy4v7u3wLy4wLu4wLu4wLu4v7u4v7u4v7u4v7u4v7u4v7u4v7q3v7u3v7u4v7u4vrq3 + v7u3vrq2vrq2vrq2v7u3vrq3vrq2vrq2vru2vrq2vrq2vrq2vbq2vrq2vrm2vbq1vbq2vrm2vrm2vrm2 + vrm2vrm2vrm2vrm2vrm2vrq2vrm2vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vbm1vLm1vLi1vLi1vbi1 + vbi1vbi1vbi2vbm1vLi0vLm1vLm0vLm1vLm1vLi0vLi0vLi0vLi0vLi0vLe0vLe0vLe0vLe0vLe0vLe0 + vLezu7e0u7ezureyu7ayureyureyureyureyureyureyurayurayurayurayu7azurayurayv7u3vru2 + vbu2vru2vbq1vru2vru2v7u2v7u3v7u3v7q3v7q3v7u4wLu4v7u3v7u3v7u3vru2vru3vrq3v7u2v7u2 + v7q2v7u3v7u2v7u3v7u4wLu4v7y5v7y5v7y4vry4v725v725v7y5v7y5v7y4v7y5wLy5wb25wLy5wby5 + wLy5wby5wby5wb25wL25wb25wb25wb65wb65wb25wb65wb65wL65wL66wL65wb66wb66wb66wr26wb66 + wr67wr66wr66wr66wr65wr66wr66wr66wr+6wr+6wb65wr65wb+6wb66wr66wr67wr+7wr+7wb+7wr67 + wr67wb68wr68wr26wb26wr66wr66wr+6w7+6w7+7wr+6w8C7w8C7w8C7w8C7w8C7w7+7wr+7w7+7w7+7 + w7+7w8C7w7+7w7+7w8C7w7+7w7+7w8C8w7+8xL+8w767xL+7w7+7w766xL+7w7+6w7+6w7+7w7+7w7+6 + xMC7xMC7xMC7xMC7xMC7w7+7w7+7w8C7w8C7w7+7xMC8w7+7xMC8w8C8xMC8w8C8w8C7xMC8w8C8w8C8 + w8C8w8C9w7+8w8C8w8C9xMC8xMC8xL+8xL+8w7+8xL+8xL+8xL+8xL+8xL68w7+8xL68xL+8xL+8xL+8 + w7+8xL+8xL+8xL+8xL+8xL+8xL+8xMC8xL+7xMC8xMC8xMC8xMC8xMC8xMC8xcG9xMC8xMC8xMC8xMC8 + xcC9xMC8xcC9xMG8xcC9xMC8xcC9xMC8xcG9xcG9xcG9xcG9xcG9xcG9xcG9xcG9xMG9xcG9xcG9xMC8 + w8C8xMC9w7+8w7+8w8C7w7+7w7+8w7+7w7+7xMC8w7+8w7+8w7+8w7+7w7+7w7+7w7+7w7+7w7+7w7+7 + w7+7w7+7xMC8w7+7xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8w8C8xMC8xMC8xMC8xMC8xMC8xMC8xMC8 + xMC8xMC8w7+7w7+7w8C7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+8w8C7w7+7wr+7w8C8wr+8wr+8 + wsC7w8C8w7+8wr+8w8C8w7+8w7+7w7+8w7+7w7+7wr67w7+7w7+8w7+8w7+7w7+8w7+7w7+7w7+7w7+7 + w7+7w7+8w7+8w7+7w7+7w7+8w7+8wr67w7+7wr67wr67wr66wr66wr66wr66wr66wr66wr+6wr66wr66 + wr66wr66w7+7wr67wr67wr67wr67wr66w767wb66wr66wr+7wr+8wr67wr66wr27wb26wb26wr67wr66 + wr26wr65wb25wb25wr66wr65wr66wb65wr65wb65wb65wb65wb24wb25wb25wr25wr25wr65wr25wr66 + wr25wb25wb25wb25wb25wby5wby5wby4wby4wby4wb25wby5wby5wby4wby4wby5wLu4wby5wby5wLy5 + wLy5wLy5wby5wby5wby5wLy4wLy5wLy5wLy5wLy5wLy5wLy5v7u4v7y4wLy4v7y4wLy4wLy4wLy4wLy4 + wb25wLy4wLy4v7y4v7u4wLu5wLy5v7u4v7u5v7u4v7u4v7u5v7u4v7u4v7u4v7u4v7q3v7q3v7u4vrq3 + v7u3v7u3v7u3vru2vrq3vrq3vrq2vru2v7u3vrq2vru2vrq2vrq2vbm1vrq2vbm1vrq2vrm2vrm2vrm2 + vrm2vrm2vrq2vrq2vrq2vrm2vrq2vbq2vbq1vbq1vbm1vbm1vbq1vbq2vbm1vbq2vbm2vbm1vbm1vLi1 + vbm2vbm1vLi1vbm1vbm1vLi0vbm1vLi0vLi0vbm1vLi0vLi0vLi0vLe0vLi0vLi0vLe0vLi0vLi0vLi0 + vLezvLezu7ezu7eyureyureyureyureyureyureyureyurayurayurayurayureyurayurayv7y3vru2 + vru2vbu2vbu2vru2vru2v7u2v7q3v7u2v7u3v7q3v7u4wLu4v7u4vru3v7u3v7u2vru2v7q2v7u3v7q2 + v7u3v7u3v7q3v7u3v7u4v7u4v7u4v7y4v7y5vr25v725v7y5v7y5v7y5v7y5wLy5wby5wb25wb25wL25 + wb25wb25wb25wb25wb25wb66wb25wb65wb65wL65wL65wL65wL65wb65wb65wb66wr66wr67wr67wr67 + wr66wr66wr66wr66wr66wr66wr+6wr65wr+6wr+6wr65wr66wr66wr+6wr66wb66wr67wr67wr67wr67 + wr67wr68wr67wr27wb27wr66wr66wr66wr+6w8C7w7+7wr+7w8C7w8C7wr+6w7+7w8C7xL+7w8C7w7+7 + xL+8w8C7w8C8w7+7w7+7w7+7w8C8wr67w767w7+7w767w7+6xL+7w766w7+7xL+7xL+7xL+7w7+6xMC7 + xMC7xMC7xMC7xMC7w7+7w7+7w7+7xMC7xMC7xMC7w7+7w7+7w7+7w8C7xMC8w7+7xMC8xMC8w8C8w8C8 + w8C8w8C8w8G8xMC8w7+8w8C8xL+8xL+8xL+8w7+8xL+8w7+8xL+8xL+8xL+8xL+8xL+8xL+8xL+8w7+8 + w7+8w768xL+8xL+8xL+8xL+8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC9xMC8xMC9xMG9xMC9xMC9 + xcG9xMC8xMC8xMC8xcG9xMG9xcG9xMC9xcG9xcG9xcG9xMC9xMC8xcG9xcG9xMC9xcG9xMC9xMC9xMC9 + xMC8xMC8xMC8xMC8w8C8xMC8xMC8w7+7w7+8w7+7w7+8xMC8w7+7w7+8xMC8w7+7w7+8w7+8w7+7w7+7 + w7+7w7+8w7+8xL+8xMC8xMC8xMC8xMC8xMC8xMC8xMC9xMC8xMC9xMC8xMC8xMC8xMC8w7+7xMC9w8C8 + xMC8w8C8w7+8xMC8w8C8w7+7w7+7w7+8w7+8w8C8w7+7w7+7w7+7w7+7wr+8wr+8wr+7w8C8wsC8w7+8 + wr+8wr+7w7+9w7+8wsC8w7+7w7+7w7+8wr+7w7+7wr67w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+7w7+8 + w7+8w7+7w7+7w7+7w7+8w7+7w7+7w7+7wr67wr67wr67wr67wr66wr67wr66wr+6wr+7wr67wr+7wr67 + wr+7wr67wr67w7+7wr67wr+7wr+7wr+6w7+7wb+7wr67wr+7wb67wb66wb67wb66wr66wb26wb26wr66 + wr66wr66wr65wr66wr25wb65wr66wb25wb65wb65wb65wb65wr66wr66wr26wr65wr66wr25wr66wr65 + wr66wr26wr25wb65wby5wb25wr25wby5wby5wby5wby5wby5wby5wby5wby5wby5wb25wLy4wby5wLy5 + wby5wby5wLy5wLy5wLy5wLy5wLy5wLy5wLy5wLy5wLy5wLy4wLy4wLy4wLy4wLy4wLy4wL24wLy4wLy4 + wLy4wLy4v7y4wLy4wLy4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u4v7u3 + v7u4v7u3v7u3v7u3vrq3vru2vrq2vru2vrq2vrq2vrq2vru2vrq2vrq2vrq2vbm1vbm1vrm2vrm2vrm2 + vrq2vrq2vrm2vrq2vrq2vrq2vbm1vrq2vbm1vbq1vbm1vbq1vbm1vbq2vbm1vbm1vbm1vbm2vbi1vbi1 + vbm1vbm1vbq2vLm1vLm1vLm0vLm0vLm0vLm0vLm0vLm0vLm0vLi0vLi0vLi0vLe0vLi0vLe0vLi0vLe0 + vLe0u7ezu7ezu7iyurezureyureyureyureyureyureyureyurayureyurazurayurayurayv7y3vru2 + vru2vbu2vru2vru2v7u2vru3vrq2vrq3wLu4v7u4v7q3v7u4v7u3v7u3v7u3v7u3vry3v7u3vru3v7u2 + v7q2v7q3v7u3v7u3v7u3v7y4v7y4vry4v7y4vr25vr25v7y5v7y5wL25v725wL25wL25wL25wL25wb25 + wb25wb25wb25wb25wb65wb25wb25wb66wb65wb+5wL65wL65wb66wb66wb66wb65wr67wr26wr66wr67 + wr67wr66wr66wr65wr+6wr66wr65w766wr66wr65wr65wr65wr66wr66wr66wr66wb66wr67wr67wr67 + wr67wr27wr67wr26wb27wr67wr66wb66wr+7w7+7wsC7w8C7wsC7w8C7w8C7w7+7w7+6w8C7xL+7xMC7 + w7+7w7+7w8C8w8C8w7+8w8C8w7+7w768w7+8w767w767xL+7xL+7w766xL+7w7+6xL+7xMC6w7+6xMC7 + xMC7xMC7xMC7xMC7xMC6xMC7xMC7w7+7w7+7xMC7xL+8w8C7xMC8xMC8xMC8w8C8w8C7w8C8xMC9xMC8 + xMC8xMC8w8G8w8C8w7+8xMC8xL+8xMC8w7+7xL+7xL+7xL+7xL+8xL+8xL68xL+8w7+8xL+8xL+7xL+8 + xL+8xL+8xL+8xMC8xL+8xMC8xL+8xMC8xMC8xMC8xMC8xMC8xMC8xL+8xMG9xcG8xMC9xMG8xcC8xcC9 + xcC9xMC8xcG9xMC9xcG9xcG9xMC9xMC8xMC8xMC9xcG9xcG9xcG9xcG9xcG8xcG9xMC9xMC8xMG9xMC8 + xcG8w7+8xMC8w7+7xMC8w8C8w7+8xMC8w7+8w7+7w7+7w7+7w7+8xMC8w7+7w7+8w7+7w7+7xMC8w7+8 + w7+8w7+8xMC8w7+8w7+7xMC8xMC8w7+9xMC8xMC9xMC8xMC9xMC9xL+8xMC9w7+8xMC8xMC9xMC8w8C8 + xMC8xMC9xMC8w7+8w8C8xMC8w8C8w8C8w7+7w7+7w7+7w7+8w7+8wr+8w8C9w8C9wr+8wr+9w8C9w7+8 + w8C9w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8 + w7+8w767w7+7wr67wr67w767wr67w7+8wr+7wr67wr+6wb66wr66wr66wr67wr67w7+8wr+7wr67wr+7 + w7+7w7+8wr67wr67wr67wr+7wr+6wr+8wr+8wr+7wb67wb67wb67wb27wb66wr66wr67wr67wr66wb26 + wb66wb65wr66wr66wb25wr66wr66wr66wr66wr26wb65wr66wr+6wr66wr66wr66wr26wr66wr26wb25 + wr26wb25wr26wby5wb25wb25wby4wr26wr26wby5wb25wby5wby5wby5wby5wby5wLy4wby5wby5wLy4 + wby5wL25wby5wby5wb25wLy5wLy5wLy5wLy5wLy4wLy5wLy4wLy4v7y4v7y4v7y4wLy4wLy4wL24wL24 + wLy4wby4wLy4wL24v7y4v7u4v7u4v7u4v7u4v7u4v7q3v7u4v7u4wLy4v7u4v7u4v7u4v7u4v7u4v7u4 + v7u3v7u3vru3v7u3vru2vru2vrq2vru2v7u3vru2vrq2vru3vru2vrq2vrq2vrq2vrm2vrm2vrm2vrm2 + vrq2vrq2vrq2vrm2vrq2vrm2vrq2vbq1vrq2vbq1vbq1vbm1vbq2vLm2vbq1vbq2vbm1vbm1vbm2vbm2 + vbi1vbi1vbm1vbq2vbm1vbm1vLm0vLm1vLm0vbm1vLm1vLm0vLm0vLm1vLi0vLi0vLm1vLe0vLi0vLi0 + vLi0u7izu7izu7eyu7eyureyureyureyu7eyureyu7ezureyureyu7ayu7eyureyurayurayvry3vbu2 + vbu2vbu2vru2vrq2v7u2vrq2v7q3v7q3v7u3v7q4v7q3wLu4v7u3v7y3v7u3vru3v7u3v7u3vru3v7u3 + v7u3v7u3wLu3v7u3v7u3v7u4v7y4v7y4v7y5v7y5v7y5v7y5v7y5v725v726wL25wb25wb25wb25wb25 + wb25wb25wb25wb25wb25wb65wb66wb66wb65wb65wb65wL65wb65wb66wr66wr26wr66wr26wr66wr66 + wr66wr66wr66wr66wr66wr66wr65wr65wr65wr65wr65wr66wr65wr66wr65wb66wr66wr67wr67wr67 + wr67wr27w767wr66wr26wr67wr66wr66wr66wr+7wsC7wsC7w8C7w8C7wr+7w8C7w7+7w8C8w8C7w7+7 + w7+7w7+7w8C8w8C8w8C8w7+8w7+7w7+8w767w767w767w7+6w7+6w7+6w7+7xL+7xL+7xL+7xMC7xMC7 + xMC7xMC7xMC7xMC7xMC7xMC7xMC7xMC8w7+7w7+8w7+8w8C8xMC8xMC8xL+8w8C8xMC8w8C8w8C8w8C8 + w8C8w8C8w8C8w8C8xMC8xMC8xMC8xL+8xL+7xL+8xL+8xL+8xL+7xL+7xL+8xL+7w7+7w7+8w7+7xL+7 + xL+8xL+7xL+8w7+8xMC8xMC8xMC8xMC7xMC8xMC9xMC8xMC8xMC8xMC8xMC8xMC8xMG9xcG9xcC9xcG9 + xMC9xMC8xcG8xcG8xcG9xMC9xMC9xMC9xMC8xcG8xcG9xcG9xcG9xcG9xMC9xMC9xMC8xMC9xcG9xMC8 + xMC8xMC8xMC8xMC8w8C8xMC8w8C8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+7w7+8w7+8w7+8xMC8xMC9 + w7+8xMC8xMC9w7+8xMC8w7+8xMC8xMC8xMC9xMC8xMC9xMC9xMC9xMC9xMC9xMC9w8C8xMC9xMC8xMC9 + xMC8xMC8xMC8xMC9w7+8w8C8w7+8w8C8w7+8w7+8w7+8w8C9wr+8w8C8wsC8wr+9wr+8wr+8w7+8w7+9 + w7+8w7+8w7+8w8C8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8w7+8 + w7+7w7+8w7+8w7+8wr+7w7+7w767wr+7wr+7wr+7wr+7wr+7wr67wr+7wr+7wr+7wr67wr67w7+7w7+7 + wr+7wr+7wr+7w7+7wr+7wr+7wr+7wr+7wr67wb67wb67wb67wb27wr27wb67wr66wr66wr66wr66wb66 + wr66wb66wr66wr66wr66wb66wb65wr66wr66wb25wr66wb65wr66wr66wr66wr26wr66wr66wr66wr26 + wr26wr26wb25wb25wb26wb25wby5wb25wb25wby5wby5wby5wby5wby5wby5wLy4wby5wby5wLy4wby5 + wby5wby5wLy5wb25wL25wL25wLy5wLy5wLy5wLy5wLy5wLy5wLy4wLy5wL24wLy4wLy4wLy4wLy4wLy4 + wLy4v7y4v7y4wLy5v7y4v7y4v7y4v7u4v7u4v7u4v7u3v7u4v7u4v7u4v7u4v7y4v7y4v7y4v7y4v7y3 + v7y3v7u3vry3v7u3vru3v7u3vru2vru2vru2vru2vru2vru2vru2vrq2vrq2vbq1vrq2vrq2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vbq1vbq1vbq1vbq1vbq2vrq2vbq1vbq1vbq2vbm1vbm1vbm1 + vbm1vbm1vbq1vbm1vLq1vLm0vLm0vbq1vLm0vLq1vLm1vLm1vLi0vLi0vLi0vLi0vLi0vLi0vLi0vLi0 + vLi0vLi0u7izu7eyu7izureyureyureyu7eyurizureyureyureyurayurezurayu7ayurayv7y3vbu2 + vrq2vbq2vru3vrq2vru3v7q3v7q2v7q3v7q4wLq4v7u4v7u4v7u3v7u4v7u3v7u3v7y3v7y3v7u3v7y3 + v7u3v7y3v7u3v7u4v7u4v7y4v7y4v7y4v7y4vr25v725v7y5v7y5wL25v725wL25wL25wL25wb25wb25 + wb25wb25wb25wb25wb25wb25wb25wb65wb65wL65wb65wL65wb65wb66wr66wr66wr66wr66wr66wr66 + w766wr26wr66wr66wr65wr65w7+6w7+6wr65wr66wr65wr65wr66wr66wb+6wr67wr+6wr66w767wr67 + wr67w767w767wr26wr67wr66wr67wr66wr67wr66w7+7wr+7wsC7w7+7w8C8wsC7w8C7w7+7wr+8w8C8 + w8C8w8C8wr+8wr+7wr+8w7+8wr67w7+7w767w768xL+7w767xL+7w7+7w7+6xMC7xMC8xL+7xMC8xMC7 + xMC7xMC7xMC8xMC7xMC7xMC7xMC8w8C7xMC8xMC8xMC7w7+8xMC8w7+8xMC8w7+8xMC8xMC8xMC9w8C9 + w8C8w8C9xMC8w8C8w8C8xMC7xMC8xL+7xL+8xL+8w7+8xL+8xL+8xL+8xL+7xL+7xL+8w7+8xL+8xL+7 + xL+8xL+8xL+8xL+8xMC8xMC8xMC8xcC9xMG9xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG9xMC8xcG9 + xcC9xMG8xcG9xcG9xcG9xMC8xcG8xMC9xMG9xMC8xcG8xMC8xcG9xMC9xMG8xMC9xMC9xMC9xMC9xMC8 + xMC9xMC9xMC8w8C8w8C8w8C8xMC8w7+8xMC9xMC9xMC8xMC8xMC9w8C8w8C8xMC8w8C8xMC8w7+8w8C8 + xMC9w7+8xMC9xMC8xMC9xMC8xMC8w8C8xMC9xMC9xMC8xMC9xMC8xMC9xMC9xMC9xMG9xMC9xMC9xMC9 + xMC9xMC9w8C9xMC9xMC9w7+8w8C9wr+8xMC9w8C8wsC9wr+8wsC8wr+8w7+8wr+8w7+8w7+9w7+9w7+8 + w8C8w7+8w7+8w8C7w7+7w7+8w7+8wr+8w7+8w7+8w7+8w7+8wr+8w7+8w7+8w7+8w8C8w7+8w7+8wr67 + w7+8w7+8wr+8wr+8wr+7w7+7w7+8wr+7w7+8wr+7wr+7wr67wr+7w7+8wr+7wr+7w8C8w8C7w7+8w7+8 + w8C8w7+8wsC7wr+7wr+8wb+7wb+7wr+8wr+7wb67wr+7wr67wb67wb27wr67wb66wb26wr26wr66wr+7 + wb66wr66wr65wr66wr66wb65wr66wr66wb25wr66wr66wb65wr66wb65wb25wr66wr66wr66wr66wr26 + wr66wb26wr66wr66wb25wb25wb25wb25wb25wby5wb26wb25wb26wb25wby5wLy5wLy4wb25wby5wby5 + wLy4wby5wby5wby5wL25wb25wLy5wLy5wL25wL25wL24wLy4wLy5wLy5wL24wL25wL24wL24wLy4wLy5 + wL24wL24v7y4v7y4v7y4wLy4v7u3v7u4v7u4v7u4wLu4v7u4v7u4v7u4v7y4v7u4v7y4v7y4v7y4v7u4 + v7y4v7y3v7y3v7y3v7y3vru3v7u3vru2vru2vru2vru2v7y3vru2vrq2vrq2vrq2vrq2vrq2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq2vbq1vrq2vbq1vbq1vru2vbq2vbq1vbq1vrq1vbq2vbq2vbm1vbm1vbm1 + vbm1vbm1vbm1vbq1vLm0vLq1vLm0vLm0vbq1vLm0vLm0vLm0vLm1vLi0vLi0vLi0vLi0vLi0vLi0vLi0 + vLi0vLi0vLizu7iyurizurizurizu7iyureyu7eyurezu7ezu7ayurezu7ayu7ezurezu7ayv7y3vru2 + vrq2vrq2vrq3vrq3v7q3vrq3v7q3v7u3v7q4v7q4v7q3v7u3wLy4wLy4v7y3v7u4v7y3v7u3v7y3wLy3 + v7u3v7u3v7y4v7y4v7y4v7y4v7y4v7y5v7y4v7y5v7y5v7y5v726wL66wL25wLy5wb25wLy5wb25wb25 + wb25wb25wr25wr25wr25wb65wb66wb+6wb65wb65wb65wb65wb66wr66wr26wr66wr26wr66wr26wr66 + wr66wr66wr66w766w7+6wr65wr65wr65wr66wr65wr66wr65wr66wr66wr66wr67wr67wr67w767wr67 + wr67w767wr67wr66wr26wr66wr67wr66wr+7wr+8wr+7w7+7w8C7w8C7w8C8w8C8w8C8wsC7w7+7w8C8 + w8C8w8C8w7+8w8C8w7+7wr+8wr68wr68w7+7w768w767w7+7w7+7w7+7w7+7xL+7xMC7xMC7xMC7xMC8 + xMC8xMC8xMC7xMC8xMC8xMC7xMC8xMC7xMC8xMC8w8C8xMC8xMC8xL+8w8C8w8C8w8C8w8C8xMC9w8C9 + w8C8w8C9xMC8xMC8xL+8xMC8xL+8xMC8xL+8xL+8xL+8xL+8xL+8xL+8xL+8xL+8xL+8xL+8xL+8w7+7 + xMC8xL+8w7+8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG9xMC9 + xcG9xMG9xMC9xMC8xMC9xMC9xMC9xcG9xMC8xMC9xMC9xMG9xMG8xcG9xMC9xcG9xMC9xcG9xMC9xMC9 + xMC8xMC9xMC9xMC9xMC8w8C8xMC9xMC8xMC8xMC8xMC9w8C9xMG9w7+8w7+8xMC9xMC9xMC8xMC9xMC8 + xMC9xMC9xMC9xMC9xL+8xMC9xL+8xMC9w8C8xMC9xMC9xMC9xMG9xMC9xMC9xMC9xMC9xMG9w8C9xMC9 + xMC9xMG9w8C9w8C8w8C9w8C8w8C9w8C9wsC9wsC9w7+8wr+9wr+8w7+9wr+9w7+9w7+8w7+8w8C8w8C9 + w7+8w8C8w7+8w8C7w7+8w7+8w7+8w7+8wr+8wr+8wsC7wr+7w7+8w7+8w8C8w8C8w7+8w8C8w7+8w7+8 + w7+8w7+8w8C8w7+8wr+7w7+8wr+8w7+8w7+8wr67wr+7wr+7wr+8wr+7wr+7w7+8w8C8wsC7w8C8w8C8 + w8C8w8C8wsC7wsC7wsC8wb+7wr+7wb+7wr+8wr+7wb67wb67wb66wr67wb66wr67wb66wr66wb66wr66 + wr66wr66wr66wb66wb66wr66wr66wr66wb65wb65wr25wr66wb65wr66wr66wr66wr66wb65wr26wr66 + wb65wr26wb25wb25wb25wr26wb25wb25wr26wb25wb25wb25wb25wb25wL24wb25wb25wLy4wb25wb25 + wb25wLy4wb25wb25wb25wL25wLy5wL25wLy5wL25wL25wL25wL25wLy4wLy4wL24wL24wL24v7y4v7y4 + wL24wLy5v7y4wLy4wLy4v7y4v7y4v7y4v7u4v7u4v7u4v7u3v7u4wLu4v7y4v7y4v7y4v7y4v7y4v7y4 + v7y3v7u3v7y3v7y3v7y3vru2v7u2vru2vru2vru2vru2vru2vru2vrq2vrq2vrq2vrq2vrq2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq2vru2vbq1vrq2vbq1vrq1vbq1vbq2vbq1vbq2vbq1vbm1vbq2vbq2vbm1 + vrq2vbm1vbm1vbq1vLq1vLq1vLq1vbm0vLm0vLm0vbq1vLm0vLi0vLi0vLi0vLm1vLi0vLi0vLm1vLi0 + vLi0vLizu7izu7izu7eyu7izu7eyu7eyu7izu7ezu7eyu7ezu7ezu7ayu7ezu7ezu7eyu7eyv7u3vbq2 + vrq2vrq2vrq2vrq2vru4vrq2v7u3v7u4v7u4v7u4wLu4v7u3v7u4wLy4v7y3v7y3v7y3v7y3v7y3v7y3 + v7y3v7y3v7y3v7y4v7y4v7y4v7y4v7y4v7y5wLy5wLy4wLy5wL25wL25wL25wL25wL25wb25wby5wby5 + wb25wb25wb25wb25wr25wb65wb65wb65wb65wb65wb65wb65wb65wb25wr66wr66wr26wr26wr66w766 + wr66wr66wr66wr65wr66wr+5wr+6wr65wr65wr65wr65wr66wr66wb66wb66wr67wr67wr67wr67wr67 + wr67w767wr67wr66wr66wr66wr66wr+7wr66wr+7w767w7+7w7+8w7+7w8C8w8C8w7+8wr+7w8C8w7+8 + w8C8w7+8wr+8wr+8wr+8wr+7wr+8w7+8w768wr67w7+7w7+7w7+7xL+7xMC7w7+7xMC8xMC8xMC8xMC8 + xMC8xMC8xMC8xMC8xMC8xMC7xMC8xMC8w8C8xMC8w8C8xMC8xMC8w8C8xMC8w8C8xMC9w8C8xMC9w8C9 + xMC8w8C9w8C8xMC8xMC8xMC8xMC8xMC8xMC8xL+8xL+8xL+8xL+8xL+8xL+8xMC8xL+8xL+8xL+8w8C8 + w8C8xMC8xMC8xMC8xMC8xMC8xMG8xMG8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG8xMC9xMG8xMG9xMG9 + xMC8xMG8xMC8xMG8xMC8xMG8xMC9xMG8xMG8xMC9xMG9xMC9xcG9xcG9xMG9xMG9xMG9xMG8xMC8xMG9 + w8C9xMC9xMC9xMG9xMG9w8C8xMC9xMC9xMC9w8C8xMC9xMG9xMC9xMC9xMG9xMC9xMC9xMC9xMC9w8C8 + xMC9xMC8xMC9xMC9xMC9xMC9xMC8xMC9w8C8xMC8xMC9xMC9xMC9xMC8xMC9xMC9xMC9w8G9w8C9w8C9 + w8C9w8C9w8G9w8C9w8C8wsC8w8C9wsC8w8C9wsC8w7+9w7+8w7+8w7+9w7+9w8C8w7+8w8C8w7+8w8C8 + w7+8w7+8w7+8w8C8w8C8w8C8w8C8w7+8w7+8w7+8wr+8w7+8w7+8w8C8w8C8w7+8w7+8w7+8w7+8w7+8 + wr67wr+7wr+7wr+7wr+7w8C8wr+7wsC7wr+7w8C8w7+8w7+8wr+7w8C8w7+7w7+8w8C8w8C8w8C8w8C8 + w8C8w8C8wsC8wsC8wsC8wr+7wsC7wr+7wr67wb67wr67wb67wb66wb66wr+6wr66wr66wb66wr+6wb66 + wr+6wr66wr+6wr66wr+6wb+5wb66wr65wb66wr+6wb65wb65wb65wb65wb66wr+6wr66wr66wb65wb65 + wr66wb25wb65wb25wb25wb25wr65wb25wb25wb25wr66wb25wb25wb25wb25wb25wb25wb25wb25wb25 + wb25wb25wb25wb25wL25wb25wL25wb25wL25wL25wL25wL25wL25wL25wL25wL24wL24wLy4wb25wL24 + wL24wL25v7y4wLy5v7y4wLy5v7y4v7y4wLy4v7u3v7u3wLy4v7u4v7y4v7y4v7y4v7y4v7y4v7y4v7y4 + v7y4v7y3v7y3v7y3vru2v7u3v7y2v7u2v7u2v7u2v7u2v7u2vrq2vrq2vrq2vrq2vrq2vrq2vrq2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq2vrq1vbq1vrq1vru2vrq1vbq1vbq1vrq2vrm1vrm1vrm1vbm1 + vrm1vbm1vbm1vbm1vLm0vLm0vbm0vbq1vLm0vbm0vbm0vbm1vLm0vbm1vbi0vLi0vbi0vLi0vbi0vLi0 + vLi0vLi0vLi0u7izu7izu7eyu7izu7izu7eyu7eyu7ezu7eyvLezvLezu7ezu7ezu7ayu7eyvru3vrq3 + vrq3vrq3vrq4vru3vrq3v7u4vru3vru2v7q3v7u4v7u4v7y4v7u4wLy4v7y4v7y4v7y4v7u3wLy3v7y3 + v7y3v7y4v7y3v7y4v7y4wLy4v7y4wLy5wLy4wL25wL25wLy4wL26v725wLy4wL24wL25wL25wb25wb25 + wb25wb25wb25wb65wb25wb65wb65wb65wb65wb+6wb65wb66wr66wr26wr26wr67wr26wr26w766w766 + w766w767wr66wr66wr+6wr65w766wr66w7+6wr+6wr66wr66wr66wb66wr66wr67w767wr67wr27w767 + w767w767w766wr66w7+7wr66wr66wr+7wr67w7+7w7+7w7+6w8C8w7+8w7+8w8C8w7+7wr+8w8C9w8C8 + w8C8w8C8wr+8wb+8wsC8wr+8wr+8w7+7w768wr+7wr+7w7+7w7+7xL+8xMC7xMC7xMC8xMC8xMC8xMC8 + xMC8xMC8xMC8w8C7xMC8xMC9xMC8xMC8xMC8xMC9xMC8xMC8xMC8w8C9xMC8xMG9w8C9xMC9w8C9xMC9 + w8C8w8G9xMG8w8C8xMC8xMG8w8C8xMC8xMC8xL+8xL+8xMC8w7+8xMC8xL+8w7+8xL+8xMC8w7+7xL+8 + xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG8xMC8xMC8xMG8xMC8xMC8xMG8xMG9xMC8xMC8xcG9xMG8xMG8 + xMG8xcG9xMG9xMG9xcG9xMG8xMG9xcG9xMG9xMG9xMG9xcG+xMG9xMG9xMG8xMG9xMC8xcK9xMC9xMC9 + xMC9xMC8xMG9xMC8xMG8xMC9xMC9xMC8xMC8xMC9xMC9w8G8xMC9xMC9xMC9xMG9w8C8xMG9xMC9xMC9 + xMG9w8C8w8C8xMC8xMG9w8C8xMC8w8C8xMC9xL+8w8C8w8C8w8G9xMG9xMC9w8C9w8G9w8C9xMG9xMG9 + xMG9w8C9w8G9wr+8wsC9w8C9w8C9wsC8w8C9w8C8w8C9w8C9w7+8w7+8w7+9wr+8w8C9w8C8w8C8xL+8 + w8C8w8C8wr+7w7+8w8C8w8C8wsC8wr+7wr+7w7+8w8C8w8C8wsC7w8C8w8C8w8C8w8C8w8C8w8C8w7+8 + w7+7wr+7w7+7wr+7wr+7w8C8wr+8wr+7w7+8w7+7wr+7w7+8w7+8w8C8w8C8w8C8w8C8w8C8w8C8w8C8 + wsC8w8C8w8G8wsC8wsC8wsC8wsC8wb67wb67wr+7wr+7wr67wb67wr+6wr66wb66wb+6wr+6wr+6wr+7 + wr+6wr+6wr+5wr+6wr66wb+6wb+5wr66wr66wr+6wr66wb65wr66wr+6wb+6wb65wr66wb65wb25wb25 + wr66wb25wr66wb65wb65wby5wr65wb25wb25wr66wr25wr66wb66wb66wb65wb25wb65wb25wb25wb25 + wb25wb25wb25wb25wL25wb26wL65wL25wb25wL25wb65wL25wb24wL25wb24wL24wL25wb24wL24wL25 + wL24wLy4wLy4wLy5v7y4wLy4wLy4wLy4wLu4v7u3v7y4v7u4wLy4v7y4wLy3v7y4v7y4v7y4v7y4v7y4 + v7y4v7y4v7y3v7y3v7y3v7u2vru2vru2vru2v7u2v7u2v7u2v7u3v7u3v7u3v7u3v7q2vrq2v7q2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq2vbq1vrq1vrq1vbq1vru2vru2vrq2vbq1vbm1vrq2vrq1vrq1vbm1vrq2 + vbm1vbm1vrq2vbm1vbm1vbm0vLq0vLq0vbq1vbm0vLq1vbm1vbi0vbm1vbi0vLi0vbi0vLm1vbi0vbi0 + vLi0vLi0vLi0u7izvLizvLizvLizu7eyu7izvLizu7ezurayu7ezvLezvLezu7ayvLezu7ezv7u4vrq2 + vbu3vbq3v7q3vru3vrq2v7u3v7u3v7q3v7u3wLu4wLy4wLu4v7y3v7y3wLy4v7y3v7y3v7y3v7y3v7y3 + v7y3v7y3wLy4v7u3wLy4v7y4wLy4wLy4wLy4wLy4wL25wL25wL25wb25wL24wL25wb25wb25wb25wb25 + wb25wb25wb25wb65wb25wb66wb66wb65wb66wb65wb66wb66wb66wr26wr26wr66wr26wr26wr26wr26 + w766w766wr66w766w7+6wr66wr66w7+6wr66wr66wr66wr66wb66wr+7wr66wr67wr67wr67w767wr67 + wr67w766w766w766wr66w766w767w766w7+6w7+7w7+7w7+7w8C8w7+8w7+8w7+8w7+8w7+8w8C8w7+8 + w8C8wr+8wsC8wr+8wr+8wsC8wr+8wr+8wr+7w7+8w7+7xMC8w7+7w7+7w7+7xMC7xMC8xMC8xMC8xMC8 + xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC9xMC8w8C8w8C8xMC8xMC8xMC9w8C9w8C8w8C9w8C9xMC9xMC9 + xMC9xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xL+8xL+8xMC8xL+8xMC8w8C8xMC8xMC8xMC8 + xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMG8xMG8xMC8xMG8xMG8xMG8xMG8xMG8xMG8xcG9xcG8xcG9xMG8 + xMG8xMG8xMG9xMG8xcG9xMG9xMG9xMG9xMG9xcG9xcK9xMG9xcG9xMG9xMG9xMG9xMG+xMG9w8G9xMG9 + xMG9xMG9xMC9w8C8w8C8xMC9xMG9xMG9xMC9xMC8xMG9xMC9xMG9xMG9xMC9xMG9xMG9xMC9xMC9xMC8 + xMG9xMC9w8C8xMC9xMC8xMC9xMC8w8C8xMC8xMC9xMC9w8C8xMC9w8G9xMG9w8C9w8G9w8G9w8G9w8C9 + w8C9w8C9w8C9w8G9w8C9w8C8w8C9w8C8w8C8w7+8w7+8w8C8w8C8w7+8w8C8w8C8w8C8w8C8w8C8xMC8 + w8C8w8C8w8C8w7+8w8C8w8C8w7+8w8C8w8C8w8C7w8C8w8C8w8C8w8C8w8C8w8C8w8C8wr+7w7+8w7+7 + w7+7w7+7w7+7w7+7w8C7w7+7w8C8w8C8wr+8w8C8w8C8wsC8w7+7w8C7wr+7w8C8w8C8w8C8w8C8w8G8 + w8C8wsC8wsG8wsC8wsC8wr+8wr+8wr+8wr67wb67wr67wb66wr66wb66wb66wr66wr66wr+6wr66wr+6 + wr66wr+6wr+6wr+6wr+6wr+6wb66wr65wb+6wr+6wr+5wr66wb65wb65wb65wr66wr66wr+6wr66wr66 + wb65wb65wb25wb65wb25wr25wb25wb25wb25wb25wr25wb25wr66wb25wb65wb25wb25wb65wb25wb25 + wb25wb25wb65wb25wL25wb65wL65wb25wb25wb65wL65wL25wb25wL25wL25wb64wL24wb24wL25wL24 + wL24wL25wLy4wLy4wLy4wLy4wLy4v7u4wLy4wLu4wLu3v7u3v7y4wLy4v7y4v7y4v7y4wL24v7y4v7y4 + v7y4v7y3v7y3v7y3v7y3v7y3v7u2v7u2v7u2v7u2v7u2v7u2vru2v7q2v7q2vrq2v7q2v7q2v7q2vrq2 + vrq2v7q2vrq2vrq2vrq2vrq2vbq1vrq1vru2vrq1vrq1vrq1vru2vrq1vrq1vrq1vrm1vbm1vrm1vbm1 + vrm1vbm1vbm1vbm1vbm1vbm0vbq1vbm0vbq1vbq1vbm1vbm0vbm0vbi0vbi0vLi0vbi0vbi0vbi0vLi0 + vLi0vLi0vLizu7izvLizu7izu7izu7izu7izu7eyu7ezu7ezu7ezu7ezvLezvLezvLezu7izv7u4vrq3 + vru3vru4vru3vrq3vrq3v7q2vru3v7u3wLu3v7y4wLu4wLy4v7y3v7y3wLy4v7y4v724v7y4v7y3v7y3 + v7y3v7y3wLy4wLy4wLy4wLy4wLy4v7u4wLy4wb25wb25wL25wL25wb24wb24wb24wb25wb26wby5wb25 + wb26wb26wb26wb26wb65wL66wb66wb66wb66wr66wr66wb26wr66wr66wr66wr66wr66wr66wr66wr26 + w766wr66w766w7+6wr66w766wr+6wr+6wr66wr66wr+6wr+7wr66wr66wr67wr67w768wr67wr27wr67 + w767wr67wr66w766wr67wr66wr66wr66wr67w7+6w7+7wr+7w8C7w7+8w8C8w7+8w7+8w7+8w8C9w8C8 + wsC9wsC8wsC9w8C8wr+8wr+8wr+8w7+8wr+8wr+7w7+8w7+7wr+7w8C8xL+8xMC8xMC8xMC8xMC8w8C7 + xMC8xMC8xMC8xMC8xMC8xMG8xMG8xMC8xMC9xMC8xMC9w8C8w8C9w8C8xMC9xMC9w8G9w8G9w8G9xMC9 + xMC9xMC8xMC8xMC8xMG8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8 + xMC8xMC8xMG8xMG8xMC8xMC8xMG8xMC8xMC8xMC8xMC8xMG8xMC8xMG8xcG9xMK8xMG8xMK8xcK9xMG8 + xMG9xcG9xMG9xMG9xcK9xcG9xMG8xcK9xMG9xMG+xcK+xcK9xcK+xMG9xMG9xMG9xMG9xMG8xMG+xMG9 + xMG9xMG9w8G9w8C8w8C8xMC8xMC9xMC8w8C8xMG8xMC9xMC9xMG9xMG9xMG9xMG9xMG9xMG9xMG9xMG9 + xMG9xMG9xMG9w8C8xMC8xMG9xMC8xMC8xMC8w8C8xMG9w8C8xMG9w8G9w8G9w8G9w8G9w8K9xMG+w8C9 + w8C9w8C9w8C9w8C9w8C9w7+8w8C9w8C9w8C8wsC9w7+8w8C8w8C8w8C8w8C9w8C8w8C8w8C8w8C9w8C8 + w8C8w7+7w8C8w8C8w7+7w8C8w8C8wr+8w8C8w7+7xMC8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C7w8C8 + wr+7wr+7wr+7w8C8w8C8w8C8w8C8wsC7w8C8w8C8w8C8w8C8wr+7w7+7w8C8w8C8w8C8w8C8w8C8w8G8 + w8G8wsG8wsC8wsG8wr+8wr+8wr+8wr68wr67wr+7wr+7wr67wr+7wr+6wr+7wr67wr+6wr+6wr+7wr+6 + wr+7wb66wr+6wr66wr+6wr66wr+6wr+6wr+6wb65wr66wr66wr66wb65wb65wr66wr65wr65wr66wb65 + wr65wr66wb65wb25wb25wb25wr25wr25wr66wr66wb25wb25wb65wr65wb25wb66wb65wb66wb25wb65 + wb65wL25wb65wb25wb66wb65wb65wb25wb65wL25wb25wL25wb65wL25wL25wb24wL24wL24wb24wb25 + wLy5wLy4wLy4wLy4wLy5wLy4wLy4wLy4wLu3wLy4wLy4wLu3wLy4v7y4wLy4v7y4v7y4wLy4v7y4wLy4 + v7y4v7y3v7y3v7u3v7y3v7u3v7u2v7u2v7u2v7u2vru2v7u2v7u2v7u2v7q2v7q2v7q2v7q2v7q2vrq2 + vrq2vrq2vrq2vrq2vrq2vrq1vrq2vrq2vrq1vrq1vrq1vru2vrq1vrq2vrq2vbq2vrm1vrm1vrq2vrm1 + vbm1vrm1vbm1vbq1vbq2vbm0vbq0vbm0vbm0vbq1vbm1vLm0vbi0vbi0vLi0vLi0vLi0vbi0vLi0vLi0 + vLi0vLizvLizvLizu7ezvLizu7izvLizu7eyu7eyu7ezvLezvLezvLezvLezu7eyu7ezu7eyv7u4vbq3 + vrq3vrq3vrq3vru3vru2v7u3v7u3v7u3v7u3v7u3wLy4wLy4wLy4wLy4wLy4v7y3v7y3v723v7y3v7y3 + wLy3v7y3wLy4wLy4wLu4wLy4wLy4wLu4wLy5wLy5wL25wb25wb24wb25wL24wL24wb25wb25wb25wby5 + wby5wb26wb26wb26wb66wb66wb66wb66wL66wb66wb66wb66wb66wr66wr66wr66wr66wr66wr26wr66 + w766wr66w766w7+6w7+7wr66wr+6w7+7wr+6wr+6wr+6wr+6wr+7wr67wr67wr68wr68wr68wr68w768 + w767w767wr67w767wr67w7+7wr+7wr+7w7+7wr+7wr+7w7+7w7+6w8C8w7+7w8C8xMC8w7+9w7+9w7+9 + w7+9w8C9wr+8wr+9wr+8w7+9wr+8w7+8wr+8wr+7wr+7w8C8w8C8w8C8w8C7w8C8w8C8xMC8xMG8xMC8 + xMC8xMG8xMG8xMG8xMC8xMG8xMG8xMG9xMG9xMG9xMC9xMC9xMC9xMG9xMC9w8C9xMG9w8G9w8G8w8C8 + xMG9xMG8xMG8xMC8xMC8xMC8xMC9xMG8xMG8xMG8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8xMC8 + xMC8xMC8xMG8xMG8xMG8xMC8xMG8xMC8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xcG9xMG8xMG9xcK9xMK9 + xcK9xcG9xcK9xcK9xcK9xcK9xMG9xMG9xcK9xcK9xcK9xcK9xcK+xMG9xMK9xMG9xMG9xMG9xMG9xMG9 + xMG9xMG9xMG8w8C8xMG9w8C8xMC8xMC8xMG9xMG9xMG9xMG9xMG9xMG9xcK+xMG9xMG9xMG9xMG9xMG9 + xMC9xMG9xMC8xMC8xMC8xMC8xMC8xMC8w8C8xMG9w8C8w8G9w8C8w8G9w8G9w8G9w8G9w8G9w8G9w8C9 + w8C9w8C9w8C9w8C9w8C9w8C9w8C8w7+8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8xMC8 + w8C8w8C8w8C8w8C8w8C8w7+7w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w8C8w7+7w7+7w7+7w7+7 + w7+7w7+7w7+7w7+7wr+7w7+7w7+7w8C8w7+7w8C8w7+7w7+7w8C7w8C8w8C7w8C8w8C8w8C8wsC8wsC8 + wsC8w8C8wsC8wsC8wsC8wr+8wr+7wr+7wr+7wr+7wr66wr+7wr66wr+6wr66wr+6wr+6wr+6wr+6wr+6 + wr+6wr+6wr+6wr+6wr66wr66wr+5wr+6wr66wr66wr+5wr66wr65wr65wr66wb66wr66wr65wr66wr66 + wr25wb65wr65wr25wb25wr65wb25wb25wr25wr25wb25wr66wb65wr65wb65wb25wb66wb66wb65wb66 + wb65wb65wb25wb65wb65wb65wb65wb25wb25wb65wb65wb25wb65wb25wL24wL25wL24wL24wLy4wLy4 + wLy5wL24wL24wLy4wLy5wby4wLy4wLy4wLy4wLy4wLy4wLu3wLy3wLy4wLy4wLy4wLy4wLy4wLy4wLy4 + wLy4v7y3v7y3v7y3v7y3v7y2v7u2v7u2v7u2v7u2v7u2v7u2v7u2v7q2v7q2v7q2v7q2v7q2v7q2v7q2 + v7q2vrq2vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq1vrq1vrq1vrq2vrq1vrq1vrq1vrq1vrq1vrm1vrm1 + vrm1vbm1vbm1vbm1vLm1vbm0vbq1vbq1vbm0vbm1vbm1vbm1vbi0vLi0vbi0vbi0vbi0vbi0vbi0vLi0 + vLi0vLi0vLizu7izu7izvLizvLizvLizvLizu7izvLezu7eyvLezu7ezvLezvLeyvLezu7eyvru4vbq3 + v7u2vrq2vru2v7q2vru3v7y3vru2v7u3v7y3v7y3v7y4v7y3wLy4v7y3wLy3v7y3v724v7y3v724v7y3 + wLy4v7y4wLy4wLy4wLu4wLu4wLy4wby5wby5wb25wb25wb24wb24wb24wL24wb24wb25wb24wb25wby5 + wby5wb25wb26wL26wL66wb66wL66wb66wb66wL66wb66wr26wb26wr66wr66wr66wr26wr66wr67wr66 + wr66wr67w766wr+7wr+6wr66wr+6wr+6wr+6wb+7wr+6wr67wr+7wr+7wr67wr67w768wr67wr+7wr67 + wr67w767w7+7wr66wr+7w7+7wr+7w7+7w7+7wr+6w7+7w8C7w7+7w8C7w7+7w7+7w8C8w8C8w8C8wr+9 + w7+9wsC9w7+9wr+9wr+9w768w7+8wr+7w7+8w7+8wr+7wsC8w8C8wsC8w8C8w8C8w8G8w8C8xMC8xMG8 + xMC8xMG8xMG8xMG8xMC8xMG8xMG9xMG9xMG8xMG9xMG9xMG9xMG9xMG9w8G9w8C9xMC8w8G9w8G9w8C9 + xMC8xMC8xMG8xMC8xMG8xMG8xMG8xMC8xMC8xMC8xMC8xcC8xMC8xMC8xMG9xMC8xMC8xMC8xMC8xMC8 + xcC8xMC8xMC8xMC8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG8xMG9xcK9xcG9xcK9xcK9xcK9 + xcK9xMG9xcK9xcK9xcK9xcK9xMG9xcG9xcK9xMG9xcG9xcG9xcK9xcK9xsK+xMG9xcK+xMC8xMG9xMG9 + w8C8xMG8xMC8xMC8xMC8xMG9xMG9w8C8xMC8xMG9xMG9xMG9xMG9xMG9xcK9xMG9xcK+xcG9xMG9xMG9 + xMG9xMG9xMC8w8G9xMC8w8C8xMC8w8C8w8C8w8C8w8G9w8C8w8G9w8C9xMC+w8C9w8G9w8C9w8G9xMC+ + xMG9w8C9w8C9w8C9w8C9w8C8w8C8w8C8w8C8w8C8w8C7w8C8w8C8w8C8xMC8w8C8xMC8w8C8xMC8xMC8 + w8C8w8C8w8C8w8C8w8C8xMC8w7+7w8C8w8C8wr+7w8C8w8C8w8C8w8C8w7+7wr+7w8C8w8C8w8C8w7+7 + w7+7wsC7w7+7w8C7w7+7w8C8w8C8w8C8w8C7xMC8w8C8w8C8w8C8w7+7wsC8wsC8wsC8w8C8wsC8wsC8 + wsC8wsC8w8C8wr+8wr+8wr+8wr+8wr+7w7+8wr+7wr66wr+6wr66wr+6wr+6wr+6wr+6wr+6wr+6wr+7 + wr+6wr+6wr+6wr+6wb66wr65wr+5wr65wr65wr65wr+6wr65wr+6wr66wr65wr65wr66w766wr65wr65 + wr66w766wr26wr25wr65wb25wr25wr25wr25wr25wr25wr65wr65wr26wr66wr25wb66wr66wb66wb65 + wb25wb26wb66wb25wb25wb65wb65wr66wb66wb25wb66wL25wb65wb25wb65wb24wL24wb24wby5wLy4 + wLy5wLy4wLy4wby5wLy4wLy4wLy5wLy4wLy4wLu3wLu4wLy4wLy4wLy4v7y4wLy4wL24wL24wL24wby4 + wLy4wLy3wLy3v7y3v7y3v7y2v7u2v7u2v7u2v7u2v7u2v7u2v7u2v7u2v7q2v7q2v7q2v7q2v7q2v7q2 + v7u3vrq2vrq2vrq2vrq2vrq1vrq1vrq1vrq1vrq1vrq2vrq1v7u2vrq1vrq1vrq2vrm1vrq2vrm1vbm1 + vbm1vrm1vbm1vbm0vbm0vbm1vbm0vbm0vbq0vbm0vrm0vbm1vbi0vbm0vbi0vLi0vbi0vbi0vbi0vbi0 + vLi0vLi0vLi0vLizvLizvLizvLi0vLizvLizu7izvLezvLezvLezvLezvLezvLezvLezu7eyv7u4vrq3 + vbq2vru2v7q2vru2v7u2vru2v7u3v7u3v7u3wLy4v7y3wLu3v7y3wL24v724v724v724v7y3v724wLy3 + wLy4wLy4wLy4wLu4wLu4wLu4wby5wLy5wLy5wb25wb24wb24wb24wb24wb25wb24wb24wr25wr26wby6 + wby6wb26wL26wL26wL67wL66wL66wL66wL66wL26wb26wb66wb66wr26wr66wr26wr67wr27wr66w767 + wr66wr66wr+6w7+7w7+7w766wr+6wr+7wr+7wsC6wr67wr+7wb66wr68wr68w768wr+7w768w7+7w767 + w767wr67w7+7wr66w767wr67wr+6w7+7wr+7wsC7w8C7w8C7w8C7w8C7w8C8w8C7xMC8w8C8w8C9wsC9 + w8C8wr+9wsC9wr+8wr+9w7+8wr68w7+8wr+7w8C8w7+8w8C7wsC8w8C7wsC7w8C7w8C8w8C7xMG7w8G8 + w8C8xMG8w8G8xMG8xMG8w8G9xMG9xMG9xMG9xcG+xcG9xMG9xMG9xMK9xMG9xMG9xMG9xMG9w8C8w8G8 + xMC8xMC8xMC8xMG8xMG8xcC9xMG8xcG8xMG8xMG8xMC8xMC8xMC8xMG9xMC8xMG9xMC8xMG8xMG8xMG8 + xMG8xMC8xMC8xMG8xMG8xcG8xMG8xMG8xcG8xcG8xMG8xMC8xMG9xMK9xcG8xcG8xcK8xcK9xcK9xcG9 + xcK9xcK9xcK9xcK9xsK9xcK9xcK9xcK9xcG9xMK9xcK+xsK9xcG+xcK+xcK+xMG9xMG9xMG9xMG9xMG9 + xMG8w8G8xMG8w8C8xMG9w8C8xMC8xMC8xMG9xMC8xMG9xMG9xMG9xMG9xcK9xcK+xcG9xMG9xcG9xMG9 + xMG9w8G9xMG9xMG9w8C8w8C8w8C8w8G9w8C9w8C8w8C9w8C9w8C9xMC9w8C9w8C9w8C9w8C9w8C9xMC9 + xMC9w8G9w8C9xMC9w8G9w8C8w8C8xMC8xMC7w8C7w8C7w8C8xMC8w8C8w8C8w8C8xMC8xMC8w8C8w8C8 + w8C8w8C8w8C8w8C8xMC8w7+7w8C8w8C8w8C8w8C8w8C8w7+7w7+7w7+7w7+7w8C8xMC8w7+7w7+7w7+7 + w7+7w7+7w8C7w7+7w8C7w8C8w8C8w8C8w8C8w8C7w8C8xMC8w8C8wr+7wr+7wsC7w8C8wsC7wsC8wr+8 + wsC8wsC8wr+8wsC8w7+7wr+8wr+8wr+7w7+6wr66wr+7wr+7wr+6wr+7wr+7wr+6w7+6wr+7wr+6w7+6 + w7+6wr+6wr+6w7+6wr+6wr+6wr+6wr66wr+6wr+6wr+6wr+6wr65wr+6wr66w766wr66wr66wr66wr65 + w766wr66wr25wr65wr25wr25w766wr65wr25wr25wr25wb26wr65wb66wr66wb25wr66wr65wb66wr66 + wb66wb66wr66wb66wb66wr66wb66wr66wr65wr65wb65wb25wb26wb25wb25wb25wL25wby4wb25wb25 + wLy4wLy4wby5wLy4wLy4wby4wby4wLu4wLy4wbu4wLu3wLy4wLy4wLy3v7y4wLy4wLy4wLy4wLy4wL23 + v7y3wL23v7y3wLy3v7u3v7y2v7u2v7u2v7u2v7u2v7u2v7u3v7u3v7u3v7u3v7q2v7q2v7q2v7u3v7q2 + vrq2v7u3vrq2vrq2vrq2vrq2vbq1vrq1vrq1vrq1vrq1vrq1v7q2vrq2v7q2vrq2vrm1vrm1vrm1vrm1 + vbm1vbm1vbi0vbm1vbm0vLm0vrq1vbm0vbq1vbq1vbm0vbm0vbi0vbi0vbi0vLi0vbi0vbi0vbi0vLi0 + vLezvLizvLizvLizu7izvLizvLizvLizu7izvLezvLezvLezvLezvLizvLezvLizvLezu7eyvru3vrq2 + vbq2vrq2vrq2vru2vru2v7u3v7u3v7u3v7u3v7u3wLy4v724v7y4v7y3v7y4v724wL24wL24v7y4wLy4 + wLy4wLy4wLy4wLy4wLu5wLy5wLy5wby5wby4wb25wb24wb25wb65wb65wb24wb24wb25wb25wb25wb26 + wb26wb26wb26wL26wL26wL26wL66wb67wL66wL26wb67wb26wb66wr66wr66wr66wr67w767wr67wr66 + w7+7wr66wr66wr+6wr+7w7+7wr+7wr+6wr+7wsC7wsC7wr+7wr+7wr67wr+7w768wr68w7+8w767w7+7 + w767w767w7+7w7+7w7+7w7+7w7+6wsC6w7+7w8C7w8C7w8C7w7+7w8C7xMC8w8C8xMC8w8C8w7+8wsC8 + w8C9w7+8w7+9w7+8w7+9w7+8w7+8w7+8w7+8xL+8w7+8w7+8w7+8w7+8w8C7w8C8w8C8w8C8w8G8w8G7 + w8G9w8G8xMG8w8G8xMG9xMK8xMG8xMG9xMG8xMG9xMG9xMK9xMG+xMG9xMG9xMG9w8G9w8G9xMC8xMC8 + xMG9xMG8xMG8xMG9xMG8xMG9xMC9xcG8xMG8xMC8xcC8xcG9xMG9xMG9xcC8xcG9xMC8xcC9xcC8xcG8 + xcG8xcG8xcC8xcC8xcG8xcG8xMG8xcG8xMK9xMG8xMG8xcG8xcK8xMG9xcG8xcK9xcK9xsK9xcK9xcK9 + xsK9xcK9xcK9xcK9xcK+xcK9xcG9xcK+xcG9xcG+xcK9xcG9xcK+xcG9xcK+xcG9xMG9xMG9xcG9xMG9 + xMC8xMG9xMC8xMC8xMC8xMC8xMC8xMC8xMG9xMG9xMC8xcG9xMG9xcK+xMG9xcK+xMK+xMG9w8G9w8G9 + xMG9w8C8xMG9xMG9w8G9w8G9w8C8xMG9xMC9w8C9w8C9w8C9w8C9xMG9w8G9xMG9xMG9xMG9xMG+xMG9 + xMG9xMG9xMG9xMC9w8C8xMC8xMC8xMC8xMC7w8C8w8C8w8C8xMC8xMC8xMC8xMC8w8C8xMG9xMC8xMC8 + xMC8xMC8w8C8xMC8w8C8xMC8w8C8w7+7w7+7w7+7w8C8w8C8w8C8w8C8xL+7w7+7w7+7w8C8w8C8w7+7 + w7+7xMC8w7+7w8C7w8C7w8C8w8C8w8C8w8C8xMC8w8C8w7+8w8C7w8C8w7+7wsC8wsC8wsC8wr+8w8C8 + wsC8w7+8w8C8w7+8w7+8wr+7w7+7w7+8w7+8wr+7wr+7w7+6wr+6w7+7wr+6w7+6w7+7w7+6w7+7xL+7 + w7+6w7+6w7+6wr66w7+6wr+6wr65wr65w7+6wr+6wr65wr65w766wr66wr+6wr66w766wr66w766w766 + wr66wr66wr25wr65wr25wr65wr25wr25wr25wr66wr65wr66wr26wr66wr66wr66wr66wr66wr66wr66 + wb25wr26wb25wr66wr66wr66wr66wr66wr66wr66wr65wr25wb25wb65wb25wb65wb25wLy5wLy5wLy4 + wby4wLy5wLy4wLy4wby4wby4wLy4wLy4wLu4wLy4wLy3wLu3wLy4wLy4wLy4v7y4wLy4wLy4wLy4wL24 + wL24v7y3v7y3wLy3v7u2v7u3v7u2v7u2v7u2v7u2v7u2v7u2v7u2v7q2v7q2v7q2v7q2wLu3v7u3v7u3 + v7q2vrq2vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq1v7u2v7q2vrq2vrq1vrq2vrq1vrm1vrq2vrm1vrq2 + vrm1vbm1vbm1vbm0vLm0vbm0vbq1vbq1vbm0vbm1vbm0vbm0vbi0vbm1vbi0vbi0vbi0vbi0vbi0vbi0 + vLi0vLizvLizvLi0vLizvLi0vLm0vLizvLezvbi0vLezvLezvLezvLezvbi0vLezvLezu7iyvru3vrq2 + vrq2vbq2v7u2v7u2v7q2v7u2v7u2v7u3v7u3wLy4wLy4v7y4v7y4wLy4v724wL24v7y4wLy3wLy4wLy4 + wLy4wLy5wLu4wLu4wLu4wLy5wby5wb25wb24wby4wb24wb24wb24wb24wb24wb24wb24wb24wb26wb26 + wb26wb26wb27wb26wL26wb67wb66wb26wL66wL66wb66wb66wb66wr66wr66wr66wr66wr67wr66wr66 + w767wr66wr+7wr+7wr+7wr+6wr+7wr+7wr+7wcC6wr+7wr67wr67wr+8wr+7w7+7w7+8wr68w767w7+7 + w7+7w7+7w7+7w7+7wr+7w7+7w7+7w8C7wsC7w7+7w7+7w8C7w8C7w8C7w8C7w8C8w8C8w8C8wsC8w8C8 + w8C8w7+8w7+9w7+9w7+8w7+8w7+8w7+8w7+8xL+8w7+8w7+8w7+8w8C8w8C8w8C8w8C8w8C8w8C8w8G8 + w8G8w8G8w8G8xMG8w8K8xMK8w8K9xMK9xMG9xcK9xMG9xMG+xMG9xMG9xMG9w8G9xMG9xMG9xMC8xMC8 + xMC8xMC8xMG8xMC8xMG8xMG8xMG8xcG8xMG9xcG9xcG9xcG9xcG9xcG9xcG9xcG8xcC8xcG8xcG8xcG8 + xcG9xcG9xcG9xcC8xcG8xcG8xcG8xcG8xcG8xcG8xcG8xcG9xcG9xcK9xcG9xsK9xsK9xcK9xsK9xsK+ + xsK+xcK9xcK9xcK9xcK+xcK9xcK9xcK9xcK+xsK+xcK9xcK+xcK+xcG9xcG8xMC8xMC8xcG9xMG8xMC8 + xMC8xMC8xMC8xMC8xMC8xMG9xMC8xMC8xMC8xMG9xMG9xMG9xMG9xMG9xMG9xMK+xMK+xMG9xMG9w8G9 + xMG9w8C8xMC9xMC8xMC9w8C8w8C8xMC9w8C9w8C9w8C9xMC9xMC9xMC9xMG9xMC9xMG9xMG9xMG9xMG9 + xMG9xMG8xMC9xMG8w8G8xMC8w8C8w8C8xMC8xMC8w8C8xMC8w8C7w8C7w8C8w8C8xMC8xMC8xMC8xMC8 + w8C8w8C8w8C8xMC8xMC8w8C8xMC8w8C8w8C8w8C8w7+7w8C8w8C8w7+7w8C8w8C8xMC8w7+7w7+7w7+7 + w7+7xMC8xMC8xMC8w8C7w8C8w8C8xMC8xMC8w8C8w7+8w8C8w8C8w8C8wsC7wsC8wr+7w7+8w8C8w7+8 + w7+8w7+8xMC8w7+8w7+7wr+8wr+7w7+7w7+7w7+7w8C7w7+7w7+7w8C6w7+7w8C7w7+6xL+7xL+7w7+6 + w7+7w7+7w7+6w7+6w7+6wr66w766wr66wr66w7+6wr66wr+6wr66wr66w766w766wr66w766w766w766 + wr+6w766wr66wr65wr66wr66wr26wr25wr66wr66wr66wr66wr66wr65wr66wr66wr66wr66wr66wr66 + wr66wr66wr66wr66wb66wr66wb66wr66wr66wb66wr65wb65wb25wb65wb65wb25wb25wb25wLy4wL24 + wby5wLy4wLy5wLy4wLy4wLy4wby4wLy4wLy4wLy4wLu4wLy3wLy4wLy4wLy4wLy4wLy4wLy4wLy4wL24 + wL24wLy3wLy3wLy3v7y2v7y3v7u2v7u2v7u2v7u2v7u2v7u3v7u3wLu3v7q3wLu3v7u3v7u3v7q3v7q3 + v7q2v7q2vrq2vrq2vrq2vrq2vrq2vrq1vrq1vrq1v7u2v7u2v7q2v7q2v7q2v7q2vrq2vrm1vrm1vrm1 + vrm1vbm1vbm1vbm1vbm0vbm0vbm0vbq1vbm1vbq1vbq1vbm1vbi0vbi0vLi0vbi0vbi0vbi0vbi0vLi0 + vLi0vLi0vLi0vLm0vLmzvLi0vLi0vLi0vbi0vbe0vLi0vLi0vLezvLezvLizvLizvLizu7iyvru3vru2 + vru2vru2vru2v7u2v7u2v7u2v7u3wLu3v7y4v7y4v7y4v7y4v7y4wLy4v724wL24wLy4wLy4v7y4wLy4 + wLy4wLu4wby5wby5wLy5wLy5wby5wby4wb24wb25wb24wb25wb25wb25wb65wb24wb25wb25wb26wb26 + wb26wb26wb27wL26wL67wb27wb27wb67wb27wb66wb66wb66wb66wr66wr66wr66wr66wr67wr67wr67 + wr+7wr+7w7+7wr+7w7+7wr+6wr+6wsC7wr+7wsC7wr+7wsC7wr+7wr+7wr+7w7+8w7+7w7+7w7+7w766 + w7+7w7+7w7+7w7+7w7+7w7+7w8C7w7+6w8C7w8C7w7+7w8C7w8C7w8C7w8C7w8C7w8C8w8C8wsC7wsC8 + w8C8w8C8w7+8w8C8w7+7w7+7xL+8w7+8xMC8w7+8xL+8w7+8xMC8xMC8w8C8w8C8w8C8xMC8w8C8w8C8 + w8C8xMG8w8G8xMG8w8G8xMG8xMK9xMG9xMG9xMG9xMG9xMK9xMG9xMG+xMG9xMG9xMG9xMC9xMC8xMC8 + xMC8xMC8xMC8xMG8xMG8xMG8xMG8xMG9xcG9xcG9xcG8xcG9xcG9xcG9xcG9xcG9xcG9xcG9xcG9xcG9 + xcG8xcG9xcG8xcG8xcG8xcG8xcG8xcK8xcG8xcG8xcG8xcG8xcG8xcG9xcG9xsK9xsK9xcK9xsK9xsK9 + xsK9xcK9xsK9xcK9xcK9xcK+xcK9xsK+xcG9xcG9xcK9xcK9xcG9xcG9xcG9xcG9xcG9xMG9xMG9xMG9 + xMC8xMG9xMC8xMC8xMC8w8C8xMC8xMC8xMC8w8C8xMG9xMG9xMG9w8G9xMG9xMG9xMG9xMG9xMG9xMG9 + xMG9xMG9w8C9xMC9xMC9w8C9xMC9w8C9xMC9xMC9xMC9w8C9xMC9xMG9xMG9xcG9xMG9xMG9xMG9xMG9 + xMC8xMC8xMG8xMC8xMC8xMC8w8C8xMC8xMC8xMC8xMC8xMC8xMC8xMC8w8C8xMC8xMC8xMC8xMC8xMC8 + xMC8xMC8xMC8w8C8xMC8xMC8xMC8w7+7xMC8xMC8xMC8w8C8xMC8xMC8xMC8xMC8xMC8w7+7w8C8w7+7 + w7+7xMC8xMC8xMC8xMC8w8C7xMC8xMC8xMC8w8C8w8C7w8C8w8C7wsC7wsC8wr+8wr+7wsC8wr+8wr+7 + w7+8w7+8w7+7w7+8w7+7w7+7w7+7wr+7w8C7w7+7w7+7w7+7w7+7w8C7w8C7w7+7xL+7wr+7w8C7w7+7 + xMC7w7+7w7+6w7+6wr+6w7+6w7+6wr+6wr66w7+6wr66w7+6w7+6w766wr66w766w766w766w7+6w766 + wr66wr66w766w766w766wr26wr65wr26wr66wr66wr66wr65wr66wr66wr66wr66wr66wr66wr66wr66 + wr66wr25wr66wb25wr66wr66wr66wr66wr66wr66wb25wr66wb65wr65wr65wb25wb24wby5wby5wLy4 + wby5wLy4wby5wby5wLy4wLy4wLy4wLy4wLu4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4wLy4 + wLy4v7y3v7y3v7y3v7u3v7u2v7u2v7u3v7u3v7u2v7u2v7u3v7u3v7u3v7u3wLu3v7q3v7q3v7u3vrq3 + v7q3vrq2vrq3vrq2vrq2vrq2vrq1vrq1vrq1vrq2vrq2v7q1vrq2vrq2v7q2vrq2v7q2vrm1vrm2vrq2 + vrq2vbm1vrm1vbm0vbm1vbm0vbm1vbm0vbm1vbm0vbm0vbm1vbi1vbi1vbi0vbi1vbi0vbi0vbi0vLi0 + vLi0vLi0vLi0vLizvLi0vLi0vLizvLizvLi0vLi0vLi0vLezvLizvLezvLezu7izu7ezu7iz + + + + 1335, 115 + + + 17, 154 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/PList.Designer.cs b/MBN_STOCK_N/Form/PList.Designer.cs new file mode 100644 index 0000000..05de539 --- /dev/null +++ b/MBN_STOCK_N/Form/PList.Designer.cs @@ -0,0 +1,153 @@ + +namespace MBN_STOCK_N +{ + partial class PList + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btnadd = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.listBox = new System.Windows.Forms.ListBox(); + this.btncn = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // btnadd + // + this.btnadd.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnadd.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnadd.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnadd.ForeColor = System.Drawing.Color.Black; + this.btnadd.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnadd.Location = new System.Drawing.Point(3, 5); + this.btnadd.Name = "btnadd"; + this.btnadd.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnadd.Size = new System.Drawing.Size(93, 30); + this.btnadd.TabIndex = 591; + this.btnadd.Text = "추가"; + this.btnadd.UseVisualStyleBackColor = true; + this.btnadd.Click += new System.EventHandler(this.btnadd_Click); + // + // panel1 + // + this.panel1.Controls.Add(this.listBox); + this.panel1.Controls.Add(this.btncn); + this.panel1.Controls.Add(this.button3); + this.panel1.Controls.Add(this.btnadd); + this.panel1.Controls.Add(this.button1); + this.panel1.Location = new System.Drawing.Point(3, 2); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(247, 374); + this.panel1.TabIndex = 593; + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(3, 41); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(239, 293); + this.listBox.TabIndex = 597; + this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged); + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // btncn + // + this.btncn.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncn.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btncn.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncn.ForeColor = System.Drawing.Color.Black; + this.btncn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btncn.Location = new System.Drawing.Point(149, 340); + this.btncn.Name = "btncn"; + this.btncn.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncn.Size = new System.Drawing.Size(93, 30); + this.btncn.TabIndex = 596; + this.btncn.Text = "취소"; + this.btncn.UseVisualStyleBackColor = true; + this.btncn.Click += new System.EventHandler(this.btncn_Click); + // + // button3 + // + this.button3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.button3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button3.ForeColor = System.Drawing.Color.Black; + this.button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button3.Location = new System.Drawing.Point(3, 340); + this.button3.Name = "button3"; + this.button3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button3.Size = new System.Drawing.Size(93, 30); + this.button3.TabIndex = 595; + this.button3.Text = "확인"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button1 + // + this.button1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.button1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.button1.ForeColor = System.Drawing.Color.Black; + this.button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button1.Location = new System.Drawing.Point(149, 5); + this.button1.Name = "button1"; + this.button1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button1.Size = new System.Drawing.Size(93, 30); + this.button1.TabIndex = 594; + this.button1.Text = "삭제"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // PList + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(253, 381); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "PList"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "편성선택"; + this.Load += new System.EventHandler(this.PList_Load); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button btnadd; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button btncn; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.ListBox listBox; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/PList.cs b/MBN_STOCK_N/Form/PList.cs new file mode 100644 index 0000000..30da8ff --- /dev/null +++ b/MBN_STOCK_N/Form/PList.cs @@ -0,0 +1,258 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class PList : Form + { + MainForm mf = null; + int m_idx = 0; + public string m_FileName = string.Empty; + + public PList() + { + + InitializeComponent(); + } + + public PList(Form frm, int idx) + { + mf = (MainForm)frm; + m_idx = idx; + InitializeComponent(); + } + + private void PList_Load(object sender, EventArgs e) + { + + Get_FileName_Folder(); + } + + public void Get_FileName_Folder() + { + try + { + mf.m_db.ViewQuery(mf.dataGridView1, "SELECT DC_TITLE, DC_CODE FROM DC_LIST order by dc_title "); + //listBox.Items.Clear(); + //DirectoryInfo d = new DirectoryInfo(mf.m_Path); + //FileInfo[] infos = d.GetFiles("*.*"); + + //foreach (FileInfo file in infos) + //{ + // listBox.Items.Add(file.Name.Substring(0, file.Name.Length-4)); + //} + + List myLIstBox = new List(); + + for (int i = 0; i < mf.dataGridView1.RowCount - 1; i++) + { + myLIstBox.Add(new MyListBoxClass { ListBox_Text = mf.dataGridView1.Rows[i].Cells[0].Value.ToString(), ListBox_Value = mf.dataGridView1.Rows[i].Cells[1].Value.ToString() }); + } + + listBox.DataSource = myLIstBox; + listBox.DisplayMember = "ListBox_Text"; + listBox.ValueMember = "ListBox_Value"; + } + catch(Exception) + { + + } + } + + private void btnadd_Click(object sender, EventArgs e) + { + AList fm = new AList(this, mf); + fm.Owner = this; + fm.ShowDialog(); + + Get_FileName_Folder(); + //if (m_FileName != "") + //{ + // StreamWriter sw = new StreamWriter(mf.m_Path + m_FileName + ".csv", true, Encoding.UTF8); + // sw.WriteLine(""); + // sw.Close(); + + //} + + } + + + private void data_load() + { + try + { + int row = 0; + string[] rs = null; + + MyListBoxClass myLIstBox = new MyListBoxClass(); + myLIstBox = (MyListBoxClass)this.listBox.SelectedItem; + + mf.m_newrow = -1; mf.m_rowidx = -1; + mf.PlayList.ActiveSheet.ClearRange(0, 0, mf.PlayList.ActiveSheet.RowCount, mf.PlayList.ActiveSheet.ColumnCount, true); + + if (mf.PlayList.ActiveSheet.RowCount != 0) + mf.PlayList.ActiveSheet.RemoveRows(0, mf.PlayList.ActiveSheet.RowCount); + + + //불러오기 + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT* FROM PLAY_LIST WHERE PG_CODE = '" + myLIstBox.ListBox_Value + "' ORDER BY ITEM_INDEX"); + + + //int nrow = 0; + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + + //row = mf.PlayList.ActiveSheet.RowCount + 1; + row = row + 1; + + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + rs = mf.dataGridView2.Rows[i].Cells[1].Value.ToString().Split('^'); + + for (int j = 0; j < rs.Length; j++) + { + if (j == 0) + { + if (rs[0] == "1") + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + else + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, false); + } + else if (j == 5) + { + mf.PlayList.ActiveSheet.SetValue(row - 1, j, rs[j].Replace(" ", "")); + } + else + { + mf.PlayList.ActiveSheet.SetValue(row - 1, j, rs[j]); + } + } + + } + } + catch(Exception) + { + + } + } + + private void data_save() + { + //PlayList 저장 + try + { + string data = string.Empty; + MyListBoxClass myLIstBox = new MyListBoxClass(); + myLIstBox = (MyListBoxClass)this.listBox.SelectedItem; + + mf.m_db.ExecuteQuery("DELETE FROM PLAY_LIST WHERE PG_CODE = '" + myLIstBox.ListBox_Value + "'"); + + for (int i = 0; i < mf.PlayList.ActiveSheet.RowCount; i++) + { + data = ""; + if (mf.PlayList.ActiveSheet.GetText(i, 0) == "True") + data = data + "1^"; + else + data = data + "0^"; + + data = data + mf.PlayList.ActiveSheet.GetText(i, 1) + "^"; + data = data + mf.PlayList.ActiveSheet.GetText(i, 2) + "^"; + data = data + mf.PlayList.ActiveSheet.GetText(i, 3) + "^"; + data = data + mf.PlayList.ActiveSheet.GetText(i, 4) + "^"; + data = data + mf.PlayList.ActiveSheet.GetText(i, 5) + "^"; + data = data + mf.PlayList.ActiveSheet.GetText(i, 6); + mf.m_db.ExecuteQuery("INSERT INTO PLAY_LIST(PG_CODE, LIST_TEXT, ITEM_NAME, ITEM_CODE, ITEM_DETAIL, ITEM_TYPE, ITEM_ECUT, ITEM_ESTOCK, ITEM_COUNT, ITEM_INPUT, ITEM_INDEX)VALUES('" + myLIstBox.ListBox_Value + "', '" + data + "', '', '', '', '', '', '', '', '', '" + i.ToString() + "')"); + + } + } + catch(Exception) + { + + } + } + private void listBox_DoubleClick(object sender, EventArgs e) + { + try + { + if (m_idx == 1) + { + data_load(); + } + + else + { + if (MessageBox.Show("저장하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + data_save(); + } + } + + Close(); + } + catch(Exception) + { + + } + } + + private void button1_Click(object sender, EventArgs e) + { + + if (listBox.SelectedIndex == -1) return; + if (MessageBox.Show("프로그램이 삭제됩니다. 계속 하시겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + MyListBoxClass myLIstBox = new MyListBoxClass(); + myLIstBox = (MyListBoxClass)this.listBox.SelectedItem; + + mf.m_db.ExecuteQuery("DELETE FROM DC_LIST WHERE DC_CODE = '" + myLIstBox.ListBox_Value + "'"); + Get_FileName_Folder(); + } + } + + + //취소 + private void btncn_Click(object sender, EventArgs e) + { + mf.m_PlayLsit = ""; + Close(); + } + + + //확인 + private void button3_Click(object sender, EventArgs e) + { + if (m_idx == 0) + { + if (MessageBox.Show("저장하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + data_save(); + MessageBox.Show("저장되었습니다"); + } + } + else + { + data_load(); + } + Close(); + } + + private void listBox_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + public class MyListBoxClass + { + public string ListBox_Value { get; set; } + public string ListBox_Text { get; set; } + + // Instance Constructor. + public MyListBoxClass() + { + ListBox_Value = string.Empty; + ListBox_Text = string.Empty; + } + } + + } +} diff --git a/MBN_STOCK_N/Form/PList.resx b/MBN_STOCK_N/Form/PList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MBN_STOCK_N/Form/PList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/ThemeA.Designer.cs b/MBN_STOCK_N/Form/ThemeA.Designer.cs new file mode 100644 index 0000000..31e617a --- /dev/null +++ b/MBN_STOCK_N/Form/ThemeA.Designer.cs @@ -0,0 +1,611 @@ + +namespace MBN_STOCK_N +{ + partial class Theme + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder3 = new FarPoint.Win.EmptyBorder(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Theme)); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.RB_NXT = new System.Windows.Forms.RadioButton(); + this.RB_KRX = new System.Windows.Forms.RadioButton(); + this.btncancel = new System.Windows.Forms.Button(); + this.btnok = new System.Windows.Forms.Button(); + this.gb2 = new System.Windows.Forms.GroupBox(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.FpSpread = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btn4 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn1 = new System.Windows.Forms.Button(); + this.btnC = new System.Windows.Forms.Button(); + this.txt1 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.gb1 = new System.Windows.Forms.GroupBox(); + this.listBox = new System.Windows.Forms.ListBox(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.btnsearch = new System.Windows.Forms.Button(); + this.panel3 = new System.Windows.Forms.Panel(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.gb2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).BeginInit(); + this.gb1.SuspendLayout(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.TextRotationAngle = 0D; + // + // panel1 + // + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Controls.Add(this.btncancel); + this.panel1.Controls.Add(this.btnok); + this.panel1.Controls.Add(this.gb2); + this.panel1.Controls.Add(this.btnC); + this.panel1.Controls.Add(this.txt1); + this.panel1.Controls.Add(this.label5); + this.panel1.Controls.Add(this.gb1); + this.panel1.Location = new System.Drawing.Point(0, 1); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(393, 639); + this.panel1.TabIndex = 0; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.Controls.Add(this.RB_NXT); + this.panel2.Controls.Add(this.RB_KRX); + this.panel2.Location = new System.Drawing.Point(108, 8); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(166, 28); + this.panel2.TabIndex = 608; + // + // RB_NXT + // + this.RB_NXT.AutoSize = true; + this.RB_NXT.Font = new System.Drawing.Font("굴림", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.RB_NXT.Location = new System.Drawing.Point(89, 5); + this.RB_NXT.Name = "RB_NXT"; + this.RB_NXT.Size = new System.Drawing.Size(53, 17); + this.RB_NXT.TabIndex = 1; + this.RB_NXT.Text = "NXT"; + this.RB_NXT.UseVisualStyleBackColor = true; + // + // RB_KRX + // + this.RB_KRX.AutoSize = true; + this.RB_KRX.Checked = true; + this.RB_KRX.Font = new System.Drawing.Font("굴림", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.RB_KRX.Location = new System.Drawing.Point(22, 5); + this.RB_KRX.Name = "RB_KRX"; + this.RB_KRX.Size = new System.Drawing.Size(53, 17); + this.RB_KRX.TabIndex = 0; + this.RB_KRX.TabStop = true; + this.RB_KRX.Text = "KRX"; + this.RB_KRX.UseVisualStyleBackColor = true; + // + // btncancel + // + this.btncancel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncancel.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncancel.ForeColor = System.Drawing.Color.Black; + this.btncancel.Location = new System.Drawing.Point(286, 593); + this.btncancel.Name = "btncancel"; + this.btncancel.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncancel.Size = new System.Drawing.Size(93, 36); + this.btncancel.TabIndex = 607; + this.btncancel.Text = "취소"; + this.btncancel.UseVisualStyleBackColor = true; + this.btncancel.Click += new System.EventHandler(this.btncancel_Click); + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.Location = new System.Drawing.Point(180, 593); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(100, 36); + this.btnok.TabIndex = 606; + this.btnok.Text = "확인"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // gb2 + // + this.gb2.Controls.Add(this.dataGridView1); + this.gb2.Controls.Add(this.FpSpread); + this.gb2.Controls.Add(this.btn4); + this.gb2.Controls.Add(this.btn3); + this.gb2.Controls.Add(this.btn2); + this.gb2.Controls.Add(this.btn1); + this.gb2.Location = new System.Drawing.Point(15, 320); + this.gb2.Name = "gb2"; + this.gb2.Size = new System.Drawing.Size(364, 266); + this.gb2.TabIndex = 605; + this.gb2.TabStop = false; + this.gb2.Text = "설정"; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(265, 146); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(80, 59); + this.dataGridView1.TabIndex = 616; + this.dataGridView1.Visible = false; + // + // FpSpread + // + this.FpSpread.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread.AutoClipboard = false; + this.FpSpread.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.HorizontalScrollBar.Name = ""; + this.FpSpread.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread.HorizontalScrollBar.TabIndex = 347; + this.FpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread.Location = new System.Drawing.Point(6, 16); + this.FpSpread.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread.MoveActiveOnFocus = false; + this.FpSpread.Name = "FpSpread"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer11; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer11; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread_Sheet1, + this.FpSpread_Sheet2}); + this.FpSpread.Size = new System.Drawing.Size(352, 207); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread.Skin = spreadSkin1; + this.FpSpread.TabIndex = 600; + this.FpSpread.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.VerticalScrollBar.Name = ""; + this.FpSpread.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread.VerticalScrollBar.TabIndex = 348; + this.FpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + this.FpSpread.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FpSpread_KeyDown); + // + // FpSpread_Sheet1 + // + this.FpSpread_Sheet1.Reset(); + this.FpSpread_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet1.ColumnCount = 8; + this.FpSpread_Sheet1.RowCount = 0; + this.FpSpread_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread_Sheet1.ActiveRowIndex = -1; + this.FpSpread_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder3; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "Set List"; + this.FpSpread_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread_Sheet1.Columns.Get(1).Label = "Set List"; + this.FpSpread_Sheet1.Columns.Get(1).Width = 328F; + this.FpSpread_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread.SetActiveViewport(0, -1, 0); + // + // FpSpread_Sheet2 + // + this.FpSpread_Sheet2.Reset(); + this.FpSpread_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btn4 + // + this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn4.ForeColor = System.Drawing.Color.Black; + this.btn4.Location = new System.Drawing.Point(276, 228); + this.btn4.Name = "btn4"; + this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn4.Size = new System.Drawing.Size(84, 29); + this.btn4.TabIndex = 599; + this.btn4.Text = "Down"; + this.btn4.UseVisualStyleBackColor = true; + this.btn4.Click += new System.EventHandler(this.btn4_Click); + // + // btn3 + // + this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn3.ForeColor = System.Drawing.Color.Black; + this.btn3.Location = new System.Drawing.Point(186, 228); + this.btn3.Name = "btn3"; + this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn3.Size = new System.Drawing.Size(84, 29); + this.btn3.TabIndex = 598; + this.btn3.Text = "Up"; + this.btn3.UseVisualStyleBackColor = true; + this.btn3.Click += new System.EventHandler(this.btn3_Click); + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(96, 228); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(84, 29); + this.btn2.TabIndex = 597; + this.btn2.Text = "Delete All"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn2_Click); + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(6, 228); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(84, 29); + this.btn1.TabIndex = 596; + this.btn1.Text = "Delete"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // btnC + // + this.btnC.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnC.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnC.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnC.ForeColor = System.Drawing.Color.Black; + this.btnC.Location = new System.Drawing.Point(280, 41); + this.btnC.Name = "btnC"; + this.btnC.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnC.Size = new System.Drawing.Size(93, 27); + this.btnC.TabIndex = 604; + this.btnC.Text = "중복확인"; + this.btnC.UseVisualStyleBackColor = true; + this.btnC.Click += new System.EventHandler(this.btnC_Click); + // + // txt1 + // + this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt1.Location = new System.Drawing.Point(21, 41); + this.txt1.Name = "txt1"; + this.txt1.Size = new System.Drawing.Size(253, 25); + this.txt1.TabIndex = 0; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label5.Location = new System.Drawing.Point(21, 23); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(43, 15); + this.label5.TabIndex = 602; + this.label5.Text = "테마명"; + // + // gb1 + // + this.gb1.Controls.Add(this.listBox); + this.gb1.Controls.Add(this.txtSearch); + this.gb1.Controls.Add(this.btnsearch); + this.gb1.Location = new System.Drawing.Point(15, 72); + this.gb1.Name = "gb1"; + this.gb1.Size = new System.Drawing.Size(364, 247); + this.gb1.TabIndex = 601; + this.gb1.TabStop = false; + this.gb1.Text = "종목(같은 시장종목을 선택해야합니다.)"; + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(6, 50); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(351, 191); + this.listBox.TabIndex = 595; + this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged); + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtSearch.Location = new System.Drawing.Point(6, 18); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(253, 25); + this.txtSearch.TabIndex = 591; + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image"))); + this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.Location = new System.Drawing.Point(265, 15); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(93, 30); + this.btnsearch.TabIndex = 592; + this.btnsearch.Text = " 종목검색"; + this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.White; + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.panel3.Location = new System.Drawing.Point(23, 360); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(349, 1); + this.panel3.TabIndex = 617; + // + // Theme + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(396, 642); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "Theme"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "테마추가"; + this.Load += new System.EventHandler(this.Theme_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.gb2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).EndInit(); + this.gb1.ResumeLayout(false); + this.gb1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox gb1; + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.TextBox txt1; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button btnC; + private System.Windows.Forms.GroupBox gb2; + private System.Windows.Forms.Button btncancel; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.Button btn4; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn1; + public FarPoint.Win.Spread.FpSpread FpSpread; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet2; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.RadioButton RB_NXT; + private System.Windows.Forms.RadioButton RB_KRX; + private System.Windows.Forms.Panel panel3; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/ThemeA.cs b/MBN_STOCK_N/Form/ThemeA.cs new file mode 100644 index 0000000..3bf6680 --- /dev/null +++ b/MBN_STOCK_N/Form/ThemeA.cs @@ -0,0 +1,308 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics.Eventing.Reader; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class Theme : Form + { + string m_code = string.Empty; + string m_name = string.Empty; + //DBCon m_db = new DBCon(); + MainForm mf = null; + //int m_exist = false; + + public Theme() + { + InitializeComponent(); + } + + public Theme(Form frm, string code, string tname) + { + m_code = code; + m_name = tname; + mf = (MainForm)frm; + InitializeComponent(); + } + + private void Theme_Load(object sender, EventArgs e) + { + string query = string.Empty; + + if ((m_code != "")||(m_code == null)) //편집 + { + if (m_name.Contains("(NXT)")) + { + RB_NXT.Checked = true; + + query = "SELECT CONCAT(a.SB_I_NAME,'(NXT)') , a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + "FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + m_code + "' " + + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + "and b.f_stop_gubun = 'N' ORDER BY a.SB_I_INDEX"; + + mf.m_db.Nxt_ViewQuery(dataGridView1, query); + } + else + { + RB_KRX.Checked = true; + + query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + "FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + m_code + "' " + + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + + mf.m_db.ViewQuery(dataGridView1, query); + } + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + mf.InsertRow(FpSpread, FpSpread.ActiveSheet, FpSpread.ActiveSheet.RowCount + 1, 1, 0); + FpSpread.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); + FpSpread.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); + } + + txt1.Text = m_name; + } + else + { + txt1.Focus(); + } + + FpSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + } + + //중복확인 + private void btnC_Click(object sender, EventArgs e) + { + string market = null; + + if (txt1.Text == "") return; + + if (RB_KRX.Checked) + { + market = "KRX"; + mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE SB_TITLE LIKE '" + txt1.Text + "'" + " AND SB_MARKET = '" + market + "'"); + } + else + { + market = "NXT"; + mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE SB_TITLE LIKE '" + txt1.Text + "'" + " AND SB_MARKET = '" + market + "'"); + } + + if (dataGridView1.RowCount > 1) + { + MessageBox.Show("이미 사용중인 테마명입니다."); + } + else + { + MessageBox.Show("사용 가능한 테마명입니다."); + } + } + + //종목검색 + private void btnsearch_Click(object sender, EventArgs e) + { + if (txtSearch.Text == "") return; + + mf.searchStock(listBox, txtSearch); + } + + + //Delete + private void btn1_Click(object sender, EventArgs e) + { + //"DELETE FROM SB_ITEM WHERE SB_M_CODE = '%s'" + //"DELETE FROM SB_LIST WHERE SB_CODE = '%s'" + + if (FpSpread.ActiveSheet.ActiveRowIndex + 1 > 0) + { + FpSpread.ActiveSheet.RemoveRows(FpSpread.ActiveSheet.ActiveRowIndex, 1); + } + + } + + + //Delete All + private void btn2_Click(object sender, EventArgs e) + { + if (MessageBox.Show("모두 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true); + if (FpSpread.ActiveSheet.RowCount != 0) + FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount); + } + } + + //up + private void btn3_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 0, 0); + } + + + //Down + private void btn4_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 1, 0); + } + + + //확인 + private void btnok_Click(object sender, EventArgs e) + { + string code = string.Empty; + string market = string.Empty; + + if (RB_KRX.Checked) + market = "KRX"; + else + market = "NXT"; + + if (m_code == "") + { + if (market == "KRX") + mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE SB_TITLE LIKE '" + txt1.Text + "' AND SB_MARKET = '" + market + "' "); + else + mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE SB_TITLE LIKE '" + txt1.Text + "' AND SB_MARKET = '" + market + "' "); + + if (dataGridView1.RowCount > 1) + { + MessageBox.Show("이미 사용중인 테마명입니다."); + return; + } + code = GetNextCode("Select * From SB_List Order by SB_CODE", market); + } + else + { + //기존테마 삭제 + if (market == "KRX") + { + mf.m_db.ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'"); + mf.m_db.ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'"); + } + else + { + mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'"); + mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'"); + } + + code = m_code; + } + + //테마 입력 + if (market == "KRX") + mf.m_db.ExecuteQuery("INSERT INTO SB_LIST(SB_CODE, SB_TITLE, SB_MARKET) VALUES ('" + code + "', '" + txt1.Text + "', '" + market + "')"); + else + mf.m_db.Nxt_ExecuteQuery("INSERT INTO SB_LIST(SB_CODE, SB_TITLE, SB_MARKET) VALUES ('" + code + "', '" + txt1.Text.Replace("(NXT)", "") + "', '" + market + "')"); + + if (FpSpread.ActiveSheet.RowCount > 0) + { + for (int i = 0; i < FpSpread.ActiveSheet.RowCount; i++) + { + //테마 상세종목 입력 + if (market == "KRX") + mf.m_db.ExecuteQuery("INSERT INTO SB_ITEM (SB_M_CODE, SB_I_CODE, SB_I_NAME, SB_I_INDEX) VALUES('" + + code + "', '" + FpSpread.ActiveSheet.GetText(i, 0) + "', '" + FpSpread.ActiveSheet.GetText(i, 1) + "', '" + i.ToString() + "')"); + else + mf.m_db.Nxt_ExecuteQuery("INSERT INTO SB_ITEM (SB_M_CODE, SB_I_CODE, SB_I_NAME, SB_I_INDEX) VALUES('" + + code + "', '" + FpSpread.ActiveSheet.GetText(i, 0) + "', '" + + FpSpread.ActiveSheet.GetText(i, 1).Replace("(NXT)", "") + "', '" + i.ToString() + "')"); + + } + + } + //MessageBox.Show("추가되었습니다."); + Close(); + } + + public string GetNextCode(string query, string mart) + { + string code = string.Empty; + + if (mart == "KRX") + mf.m_db.ViewQuery(dataGridView1, query); + else + mf.m_db.Nxt_ViewQuery(dataGridView1, query); + + if (dataGridView1.RowCount > 0) + { + int lastcode = Convert.ToInt32(dataGridView1.Rows[dataGridView1.RowCount - 2].Cells[0].Value.ToString()) + 1; + code = string.Format("{0:D8}", lastcode); + } + + return code; + } + + //취소 + private void btncancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + } + + private void FpSpread1_DoubleClick(object sender, EventArgs e) + { + + } + + private void listBox_DoubleClick(object sender, EventArgs e) + { + string str = mf.jongmokCode((string)listBox.SelectedItem); + + string data3 = str.Substring(0, str.IndexOf('/')); //종목코드 + string data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); //코스피, 코스닥체크 + string jcode = string.Empty; + + if (data4 == "코스피") + jcode = "P" + data3; + else if (data4 == "코스닥") + jcode = "D" + data3; + else if (data4 == "코스피_NXT") + jcode = "X" + data3; + else if (data4 == "코스닥_NXT") + jcode = "T" + data3; + + //열추가 + int row = FpSpread.ActiveSheet.RowCount+1; + mf.InsertRow(FpSpread, FpSpread.ActiveSheet, row, 1, 0); + + FpSpread.ActiveSheet.SetText(row - 1, 1, (string)listBox.SelectedItem); + FpSpread.ActiveSheet.SetText(row - 1, 0, jcode); + } + + private void listBox_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + mf.searchStock(listBox, txtSearch); + } + } + + private void FpSpread_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Delete) + { + btn1_Click(null, null); + } + } + } +} diff --git a/MBN_STOCK_N/Form/ThemeA.resx b/MBN_STOCK_N/Form/ThemeA.resx new file mode 100644 index 0000000..7ec583b --- /dev/null +++ b/MBN_STOCK_N/Form/ThemeA.resx @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1073, 115 + + + 1188, 115 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/MBN_STOCK_N/Form/VIList.Designer.cs b/MBN_STOCK_N/Form/VIList.Designer.cs new file mode 100644 index 0000000..a24131e --- /dev/null +++ b/MBN_STOCK_N/Form/VIList.Designer.cs @@ -0,0 +1,560 @@ + +namespace MBN_STOCK_N +{ + partial class VILIST + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VILIST)); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.btnok = new System.Windows.Forms.Button(); + this.gb2 = new System.Windows.Forms.GroupBox(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.FpSpread = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.btn4 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn1 = new System.Windows.Forms.Button(); + this.gb1 = new System.Windows.Forms.GroupBox(); + this.listBox = new System.Windows.Forms.ListBox(); + this.btnsearch = new System.Windows.Forms.Button(); + this.btncancel = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.gb2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).BeginInit(); + this.gb1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13"; + enhancedColumnHeaderRenderer13.TextRotationAngle = 0D; + rowHeaderRenderer13.Name = "rowHeaderRenderer13"; + rowHeaderRenderer13.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer5.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txtSearch.Location = new System.Drawing.Point(6, 18); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(221, 25); + this.txtSearch.TabIndex = 591; + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // btnok + // + this.btnok.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnok.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnok.ForeColor = System.Drawing.Color.Black; + this.btnok.Location = new System.Drawing.Point(172, 495); + this.btnok.Name = "btnok"; + this.btnok.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnok.Size = new System.Drawing.Size(100, 27); + this.btnok.TabIndex = 606; + this.btnok.Text = "확인"; + this.btnok.UseVisualStyleBackColor = true; + this.btnok.Click += new System.EventHandler(this.btnok_Click); + // + // gb2 + // + this.gb2.Controls.Add(this.dataGridView1); + this.gb2.Controls.Add(this.FpSpread); + this.gb2.Controls.Add(this.btn4); + this.gb2.Controls.Add(this.btn3); + this.gb2.Controls.Add(this.btn2); + this.gb2.Controls.Add(this.btn1); + this.gb2.Location = new System.Drawing.Point(7, 249); + this.gb2.Name = "gb2"; + this.gb2.Size = new System.Drawing.Size(364, 233); + this.gb2.TabIndex = 605; + this.gb2.TabStop = false; + this.gb2.Text = "VI 리스트"; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(108, 149); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(80, 59); + this.dataGridView1.TabIndex = 616; + this.dataGridView1.Visible = false; + // + // FpSpread + // + this.FpSpread.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread.AutoClipboard = false; + this.FpSpread.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.HorizontalScrollBar.Name = ""; + this.FpSpread.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1; + this.FpSpread.HorizontalScrollBar.TabIndex = 349; + this.FpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread.Location = new System.Drawing.Point(6, 16); + this.FpSpread.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread.MoveActiveOnFocus = false; + this.FpSpread.Name = "FpSpread"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer1; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer10.Name = ""; + enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + namedStyle3.Renderer = enhancedColumnHeaderRenderer10; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer10.Name = ""; + rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer10.TextRotationAngle = 0D; + namedStyle4.Renderer = rowHeaderRenderer10; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread_Sheet1, + this.FpSpread_Sheet2}); + this.FpSpread.Size = new System.Drawing.Size(259, 207); + namedStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle5.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle5.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red; + enhancedColumnHeaderRenderer11.Name = ""; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + namedStyle5.Renderer = enhancedColumnHeaderRenderer11; + namedStyle5.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle5; + namedStyle6.BackColor = System.Drawing.SystemColors.Control; + namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red; + rowHeaderRenderer11.Name = ""; + rowHeaderRenderer11.TextRotationAngle = 0D; + namedStyle6.Renderer = rowHeaderRenderer11; + namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + spreadSkin1.DefaultStyle = namedStyle6; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle5; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread.Skin = spreadSkin1; + this.FpSpread.TabIndex = 600; + this.FpSpread.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread.VerticalScrollBar.Name = ""; + this.FpSpread.VerticalScrollBar.Renderer = defaultScrollBarRenderer3; + this.FpSpread.VerticalScrollBar.TabIndex = 350; + this.FpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; + // + // FpSpread_Sheet1 + // + this.FpSpread_Sheet1.Reset(); + this.FpSpread_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet1.ColumnCount = 8; + this.FpSpread_Sheet1.RowCount = 0; + this.FpSpread_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread_Sheet1.ActiveRowIndex = -1; + this.FpSpread_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1; + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "Set List"; + this.FpSpread_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread_Sheet1.Columns.Get(0).Visible = false; + this.FpSpread_Sheet1.Columns.Get(1).Label = "Set List"; + this.FpSpread_Sheet1.Columns.Get(1).Width = 237F; + this.FpSpread_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread_Sheet1.Columns.Get(5).Visible = false; + this.FpSpread_Sheet1.Columns.Get(6).Visible = false; + this.FpSpread_Sheet1.Columns.Get(7).Visible = false; + this.FpSpread_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; + this.FpSpread_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread.SetActiveViewport(0, -1, 0); + // + // FpSpread_Sheet2 + // + this.FpSpread_Sheet2.Reset(); + this.FpSpread_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btn4 + // + this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn4.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn4.ForeColor = System.Drawing.Color.Black; + this.btn4.Location = new System.Drawing.Point(271, 115); + this.btn4.Name = "btn4"; + this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn4.Size = new System.Drawing.Size(84, 27); + this.btn4.TabIndex = 599; + this.btn4.Text = "Down"; + this.btn4.UseVisualStyleBackColor = true; + this.btn4.Click += new System.EventHandler(this.btn4_Click); + // + // btn3 + // + this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn3.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn3.ForeColor = System.Drawing.Color.Black; + this.btn3.Location = new System.Drawing.Point(271, 82); + this.btn3.Name = "btn3"; + this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn3.Size = new System.Drawing.Size(84, 27); + this.btn3.TabIndex = 598; + this.btn3.Text = "Up"; + this.btn3.UseVisualStyleBackColor = true; + this.btn3.Click += new System.EventHandler(this.btn3_Click); + // + // btn2 + // + this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn2.ForeColor = System.Drawing.Color.Black; + this.btn2.Location = new System.Drawing.Point(271, 49); + this.btn2.Name = "btn2"; + this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn2.Size = new System.Drawing.Size(84, 27); + this.btn2.TabIndex = 597; + this.btn2.Text = "Delete All"; + this.btn2.UseVisualStyleBackColor = true; + this.btn2.Click += new System.EventHandler(this.btn2_Click); + // + // btn1 + // + this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btn1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btn1.ForeColor = System.Drawing.Color.Black; + this.btn1.Location = new System.Drawing.Point(271, 16); + this.btn1.Name = "btn1"; + this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btn1.Size = new System.Drawing.Size(84, 27); + this.btn1.TabIndex = 596; + this.btn1.Text = "Delete"; + this.btn1.UseVisualStyleBackColor = true; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // gb1 + // + this.gb1.Controls.Add(this.listBox); + this.gb1.Controls.Add(this.txtSearch); + this.gb1.Controls.Add(this.btnsearch); + this.gb1.Location = new System.Drawing.Point(7, 1); + this.gb1.Name = "gb1"; + this.gb1.Size = new System.Drawing.Size(364, 247); + this.gb1.TabIndex = 601; + this.gb1.TabStop = false; + this.gb1.Text = "종목"; + // + // listBox + // + this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(6, 50); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(351, 191); + this.listBox.TabIndex = 595; + this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick); + // + // btnsearch + // + this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsearch.ForeColor = System.Drawing.Color.Black; + this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image"))); + this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.Location = new System.Drawing.Point(265, 15); + this.btnsearch.Name = "btnsearch"; + this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsearch.Size = new System.Drawing.Size(93, 30); + this.btnsearch.TabIndex = 592; + this.btnsearch.Text = " 종목검색"; + this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnsearch.UseVisualStyleBackColor = true; + this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click); + // + // btncancel + // + this.btncancel.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btncancel.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btncancel.ForeColor = System.Drawing.Color.Black; + this.btncancel.Location = new System.Drawing.Point(278, 495); + this.btncancel.Name = "btncancel"; + this.btncancel.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btncancel.Size = new System.Drawing.Size(93, 27); + this.btncancel.TabIndex = 607; + this.btncancel.Text = "취소"; + this.btncancel.UseVisualStyleBackColor = true; + this.btncancel.Click += new System.EventHandler(this.btncancel_Click); + // + // panel1 + // + this.panel1.Controls.Add(this.btncancel); + this.panel1.Controls.Add(this.gb2); + this.panel1.Controls.Add(this.btnok); + this.panel1.Controls.Add(this.gb1); + this.panel1.Location = new System.Drawing.Point(1, 3); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(378, 528); + this.panel1.TabIndex = 19; + // + // VILIST + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(380, 533); + this.Controls.Add(this.panel1); + this.Controls.Add(enhancedColumnHeaderRenderer2); + this.Controls.Add(rowHeaderRenderer2); + this.Controls.Add(enhancedColumnHeaderRenderer3); + this.Controls.Add(rowHeaderRenderer3); + this.Controls.Add(enhancedColumnHeaderRenderer4); + this.Controls.Add(rowHeaderRenderer4); + this.Controls.Add(enhancedColumnHeaderRenderer1); + this.Controls.Add(rowHeaderRenderer1); + this.Controls.Add(enhancedColumnHeaderRenderer8); + this.Controls.Add(rowHeaderRenderer8); + this.Controls.Add(enhancedColumnHeaderRenderer9); + this.Controls.Add(rowHeaderRenderer9); + this.Controls.Add(enhancedColumnHeaderRenderer5); + this.Controls.Add(rowHeaderRenderer5); + this.Controls.Add(enhancedColumnHeaderRenderer6); + this.Controls.Add(rowHeaderRenderer6); + this.Controls.Add(rowHeaderRenderer7); + this.Controls.Add(enhancedColumnHeaderRenderer7); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "VILIST"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "VI 설정"; + this.Load += new System.EventHandler(this.VILIST_Load); + this.gb2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).EndInit(); + this.gb1.ResumeLayout(false); + this.gb1.PerformLayout(); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.Button btnok; + private System.Windows.Forms.GroupBox gb2; + private System.Windows.Forms.DataGridView dataGridView1; + public FarPoint.Win.Spread.FpSpread FpSpread; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread_Sheet2; + private System.Windows.Forms.Button btn4; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn1; + private System.Windows.Forms.GroupBox gb1; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Button btnsearch; + private System.Windows.Forms.Button btncancel; + private System.Windows.Forms.Panel panel1; + } +} \ No newline at end of file diff --git a/MBN_STOCK_N/Form/VIList.cs b/MBN_STOCK_N/Form/VIList.cs new file mode 100644 index 0000000..d28de87 --- /dev/null +++ b/MBN_STOCK_N/Form/VIList.cs @@ -0,0 +1,148 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MBN_STOCK_N +{ + public partial class VILIST : Form + { + MainForm mf = null; + //int m_exist = false; + + public VILIST() + { + InitializeComponent(); + } + + public VILIST(Form frm) + { + //m_code = code; + //m_name = tname; + mf = (MainForm)frm; + InitializeComponent(); + } + + private void VILIST_Load(object sender, EventArgs e) + { + //파일로드 + mf.ReadListFile(mf.m_DataPath + "VI발동.dat", '^', FpSpread.ActiveSheet, mf.m_DataPath, FpSpread, 0); + } + + private void btnsearch_Click(object sender, EventArgs e) + { + if (txtSearch.Text == "") return; + + mf.searchStock(listBox, txtSearch); + } + + private void btn1_Click(object sender, EventArgs e) + { + if (FpSpread.ActiveSheet.ActiveRowIndex + 1 > 0) + { + FpSpread.ActiveSheet.RemoveRows(FpSpread.ActiveSheet.ActiveRowIndex, 1); + } + } + + private void btn2_Click(object sender, EventArgs e) + { + if (MessageBox.Show("모두 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true); + if (FpSpread.ActiveSheet.RowCount != 0) + FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount); + } + } + + private void btn3_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 0, 0); + } + + private void btn4_Click(object sender, EventArgs e) + { + mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 1, 0); + } + + private void listBox_DoubleClick(object sender, EventArgs e) + { + string str = mf.jongmokCode((string)listBox.SelectedItem); + + string data3 = str.Substring(0, str.IndexOf('/')); //종목코드 + string data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); //코스피, 코스닥체크 + string jcode = string.Empty; + + if (data4 == "코스피") + jcode = "P" + data3; + else + jcode = "D" + data3; + + + //열추가 + int row = FpSpread.ActiveSheet.RowCount + 1; + mf.InsertRow(FpSpread, FpSpread.ActiveSheet, row, 1, 0); + + FpSpread.ActiveSheet.SetText(row - 1, 1, (string)listBox.SelectedItem); + FpSpread.ActiveSheet.SetText(row - 1, 0, jcode); + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + mf.searchStock(listBox, txtSearch); + } + } + + private void btnok_Click(object sender, EventArgs e) + { + + //PlayList에 추가 + string s = string.Empty; + + for (int i = 0; i< FpSpread.ActiveSheet.RowCount; i++) + { + if (i > 0) + { + s = s + ","; + } + s = s + FpSpread.ActiveSheet.GetText(i, 1); + } + + int row = mf.PlayList.ActiveSheet.RowCount + 1; + mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1); + mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true); + + mf.PlayList.ActiveSheet.SetText(row - 1, 2, s); + mf.PlayList.ActiveSheet.SetText(row - 1, 3, "5단 표그래프"); + mf.PlayList.ActiveSheet.SetText(row - 1, 4, "VI 발동(수동)"); + + + int cnt = FpSpread.ActiveSheet.RowCount; + int lcnt = 0; + + if ((cnt % 5) != 0) + lcnt = 1; + + lcnt = (cnt / 5) + lcnt; + + mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString()); + + //파일저장 + if (FpSpread.ActiveSheet.RowCount != 0) + mf.WriteListFile(mf.m_DataPath + "VI발동.dat", FpSpread.ActiveSheet, "^"); + Close(); + } + + private void btncancel_Click(object sender, EventArgs e) + { + Close(); + } + } +} diff --git a/MBN_STOCK_N/Form/VIList.resx b/MBN_STOCK_N/Form/VIList.resx new file mode 100644 index 0000000..3661bde --- /dev/null +++ b/MBN_STOCK_N/Form/VIList.resx @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1335, 115 + + + 17, 154 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/MBN_STOCK_N/MBN_STOCK_N.csproj b/MBN_STOCK_N/MBN_STOCK_N.csproj new file mode 100644 index 0000000..3a2dced --- /dev/null +++ b/MBN_STOCK_N/MBN_STOCK_N.csproj @@ -0,0 +1,393 @@ + + + + + Debug + AnyCPU + {79711222-87A1-432B-A122-C67AB0E7237B} + WinExe + MBN_STOCK_N + 매일경제TV + v4.8 + 512 + true + true + + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + RES\MmoneyCoder.ico + + + + bin\x64\ + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + true + + + bin\x64\x64\ + x64 + + + + False + ..\..\..\..\..\Program Files (x86)\FarPoint Technologies\Spread.WinForms.4.dotNet35\v4.0.3512\Bin\FarPoint.Win.dll + + + False + ..\..\..\..\..\Program Files (x86)\FarPoint Technologies\Spread.WinForms.4.dotNet35\v4.0.3512\Bin\FarPoint.Win.Spread.dll + + + False + ..\..\..\..\..\Program Files (x86)\FarPoint Technologies\Spread.WinForms.4.dotNet35\v4.0.3512\Bin\FarPoint.Win.Spread.Design.dll + + + obj\Debug\Interop.K3DAsyncEngineLib.dll + True + + + False + bin\Debug\MySql.Data.dll + + + False + bin\Debug\Oracle.ManagedDataAccess.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + FSell.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UC2.cs + + + Form + + + EList.cs + + + Form + + + AList.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + GraphE.cs + + + Form + + + MainForm.cs + + + Form + + + PList.cs + + + + + UserControl + + + UC1.cs + + + UserControl + + + UC3.cs + + + UserControl + + + UC4.cs + + + Form + + + ThemeA.cs + + + UserControl + + + UC5.cs + + + UserControl + + + UC6.cs + + + + + + UserControl + + + UC7.cs + + + + + + + Form + + + VIList.cs + + + UC2.cs + + + UC3.cs + + + UC5.cs + + + UC6.cs + + + AList.cs + + + EList.cs + + + FSell.cs + + + ThemeA.cs + + + GraphE.cs + + + VIList.cs + + + MainForm.cs + Designer + + + PList.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + UC1.cs + + + UC4.cs + + + UC7.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + \ No newline at end of file diff --git a/MBN_STOCK_N/MainForm.Designer.cs b/MBN_STOCK_N/MainForm.Designer.cs new file mode 100644 index 0000000..5c2ad9a --- /dev/null +++ b/MBN_STOCK_N/MainForm.Designer.cs @@ -0,0 +1,2630 @@ + +namespace MBN_STOCK_N +{ + partial class MainForm + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer15 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer15 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer16 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer16 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer19 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer19 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer20 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer20 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer21 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer21 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer22 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer22 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer23 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer23 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer24 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer24 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer25 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer25 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer26 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer26 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer27 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer27 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer28 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer28 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer29 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer29 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer30 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer30 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer33 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer33 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer34 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer34 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer31 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer31 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer32 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer32 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer35 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer35 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer36 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer36 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer37 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer37 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer38 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer38 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer41 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer41 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer42 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer42 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer43 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer43 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer44 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer44 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer39 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer39 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer40 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer40 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer45 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer45 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer46 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer46 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer47 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer47 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer48 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer48 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer49 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer49 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer50 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer50 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer51 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer51 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer52 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer52 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer53 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer53 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer54 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer54 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer55 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer55 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer56 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer56 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer57 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer57 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer58 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer58 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer59 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer59 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer60 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer60 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer61 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer61 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer62 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer63 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer enhancedRowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer64 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer62 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer65 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer63 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer70 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer enhancedRowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer71 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer enhancedRowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer66 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer66 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer67 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer67 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer68 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer64 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer69 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer65 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer72 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer68 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer73 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer69 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer74 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer70 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer75 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer71 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer78 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer enhancedRowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer79 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer(); + FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer enhancedRowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer(); + FarPoint.Win.Spread.EnhancedScrollBarRenderer enhancedScrollBarRenderer4 = new FarPoint.Win.Spread.EnhancedScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle9 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderMetallic"); + FarPoint.Win.Spread.NamedStyle namedStyle10 = new FarPoint.Win.Spread.NamedStyle("RowHeaderMetallic"); + FarPoint.Win.Spread.NamedStyle namedStyle11 = new FarPoint.Win.Spread.NamedStyle("CornerMetallic"); + FarPoint.Win.Spread.CellType.EnhancedCornerRenderer enhancedCornerRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedCornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle12 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType3 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.SpreadSkin spreadSkin3 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.EnhancedFocusIndicatorRenderer enhancedFocusIndicatorRenderer2 = new FarPoint.Win.Spread.EnhancedFocusIndicatorRenderer(); + FarPoint.Win.Spread.EnhancedInterfaceRenderer enhancedInterfaceRenderer2 = new FarPoint.Win.Spread.EnhancedInterfaceRenderer(); + FarPoint.Win.Spread.EnhancedScrollBarRenderer enhancedScrollBarRenderer5 = new FarPoint.Win.Spread.EnhancedScrollBarRenderer(); + FarPoint.Win.Spread.EnhancedScrollBarRenderer enhancedScrollBarRenderer6 = new FarPoint.Win.Spread.EnhancedScrollBarRenderer(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault"); + FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType(); + FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault"); + FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer(); + FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced"); + FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault"); + FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer(); + FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder(); + this.panelC = new System.Windows.Forms.Panel(); + this.lables = new System.Windows.Forms.Label(); + this.tab = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabp1 = new System.Windows.Forms.Panel(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.tabp2 = new System.Windows.Forms.Panel(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.tabp3 = new System.Windows.Forms.Panel(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.tabp4_1 = new System.Windows.Forms.Panel(); + this.tabp4 = new System.Windows.Forms.Panel(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.tabp5_1 = new System.Windows.Forms.Panel(); + this.tabp5 = new System.Windows.Forms.Panel(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.tabp6_1 = new System.Windows.Forms.Panel(); + this.tabp6 = new System.Windows.Forms.Panel(); + this.tabPage7 = new System.Windows.Forms.TabPage(); + this.tabp7 = new System.Windows.Forms.Panel(); + this.tabPage8 = new System.Windows.Forms.TabPage(); + this.tabp8 = new System.Windows.Forms.Panel(); + this.tabPage9 = new System.Windows.Forms.TabPage(); + this.tabp9 = new System.Windows.Forms.Panel(); + this.tabPage10 = new System.Windows.Forms.TabPage(); + this.tabp10 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.dataGridView3 = new System.Windows.Forms.DataGridView(); + this.panel15 = new System.Windows.Forms.Panel(); + this.label12 = new System.Windows.Forms.Label(); + this.dataGridView2 = new System.Windows.Forms.DataGridView(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.panel10 = new System.Windows.Forms.Panel(); + this.panel14 = new System.Windows.Forms.Panel(); + this.label11 = new System.Windows.Forms.Label(); + this.panel13 = new System.Windows.Forms.Panel(); + this.label10 = new System.Windows.Forms.Label(); + this.panel12 = new System.Windows.Forms.Panel(); + this.label9 = new System.Windows.Forms.Label(); + this.panel3 = new System.Windows.Forms.Panel(); + this.picBoxPreview = new System.Windows.Forms.PictureBox(); + this.panel6 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.btnPrepare = new System.Windows.Forms.Button(); + this.ComboDi = new System.Windows.Forms.ComboBox(); + this.comboA = new System.Windows.Forms.ComboBox(); + this.txt2 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.panel11 = new System.Windows.Forms.Panel(); + this.label8 = new System.Windows.Forms.Label(); + this.panel8 = new System.Windows.Forms.Panel(); + this.label7 = new System.Windows.Forms.Label(); + this.PlayList = new FarPoint.Win.Spread.FpSpread(); + this.PlayList_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.panel7 = new System.Windows.Forms.Panel(); + this.ckback = new System.Windows.Forms.CheckBox(); + this.lblbackfile = new System.Windows.Forms.Label(); + this.lblbackfile_full = new System.Windows.Forms.Label(); + this.btnback = new System.Windows.Forms.Button(); + this.btntdelete = new System.Windows.Forms.Button(); + this.btndelete = new System.Windows.Forms.Button(); + this.btnload = new System.Windows.Forms.Button(); + this.btnsave = new System.Windows.Forms.Button(); + this.btndown = new System.Windows.Forms.Button(); + this.btnup = new System.Windows.Forms.Button(); + this.ck2 = new System.Windows.Forms.CheckBox(); + this.ck1 = new System.Windows.Forms.CheckBox(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.txt1 = new System.Windows.Forms.TextBox(); + this.btnTake = new System.Windows.Forms.Button(); + this.panel4 = new System.Windows.Forms.Panel(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.GridView1 = new System.Windows.Forms.DataGridView(); + this.label14 = new System.Windows.Forms.Label(); + this.b4 = new System.Windows.Forms.Button(); + this.b3 = new System.Windows.Forms.Button(); + this.b2 = new System.Windows.Forms.Button(); + this.b1 = new System.Windows.Forms.Button(); + this.panel9 = new System.Windows.Forms.Panel(); + this.label6 = new System.Windows.Forms.Label(); + this.listBox = new System.Windows.Forms.ListBox(); + this.button9 = new System.Windows.Forms.Button(); + this.FpSpread2 = new FarPoint.Win.Spread.FpSpread(); + this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView(); + this.listView1 = new MBN_STOCK_N.MainForm.ListViewEx(); + this.label5 = new System.Windows.Forms.Label(); + this.panel5 = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.picLogo = new System.Windows.Forms.PictureBox(); + this.btnNext = new System.Windows.Forms.Button(); + this.btnTakeout = new System.Windows.Forms.Button(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.timer2 = new System.Windows.Forms.Timer(this.components); + this.timer3 = new System.Windows.Forms.Timer(this.components); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.panelC.SuspendLayout(); + this.tab.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.tabPage6.SuspendLayout(); + this.tabPage7.SuspendLayout(); + this.tabPage8.SuspendLayout(); + this.tabPage9.SuspendLayout(); + this.tabPage10.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).BeginInit(); + this.panel15.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.panel14.SuspendLayout(); + this.panel13.SuspendLayout(); + this.panel12.SuspendLayout(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picBoxPreview)).BeginInit(); + this.panel6.SuspendLayout(); + this.panel11.SuspendLayout(); + this.panel8.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PlayList)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PlayList_Sheet1)).BeginInit(); + this.panel7.SuspendLayout(); + this.panel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.GridView1)).BeginInit(); + this.panel9.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit(); + this.panel5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.picLogo)).BeginInit(); + this.SuspendLayout(); + enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1"; + enhancedColumnHeaderRenderer1.TextRotationAngle = 0D; + rowHeaderRenderer1.Name = "rowHeaderRenderer1"; + rowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3"; + enhancedColumnHeaderRenderer3.TextRotationAngle = 0D; + rowHeaderRenderer3.Name = "rowHeaderRenderer3"; + rowHeaderRenderer3.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2"; + enhancedColumnHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer2.TextRotationAngle = 0D; + rowHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer2.Name = "rowHeaderRenderer2"; + rowHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer2.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10"; + enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer10.TextRotationAngle = 0D; + rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer10.Name = "rowHeaderRenderer10"; + rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer10.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11"; + enhancedColumnHeaderRenderer11.TextRotationAngle = 0D; + rowHeaderRenderer11.Name = "rowHeaderRenderer11"; + rowHeaderRenderer11.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13"; + enhancedColumnHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer13.TextRotationAngle = 0D; + rowHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer13.Name = "rowHeaderRenderer13"; + rowHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer13.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4"; + enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer4.TextRotationAngle = 0D; + rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer4.Name = "rowHeaderRenderer4"; + rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5"; + enhancedColumnHeaderRenderer5.TextRotationAngle = 0D; + rowHeaderRenderer5.Name = "rowHeaderRenderer5"; + rowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12"; + enhancedColumnHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer12.TextRotationAngle = 0D; + rowHeaderRenderer12.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer12.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer12.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer12.Name = "rowHeaderRenderer12"; + rowHeaderRenderer12.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer12.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6"; + enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer6.TextRotationAngle = 0D; + rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer6.Name = "rowHeaderRenderer6"; + rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7"; + enhancedColumnHeaderRenderer7.TextRotationAngle = 0D; + rowHeaderRenderer7.Name = "rowHeaderRenderer7"; + rowHeaderRenderer7.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8"; + enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer8.TextRotationAngle = 0D; + rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer8.Name = "rowHeaderRenderer8"; + rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer8.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9"; + enhancedColumnHeaderRenderer9.TextRotationAngle = 0D; + rowHeaderRenderer9.Name = "rowHeaderRenderer9"; + rowHeaderRenderer9.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14"; + enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer14.TextRotationAngle = 0D; + rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer14.Name = "rowHeaderRenderer14"; + rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer14.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer15.Name = "enhancedColumnHeaderRenderer15"; + enhancedColumnHeaderRenderer15.TextRotationAngle = 0D; + rowHeaderRenderer15.Name = "rowHeaderRenderer15"; + rowHeaderRenderer15.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer16.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer16.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer16.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer16.Name = "enhancedColumnHeaderRenderer16"; + enhancedColumnHeaderRenderer16.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer16.TextRotationAngle = 0D; + rowHeaderRenderer16.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer16.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer16.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer16.Name = "rowHeaderRenderer16"; + rowHeaderRenderer16.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer16.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17"; + enhancedColumnHeaderRenderer17.TextRotationAngle = 0D; + rowHeaderRenderer17.Name = "rowHeaderRenderer17"; + rowHeaderRenderer17.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18"; + enhancedColumnHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer18.TextRotationAngle = 0D; + rowHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer18.Name = "rowHeaderRenderer18"; + rowHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer18.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer19.Name = "enhancedColumnHeaderRenderer19"; + enhancedColumnHeaderRenderer19.TextRotationAngle = 0D; + rowHeaderRenderer19.Name = "rowHeaderRenderer19"; + rowHeaderRenderer19.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer20.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer20.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer20.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer20.Name = "enhancedColumnHeaderRenderer20"; + enhancedColumnHeaderRenderer20.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer20.TextRotationAngle = 0D; + rowHeaderRenderer20.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer20.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer20.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer20.Name = "rowHeaderRenderer20"; + rowHeaderRenderer20.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer20.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer21.Name = "enhancedColumnHeaderRenderer21"; + enhancedColumnHeaderRenderer21.TextRotationAngle = 0D; + rowHeaderRenderer21.Name = "rowHeaderRenderer21"; + rowHeaderRenderer21.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer22.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer22.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer22.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer22.Name = "enhancedColumnHeaderRenderer22"; + enhancedColumnHeaderRenderer22.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer22.TextRotationAngle = 0D; + rowHeaderRenderer22.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer22.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer22.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer22.Name = "rowHeaderRenderer22"; + rowHeaderRenderer22.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer22.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer23.Name = "enhancedColumnHeaderRenderer23"; + enhancedColumnHeaderRenderer23.TextRotationAngle = 0D; + rowHeaderRenderer23.Name = "rowHeaderRenderer23"; + rowHeaderRenderer23.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer24.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer24.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer24.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer24.Name = "enhancedColumnHeaderRenderer24"; + enhancedColumnHeaderRenderer24.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer24.TextRotationAngle = 0D; + rowHeaderRenderer24.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer24.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer24.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer24.Name = "rowHeaderRenderer24"; + rowHeaderRenderer24.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer24.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer25.Name = "enhancedColumnHeaderRenderer25"; + enhancedColumnHeaderRenderer25.TextRotationAngle = 0D; + rowHeaderRenderer25.Name = "rowHeaderRenderer25"; + rowHeaderRenderer25.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer26.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer26.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer26.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer26.Name = "enhancedColumnHeaderRenderer26"; + enhancedColumnHeaderRenderer26.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer26.TextRotationAngle = 0D; + rowHeaderRenderer26.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer26.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer26.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer26.Name = "rowHeaderRenderer26"; + rowHeaderRenderer26.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer26.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer27.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer27.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer27.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer27.Name = "enhancedColumnHeaderRenderer27"; + enhancedColumnHeaderRenderer27.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer27.TextRotationAngle = 0D; + rowHeaderRenderer27.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer27.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer27.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer27.Name = "rowHeaderRenderer27"; + rowHeaderRenderer27.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer27.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer28.Name = "enhancedColumnHeaderRenderer28"; + enhancedColumnHeaderRenderer28.TextRotationAngle = 0D; + rowHeaderRenderer28.Name = "rowHeaderRenderer28"; + rowHeaderRenderer28.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer29.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer29.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer29.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer29.Name = "enhancedColumnHeaderRenderer29"; + enhancedColumnHeaderRenderer29.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer29.TextRotationAngle = 0D; + rowHeaderRenderer29.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer29.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer29.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer29.Name = "rowHeaderRenderer29"; + rowHeaderRenderer29.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer29.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer30.Name = "enhancedColumnHeaderRenderer30"; + enhancedColumnHeaderRenderer30.TextRotationAngle = 0D; + rowHeaderRenderer30.Name = "rowHeaderRenderer30"; + rowHeaderRenderer30.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer33.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer33.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer33.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer33.Name = "enhancedColumnHeaderRenderer33"; + enhancedColumnHeaderRenderer33.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer33.TextRotationAngle = 0D; + rowHeaderRenderer33.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer33.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer33.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer33.Name = "rowHeaderRenderer33"; + rowHeaderRenderer33.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer33.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer34.Name = "enhancedColumnHeaderRenderer34"; + enhancedColumnHeaderRenderer34.TextRotationAngle = 0D; + rowHeaderRenderer34.Name = "rowHeaderRenderer34"; + rowHeaderRenderer34.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer31.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer31.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer31.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer31.Name = "enhancedColumnHeaderRenderer31"; + enhancedColumnHeaderRenderer31.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer31.TextRotationAngle = 0D; + rowHeaderRenderer31.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer31.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer31.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer31.Name = "rowHeaderRenderer31"; + rowHeaderRenderer31.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer31.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer32.Name = "enhancedColumnHeaderRenderer32"; + enhancedColumnHeaderRenderer32.TextRotationAngle = 0D; + rowHeaderRenderer32.Name = "rowHeaderRenderer32"; + rowHeaderRenderer32.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer35.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer35.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer35.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer35.Name = "enhancedColumnHeaderRenderer35"; + enhancedColumnHeaderRenderer35.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer35.TextRotationAngle = 0D; + rowHeaderRenderer35.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer35.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer35.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer35.Name = "rowHeaderRenderer35"; + rowHeaderRenderer35.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer35.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer36.Name = "enhancedColumnHeaderRenderer36"; + enhancedColumnHeaderRenderer36.TextRotationAngle = 0D; + rowHeaderRenderer36.Name = "rowHeaderRenderer36"; + rowHeaderRenderer36.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer37.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer37.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer37.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer37.Name = "enhancedColumnHeaderRenderer37"; + enhancedColumnHeaderRenderer37.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer37.TextRotationAngle = 0D; + rowHeaderRenderer37.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer37.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer37.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer37.Name = "rowHeaderRenderer37"; + rowHeaderRenderer37.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer37.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer38.Name = "enhancedColumnHeaderRenderer38"; + enhancedColumnHeaderRenderer38.TextRotationAngle = 0D; + rowHeaderRenderer38.Name = "rowHeaderRenderer38"; + rowHeaderRenderer38.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer41.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer41.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer41.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer41.Name = "enhancedColumnHeaderRenderer41"; + enhancedColumnHeaderRenderer41.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer41.TextRotationAngle = 0D; + rowHeaderRenderer41.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer41.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer41.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer41.Name = "rowHeaderRenderer41"; + rowHeaderRenderer41.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer41.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer42.Name = "enhancedColumnHeaderRenderer42"; + enhancedColumnHeaderRenderer42.TextRotationAngle = 0D; + rowHeaderRenderer42.Name = "rowHeaderRenderer42"; + rowHeaderRenderer42.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer43.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer43.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer43.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer43.Name = "enhancedColumnHeaderRenderer43"; + enhancedColumnHeaderRenderer43.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer43.TextRotationAngle = 0D; + rowHeaderRenderer43.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer43.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer43.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer43.Name = "rowHeaderRenderer43"; + rowHeaderRenderer43.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer43.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer44.Name = "enhancedColumnHeaderRenderer44"; + enhancedColumnHeaderRenderer44.TextRotationAngle = 0D; + rowHeaderRenderer44.Name = "rowHeaderRenderer44"; + rowHeaderRenderer44.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer39.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer39.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer39.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer39.Name = "enhancedColumnHeaderRenderer39"; + enhancedColumnHeaderRenderer39.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer39.TextRotationAngle = 0D; + rowHeaderRenderer39.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer39.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer39.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer39.Name = "rowHeaderRenderer39"; + rowHeaderRenderer39.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer39.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer40.Name = "enhancedColumnHeaderRenderer40"; + enhancedColumnHeaderRenderer40.TextRotationAngle = 0D; + rowHeaderRenderer40.Name = "rowHeaderRenderer40"; + rowHeaderRenderer40.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer45.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer45.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer45.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer45.Name = "enhancedColumnHeaderRenderer45"; + enhancedColumnHeaderRenderer45.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer45.TextRotationAngle = 0D; + rowHeaderRenderer45.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer45.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer45.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer45.Name = "rowHeaderRenderer45"; + rowHeaderRenderer45.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer45.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer46.Name = "enhancedColumnHeaderRenderer46"; + enhancedColumnHeaderRenderer46.TextRotationAngle = 0D; + rowHeaderRenderer46.Name = "rowHeaderRenderer46"; + rowHeaderRenderer46.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer47.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer47.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer47.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer47.Name = "enhancedColumnHeaderRenderer47"; + enhancedColumnHeaderRenderer47.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer47.TextRotationAngle = 0D; + rowHeaderRenderer47.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer47.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer47.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer47.Name = "rowHeaderRenderer47"; + rowHeaderRenderer47.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer47.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer48.Name = "enhancedColumnHeaderRenderer48"; + enhancedColumnHeaderRenderer48.TextRotationAngle = 0D; + rowHeaderRenderer48.Name = "rowHeaderRenderer48"; + rowHeaderRenderer48.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer49.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer49.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer49.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer49.Name = "enhancedColumnHeaderRenderer49"; + enhancedColumnHeaderRenderer49.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer49.TextRotationAngle = 0D; + rowHeaderRenderer49.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer49.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer49.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer49.Name = "rowHeaderRenderer49"; + rowHeaderRenderer49.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer49.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer50.Name = "enhancedColumnHeaderRenderer50"; + enhancedColumnHeaderRenderer50.TextRotationAngle = 0D; + rowHeaderRenderer50.Name = "rowHeaderRenderer50"; + rowHeaderRenderer50.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer51.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer51.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer51.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer51.Name = "enhancedColumnHeaderRenderer51"; + enhancedColumnHeaderRenderer51.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer51.TextRotationAngle = 0D; + rowHeaderRenderer51.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer51.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer51.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer51.Name = "rowHeaderRenderer51"; + rowHeaderRenderer51.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer51.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer52.Name = "enhancedColumnHeaderRenderer52"; + enhancedColumnHeaderRenderer52.TextRotationAngle = 0D; + rowHeaderRenderer52.Name = "rowHeaderRenderer52"; + rowHeaderRenderer52.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer53.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer53.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer53.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer53.Name = "enhancedColumnHeaderRenderer53"; + enhancedColumnHeaderRenderer53.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer53.TextRotationAngle = 0D; + rowHeaderRenderer53.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer53.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer53.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer53.Name = "rowHeaderRenderer53"; + rowHeaderRenderer53.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer53.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer54.Name = "enhancedColumnHeaderRenderer54"; + enhancedColumnHeaderRenderer54.TextRotationAngle = 0D; + rowHeaderRenderer54.Name = "rowHeaderRenderer54"; + rowHeaderRenderer54.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer55.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer55.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer55.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer55.Name = "enhancedColumnHeaderRenderer55"; + enhancedColumnHeaderRenderer55.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer55.TextRotationAngle = 0D; + rowHeaderRenderer55.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer55.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer55.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer55.Name = "rowHeaderRenderer55"; + rowHeaderRenderer55.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer55.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer56.Name = "enhancedColumnHeaderRenderer56"; + enhancedColumnHeaderRenderer56.TextRotationAngle = 0D; + rowHeaderRenderer56.Name = "rowHeaderRenderer56"; + rowHeaderRenderer56.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer57.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer57.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer57.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer57.Name = "enhancedColumnHeaderRenderer57"; + enhancedColumnHeaderRenderer57.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer57.TextRotationAngle = 0D; + rowHeaderRenderer57.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer57.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer57.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer57.Name = "rowHeaderRenderer57"; + rowHeaderRenderer57.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer57.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer58.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer58.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer58.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer58.Name = "enhancedColumnHeaderRenderer58"; + enhancedColumnHeaderRenderer58.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer58.TextRotationAngle = 0D; + rowHeaderRenderer58.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer58.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer58.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer58.Name = "rowHeaderRenderer58"; + rowHeaderRenderer58.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer58.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer59.Name = "enhancedColumnHeaderRenderer59"; + enhancedColumnHeaderRenderer59.TextRotationAngle = 0D; + rowHeaderRenderer59.Name = "rowHeaderRenderer59"; + rowHeaderRenderer59.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer60.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer60.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer60.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer60.Name = "enhancedColumnHeaderRenderer60"; + enhancedColumnHeaderRenderer60.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer60.TextRotationAngle = 0D; + rowHeaderRenderer60.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer60.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer60.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer60.Name = "rowHeaderRenderer60"; + rowHeaderRenderer60.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer60.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer61.Name = "enhancedColumnHeaderRenderer61"; + enhancedColumnHeaderRenderer61.TextRotationAngle = 0D; + rowHeaderRenderer61.Name = "rowHeaderRenderer61"; + rowHeaderRenderer61.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer62.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer62.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer62.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer62.Name = "enhancedColumnHeaderRenderer62"; + enhancedColumnHeaderRenderer62.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer62.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer63.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer63.Name = "enhancedColumnHeaderRenderer63"; + enhancedColumnHeaderRenderer63.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer63.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer63.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedColumnHeaderRenderer63.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedColumnHeaderRenderer63.TextRotationAngle = 0D; + enhancedRowHeaderRenderer1.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer1.Name = "enhancedRowHeaderRenderer1"; + enhancedRowHeaderRenderer1.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer1.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer1.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedRowHeaderRenderer1.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedRowHeaderRenderer1.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer64.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer64.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer64.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer64.Name = "enhancedColumnHeaderRenderer64"; + enhancedColumnHeaderRenderer64.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer64.TextRotationAngle = 0D; + rowHeaderRenderer62.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer62.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer62.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer62.Name = "rowHeaderRenderer62"; + rowHeaderRenderer62.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer62.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer65.Name = "enhancedColumnHeaderRenderer65"; + enhancedColumnHeaderRenderer65.TextRotationAngle = 0D; + rowHeaderRenderer63.Name = "rowHeaderRenderer63"; + rowHeaderRenderer63.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer70.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer70.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer70.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer70.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer70.Name = "enhancedColumnHeaderRenderer70"; + enhancedColumnHeaderRenderer70.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer70.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer70.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer70.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedColumnHeaderRenderer70.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedColumnHeaderRenderer70.TextRotationAngle = 0D; + enhancedRowHeaderRenderer4.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control; + enhancedRowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedRowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedRowHeaderRenderer4.Name = "enhancedRowHeaderRenderer4"; + enhancedRowHeaderRenderer4.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedRowHeaderRenderer4.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer4.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedRowHeaderRenderer4.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedRowHeaderRenderer4.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer71.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer71.Name = "enhancedColumnHeaderRenderer71"; + enhancedColumnHeaderRenderer71.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer71.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer71.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedColumnHeaderRenderer71.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedColumnHeaderRenderer71.TextRotationAngle = 0D; + enhancedRowHeaderRenderer5.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer5.Name = "enhancedRowHeaderRenderer5"; + enhancedRowHeaderRenderer5.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer5.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer5.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedRowHeaderRenderer5.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedRowHeaderRenderer5.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer66.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer66.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer66.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer66.Name = "enhancedColumnHeaderRenderer66"; + enhancedColumnHeaderRenderer66.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer66.TextRotationAngle = 0D; + rowHeaderRenderer66.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer66.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer66.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer66.Name = "rowHeaderRenderer66"; + rowHeaderRenderer66.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer66.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer67.Name = "enhancedColumnHeaderRenderer67"; + enhancedColumnHeaderRenderer67.TextRotationAngle = 0D; + rowHeaderRenderer67.Name = "rowHeaderRenderer67"; + rowHeaderRenderer67.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer68.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer68.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer68.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer68.Name = "enhancedColumnHeaderRenderer68"; + enhancedColumnHeaderRenderer68.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer68.TextRotationAngle = 0D; + rowHeaderRenderer64.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer64.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer64.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer64.Name = "rowHeaderRenderer64"; + rowHeaderRenderer64.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer64.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer69.Name = "enhancedColumnHeaderRenderer69"; + enhancedColumnHeaderRenderer69.TextRotationAngle = 0D; + rowHeaderRenderer65.Name = "rowHeaderRenderer65"; + rowHeaderRenderer65.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer72.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer72.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer72.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer72.Name = "enhancedColumnHeaderRenderer72"; + enhancedColumnHeaderRenderer72.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer72.TextRotationAngle = 0D; + rowHeaderRenderer68.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer68.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer68.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer68.Name = "rowHeaderRenderer68"; + rowHeaderRenderer68.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer68.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer73.Name = "enhancedColumnHeaderRenderer73"; + enhancedColumnHeaderRenderer73.TextRotationAngle = 0D; + rowHeaderRenderer69.Name = "rowHeaderRenderer69"; + rowHeaderRenderer69.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer74.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer74.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer74.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer74.Name = "enhancedColumnHeaderRenderer74"; + enhancedColumnHeaderRenderer74.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer74.TextRotationAngle = 0D; + rowHeaderRenderer70.BackColor = System.Drawing.SystemColors.Control; + rowHeaderRenderer70.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + rowHeaderRenderer70.ForeColor = System.Drawing.SystemColors.ControlText; + rowHeaderRenderer70.Name = "rowHeaderRenderer70"; + rowHeaderRenderer70.RightToLeft = System.Windows.Forms.RightToLeft.No; + rowHeaderRenderer70.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer75.Name = "enhancedColumnHeaderRenderer75"; + enhancedColumnHeaderRenderer75.TextRotationAngle = 0D; + rowHeaderRenderer71.Name = "rowHeaderRenderer71"; + rowHeaderRenderer71.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer78.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer78.BackColor = System.Drawing.SystemColors.Control; + enhancedColumnHeaderRenderer78.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedColumnHeaderRenderer78.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedColumnHeaderRenderer78.Name = "enhancedColumnHeaderRenderer78"; + enhancedColumnHeaderRenderer78.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer78.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedColumnHeaderRenderer78.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer78.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedColumnHeaderRenderer78.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedColumnHeaderRenderer78.TextRotationAngle = 0D; + enhancedRowHeaderRenderer6.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control; + enhancedRowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + enhancedRowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText; + enhancedRowHeaderRenderer6.Name = "enhancedRowHeaderRenderer6"; + enhancedRowHeaderRenderer6.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No; + enhancedRowHeaderRenderer6.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer6.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedRowHeaderRenderer6.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedRowHeaderRenderer6.TextRotationAngle = 0D; + enhancedColumnHeaderRenderer79.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer79.Name = "enhancedColumnHeaderRenderer79"; + enhancedColumnHeaderRenderer79.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer79.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedColumnHeaderRenderer79.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedColumnHeaderRenderer79.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedColumnHeaderRenderer79.TextRotationAngle = 0D; + enhancedRowHeaderRenderer7.ActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer7.Name = "enhancedRowHeaderRenderer7"; + enhancedRowHeaderRenderer7.NormalGridLineColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer7.SelectedActiveBackgroundColor = System.Drawing.Color.DarkGray; + enhancedRowHeaderRenderer7.SelectedBackgroundColor = System.Drawing.Color.Gray; + enhancedRowHeaderRenderer7.SelectedGridLineColor = System.Drawing.Color.DimGray; + enhancedRowHeaderRenderer7.TextRotationAngle = 0D; + // + // panelC + // + this.panelC.BackColor = System.Drawing.Color.DimGray; + this.panelC.Controls.Add(this.lables); + this.panelC.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.panelC.Location = new System.Drawing.Point(277, 5); + this.panelC.Name = "panelC"; + this.panelC.Size = new System.Drawing.Size(144, 37); + this.panelC.TabIndex = 6; + // + // lables + // + this.lables.AutoSize = true; + this.lables.BackColor = System.Drawing.Color.Transparent; + this.lables.Font = new System.Drawing.Font("나눔고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.lables.ForeColor = System.Drawing.Color.White; + this.lables.Location = new System.Drawing.Point(4, 8); + this.lables.Name = "lables"; + this.lables.Size = new System.Drawing.Size(144, 21); + this.lables.TabIndex = 583; + this.lables.Text = "Reconnecting.."; + this.lables.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // tab + // + this.tab.Controls.Add(this.tabPage1); + this.tab.Controls.Add(this.tabPage2); + this.tab.Controls.Add(this.tabPage3); + this.tab.Controls.Add(this.tabPage4); + this.tab.Controls.Add(this.tabPage5); + this.tab.Controls.Add(this.tabPage6); + this.tab.Controls.Add(this.tabPage7); + this.tab.Controls.Add(this.tabPage8); + this.tab.Controls.Add(this.tabPage9); + this.tab.Controls.Add(this.tabPage10); + this.tab.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tab.Location = new System.Drawing.Point(437, 3); + this.tab.Name = "tab"; + this.tab.SelectedIndex = 0; + this.tab.Size = new System.Drawing.Size(496, 1060); + this.tab.TabIndex = 3; + this.tab.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); + this.tab.DragOver += new System.Windows.Forms.DragEventHandler(this.tab_DragOver); + this.tab.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tab_MouseDown); + this.tab.MouseMove += new System.Windows.Forms.MouseEventHandler(this.tab_MouseMove); + this.tab.MouseUp += new System.Windows.Forms.MouseEventHandler(this.tab_MouseUp); + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.tabp1); + this.tabPage1.Location = new System.Drawing.Point(4, 24); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(488, 1032); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "해외"; + // + // tabp1 + // + this.tabp1.Location = new System.Drawing.Point(4, 3); + this.tabp1.Name = "tabp1"; + this.tabp1.Size = new System.Drawing.Size(481, 1026); + this.tabp1.TabIndex = 4; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.tabp2); + this.tabPage2.Location = new System.Drawing.Point(4, 24); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(488, 1032); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "환율"; + // + // tabp2 + // + this.tabp2.Location = new System.Drawing.Point(4, 3); + this.tabp2.Name = "tabp2"; + this.tabp2.Size = new System.Drawing.Size(481, 1027); + this.tabp2.TabIndex = 3; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.tabp3); + this.tabPage3.Location = new System.Drawing.Point(4, 24); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(488, 1032); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "지수"; + // + // tabp3 + // + this.tabp3.Location = new System.Drawing.Point(4, 3); + this.tabp3.Name = "tabp3"; + this.tabp3.Size = new System.Drawing.Size(484, 1027); + this.tabp3.TabIndex = 3; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.tabp4_1); + this.tabPage4.Controls.Add(this.tabp4); + this.tabPage4.Location = new System.Drawing.Point(4, 24); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(488, 1032); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "코스피"; + // + // tabp4_1 + // + this.tabp4_1.Location = new System.Drawing.Point(4, 3); + this.tabp4_1.Name = "tabp4_1"; + this.tabp4_1.Size = new System.Drawing.Size(481, 443); + this.tabp4_1.TabIndex = 591; + // + // tabp4 + // + this.tabp4.Location = new System.Drawing.Point(4, 450); + this.tabp4.Name = "tabp4"; + this.tabp4.Size = new System.Drawing.Size(481, 580); + this.tabp4.TabIndex = 4; + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.tabp5_1); + this.tabPage5.Controls.Add(this.tabp5); + this.tabPage5.Location = new System.Drawing.Point(4, 24); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(3); + this.tabPage5.Size = new System.Drawing.Size(488, 1032); + this.tabPage5.TabIndex = 4; + this.tabPage5.Text = "코스닥"; + // + // tabp5_1 + // + this.tabp5_1.Location = new System.Drawing.Point(4, 3); + this.tabp5_1.Name = "tabp5_1"; + this.tabp5_1.Size = new System.Drawing.Size(481, 443); + this.tabp5_1.TabIndex = 592; + // + // tabp5 + // + this.tabp5.Location = new System.Drawing.Point(4, 450); + this.tabp5.Name = "tabp5"; + this.tabp5.Size = new System.Drawing.Size(481, 580); + this.tabp5.TabIndex = 4; + // + // tabPage6 + // + this.tabPage6.Controls.Add(this.tabp6_1); + this.tabPage6.Controls.Add(this.tabp6); + this.tabPage6.Location = new System.Drawing.Point(4, 24); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.Padding = new System.Windows.Forms.Padding(3); + this.tabPage6.Size = new System.Drawing.Size(488, 1032); + this.tabPage6.TabIndex = 5; + this.tabPage6.Text = "비교"; + // + // tabp6_1 + // + this.tabp6_1.Location = new System.Drawing.Point(4, 3); + this.tabp6_1.Name = "tabp6_1"; + this.tabp6_1.Size = new System.Drawing.Size(481, 748); + this.tabp6_1.TabIndex = 5; + // + // tabp6 + // + this.tabp6.Location = new System.Drawing.Point(4, 752); + this.tabp6.Name = "tabp6"; + this.tabp6.Size = new System.Drawing.Size(481, 278); + this.tabp6.TabIndex = 4; + // + // tabPage7 + // + this.tabPage7.Controls.Add(this.tabp7); + this.tabPage7.Location = new System.Drawing.Point(4, 24); + this.tabPage7.Name = "tabPage7"; + this.tabPage7.Padding = new System.Windows.Forms.Padding(3); + this.tabPage7.Size = new System.Drawing.Size(488, 1032); + this.tabPage7.TabIndex = 6; + this.tabPage7.Text = "테마"; + // + // tabp7 + // + this.tabp7.Location = new System.Drawing.Point(4, 3); + this.tabp7.Name = "tabp7"; + this.tabp7.Size = new System.Drawing.Size(481, 1027); + this.tabp7.TabIndex = 4; + // + // tabPage8 + // + this.tabPage8.Controls.Add(this.tabp8); + this.tabPage8.Location = new System.Drawing.Point(4, 24); + this.tabPage8.Name = "tabPage8"; + this.tabPage8.Padding = new System.Windows.Forms.Padding(3); + this.tabPage8.Size = new System.Drawing.Size(488, 1032); + this.tabPage8.TabIndex = 7; + this.tabPage8.Text = "해외종목"; + // + // tabp8 + // + this.tabp8.Location = new System.Drawing.Point(4, 3); + this.tabp8.Name = "tabp8"; + this.tabp8.Size = new System.Drawing.Size(484, 1027); + this.tabp8.TabIndex = 4; + // + // tabPage9 + // + this.tabPage9.Controls.Add(this.tabp9); + this.tabPage9.Location = new System.Drawing.Point(4, 24); + this.tabPage9.Name = "tabPage9"; + this.tabPage9.Padding = new System.Windows.Forms.Padding(3); + this.tabPage9.Size = new System.Drawing.Size(488, 1032); + this.tabPage9.TabIndex = 8; + this.tabPage9.Text = "전문가"; + // + // tabp9 + // + this.tabp9.Location = new System.Drawing.Point(4, 3); + this.tabp9.Name = "tabp9"; + this.tabp9.Size = new System.Drawing.Size(481, 1027); + this.tabp9.TabIndex = 4; + // + // tabPage10 + // + this.tabPage10.Controls.Add(this.tabp10); + this.tabPage10.Location = new System.Drawing.Point(4, 24); + this.tabPage10.Name = "tabPage10"; + this.tabPage10.Padding = new System.Windows.Forms.Padding(3); + this.tabPage10.Size = new System.Drawing.Size(488, 1032); + this.tabPage10.TabIndex = 9; + this.tabPage10.Text = "정지"; + // + // tabp10 + // + this.tabp10.Location = new System.Drawing.Point(4, 3); + this.tabp10.Name = "tabp10"; + this.tabp10.Size = new System.Drawing.Size(481, 1027); + this.tabp10.TabIndex = 4; + // + // panel2 + // + this.panel2.Controls.Add(this.dataGridView3); + this.panel2.Controls.Add(this.panel15); + this.panel2.Controls.Add(this.dataGridView2); + this.panel2.Controls.Add(this.dataGridView1); + this.panel2.Controls.Add(this.panel10); + this.panel2.Controls.Add(this.panel14); + this.panel2.Controls.Add(this.panel13); + this.panel2.Controls.Add(this.panel12); + this.panel2.Controls.Add(this.panel3); + this.panel2.Controls.Add(this.panel11); + this.panel2.Controls.Add(this.panel8); + this.panel2.Controls.Add(this.PlayList); + this.panel2.Controls.Add(this.panel7); + this.panel2.Location = new System.Drawing.Point(935, 5); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(966, 948); + this.panel2.TabIndex = 3; + // + // dataGridView3 + // + this.dataGridView3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView3.Location = new System.Drawing.Point(10, 265); + this.dataGridView3.Name = "dataGridView3"; + this.dataGridView3.RowTemplate.Height = 23; + this.dataGridView3.Size = new System.Drawing.Size(924, 106); + this.dataGridView3.TabIndex = 619; + this.dataGridView3.Visible = false; + // + // panel15 + // + this.panel15.Controls.Add(this.label12); + this.panel15.Location = new System.Drawing.Point(892, 31); + this.panel15.Name = "panel15"; + this.panel15.Size = new System.Drawing.Size(53, 24); + this.panel15.TabIndex = 626; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label12.Location = new System.Drawing.Point(6, 3); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(42, 17); + this.label12.TabIndex = 594; + this.label12.Text = "Page"; + // + // dataGridView2 + // + this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView2.Location = new System.Drawing.Point(10, 377); + this.dataGridView2.Name = "dataGridView2"; + this.dataGridView2.RowTemplate.Height = 23; + this.dataGridView2.Size = new System.Drawing.Size(924, 215); + this.dataGridView2.TabIndex = 618; + this.dataGridView2.Visible = false; + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(10, 598); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(924, 300); + this.dataGridView1.TabIndex = 617; + this.dataGridView1.Visible = false; + // + // panel10 + // + this.panel10.Location = new System.Drawing.Point(7, 31); + this.panel10.Name = "panel10"; + this.panel10.Size = new System.Drawing.Size(29, 24); + this.panel10.TabIndex = 622; + // + // panel14 + // + this.panel14.Controls.Add(this.label11); + this.panel14.Location = new System.Drawing.Point(637, 31); + this.panel14.Name = "panel14"; + this.panel14.Size = new System.Drawing.Size(254, 24); + this.panel14.TabIndex = 625; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label11.Location = new System.Drawing.Point(102, 4); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(64, 17); + this.label11.TabIndex = 593; + this.label11.Text = "세부사항"; + // + // panel13 + // + this.panel13.Controls.Add(this.label10); + this.panel13.Location = new System.Drawing.Point(437, 31); + this.panel13.Name = "panel13"; + this.panel13.Size = new System.Drawing.Size(199, 24); + this.panel13.TabIndex = 624; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label10.Location = new System.Drawing.Point(78, 4); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(50, 17); + this.label10.TabIndex = 592; + this.label10.Text = "컷파일"; + // + // panel12 + // + this.panel12.Controls.Add(this.label9); + this.panel12.Location = new System.Drawing.Point(177, 31); + this.panel12.Name = "panel12"; + this.panel12.Size = new System.Drawing.Size(259, 24); + this.panel12.TabIndex = 623; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label9.Location = new System.Drawing.Point(114, 4); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(36, 17); + this.label9.TabIndex = 591; + this.label9.Text = "종목"; + // + // panel3 + // + this.panel3.Controls.Add(this.picBoxPreview); + this.panel3.Controls.Add(this.panel6); + this.panel3.Location = new System.Drawing.Point(19, 799); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(879, 51); + this.panel3.TabIndex = 0; + this.panel3.Visible = false; + // + // picBoxPreview + // + this.picBoxPreview.ErrorImage = null; + this.picBoxPreview.InitialImage = null; + this.picBoxPreview.Location = new System.Drawing.Point(3, 4); + this.picBoxPreview.Name = "picBoxPreview"; + this.picBoxPreview.Size = new System.Drawing.Size(457, 257); + this.picBoxPreview.TabIndex = 0; + this.picBoxPreview.TabStop = false; + // + // panel6 + // + this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel6.Controls.Add(this.label4); + this.panel6.Controls.Add(this.label1); + this.panel6.Controls.Add(this.btnPrepare); + this.panel6.Controls.Add(this.ComboDi); + this.panel6.Controls.Add(this.comboA); + this.panel6.Controls.Add(this.txt2); + this.panel6.Controls.Add(this.label3); + this.panel6.Controls.Add(this.label2); + this.panel6.Location = new System.Drawing.Point(468, -1); + this.panel6.Name = "panel6"; + this.panel6.Size = new System.Drawing.Size(497, 274); + this.panel6.TabIndex = 1; + this.panel6.Paint += new System.Windows.Forms.PaintEventHandler(this.panel6_Paint); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.BackColor = System.Drawing.Color.Transparent; + this.label4.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label4.ForeColor = System.Drawing.Color.Green; + this.label4.Location = new System.Drawing.Point(16, 208); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(48, 17); + this.label4.TabIndex = 589; + this.label4.Text = "On-Air"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.ForeColor = System.Drawing.Color.Red; + this.label1.Location = new System.Drawing.Point(16, 146); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(55, 17); + this.label1.TabIndex = 588; + this.label1.Text = "PreView"; + // + // btnPrepare + // + this.btnPrepare.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnPrepare.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnPrepare.Font = new System.Drawing.Font("나눔고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnPrepare.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.btnPrepare.Location = new System.Drawing.Point(58, 81); + this.btnPrepare.Name = "btnPrepare"; + this.btnPrepare.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnPrepare.Size = new System.Drawing.Size(388, 41); + this.btnPrepare.TabIndex = 587; + this.btnPrepare.Text = "PREPARE [F2]"; + this.btnPrepare.UseVisualStyleBackColor = true; + this.btnPrepare.Click += new System.EventHandler(this.btnPrepare_Click); + // + // ComboDi + // + this.ComboDi.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ComboDi.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ComboDi.FormattingEnabled = true; + this.ComboDi.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20"}); + this.ComboDi.Location = new System.Drawing.Point(350, 21); + this.ComboDi.Name = "ComboDi"; + this.ComboDi.Size = new System.Drawing.Size(96, 23); + this.ComboDi.TabIndex = 586; + // + // comboA + // + this.comboA.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboA.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.comboA.FormattingEnabled = true; + this.comboA.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10"}); + this.comboA.Location = new System.Drawing.Point(138, 21); + this.comboA.Name = "comboA"; + this.comboA.Size = new System.Drawing.Size(96, 23); + this.comboA.TabIndex = 585; + // + // txt2 + // + this.txt2.BackColor = System.Drawing.SystemColors.Control; + this.txt2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txt2.Font = new System.Drawing.Font("나눔고딕", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.txt2.ForeColor = System.Drawing.Color.Red; + this.txt2.Location = new System.Drawing.Point(2, 166); + this.txt2.Name = "txt2"; + this.txt2.ReadOnly = true; + this.txt2.Size = new System.Drawing.Size(483, 25); + this.txt2.TabIndex = 580; + this.txt2.TabStop = false; + this.txt2.Text = "LG전자 1열판 기본 현재가"; + this.txt2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.BackColor = System.Drawing.Color.Transparent; + this.label3.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.label3.Location = new System.Drawing.Point(260, 26); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(84, 17); + this.label3.TabIndex = 583; + this.label3.Text = "DissolveTime"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.label2.Location = new System.Drawing.Point(53, 26); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(79, 17); + this.label2.TabIndex = 582; + this.label2.Text = "UpdataTime"; + // + // panel11 + // + this.panel11.Controls.Add(this.label8); + this.panel11.Location = new System.Drawing.Point(77, 31); + this.panel11.Name = "panel11"; + this.panel11.Size = new System.Drawing.Size(99, 24); + this.panel11.TabIndex = 622; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label8.Location = new System.Drawing.Point(34, 4); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(36, 17); + this.label8.TabIndex = 590; + this.label8.Text = "종류"; + // + // panel8 + // + this.panel8.Controls.Add(this.label7); + this.panel8.Location = new System.Drawing.Point(37, 31); + this.panel8.Name = "panel8"; + this.panel8.Size = new System.Drawing.Size(39, 24); + this.panel8.TabIndex = 621; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label7.Location = new System.Drawing.Point(4, 4); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(36, 17); + this.label7.TabIndex = 589; + this.label7.Text = "송출"; + // + // PlayList + // + this.PlayList.AccessibleDescription = "spdList, Sheet1, Row 0, Column 0, "; + this.PlayList.AllowDragFill = true; + this.PlayList.AllowRowMove = true; + this.PlayList.AutoClipboard = false; + this.PlayList.BackColor = System.Drawing.Color.LightSteelBlue; + this.PlayList.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.PlayList.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.PlayList.HorizontalScrollBar.Name = ""; + enhancedScrollBarRenderer4.ArrowColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer4.ArrowHoveredColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer4.ArrowSelectedColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer4.ButtonBackgroundColor = System.Drawing.Color.Silver; + enhancedScrollBarRenderer4.ButtonBorderColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer4.ButtonHoveredBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer4.ButtonHoveredBorderColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer4.ButtonSelectedBackgroundColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer4.ButtonSelectedBorderColor = System.Drawing.Color.Gray; + enhancedScrollBarRenderer4.TrackBarBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer4.TrackBarSelectedBackgroundColor = System.Drawing.Color.Gray; + this.PlayList.HorizontalScrollBar.Renderer = enhancedScrollBarRenderer4; + this.PlayList.HorizontalScrollBar.TabIndex = 264; + this.PlayList.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.PlayList.Location = new System.Drawing.Point(5, 29); + this.PlayList.Name = "PlayList"; + namedStyle9.BackColor = System.Drawing.Color.Silver; + namedStyle9.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle9.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle9.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle9.Renderer = enhancedColumnHeaderRenderer79; + namedStyle9.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle10.BackColor = System.Drawing.Color.Silver; + namedStyle10.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle10.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle10.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle10.Renderer = enhancedRowHeaderRenderer7; + namedStyle10.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle11.BackColor = System.Drawing.Color.DimGray; + namedStyle11.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle11.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle11.NoteIndicatorColor = System.Drawing.Color.Red; + enhancedCornerRenderer2.ActiveBackgroundColor = System.Drawing.Color.Gray; + enhancedCornerRenderer2.GridLineColor = System.Drawing.Color.Empty; + enhancedCornerRenderer2.NormalBackgroundColor = System.Drawing.Color.DarkGray; + namedStyle11.Renderer = enhancedCornerRenderer2; + namedStyle11.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle12.BackColor = System.Drawing.SystemColors.Window; + namedStyle12.CellType = generalCellType3; + namedStyle12.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle12.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle12.Renderer = generalCellType3; + this.PlayList.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle9, + namedStyle10, + namedStyle11, + namedStyle12}); + this.PlayList.RetainSelectionBlock = false; + this.PlayList.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.PlayList.RowSplitBoxPolicy = FarPoint.Win.Spread.SplitBoxPolicy.Never; + this.PlayList.ScrollBarTrackPolicy = FarPoint.Win.Spread.ScrollBarTrackPolicy.Vertical; + this.PlayList.ScrollTipPolicy = FarPoint.Win.Spread.ScrollTipPolicy.Vertical; + this.PlayList.SelectionBlockOptions = ((FarPoint.Win.Spread.SelectionBlockOptions)(((FarPoint.Win.Spread.SelectionBlockOptions.Cells | FarPoint.Win.Spread.SelectionBlockOptions.Rows) + | FarPoint.Win.Spread.SelectionBlockOptions.Sheet))); + this.PlayList.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.PlayList_Sheet1}); + this.PlayList.Size = new System.Drawing.Size(960, 908); + spreadSkin3.ColumnHeaderDefaultStyle = namedStyle9; + spreadSkin3.CornerDefaultStyle = namedStyle11; + spreadSkin3.DefaultStyle = namedStyle12; + spreadSkin3.FocusRenderer = enhancedFocusIndicatorRenderer2; + enhancedInterfaceRenderer2.ArrowColorEnabled = System.Drawing.Color.Black; + enhancedInterfaceRenderer2.GrayAreaColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(101))))); + enhancedInterfaceRenderer2.RangeGroupBackgroundColor = System.Drawing.Color.LightGray; + enhancedInterfaceRenderer2.RangeGroupButtonBorderColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.ScrollBoxBackgroundColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.SheetTabBorderColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.SheetTabLowerActiveColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.SheetTabLowerNormalColor = System.Drawing.Color.Silver; + enhancedInterfaceRenderer2.SheetTabUpperActiveColor = System.Drawing.Color.White; + enhancedInterfaceRenderer2.SheetTabUpperNormalColor = System.Drawing.Color.LightGray; + enhancedInterfaceRenderer2.SplitBarBackgroundColor = System.Drawing.Color.Silver; + enhancedInterfaceRenderer2.SplitBarDarkColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.SplitBoxBackgroundColor = System.Drawing.Color.Silver; + enhancedInterfaceRenderer2.SplitBoxBorderColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.TabStripBackgroundColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.TabStripButtonBorderColor = System.Drawing.Color.White; + enhancedInterfaceRenderer2.TabStripButtonFlatStyle = System.Windows.Forms.FlatStyle.Flat; + enhancedInterfaceRenderer2.TabStripButtonLowerActiveColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.TabStripButtonLowerNormalColor = System.Drawing.Color.Silver; + enhancedInterfaceRenderer2.TabStripButtonLowerPressedColor = System.Drawing.Color.DarkGray; + enhancedInterfaceRenderer2.TabStripButtonUpperActiveColor = System.Drawing.Color.LightGray; + enhancedInterfaceRenderer2.TabStripButtonUpperNormalColor = System.Drawing.Color.LightGray; + enhancedInterfaceRenderer2.TabStripButtonUpperPressedColor = System.Drawing.Color.DarkGray; + spreadSkin3.InterfaceRenderer = enhancedInterfaceRenderer2; + spreadSkin3.Name = "CustomSkin2"; + spreadSkin3.RowHeaderDefaultStyle = namedStyle10; + enhancedScrollBarRenderer5.ArrowColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer5.ArrowHoveredColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer5.ArrowSelectedColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer5.ButtonBackgroundColor = System.Drawing.Color.Silver; + enhancedScrollBarRenderer5.ButtonBorderColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer5.ButtonHoveredBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer5.ButtonHoveredBorderColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer5.ButtonSelectedBackgroundColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer5.ButtonSelectedBorderColor = System.Drawing.Color.Gray; + enhancedScrollBarRenderer5.TrackBarBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer5.TrackBarSelectedBackgroundColor = System.Drawing.Color.Gray; + spreadSkin3.ScrollBarRenderer = enhancedScrollBarRenderer5; + spreadSkin3.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.DarkGray, System.Drawing.Color.DarkGray, System.Drawing.Drawing2D.LinearGradientMode.Horizontal, 80); + this.PlayList.Skin = spreadSkin3; + this.PlayList.TabIndex = 620; + this.PlayList.TabStop = false; + this.PlayList.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.PlayList.VerticalScrollBar.Name = ""; + enhancedScrollBarRenderer6.ArrowColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer6.ArrowHoveredColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer6.ArrowSelectedColor = System.Drawing.Color.Black; + enhancedScrollBarRenderer6.ButtonBackgroundColor = System.Drawing.Color.Silver; + enhancedScrollBarRenderer6.ButtonBorderColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer6.ButtonHoveredBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer6.ButtonHoveredBorderColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer6.ButtonSelectedBackgroundColor = System.Drawing.Color.DimGray; + enhancedScrollBarRenderer6.ButtonSelectedBorderColor = System.Drawing.Color.Gray; + enhancedScrollBarRenderer6.TrackBarBackgroundColor = System.Drawing.Color.DarkGray; + enhancedScrollBarRenderer6.TrackBarSelectedBackgroundColor = System.Drawing.Color.Gray; + this.PlayList.VerticalScrollBar.Renderer = enhancedScrollBarRenderer6; + this.PlayList.VerticalScrollBar.TabIndex = 265; + this.PlayList.LeaveCell += new FarPoint.Win.Spread.LeaveCellEventHandler(this.PlayList_LeaveCell); + this.PlayList.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.PlayList_CellClick); + this.PlayList.DragDrop += new System.Windows.Forms.DragEventHandler(this.PlayList_DragDrop); + this.PlayList.DragOver += new System.Windows.Forms.DragEventHandler(this.PlayList_DragOver); + this.PlayList.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.PlayList_KeyPress); + // + // PlayList_Sheet1 + // + this.PlayList_Sheet1.Reset(); + this.PlayList_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.PlayList_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.PlayList_Sheet1.ColumnCount = 13; + this.PlayList_Sheet1.RowCount = 0; + this.PlayList_Sheet1.ActiveRowIndex = -1; + this.PlayList_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "코드"; + this.PlayList_Sheet1.ColumnHeader.Columns.Default.CanFocus = false; + this.PlayList_Sheet1.ColumnHeader.Columns.Default.Resizable = false; + this.PlayList_Sheet1.ColumnHeader.Columns.Default.TabStop = true; + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.CanFocus = false; + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(153))))); + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.Locked = false; + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.PlayList_Sheet1.ColumnHeader.DefaultStyle.Parent = "ColumnHeaderMetallic"; + this.PlayList_Sheet1.ColumnHeader.Rows.Default.CanFocus = false; + this.PlayList_Sheet1.ColumnHeader.Rows.Default.TabStop = true; + this.PlayList_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.PlayList_Sheet1.Columns.Default.Resizable = false; + this.PlayList_Sheet1.Columns.Get(0).Label = "코드"; + this.PlayList_Sheet1.Columns.Get(0).Width = 40F; + this.PlayList_Sheet1.Columns.Get(1).Width = 100F; + this.PlayList_Sheet1.Columns.Get(2).Width = 260F; + this.PlayList_Sheet1.Columns.Get(3).Width = 200F; + this.PlayList_Sheet1.Columns.Get(4).Width = 255F; + this.PlayList_Sheet1.Columns.Get(5).Width = 52F; + this.PlayList_Sheet1.Columns.Get(6).Visible = false; + this.PlayList_Sheet1.Columns.Get(7).Visible = false; + this.PlayList_Sheet1.Columns.Get(8).Visible = false; + this.PlayList_Sheet1.Columns.Get(9).Visible = false; + this.PlayList_Sheet1.Columns.Get(10).Visible = false; + this.PlayList_Sheet1.Columns.Get(11).Visible = false; + this.PlayList_Sheet1.Columns.Get(12).Visible = false; + this.PlayList_Sheet1.Columns.Get(12).Width = 35F; + this.PlayList_Sheet1.GrayAreaBackColor = System.Drawing.SystemColors.ActiveCaption; + this.PlayList_Sheet1.GroupBarBackColor = System.Drawing.Color.White; + this.PlayList_Sheet1.HorizontalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.Flat, System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(160)))), ((int)(((byte)(160))))), System.Drawing.SystemColors.ControlLightLight, System.Drawing.Color.FromArgb(((int)(((byte)(162)))), ((int)(((byte)(162)))), ((int)(((byte)(162)))))); + this.PlayList_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.ExtendedSelect; + this.PlayList_Sheet1.RangeGroupBackgroundColor = System.Drawing.SystemColors.ActiveCaption; + this.PlayList_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.PlayList_Sheet1.RowHeader.Columns.Get(0).Width = 30F; + this.PlayList_Sheet1.RowHeader.DefaultStyle.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + this.PlayList_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.PlayList_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderMetallic"; + this.PlayList_Sheet1.RowHeader.DefaultStyle.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.PlayList_Sheet1.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(210)))), ((int)(((byte)(230)))), ((int)(((byte)(255))))); + this.PlayList_Sheet1.SelectionForeColor = System.Drawing.Color.Black; + this.PlayList_Sheet1.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange; + this.PlayList_Sheet1.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; + this.PlayList_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row; + this.PlayList_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.PlayList_Sheet1.SheetCornerStyle.Parent = "CornerMetallic"; + this.PlayList_Sheet1.VerticalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.Flat, System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(160)))), ((int)(((byte)(160))))), System.Drawing.SystemColors.ControlLightLight, System.Drawing.Color.FromArgb(((int)(((byte)(162)))), ((int)(((byte)(162)))), ((int)(((byte)(162)))))); + this.PlayList_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.PlayList.SetActiveViewport(0, -1, 0); + // + // panel7 + // + this.panel7.Controls.Add(this.ckback); + this.panel7.Controls.Add(this.lblbackfile); + this.panel7.Controls.Add(this.lblbackfile_full); + this.panel7.Controls.Add(this.btnback); + this.panel7.Controls.Add(this.btntdelete); + this.panel7.Controls.Add(this.btndelete); + this.panel7.Controls.Add(this.btnload); + this.panel7.Controls.Add(this.btnsave); + this.panel7.Controls.Add(this.btndown); + this.panel7.Controls.Add(this.btnup); + this.panel7.Controls.Add(this.ck2); + this.panel7.Controls.Add(this.ck1); + this.panel7.Controls.Add(this.checkBox1); + this.panel7.Location = new System.Drawing.Point(2, 1); + this.panel7.Name = "panel7"; + this.panel7.Size = new System.Drawing.Size(963, 26); + this.panel7.TabIndex = 584; + // + // ckback + // + this.ckback.AutoSize = true; + this.ckback.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ckback.Location = new System.Drawing.Point(388, 4); + this.ckback.Name = "ckback"; + this.ckback.Size = new System.Drawing.Size(91, 18); + this.ckback.TabIndex = 593; + this.ckback.Text = "배경없음(F3)"; + this.ckback.UseVisualStyleBackColor = true; + this.ckback.CheckedChanged += new System.EventHandler(this.ckback_CheckedChanged); + // + // lblbackfile + // + this.lblbackfile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lblbackfile.Location = new System.Drawing.Point(564, 4); + this.lblbackfile.Name = "lblbackfile"; + this.lblbackfile.Size = new System.Drawing.Size(131, 19); + this.lblbackfile.TabIndex = 592; + this.lblbackfile.Text = "배경"; + this.lblbackfile.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lblbackfile_full + // + this.lblbackfile_full.AutoSize = true; + this.lblbackfile_full.Location = new System.Drawing.Point(322, 10); + this.lblbackfile_full.Name = "lblbackfile_full"; + this.lblbackfile_full.Size = new System.Drawing.Size(29, 12); + this.lblbackfile_full.TabIndex = 591; + this.lblbackfile_full.Text = "배경"; + this.lblbackfile_full.Visible = false; + // + // btnback + // + this.btnback.BackColor = System.Drawing.SystemColors.Control; + this.btnback.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnback.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnback.ForeColor = System.Drawing.Color.Black; + this.btnback.Location = new System.Drawing.Point(483, 2); + this.btnback.Name = "btnback"; + this.btnback.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnback.Size = new System.Drawing.Size(81, 22); + this.btnback.TabIndex = 590; + this.btnback.Text = "배경파일(F2)"; + this.btnback.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btnback.UseVisualStyleBackColor = false; + this.btnback.Click += new System.EventHandler(this.btnback_Click); + // + // btntdelete + // + this.btntdelete.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btntdelete.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btntdelete.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btntdelete.ForeColor = System.Drawing.Color.Black; + this.btntdelete.Location = new System.Drawing.Point(889, 2); + this.btntdelete.Name = "btntdelete"; + this.btntdelete.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btntdelete.Size = new System.Drawing.Size(63, 22); + this.btntdelete.TabIndex = 587; + this.btntdelete.Text = "전체삭제"; + this.btntdelete.UseVisualStyleBackColor = true; + this.btntdelete.Click += new System.EventHandler(this.btntdelete_Click); + // + // btndelete + // + this.btndelete.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btndelete.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btndelete.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btndelete.ForeColor = System.Drawing.Color.Black; + this.btndelete.Location = new System.Drawing.Point(826, 2); + this.btndelete.Name = "btndelete"; + this.btndelete.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btndelete.Size = new System.Drawing.Size(63, 22); + this.btndelete.TabIndex = 586; + this.btndelete.Text = "선택삭제(DEL)"; + this.btndelete.UseVisualStyleBackColor = true; + this.btndelete.Click += new System.EventHandler(this.btndelete_Click); + // + // btnload + // + this.btnload.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnload.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnload.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnload.ForeColor = System.Drawing.Color.Black; + this.btnload.Location = new System.Drawing.Point(763, 2); + this.btnload.Name = "btnload"; + this.btnload.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnload.Size = new System.Drawing.Size(63, 22); + this.btnload.TabIndex = 585; + this.btnload.Text = "DB 불러오기"; + this.btnload.UseVisualStyleBackColor = true; + this.btnload.Click += new System.EventHandler(this.btnload_Click); + // + // btnsave + // + this.btnsave.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnsave.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnsave.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnsave.ForeColor = System.Drawing.Color.Black; + this.btnsave.Location = new System.Drawing.Point(700, 2); + this.btnsave.Name = "btnsave"; + this.btnsave.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnsave.Size = new System.Drawing.Size(63, 22); + this.btnsave.TabIndex = 584; + this.btnsave.Text = "DB 저장"; + this.btnsave.UseVisualStyleBackColor = true; + this.btnsave.Click += new System.EventHandler(this.button5_Click); + // + // btndown + // + this.btndown.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btndown.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btndown.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btndown.ForeColor = System.Drawing.Color.Black; + this.btndown.Image = ((System.Drawing.Image)(resources.GetObject("btndown.Image"))); + this.btndown.Location = new System.Drawing.Point(252, 1); + this.btndown.Name = "btndown"; + this.btndown.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btndown.Size = new System.Drawing.Size(45, 22); + this.btndown.TabIndex = 583; + this.btndown.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btndown.UseVisualStyleBackColor = true; + this.btndown.Click += new System.EventHandler(this.btndown_Click); + // + // btnup + // + this.btnup.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnup.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnup.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnup.ForeColor = System.Drawing.Color.Black; + this.btnup.Image = ((System.Drawing.Image)(resources.GetObject("btnup.Image"))); + this.btnup.Location = new System.Drawing.Point(204, 1); + this.btnup.Name = "btnup"; + this.btnup.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnup.Size = new System.Drawing.Size(45, 22); + this.btnup.TabIndex = 582; + this.btnup.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnup.UseVisualStyleBackColor = true; + this.btnup.Click += new System.EventHandler(this.btnup_Click); + // + // ck2 + // + this.ck2.AutoSize = true; + this.ck2.Checked = true; + this.ck2.CheckState = System.Windows.Forms.CheckState.Checked; + this.ck2.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ck2.Location = new System.Drawing.Point(132, 4); + this.ck2.Name = "ck2"; + this.ck2.Size = new System.Drawing.Size(62, 18); + this.ck2.TabIndex = 4; + this.ck2.Text = "20일선"; + this.ck2.UseVisualStyleBackColor = true; + // + // ck1 + // + this.ck1.AutoSize = true; + this.ck1.Checked = true; + this.ck1.CheckState = System.Windows.Forms.CheckState.Checked; + this.ck1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.ck1.Location = new System.Drawing.Point(72, 4); + this.ck1.Name = "ck1"; + this.ck1.Size = new System.Drawing.Size(55, 18); + this.ck1.TabIndex = 3; + this.ck1.Text = "5일선"; + this.ck1.UseVisualStyleBackColor = true; + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.Checked = true; + this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox1.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.checkBox1.Location = new System.Drawing.Point(8, 4); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(48, 18); + this.checkBox1.TabIndex = 2; + this.checkBox1.Text = "전체"; + this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); + // + // txt1 + // + this.txt1.BackColor = System.Drawing.SystemColors.Control; + this.txt1.Font = new System.Drawing.Font("나눔고딕", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txt1.ForeColor = System.Drawing.Color.Green; + this.txt1.Location = new System.Drawing.Point(935, 1015); + this.txt1.Name = "txt1"; + this.txt1.ReadOnly = true; + this.txt1.Size = new System.Drawing.Size(966, 44); + this.txt1.TabIndex = 581; + this.txt1.TabStop = false; + this.txt1.Text = "LG전자 1열판 기본 현재가"; + this.txt1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // btnTake + // + this.btnTake.BackColor = System.Drawing.Color.WhiteSmoke; + this.btnTake.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnTake.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnTake.Font = new System.Drawing.Font("나눔고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnTake.ForeColor = System.Drawing.Color.Black; + this.btnTake.Image = ((System.Drawing.Image)(resources.GetObject("btnTake.Image"))); + this.btnTake.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnTake.Location = new System.Drawing.Point(935, 961); + this.btnTake.Name = "btnTake"; + this.btnTake.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnTake.Size = new System.Drawing.Size(216, 48); + this.btnTake.TabIndex = 581; + this.btnTake.Text = " TAKE IN [F8]"; + this.btnTake.UseVisualStyleBackColor = false; + this.btnTake.Click += new System.EventHandler(this.btnTake_Click); + // + // panel4 + // + this.panel4.Controls.Add(this.txtSearch); + this.panel4.Controls.Add(this.GridView1); + this.panel4.Controls.Add(this.label14); + this.panel4.Controls.Add(this.b4); + this.panel4.Controls.Add(this.b3); + this.panel4.Controls.Add(this.b2); + this.panel4.Controls.Add(this.b1); + this.panel4.Controls.Add(this.panel9); + this.panel4.Controls.Add(this.listBox); + this.panel4.Controls.Add(this.button9); + this.panel4.Controls.Add(this.FpSpread2); + this.panel4.Controls.Add(this.listView1); + this.panel4.Location = new System.Drawing.Point(5, 56); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(426, 1004); + this.panel4.TabIndex = 4; + // + // txtSearch + // + this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 12F); + this.txtSearch.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.txtSearch.Location = new System.Drawing.Point(62, 6); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(162, 26); + this.txtSearch.TabIndex = 600; + this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress); + // + // GridView1 + // + this.GridView1.AllowUserToAddRows = false; + this.GridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.GridView1.ColumnHeadersVisible = false; + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle3.Font = new System.Drawing.Font("맑은 고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.Gainsboro; + dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.Black; + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.GridView1.DefaultCellStyle = dataGridViewCellStyle3; + this.GridView1.GridColor = System.Drawing.SystemColors.Control; + this.GridView1.Location = new System.Drawing.Point(196, 403); + this.GridView1.Name = "GridView1"; + this.GridView1.ReadOnly = true; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.White; + dataGridViewCellStyle4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.GridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.GridView1.RowHeadersVisible = false; + this.GridView1.RowTemplate.Height = 23; + this.GridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.GridView1.Size = new System.Drawing.Size(183, 181); + this.GridView1.TabIndex = 599; + this.GridView1.Visible = false; + this.GridView1.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.GridView1_CellEnter); + this.GridView1.RowLeave += new System.Windows.Forms.DataGridViewCellEventHandler(this.GridView1_RowLeave); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label14.Location = new System.Drawing.Point(51, 113); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(31, 15); + this.label14.TabIndex = 597; + this.label14.Text = "종목"; + this.label14.Visible = false; + // + // b4 + // + this.b4.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.b4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.b4.Font = new System.Drawing.Font("나눔고딕 ExtraBold", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.b4.ForeColor = System.Drawing.Color.Black; + this.b4.Location = new System.Drawing.Point(324, 243); + this.b4.Name = "b4"; + this.b4.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.b4.Size = new System.Drawing.Size(85, 33); + this.b4.TabIndex = 596; + this.b4.Tag = "4"; + this.b4.Text = "영업이익"; + this.b4.UseVisualStyleBackColor = true; + this.b4.Click += new System.EventHandler(this.b1_Click); + // + // b3 + // + this.b3.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.b3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.b3.Font = new System.Drawing.Font("나눔고딕 ExtraBold", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.b3.ForeColor = System.Drawing.Color.Black; + this.b3.Location = new System.Drawing.Point(225, 243); + this.b3.Name = "b3"; + this.b3.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.b3.Size = new System.Drawing.Size(92, 33); + this.b3.TabIndex = 595; + this.b3.Tag = "3"; + this.b3.Text = "매출액"; + this.b3.UseVisualStyleBackColor = true; + this.b3.Click += new System.EventHandler(this.b1_Click); + // + // b2 + // + this.b2.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.b2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.b2.Font = new System.Drawing.Font("나눔고딕 ExtraBold", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.b2.ForeColor = System.Drawing.Color.Black; + this.b2.Location = new System.Drawing.Point(123, 243); + this.b2.Name = "b2"; + this.b2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.b2.Size = new System.Drawing.Size(95, 33); + this.b2.TabIndex = 594; + this.b2.Tag = "2"; + this.b2.Text = "성장성 지표"; + this.b2.UseVisualStyleBackColor = true; + this.b2.Click += new System.EventHandler(this.b1_Click); + // + // b1 + // + this.b1.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.b1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.b1.Font = new System.Drawing.Font("나눔고딕 ExtraBold", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.b1.ForeColor = System.Drawing.Color.Black; + this.b1.Location = new System.Drawing.Point(20, 243); + this.b1.Name = "b1"; + this.b1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.b1.Size = new System.Drawing.Size(99, 33); + this.b1.TabIndex = 593; + this.b1.Tag = "1"; + this.b1.Text = "주요매출 구성"; + this.b1.UseVisualStyleBackColor = true; + this.b1.Click += new System.EventHandler(this.b1_Click); + // + // panel9 + // + this.panel9.BackColor = System.Drawing.Color.White; + this.panel9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel9.Controls.Add(this.label6); + this.panel9.Font = new System.Drawing.Font("굴림", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.panel9.Location = new System.Drawing.Point(20, 37); + this.panel9.Name = "panel9"; + this.panel9.Size = new System.Drawing.Size(389, 24); + this.panel9.TabIndex = 591; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("나눔고딕", 10F); + this.label6.Location = new System.Drawing.Point(173, 4); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(46, 16); + this.label6.TabIndex = 590; + this.label6.Text = "종목명"; + // + // listBox + // + this.listBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.listBox.Font = new System.Drawing.Font("나눔고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listBox.FormattingEnabled = true; + this.listBox.ItemHeight = 17; + this.listBox.Location = new System.Drawing.Point(20, 60); + this.listBox.Name = "listBox"; + this.listBox.Size = new System.Drawing.Size(389, 174); + this.listBox.TabIndex = 589; + this.listBox.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox_DrawItem); + // + // button9 + // + this.button9.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.button9.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.button9.Font = new System.Drawing.Font("나눔고딕", 10F); + this.button9.ForeColor = System.Drawing.Color.Black; + this.button9.Image = ((System.Drawing.Image)(resources.GetObject("button9.Image"))); + this.button9.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button9.Location = new System.Drawing.Point(292, 2); + this.button9.Name = "button9"; + this.button9.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button9.Size = new System.Drawing.Size(117, 30); + this.button9.TabIndex = 585; + this.button9.Text = " 검색"; + this.button9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.button9_Click); + // + // FpSpread2 + // + this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "; + this.FpSpread2.AllowDragDrop = true; + this.FpSpread2.AllowDrop = true; + this.FpSpread2.AllowRowMove = true; + this.FpSpread2.AutoClipboard = false; + this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.FpSpread2.CellNoteIndicatorVisible = false; + this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders; + this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.HorizontalScrollBar.Name = ""; + this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4; + this.FpSpread2.HorizontalScrollBar.TabIndex = 359; + this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Location = new System.Drawing.Point(123, 568); + this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.FpSpread2.MoveActiveOnFocus = false; + this.FpSpread2.Name = "FpSpread2"; + namedStyle1.BackColor = System.Drawing.SystemColors.Window; + namedStyle1.CellType = generalCellType1; + namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle1.Renderer = generalCellType1; + namedStyle2.BackColor = System.Drawing.SystemColors.Control; + namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle2.Renderer = cornerRenderer2; + namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233))))); + namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle3.Renderer = enhancedColumnHeaderRenderer75; + namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + namedStyle4.BackColor = System.Drawing.SystemColors.Control; + namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red; + namedStyle4.Renderer = rowHeaderRenderer71; + namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] { + namedStyle1, + namedStyle2, + namedStyle3, + namedStyle4}); + this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.FpSpread2_Sheet1, + this.FpSpread2_Sheet2}); + this.FpSpread2.Size = new System.Drawing.Size(238, 371); + spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3; + spreadSkin1.DefaultStyle = namedStyle4; + spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty); + spreadSkin1.Name = "CustomSkin1"; + spreadSkin1.RowHeaderDefaultStyle = namedStyle3; + spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer5; + spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30); + this.FpSpread2.Skin = spreadSkin1; + this.FpSpread2.TabIndex = 598; + this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never; + this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never; + this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton"); + this.FpSpread2.VerticalScrollBar.Name = ""; + this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer6; + this.FpSpread2.VerticalScrollBar.TabIndex = 360; + this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never; + this.FpSpread2.Visible = false; + this.FpSpread2.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellDoubleClick); + // + // FpSpread2_Sheet1 + // + this.FpSpread2_Sheet1.Reset(); + this.FpSpread2_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet1.ColumnCount = 5; + this.FpSpread2_Sheet1.RowCount = 0; + this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0; + this.FpSpread2_Sheet1.ActiveRowIndex = -1; + this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic; + this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index"; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2; + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "Cut"; + this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F; + this.FpSpread2_Sheet1.Columns.Get(1).Label = "Cut"; + this.FpSpread2_Sheet1.Columns.Get(1).Width = 335F; + this.FpSpread2_Sheet1.Columns.Get(2).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(3).Visible = false; + this.FpSpread2_Sheet1.Columns.Get(4).Visible = false; + this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.ExtendedSelect; + this.FpSpread2_Sheet1.RestrictColumns = true; + this.FpSpread2_Sheet1.RestrictRows = true; + this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto; + this.FpSpread2_Sheet1.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange; + this.FpSpread2_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row; + this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault"; + this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + this.FpSpread2.SetActiveViewport(0, -1, 0); + // + // FpSpread2_Sheet2 + // + this.FpSpread2_Sheet2.Reset(); + this.FpSpread2_Sheet2.SheetName = "Sheet2"; + // Formulas and custom names must be loaded with R1C1 reference style + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault"; + this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red; + this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced"; + this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // listView1 + // + this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listView1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.listView1.HideSelection = false; + this.listView1.Location = new System.Drawing.Point(21, 285); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(386, 715); + this.listView1.TabIndex = 601; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDown); + this.listView1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseMove); + this.listView1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseUp); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("나눔고딕", 10F); + this.label5.Location = new System.Drawing.Point(25, 67); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(33, 16); + this.label5.TabIndex = 588; + this.label5.Text = "종목"; + // + // panel5 + // + this.panel5.Controls.Add(this.pictureBox1); + this.panel5.Controls.Add(this.picLogo); + this.panel5.Controls.Add(this.panelC); + this.panel5.Location = new System.Drawing.Point(5, 4); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(426, 49); + this.panel5.TabIndex = 5; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.InitialImage = null; + this.pictureBox1.Location = new System.Drawing.Point(196, 8); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(81, 39); + this.pictureBox1.TabIndex = 7; + this.pictureBox1.TabStop = false; + // + // picLogo + // + this.picLogo.Image = ((System.Drawing.Image)(resources.GetObject("picLogo.Image"))); + this.picLogo.InitialImage = null; + this.picLogo.Location = new System.Drawing.Point(14, 3); + this.picLogo.Name = "picLogo"; + this.picLogo.Size = new System.Drawing.Size(179, 40); + this.picLogo.TabIndex = 3; + this.picLogo.TabStop = false; + // + // btnNext + // + this.btnNext.BackColor = System.Drawing.Color.WhiteSmoke; + this.btnNext.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnNext.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnNext.Font = new System.Drawing.Font("나눔고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnNext.ForeColor = System.Drawing.Color.Black; + this.btnNext.Image = ((System.Drawing.Image)(resources.GetObject("btnNext.Image"))); + this.btnNext.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnNext.Location = new System.Drawing.Point(1319, 960); + this.btnNext.Name = "btnNext"; + this.btnNext.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnNext.Size = new System.Drawing.Size(181, 48); + this.btnNext.TabIndex = 582; + this.btnNext.Text = " NEXT "; + this.btnNext.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnNext.UseVisualStyleBackColor = false; + this.btnNext.Click += new System.EventHandler(this.btnNext_Click); + // + // btnTakeout + // + this.btnTakeout.BackColor = System.Drawing.Color.WhiteSmoke; + this.btnTakeout.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.btnTakeout.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.btnTakeout.Font = new System.Drawing.Font("나눔고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btnTakeout.ForeColor = System.Drawing.Color.Black; + this.btnTakeout.Image = ((System.Drawing.Image)(resources.GetObject("btnTakeout.Image"))); + this.btnTakeout.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnTakeout.Location = new System.Drawing.Point(1690, 959); + this.btnTakeout.Name = "btnTakeout"; + this.btnTakeout.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.btnTakeout.Size = new System.Drawing.Size(211, 48); + this.btnTakeout.TabIndex = 583; + this.btnTakeout.Text = " TAKE OUT[Esc]"; + this.btnTakeout.UseVisualStyleBackColor = false; + this.btnTakeout.Click += new System.EventHandler(this.btnTakeout_Click); + // + // timer1 + // + this.timer1.Interval = 1000; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // timer2 + // + this.timer2.Interval = 500; + this.timer2.Tick += new System.EventHandler(this.timer2_Tick); + // + // timer3 + // + this.timer3.Interval = 5000; + this.timer3.Tick += new System.EventHandler(this.timer3_Tick); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1905, 1015); + this.Controls.Add(this.txt1); + this.Controls.Add(this.label5); + this.Controls.Add(this.btnTakeout); + this.Controls.Add(this.btnNext); + this.Controls.Add(this.panel5); + this.Controls.Add(this.panel4); + this.Controls.Add(this.btnTake); + this.Controls.Add(this.panel2); + this.Controls.Add(this.tab); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.KeyPreview = true; + this.MaximizeBox = false; + this.Name = "MainForm"; + this.Text = "V-Stock 증권정보송출시스템 for 매일경제TV (26.03.26)"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.Load += new System.EventHandler(this.Form1_Load); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.MainForm_Paint); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown); + this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp); + this.Resize += new System.EventHandler(this.MainForm_Resize); + this.panelC.ResumeLayout(false); + this.panelC.PerformLayout(); + this.tab.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.tabPage3.ResumeLayout(false); + this.tabPage4.ResumeLayout(false); + this.tabPage5.ResumeLayout(false); + this.tabPage6.ResumeLayout(false); + this.tabPage7.ResumeLayout(false); + this.tabPage8.ResumeLayout(false); + this.tabPage9.ResumeLayout(false); + this.tabPage10.ResumeLayout(false); + this.panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).EndInit(); + this.panel15.ResumeLayout(false); + this.panel15.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.panel14.ResumeLayout(false); + this.panel14.PerformLayout(); + this.panel13.ResumeLayout(false); + this.panel13.PerformLayout(); + this.panel12.ResumeLayout(false); + this.panel12.PerformLayout(); + this.panel3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.picBoxPreview)).EndInit(); + this.panel6.ResumeLayout(false); + this.panel6.PerformLayout(); + this.panel11.ResumeLayout(false); + this.panel11.PerformLayout(); + this.panel8.ResumeLayout(false); + this.panel8.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PlayList)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PlayList_Sheet1)).EndInit(); + this.panel7.ResumeLayout(false); + this.panel7.PerformLayout(); + this.panel4.ResumeLayout(false); + this.panel4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.GridView1)).EndInit(); + this.panel9.ResumeLayout(false); + this.panel9.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit(); + this.panel5.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.picLogo)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.TabControl tab; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.TabPage tabPage7; + private System.Windows.Forms.TabPage tabPage8; + private System.Windows.Forms.TabPage tabPage9; + private System.Windows.Forms.TabPage tabPage10; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.TextBox txt2; + private System.Windows.Forms.PictureBox picBoxPreview; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.Button btnTake; + private System.Windows.Forms.Button btnNext; + private System.Windows.Forms.Button btnTakeout; + private System.Windows.Forms.TextBox txt1; + private System.Windows.Forms.Panel panel6; + private System.Windows.Forms.ComboBox ComboDi; + private System.Windows.Forms.ComboBox comboA; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Panel panel7; + private System.Windows.Forms.Button btndown; + private System.Windows.Forms.Button btnup; + public System.Windows.Forms.CheckBox ck2; + public System.Windows.Forms.CheckBox ck1; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.Button btntdelete; + private System.Windows.Forms.Button btndelete; + private System.Windows.Forms.Button btnload; + private System.Windows.Forms.Button btnsave; + private System.Windows.Forms.Panel panelC; + private System.Windows.Forms.Label lables; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.PictureBox picLogo; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Panel panel9; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Timer timer2; + private System.Windows.Forms.Button btnPrepare; + private System.Windows.Forms.Panel tabp1; + private System.Windows.Forms.Panel tabp2; + private System.Windows.Forms.Panel tabp3; + private System.Windows.Forms.Panel tabp4; + private System.Windows.Forms.Panel tabp5; + private System.Windows.Forms.Panel tabp6; + private System.Windows.Forms.Panel tabp7; + private System.Windows.Forms.Panel tabp8; + private System.Windows.Forms.Panel tabp9; + private System.Windows.Forms.Panel tabp10; + private System.Windows.Forms.Panel tabp4_1; + private System.Windows.Forms.Panel tabp5_1; + private System.Windows.Forms.Panel tabp6_1; + public System.Windows.Forms.DataGridView dataGridView1; + public System.Windows.Forms.DataGridView dataGridView2; + public System.Windows.Forms.DataGridView dataGridView3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label1; + internal FarPoint.Win.Spread.FpSpread PlayList; + internal FarPoint.Win.Spread.SheetView PlayList_Sheet1; + private System.Windows.Forms.Panel panel15; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Panel panel14; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Panel panel13; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Panel panel12; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Panel panel11; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Panel panel8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Panel panel10; + private System.Windows.Forms.Timer timer3; + private System.Windows.Forms.Button b4; + private System.Windows.Forms.Button b3; + private System.Windows.Forms.Button b2; + private System.Windows.Forms.Button b1; + private System.Windows.Forms.Label label14; + public FarPoint.Win.Spread.FpSpread FpSpread2; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1; + public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2; + private System.Windows.Forms.DataGridView GridView1; + private System.Windows.Forms.TextBox txtSearch; + ListViewEx listView1; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Label lblbackfile_full; + private System.Windows.Forms.Button btnback; + private System.Windows.Forms.Label lblbackfile; + public System.Windows.Forms.CheckBox ckback; + //private System.Windows.Forms.ListView listView1; + } +} + diff --git a/MBN_STOCK_N/MainForm.cs b/MBN_STOCK_N/MainForm.cs new file mode 100644 index 0000000..a462329 --- /dev/null +++ b/MBN_STOCK_N/MainForm.cs @@ -0,0 +1,4058 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using System.IO; +using FarPoint.Win.Spread; +using static MMoneyCoderSharp.DBDefine; +using MMoneyCoderSharp.Data; +using MMoneyCoderSharp.Data.Classification; +using MMoneyCoderSharp.DB; +using MMoneyCoderSharp.Util; +using K3DAsyncEngineLib; +using System.Threading.Tasks; +using System.Reflection; + +namespace MBN_STOCK_N +{ + + public partial class MainForm : Form + { + [DllImport("user32.dll")] + public static extern IntPtr FindWindow(String lpClassName, String lpWindowName); + + + public DataSet mDataSetStock; + public DataTable mDTkospi; + public DataTable mDTkosdaq; + public DataTable mDTNxtkospi; + public DataTable mDTNxtkosdaq; + public DataTable mDTforeign; + public DataTable mDTkospiSectors; + public DataTable mDTkosdaqSectors; + + public CutList CutList; + + //Tornado SDK 관련 + public KAEngine KAEngine; + public KAScenePlayer KAScenePlayer; + public KAScene KAScene; + public KAEventHandler KAEvent; + public KAObject KAObject; + + bool m_Super = false; + bool m_TakeIn = false; + int m_ShowIndex = 0; + public int m_rowidx = -1; + public int m_crow = -1; + int m_cutindex = 0; + int m_update = 0; + int m_rcolor = 0; + bool m_control = false; + public bool m_chkdata = false; + //bool m_FileModyfy = false; + //bool m_header = false; + + public DBCon m_db = null; + public string m_PlayLsit = string.Empty; + public string RES_FOLDER_PATH = Environment.CurrentDirectory + @"\Res\"; + public string PREVIEW_FOLDER_PATH = Environment.CurrentDirectory + @"\Preview\"; + public string PREVIEW_FILE_PATH = Environment.CurrentDirectory + @"\Preview\Preview.png"; + public string T2S_FOLDER_PATH = Environment.CurrentDirectory + @"\Cuts\"; + + public string m_ip = string.Empty; + public string m_port = string.Empty; + public string m_sid = string.Empty; + public string m_id = string.Empty; + public string m_pw = string.Empty; + + public string nxt_m_ip = string.Empty; + public string nxt_m_port = string.Empty; + public string nxt_m_sid = string.Empty; + public string nxt_m_id = string.Empty; + public string nxt_m_pw = string.Empty; + + + private System.Windows.Forms.Timer timerAliveChecker; + + private void initAliveChecker() + { + timerAliveChecker = new System.Windows.Forms.Timer(components); + timerAliveChecker.Interval = 10000; + timerAliveChecker.Tick += new System.EventHandler(this.timerAliveChecker_Tick); + timerAliveChecker.Enabled = true; + } + + public void LogWrite(string str) + { + Invoke((Action)(() => { + string DirPath = Environment.CurrentDirectory + @"\Log"; + string FilePath = DirPath + "\\Log_" + DateTime.Today.ToString("MMdd") + ".log"; + string temp; + + DirectoryInfo di = new DirectoryInfo(DirPath); + FileInfo fi = new FileInfo(FilePath); + + try + { + if (!di.Exists) Directory.CreateDirectory(DirPath); + if (!fi.Exists) + { + using (StreamWriter sw = new StreamWriter(FilePath)) + { + temp = string.Format("[{0}] {1}", DateTime.Now, str); + sw.WriteLine(temp); + sw.Close(); + } + } + else + { + using (StreamWriter sw = File.AppendText(FilePath)) + { + temp = string.Format("[{0}] {1}", DateTime.Now, str); + sw.WriteLine(temp); + sw.Close(); + } + } + } + catch (Exception e) + { + } + } + )); + } + + int m_dbs = 0; + private void timerAliveChecker_Tick(object sender, EventArgs e) + { + if (!DBAliveChecker()) + { + //연결 끊어짐 + //timerAliveChecker.Enabled = false; + //Console.WriteLine("m_db 끊어짐"); + LogWrite("DB 연결 끊어짐"); + m_dbs = 1; + } + else + { + if (m_dbs == 1) + { + LogWrite("DB 연결중"); + m_dbs = 0; + //Console.WriteLine("m_db 살아있음"); + } + + + } + } + + private bool DBAliveChecker() + { + bool alived = false; + + try + { + if (m_db.conn.State == ConnectionState.Closed) + { + m_db.conn.Open(); + } + + if (m_db.conn.State == ConnectionState.Open) + { + alived = true; + } + + } + catch (Exception) + { + + } + finally + { + m_db.conn.Close(); + } + + return alived; + } + + #region DB 매칭 관련 + + + /// + /// 종목 매칭 - 실행시, 아침 7시30분에 실행 + /// + private void TableMatching() + { + mDataSetStock = DataManager.getInstance().getStocksInfoTable(); + + //코스피 + mDTkospi = mDataSetStock.Tables[0]; + foreach (DataRow row in mDTkospi.Rows) + { + + } + //코스닥 + mDTkosdaq = mDataSetStock.Tables[1]; + foreach (DataRow row in mDTkosdaq.Rows) + { + //listBoxControl1.Items.Add(row[0]); + } + //NXT코스피 + mDTNxtkospi = mDataSetStock.Tables[2]; + foreach (DataRow row in mDTNxtkospi.Rows) + { + + } + //NXT코스닥 + mDTNxtkosdaq = mDataSetStock.Tables[3]; + foreach (DataRow row in mDTNxtkosdaq.Rows) + { + //listBoxControl1.Items.Add(row[0]); + } + //해외 + mDTforeign = mDataSetStock.Tables[4]; + foreach (DataRow row in mDTforeign.Rows) + { + //listBoxControl1.Items.Add(row[0]); + } + //코스피 업종 + // mDTkospiSectors = mDataSetStock.Tables[3]; + mDTkospiSectors = mDataSetStock.Tables[5]; + + //코스닥 업종 + // mDTkosdaqSectors = mDataSetStock.Tables[4]; + mDTkosdaqSectors = mDataSetStock.Tables[6]; + } + + #endregion + + + + public MainForm() + { + + InitializeComponent(); + + + this.KeyPreview = true; + + INI_parser(Environment.CurrentDirectory + @"\Res\MmoneyCoder.ini"); + + for (int i = 0; i < m_idx; i++) + { + if (m_pbuf[i] == "[Oracle]") + { + for (int j = 0; j < m_row[i]; j++) + { + if (m_sbuf[i, j].Substring(0, 2) != "//") + { + if (m_sbuf[i, j].Contains("ConnectionName")) + { + m_ip = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].IndexOf(":") - m_sbuf[i, j].IndexOf("=") - 1); + m_port = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf(":") + 1, m_sbuf[i, j].IndexOf("/") - m_sbuf[i, j].IndexOf(":") - 1); + m_sid = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("/") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("/") - 1); + } + + if (m_sbuf[i, j].Contains("ID")) + { + m_id = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("=") - 1); + } + + if (m_sbuf[i, j].Contains("Pass")) + { + m_pw = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("=") - 1); + } + } + } + } + } + + for (int i = 0; i < m_idx; i++) + { + if (m_pbuf[i] == "[Maria]") + { + for (int j = 0; j < m_row[i]; j++) + { + if (m_sbuf[i, j].Substring(0, 2) != "//") + { + if (m_sbuf[i, j].Contains("ConnectionName")) + { + nxt_m_ip = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].IndexOf(":") - m_sbuf[i, j].IndexOf("=") - 1); + nxt_m_port = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf(":") + 1, m_sbuf[i, j].IndexOf("/") - m_sbuf[i, j].IndexOf(":") - 1); + nxt_m_sid = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("/") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("/") - 1); + } + + if (m_sbuf[i, j].Contains("ID")) + { + nxt_m_id = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("=") - 1); + } + + if (m_sbuf[i, j].Contains("Pass")) + { + nxt_m_pw = m_sbuf[i, j].Substring(m_sbuf[i, j].IndexOf("=") + 1, m_sbuf[i, j].Length - m_sbuf[i, j].IndexOf("=") - 1); + } + } + } + } + } + + //DB 접속 관리 + DBManager.getInstance().setDB_HOST(m_ip, nxt_m_ip); + DBManager.getInstance().setDB_PORT(m_port, nxt_m_port); + DBManager.getInstance().setDB_ID(m_id, nxt_m_id); + DBManager.getInstance().setDB_PASS(m_pw, nxt_m_pw); + DBManager.getInstance().setDB_CONNECT_DATA(m_sid, nxt_m_sid); + + //각 종목 테이블 매칭 + TableMatching(); + m_db = new DBCon(this); + + KAEngine = new KAEngine(); + KAEvent = new KAEventHandler(); + + CutList = new CutList(); + + + /* + GridView1.CellPainting += GridView1_CellPainting; + */ + DoubleBuffered = true; + listView1.OwnerDraw = true; + listView1.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(lv_DrawColumnHeader); + listView1.DrawSubItem += new DrawListViewSubItemEventHandler(lv_DrawSubItem); + listView1.FullRowSelect = true; + listView1.MultiSelect = true; + listView1.Scrollable = true; + + listView1.View = View.Details; + } + + + + public string m_Path = Environment.CurrentDirectory + @"\Data\PlayList\"; + public string m_DataPath = Environment.CurrentDirectory + @"\Data\"; + + public TreeNode[] m_node = new TreeNode[20]; + public string[] m_pbuf = new string[20]; + public string[,] m_sbuf = new string[20, 50]; + public int[] m_row = new int[20]; + public int m_idx = 0; + public int m_st = 0; + public int m_lcnt = 0; + public string m_group = string.Empty; + + int m_init = 0; + + bool bThreadAlive = true; + + UC1 tuc1 = null; + UC2 tuc2 = null; + UC3 tuc3 = null; + UC4 tuc4 = null; + UC5 tuc5 = null; + UC6 tuc6 = null; + UC7 tuc7 = null; + + FileSystemWatcher watcher = null; + + private Rectangle dragBoxFromMouseDown; + private int rowIndexFrom; + + private void Form1_Load(object sender, EventArgs e) + { + try + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("매일경제TV"); + + if (process.Length > 1) + { + MessageBox.Show("코더가 실행중입니다."); + System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess(); + p.Kill(); + } + + else + { + + DataTable dt1 = new DataTable(); + + dt1.Columns.Add("Index"); + dt1.Columns.Add("Cut"); + + + foreach (FarPoint.Win.Spread.SpreadSkin sk in FarPoint.Win.Spread.DefaultSpreadSkins.Skins) + { + if (sk.Name == "Metallic") + { + sk.Apply(PlayList); + } + } + + + INI_parser(Environment.CurrentDirectory + @"\Res\종목.ini"); + + int cnt = 1; + for (int j = 0; j < m_row[0]; j++) + { + InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0); + + + if (m_sbuf[0, j] == "-") + { + FpSpread2.ActiveSheet.SetText(j, 0, ""); + FpSpread2.ActiveSheet.SetText(j, 1, ""); + //dt1.Rows.Add((j).ToString(), ""); + dt1.Rows.Add((j + 1).ToString(), ""); + } + else + { + FpSpread2.ActiveSheet.SetText(j, 0, cnt.ToString()); + FpSpread2.ActiveSheet.SetText(j, 1, m_sbuf[0, j]); + + //dt1.Rows.Add((j).ToString(), cnt.ToString()); + dt1.Rows.Add((j + 1).ToString(), m_sbuf[0, j]); + cnt += 1; + } + + //dt1.Rows.Add((j + 1).ToString(), m_sbuf[0, j]); + + } + this.GridView1.DataSource = dt1; + + DataGridViewColumn column1 = GridView1.Columns[0]; + DataGridViewColumn column2 = GridView1.Columns[1]; + + + column1.Width = 61; + column2.Width = 328; + + column1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; + + GridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; + GridView1.Columns[0].Resizable = DataGridViewTriState.False; + + + cnt = 1; + for (int i = 0; i < m_row[0]; i++) + { + GridView1.Rows[i].Height = 23; + GridView1.Rows[1].Frozen = true; + + GridView1.Rows[i].Resizable = DataGridViewTriState.False; + + if (GridView1.Rows[i].Cells[1].Value.ToString() == "") + { + GridView1.Rows[i].Cells[0].Value = ""; + } + else + { + GridView1.Rows[i].Cells[0].Value = cnt.ToString(); + cnt += 1; + } + + } + + + this.GridView1.GridColor = Color.DarkGray; + this.GridView1.CurrentCell = null; + this.GridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + + + PlayList.AllowDrop = true; + + + tuc1 = new UC1(this, "해외", null, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp1.Controls.Add(tuc1); + + + PlayList.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + + Cell_Color(PlayList.ActiveSheet, 0, 0); + Cell_Color(FpSpread2.ActiveSheet, 0, 0); + + + Bitmap sourceImage = new Bitmap(Environment.CurrentDirectory + @"\Res\VRIPNG.png"); + Size resize = new Size(68, 30); + Bitmap resizeImage = new Bitmap(sourceImage, resize); + pictureBox1.Image = resizeImage; + + comboA.SelectedIndex = 3; + ComboDi.SelectedIndex = 6; + txt1.Text = ""; txt2.Text = ""; + + + System.Windows.Forms.ColumnHeader header = new System.Windows.Forms.ColumnHeader(); + header.Text = "Index"; + header.Name = "col1"; + header.Width = 61; + listView1.Columns.Add(header); + + System.Windows.Forms.ColumnHeader header2 = new System.Windows.Forms.ColumnHeader(); + header2.Text = "Cut"; + header2.Name = "col2"; + header2.Width = 323; + listView1.Columns.Add(header2); + listView1.Columns[0].TextAlign = HorizontalAlignment.Center; + + + listView1.HeaderStyle = ColumnHeaderStyle.None; + + foreach (DataRow d in dt1.Rows) + { + ListViewItem item = new ListViewItem(new String[] { d[0].ToString(), d[1].ToString() }); + listView1.Items.Add(item); + } + + timer3.Start(); + //fileSystemWatcher1.Path = RES_FOLDER_PATH; + //picBoxPreview.Image = null; + + //watcher = new FileSystemWatcher(PREVIEW_FOLDER_PATH); + //watcher.EnableRaisingEvents = true; + //watcher.IncludeSubdirectories = false; + //watcher.Changed += new FileSystemEventHandler(watcher_Changed); + + panelC.BackColor = Color.FromArgb(26, 119, 0); + lables.Text = "T2 Connected"; + + KAEngine.KTAPConnect(1, "127.0.0.1", 30001, 0, KAEvent); + KAScenePlayer = KAEngine.GetScenePlayer(); + + + this.FpSpread2.SelectionBlockOptions = FarPoint.Win.Spread.SelectionBlockOptions.Rows; + PlayList.SetCursor(FarPoint.Win.Spread.CursorType.Normal, System.Windows.Forms.Cursors.Default); + + + //====shk 20230913 배경 선택===== + // lblbackfile_full.Text = T2S_FOLDER_PATH + "\\video\\" + "1109_배경최종-1.vrv"; // 배경파일 선택 + // lblbackfile.Text = "1109_배경최종-1.vrv"; + lblbackfile_full.Text = T2S_FOLDER_PATH + "\\video\\" + "기본.vrv"; // 배경파일 선택 + lblbackfile.Text = "기본.vrv"; + //=============================== + + Form_Status(); + LogWrite("코더 실행"); + LogWrite("DB 연결중"); + } + + initAliveChecker(); + } + catch (Exception) + { + + } + } + + private void keypressed(Object o, KeyPressEventArgs e) + { + try + { + // The keypressed method uses the KeyChar property to check + // whether the ENTER key is pressed. + + // If the ENTER key is pressed, the Handled property is set to true, + // to indicate the event is handled. + if (e.KeyChar == (char)Keys.ShiftKey) + { + txtSearch.CharacterCasing = CharacterCasing.Upper; ; + //textBox.CharacterCasing = CharacterCasing.Upper; + e.Handled = true; + } + } + catch (Exception) + { + + } + + } + public void watcher_Changed(object sender, FileSystemEventArgs e) + { + try + { + //System.Threading.Thread.Sleep(1000); + watcher.EnableRaisingEvents = false; + //m_FileModyfy = true; + //textBox1.Text = "Data Update..."; + } + catch (Exception) + { + //MessageBox.Show(ex.ToString()); + } + /*finally + { + // 모니터링 활성화 + watcher.EnableRaisingEvents = true; + }*/ + } + + public void INI_parser(string path) + { + try + { + string str = string.Empty; + + m_idx = 0; + m_row = Enumerable.Repeat(0, 20).ToArray(); + + StreamReader sr = new StreamReader(path, Encoding.Default); + if (sr != null) + { + while (sr.Peek() > -1) + { + str = sr.ReadLine(); str = str.Trim(); + + if (str != "") + { + if (str.Substring(0, 1) == "[") + { + m_pbuf[m_idx] = str; + m_idx += 1; + } + else + { + m_sbuf[m_idx - 1, m_row[m_idx - 1]] = str; + m_row[m_idx - 1] += 1; + } + } + } + } + } + catch (Exception) + { + + } + } + + public delegate void Action(); + bool istornado = false; + + public void MonitoringProcee() + { + try + { + while (bThreadAlive) + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("Tornado2"); + + if (process.Length < 1) + { + + if (KAEngine != null) + KAEngine.Disconnect(); + + this.Invoke(new Action(delegate () + { + panelC.BackColor = Color.FromArgb(192, 0, 0); + lables.Text = "Reconnecting.."; + })); + + istornado = false; m_init = 0; + } + + else + { + if (KAEngine == null) + return; + + if (istornado == false && m_init == 1) + { + istornado = true; + } + + if (!istornado) + { + if (KAEngine.KTAPConnect(1, "127.0.0.1", 30001, 0, KAEvent) == 1) + { + LogWrite("Tornado 다시 연결"); + KAScenePlayer = KAEngine.GetScenePlayer(); + + this.Invoke(new Action(delegate () + { + panelC.BackColor = Color.FromArgb(26, 119, 0); + lables.Text = "T2 Connected"; + //KAScenePlayer.StopAll(); + })); + } + } + //추가shk + else + { + break; + } + //여기까지 + } + } + } + catch (Exception) + { + + } + + + } + + + private void MainForm_Paint(object sender, PaintEventArgs e) + { + try + { + Pen p = new Pen(Color.FromArgb(200, 200, 200)); + Graphics g = e.Graphics; + int variance = 2; + + for (int i = 0; i < this.Controls.Count; i++) + { + if (this.Controls[i].Name.Contains("panel")) + { + g.DrawRectangle(p, new Rectangle(Controls[i].Location.X - variance, Controls[i].Location.Y - variance, Controls[i].Width + variance, Controls[i].Height + variance)); + + } + } + } + catch (Exception) + { + + } + + } + + private void panel6_Paint(object sender, PaintEventArgs e) + { + try + { + Pen p = new Pen(Color.FromArgb(222, 222, 222)); + Graphics g = e.Graphics; + int variance = 1; + + for (int i = 0; i < panel6.Controls.Count; i++) + { + if (panel6.Controls[i].Name.Contains("txt")) + { + g.DrawRectangle(p, new Rectangle(panel6.Controls[i].Location.X - variance, panel6.Controls[i].Location.Y - variance, panel6.Controls[i].Width + variance, panel6.Controls[i].Height + variance)); + } + } + } + catch (Exception) + { + + } + + } + + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + try + { + if (DialogResult.Yes != MessageBox.Show( + "프로그램을 종료하겠습니까?", + "매일경제TV", + MessageBoxButtons.YesNo, + MessageBoxIcon.Warning, + MessageBoxDefaultButton.Button2)) + { + e.Cancel = true; + + } + else + { + //hThread.Abort(); + + if (KAScenePlayer != null) + { + KAScenePlayer.StopAll(); + + if (KAScene != null) + KAScene.Unload(); + } + LogWrite("코더 종료"); + System.Threading.Thread.Sleep(500); + System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess(); + p.Kill(); + } + + } + catch (Exception) + { + + } + + } + + public void InsertRow(FpSpread FP, SheetView SV, int row, int cnt, int idx) + { + try + { + FarPoint.Win.Spread.SolidFocusIndicatorRenderer sfi = new FarPoint.Win.Spread.SolidFocusIndicatorRenderer(Color.Blue, 0); + FP.FocusRenderer = sfi; + + SV.AddRows(row - 1, cnt); + SV.SetRowHeight(row - 1, 22); + + FarPoint.Win.Spread.CellType.TextCellType TxtCell = new FarPoint.Win.Spread.CellType.TextCellType(); + FarPoint.Win.Spread.CellType.CheckBoxCellType ChkCell = new FarPoint.Win.Spread.CellType.CheckBoxCellType(); + + for (int i = 0; i <= SV.ColumnCount - 1; i++) + { + if (idx == 1) + { + if (i == 0) + { + SV.Columns[i, 0].CellType = ChkCell; + } + } + else + { + SV.Columns[i].CellType = TxtCell; + } + SV.Cells[row - 1, 0].BackColor = Color.FromArgb(255, 255, 255); + + SV.Columns[i].VerticalAlignment = CellVerticalAlignment.Center; + + if (i == 0 || i == 5) + SV.Columns[i].HorizontalAlignment = CellHorizontalAlignment.Center; + else + SV.Columns[i].HorizontalAlignment = CellHorizontalAlignment.General; + + + if (idx == 2) + SV.Columns[i].Font = new System.Drawing.Font("나눔고딕", 9.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + else + SV.Columns[i].Font = new System.Drawing.Font("나눔고딕", 11.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + + } + } + catch (Exception) + { + + } + } + + private void FpSpread2_CellDoubleClick(object sender, CellClickEventArgs e) + { + return; + } + + private void button9_Click(object sender, EventArgs e) + { + try + { + if (txtSearch.Text == "") return; + searchStock(listBox, txtSearch); + } + catch (Exception) + { + + } + + } + + + public void searchStock(ListBox Lb, TextBox Tb) + { + try + { + TableMatching(); + List addItem = new List(); + + m_db.ViewQuery(dataGridView1, "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_STOCK WHERE F_MKT_HALT = 'N' AND UPPER(F_STOCK_WANNAME) LIKE '%%%" + Tb.Text.ToUpper() + "%%'"); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()); + } + + Lb.Items.Clear(); + Lb.Items.AddRange(addItem.ToArray()); + + m_db.ViewQuery(dataGridView1, "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_KOSDAQ_STOCK WHERE F_MKT_HALT = 'N' AND UPPER(F_STOCK_WANNAME) LIKE '%%%" + Tb.Text.ToUpper() + "%%'"); + + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()); + } + + Lb.Items.Clear(); + Lb.Items.AddRange(addItem.ToArray()); + + // NXT + m_db.Nxt_ViewQuery(dataGridView1, "SELECT CONCAT(a.F_STOCK_NAME,'(NXT)') F_STOCK_NAME, a.F_STOCK_CODE FROM N_STOCK a, N_ONLINE b WHERE a.F_STOP_GUBUN = 'N' AND a.f_stock_code = b.f_stock_code AND UPPER(a.F_STOCK_NAME) LIKE '%%%" + Tb.Text.ToUpper() + "%%'"); + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()); + } + + Lb.Items.Clear(); + Lb.Items.AddRange(addItem.ToArray()); + + m_db.Nxt_ViewQuery(dataGridView1, "SELECT CONCAT(a.F_STOCK_NAME,'(NXT)') F_STOCK_NAME, a.F_STOCK_CODE FROM N_KOSDAQ_STOCK a, N_KOSDAQ_ONLINE b WHERE a.F_STOP_GUBUN = 'N' AND a.f_stock_code = b.f_stock_code AND UPPER(a.F_STOCK_NAME) LIKE '%%%" + Tb.Text.ToUpper() + "%%'"); + + + for (int i = 0; i < dataGridView1.RowCount - 1; i++) + { + addItem.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()); + } + + Lb.Items.Clear(); + Lb.Items.AddRange(addItem.ToArray()); + } + catch (Exception) + { + + } + } + + public string jongmokCode(string stockName) + { + try + { + string strCode = string.Empty; + + foreach (DataRow row in mDTkospi.Rows) + { + if (row[0].ToString().Equals(stockName)) + { + strCode = row[1].ToString() + "/코스피"; + } + + } + foreach (DataRow row in mDTkosdaq.Rows) + { + if (row[0].ToString().Equals(stockName)) + { + strCode = row[1].ToString() + "/코스닥"; + } + + } + + foreach (DataRow row in mDTNxtkospi.Rows) + { + if (row[0].ToString().Equals(stockName)) + { + strCode = row[1].ToString() + "/코스피_NXT"; + } + + } + foreach (DataRow row in mDTNxtkosdaq.Rows) + { + if (row[0].ToString().Equals(stockName)) + { + strCode = row[1].ToString() + "/코스닥_NXT"; + } + + } + + return strCode; + } + catch (Exception) + { + return ""; + } + + } + + private void MainForm_KeyDown(object sender, KeyEventArgs e) + { + try + { + if (e.KeyCode == Keys.Enter) + { + //searchStock(listBox, txtSearch); + } + else if (e.KeyCode == Keys.F2) + { + //ONAirMode(); + btnback_Click(sender, e); //배경파일 선택버튼 + } + else if (e.KeyCode == Keys.F3) // 배경없음 + { + if (ckback.Checked == false) + { + ckback.Checked = true; + } + else + { + ckback.Checked = false; + } + ckback_CheckedChanged(sender, e); //배경파일 선택버튼 + } + else if (e.KeyCode == Keys.F5) + { + //btnTake_Click(null, null); + } + else if (e.KeyCode == Keys.F8) + { + //Next_Scene(0); + btnTake_Click(null, null); + } + else if (e.KeyCode == Keys.Escape) + { + btnTakeout_Click(null, null); + } + + else if (e.KeyCode == Keys.Delete) + { + btndelete_Click(null, null); + } + + + if (e.KeyData == (Keys.Alt | Keys.F4)) e.Handled = true; + + if (e.KeyCode == Keys.ShiftKey) + { + e.Handled = true; + + m_shift = true; + + } + + if (e.KeyCode == Keys.ControlKey) + { + //e.Handled = true; + + m_control = true; + + } + + if (e.KeyData == (Keys.Control | Keys.Delete)) + { + //e.Handled = true; + } + } + catch (Exception) + { + + } + } + + private void listBox_DrawItem(object sender, DrawItemEventArgs e) + { + try + { + e.DrawBackground(); + Graphics g = e.Graphics; + Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ? + Brushes.DimGray : new SolidBrush(e.BackColor); + g.FillRectangle(brush, e.Bounds); + e.Graphics.DrawString(listBox.Items[e.Index].ToString(), e.Font, + new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault); + e.DrawFocusRectangle(); + } + catch (Exception) + { + + } + } + + public int FadeInSec + { + get { return ComboDi.SelectedIndex; } + } + + public int FadeOutSec + { + get { return ComboDi.SelectedIndex; } + } + + int[] s_buf = new int[100]; + int m_oldrow = 0; + public int m_newrow = 0; + bool m_shift = false; + + int[] bufdel = new int[100]; + int m_delcnt = 0; int m_delcnts = 0; + public bool m_tree = false; + + int m_time = 10; + + private void PlayList_CellClick(object sender, CellClickEventArgs e) + { + try + { + //m_header = false; + //timer1.Stop(); + + string sdata = string.Empty; + int tmp = 0; + int a = 0; int b = 0; int c = 0; + + m_rowidx = e.Row; + m_rcolor = 0; + + if (e.Column != 0) + { + PlayList.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + m_tree = true; + + if (m_control) + { + for (int j = 0; j <= 6; j++) + { + PlayList.ActiveSheet.Cells[e.Row, j].BackColor = Color.FromArgb(220, 220, 220); + + if (m_newrow != -1) + PlayList.ActiveSheet.Cells[m_newrow, j].BackColor = Color.FromArgb(220, 220, 220); + } + + m_control = false; + bufdel[m_delcnt] = e.Row; + m_delcnt += 1; + } + else + { + for (int i = 0; i < PlayList.ActiveSheet.RowCount; i++) + { + for (int j = 0; j <= 6; j++) + { + PlayList.ActiveSheet.Cells[i, j].BackColor = Color.FromArgb(255, 255, 255); + + } + } + m_delcnt = 0; m_delcnts = 0; + + if (m_TakeIn) + { + + Cell_Color(PlayList.ActiveSheet, e.Row, 0); + Cell_Color1(PlayList.ActiveSheet, m_crow, 1, m_crow, 1); + } + else + { + Cell_Color(PlayList.ActiveSheet, e.Row, 0); + } + + + if (!e.RowHeader) + { + + if (m_newrow != e.Row) + { + m_oldrow = m_newrow; + m_newrow = e.Row; + } + } + + if (m_shift) + { + if (m_oldrow > m_newrow) + { + a = m_newrow; b = m_oldrow + 1; + c = 0; + } + else + { + a = m_oldrow; b = m_newrow + 1; + c = 1; + } + for (int i = a; i < b; i++) + { + for (int j = 0; j <= 6; j++) + { + PlayList.ActiveSheet.Cells[i, j].BackColor = Color.FromArgb(220, 220, 220); + } + + bufdel[m_delcnt] = i; + m_delcnt += 1; + //if (c == 0) + //{ + // c = 1; + //} + //else + //{ + // m_delcnt += 1; + // bufdel[m_delcnt] = i; + //} + + } + //m_shift = false; + //return; + } + + else + { + bufdel[m_delcnt] = e.Row; + m_delcnt += 1; + } + + + + + } + } + else + { + if (m_TakeIn) + { + //MessageBox.Show("송출 중일때는 이동이 불가능합니다."); + return; + } + } + + + if (!e.RowHeader) + { + if (e.Column == 0) + { + //m_header = true; + PlayList.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.Normal; + + //Thread.Sleep(1000); + //Cell_Color1(PlayList.ActiveSheet, m_rowidx, 1, m_newrow, 0); + if (m_rowcolor == 1) + //timer2.Start(); + return; + } + if (!m_TakeIn) + { + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.WhiteSmoke; + } + } + + + //PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Nearest); + } + catch (Exception) + { + + } + } + + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + KAScene.GetObject("bg1_" + v).SetVisible(1); + KAScene.GetObject("changePrice1_" + v).SetVisible(1); + KAScene.GetObject("wonText1_" + v).SetVisible(1); + KAScene.GetObject("rate1_" + v).SetVisible(1); + KAScene.GetObject("percent1_" + v).SetVisible(1); + + KAScene.GetObject("bg2_" + v).SetVisible(0); + KAScene.GetObject("changePrice2_" + v).SetVisible(0); + KAScene.GetObject("wonText2_" + v).SetVisible(0); + KAScene.GetObject("rate2_" + v).SetVisible(0); + KAScene.GetObject("percent2_" + v).SetVisible(0); + + KAScene.GetObject("bg3_" + v).SetVisible(0); + KAScene.GetObject("changePrice3_" + v).SetVisible(0); + KAScene.GetObject("wonText3_" + v).SetVisible(0); + KAScene.GetObject("rate3_" + v).SetVisible(0); + KAScene.GetObject("percent3_" + v).SetVisible(0); + + + KAScene.GetObject("pattern" + v).SetValue(T2S_FOLDER_PATH + "Images\\그림_빨강.png"); + + if (cnt != 0) + { + KAScene.GetObject("unit1_" + v).SetVisible(1); + KAScene.GetObject("unit2_" + v).SetVisible(0); + KAScene.GetObject("unit3_" + v).SetVisible(0); + + } + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + KAScene.GetObject("bg1_" + v).SetVisible(1); + KAScene.GetObject("changePrice1_" + v).SetVisible(1); + KAScene.GetObject("wonText1_" + v).SetVisible(1); + KAScene.GetObject("rate1_" + v).SetVisible(1); + KAScene.GetObject("percent1_" + v).SetVisible(1); + + KAScene.GetObject("bg2_" + v).SetVisible(0); + KAScene.GetObject("changePrice2_" + v).SetVisible(0); + KAScene.GetObject("wonText2_" + v).SetVisible(0); + KAScene.GetObject("rate2_" + v).SetVisible(0); + KAScene.GetObject("percent2_" + v).SetVisible(0); + + KAScene.GetObject("bg3_" + v).SetVisible(0); + KAScene.GetObject("changePrice3_" + v).SetVisible(0); + KAScene.GetObject("wonText3_" + v).SetVisible(0); + KAScene.GetObject("rate3_" + v).SetVisible(0); + KAScene.GetObject("percent3_" + v).SetVisible(0); + + if (cnt != 0) + { + KAScene.GetObject("unit1_" + v).SetVisible(1); + KAScene.GetObject("unit2_" + v).SetVisible(0); + KAScene.GetObject("unit3_" + v).SetVisible(0); + } + + if (cnt == 3) + { + KAScene.GetObject("price1_" + v).SetVisible(1); + KAScene.GetObject("price2_" + v).SetVisible(0); + KAScene.GetObject("price3_" + v).SetVisible(0); + + } + KAScene.GetObject("pattern" + v).SetValue(T2S_FOLDER_PATH + "Images\\그림_빨강.png"); + + } + else if (value.Equals("보합") || value.Equals("") || value.Equals(" ")) + { + KAObject = KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + KAScene.GetObject("bg1_" + v).SetVisible(0); + KAScene.GetObject("changePrice1_" + v).SetVisible(0); + KAScene.GetObject("wonText1_" + v).SetVisible(0); + KAScene.GetObject("rate1_" + v).SetVisible(0); + KAScene.GetObject("percent1_" + v).SetVisible(0); + + KAScene.GetObject("bg2_" + v).SetVisible(1); + KAScene.GetObject("changePrice2_" + v).SetVisible(1); + KAScene.GetObject("wonText2_" + v).SetVisible(1); + KAScene.GetObject("rate2_" + v).SetVisible(1); + KAScene.GetObject("percent2_" + v).SetVisible(1); + + KAScene.GetObject("bg3_" + v).SetVisible(0); + KAScene.GetObject("changePrice3_" + v).SetVisible(0); + KAScene.GetObject("wonText3_" + v).SetVisible(0); + KAScene.GetObject("rate3_" + v).SetVisible(0); + KAScene.GetObject("percent3_" + v).SetVisible(0); + + if (cnt != 0) + { + KAScene.GetObject("unit1_" + v).SetVisible(0); + KAScene.GetObject("unit2_" + v).SetVisible(1); + KAScene.GetObject("unit3_" + v).SetVisible(0); + } + + if (cnt == 3) + { + KAScene.GetObject("price1_" + v).SetVisible(0); + KAScene.GetObject("price2_" + v).SetVisible(1); + KAScene.GetObject("price3_" + v).SetVisible(0); + + } + KAScene.GetObject("pattern" + v).SetValue(T2S_FOLDER_PATH + "Images\\그림_검정.png"); + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + KAScene.GetObject("bg1_" + v).SetVisible(0); + KAScene.GetObject("changePrice1_" + v).SetVisible(0); + KAScene.GetObject("wonText1_" + v).SetVisible(0); + KAScene.GetObject("rate1_" + v).SetVisible(0); + KAScene.GetObject("percent1_" + v).SetVisible(0); + + KAScene.GetObject("bg2_" + v).SetVisible(0); + KAScene.GetObject("changePrice2_" + v).SetVisible(0); + KAScene.GetObject("wonText2_" + v).SetVisible(0); + KAScene.GetObject("rate2_" + v).SetVisible(0); + KAScene.GetObject("percent2_" + v).SetVisible(0); + + KAScene.GetObject("bg3_" + v).SetVisible(1); + KAScene.GetObject("changePrice3_" + v).SetVisible(1); + KAScene.GetObject("wonText3_" + v).SetVisible(1); + KAScene.GetObject("rate3_" + v).SetVisible(1); + KAScene.GetObject("percent3_" + v).SetVisible(1); + + if (cnt != 0) + { + KAScene.GetObject("unit1_" + v).SetVisible(0); + KAScene.GetObject("unit2_" + v).SetVisible(0); + KAScene.GetObject("unit3_" + v).SetVisible(1); + } + + if (cnt == 3) + { + KAScene.GetObject("price1_" + v).SetVisible(0); + KAScene.GetObject("price2_" + v).SetVisible(0); + KAScene.GetObject("price3_" + v).SetVisible(1); + + } + KAScene.GetObject("pattern" + v).SetValue(T2S_FOLDER_PATH + "Images\\그림_파랑.png"); + } + else if (value.Equals("하한")) + { + KAObject = KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + KAScene.GetObject("bg1_" + v).SetVisible(0); + KAScene.GetObject("changePrice1_" + v).SetVisible(0); + KAScene.GetObject("wonText1_" + v).SetVisible(0); + KAScene.GetObject("rate1_" + v).SetVisible(0); + KAScene.GetObject("percent1_" + v).SetVisible(0); + + KAScene.GetObject("bg2_" + v).SetVisible(0); + KAScene.GetObject("changePrice2_" + v).SetVisible(0); + KAScene.GetObject("wonText2_" + v).SetVisible(0); + KAScene.GetObject("rate2_" + v).SetVisible(0); + KAScene.GetObject("percent2_" + v).SetVisible(0); + + KAScene.GetObject("bg3_" + v).SetVisible(1); + KAScene.GetObject("changePrice3_" + v).SetVisible(1); + KAScene.GetObject("wonText3_" + v).SetVisible(1); + KAScene.GetObject("rate3_" + v).SetVisible(1); + KAScene.GetObject("percent3_" + v).SetVisible(1); + + if (cnt != 0) + { + KAScene.GetObject("unit1_" + v).SetVisible(0); + KAScene.GetObject("unit2_" + v).SetVisible(0); + KAScene.GetObject("unit3_" + v).SetVisible(1); + } + KAScene.GetObject("pattern" + v).SetValue(T2S_FOLDER_PATH + "Images\\그림_파랑.png"); + } + + + } + catch (Exception) + { + + } + + } + public void GetThumnail(int width, int height, string path, int frame, int layoutIndex) + { + + try + { + KAScene.QueryVariables(); + KAEngine.EndTransaction(); + KAScenePlayer.Prepare(layoutIndex, KAScene); + KAScene.SaveImageFile(path, width, height, frame); + } + catch (Exception) + { + + } + } + + private void btnup_Click(object sender, EventArgs e) + { + if (m_TakeIn) + { + MessageBox.Show("송출 중일때는 이동이 불가능합니다."); + return; + } + Spd_UpDown(PlayList, PlayList.ActiveSheet, 0, 0); + } + + public void Cell_Color(SheetView Sv, int row, int idx) + { + try + { + Sv.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; + Sv.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range; + Sv.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell; + + if (Sv.RowCount != 0) + { + for (int i = 1; i <= 6; i++) + { + Sv.AddSelection(row, 0, 1, i); + } + + } + //Sv.SelectionBackColor = Color.FromArgb(255, 255, 255); + for (int i = 0; i < PlayList.ActiveSheet.RowCount; i++) + { + for (int j = 0; j <= 6; j++) + { + PlayList.ActiveSheet.Cells[i, j].BackColor = Color.FromArgb(255, 255, 255); + + } + } + if (idx == 0) + Sv.SelectionBackColor = Color.FromArgb(220, 220, 220); + else + Sv.SelectionBackColor = Color.Blue; + + Sv.SelectionForeColor = Color.Black; + } + catch (Exception) + { + + } + + + } + public void Cell_Color1(SheetView Sv, int row, int idx, int orow, int para) + { + try + { + + Sv.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; + Sv.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range; + Sv.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell; + + if (Sv.RowCount != 0) + { + for (int i = 1; i <= 6; i++) + { + Sv.AddSelection(row, 0, 1, i); + } + + } + for (int i = 0; i < PlayList.ActiveSheet.RowCount; i++) + { + for (int j = 0; j <= 6; j++) + { + PlayList.ActiveSheet.Cells[i, j].BackColor = Color.FromArgb(255, 255, 255); + + } + } + if (idx == 0) + { + //for (int i = 0; i <= 6; i++) + //{ + // Sv.Cells[orow, i].BackColor = Color.FromArgb(255, 255, 255); + //} + Sv.SelectionBackColor = Color.FromArgb(255, 255, 255); + } + + else + { + if (para == 0) + { + for (int i = 0; i <= 6; i++) + { + Sv.Cells[orow, i].BackColor = Color.FromArgb(220, 220, 220); + } + Sv.SelectionBackColor = Color.FromArgb(253, 200, 210); + + } + else + { + for (int i = 0; i <= 6; i++) + { + Sv.Cells[orow, i].BackColor = Color.FromArgb(253, 200, 210); + } + Sv.SelectionBackColor = Color.FromArgb(220, 220, 220); + } + } + + Sv.SelectionForeColor = Color.Black; + + } + catch (Exception) + { + + } + + } + + + public void Spd_UpDown(FpSpread Fp, SheetView Sv, int idx, int index) + { + try + { + timer1.Stop(); + string[] bufd = new string[Sv.ColumnCount]; + + if (idx == 0) + { + if (Sv.ActiveRowIndex == 0) + { + return; + } + } + else + { + if (Sv.ActiveRowIndex == Sv.RowCount - 1) + { + return; + } + } + + + if (idx == 0) + Sv.SetActiveCell(Sv.ActiveRowIndex - 1, 3); + else + Sv.SetActiveCell(Sv.ActiveRowIndex + 1, 3); + + int row = Sv.ActiveRowIndex; + + Cell_Color(Sv, row, 0); + + Fp.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + + for (int i = index; i < Sv.ColumnCount; i++) + { + bufd[i] = Sv.GetText(row, i); + + if (idx == 0) + { + Sv.Cells[row, i].Value = Sv.GetText(Sv.ActiveRowIndex + 1, i); + Sv.Cells[Sv.ActiveRowIndex + 1, i].Value = bufd[i]; + } + else + { + Sv.Cells[row, i].Value = Sv.GetText(Sv.ActiveRowIndex - 1, i); + Sv.Cells[Sv.ActiveRowIndex - 1, i].Value = bufd[i]; + } + + } + } + catch (Exception) + { + + + } + + } + + private void btndown_Click(object sender, EventArgs e) + { + if (m_TakeIn) + { + MessageBox.Show("송출 중일때는 이동이 불가능합니다."); + return; + } + Spd_UpDown(PlayList, PlayList.ActiveSheet, 1, 0); + } + + + private void btndelete_Click(object sender, EventArgs e) + { + try + { + int cnt = 0; + bool tmp = false; + int cntt = 0; + + if (PlayList.ActiveSheet.ActiveRowIndex + 1 > 0) + { + for (int k = 0; k < m_delcnt; k++) + { + if (bufdel[k] < m_crow) + { + cntt = cntt + 1; + tmp = true; + } + } + } + + Array.Sort(bufdel); + + + + //if ((bufdel[100 - m_delcnt] - cnt) < m_crow) + //{ + // tmp = true; + //} + //else + //{ + // tmp = false; + //} + + if (tmp) + m_crow = m_crow - cntt; + //m_crow = m_crow - m_delcnt; + + + + for (int i = 100 - m_delcnt; cnt < m_delcnt; i++) + { + + PlayList.ActiveSheet.RemoveRows(bufdel[i] - cnt, 1); + cnt += 1; + } + + + for (int i = 0; i < 100; i++) + { + bufdel[i] = 0; + } + m_delcnt = 0; m_delcnts = 0; + + //PlayList.ActiveSheet.Cells[1, 1].BackColor = Color.LimeGreen; + //PlayList.ActiveSheet.Cells[1, 1].ForeColor = Color.Yellow; + + //PlayList.ActiveSheet.Cells[2, 1].Locked = true; + + PlayList.ActiveSheet.Protect = true; + + PlayList.ActiveSheet.LockBackColor = Color.Brown; + PlayList.ActiveSheet.LockForeColor = Color.Orange; + + PlayList.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; + PlayList.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range; + PlayList.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell; + + PlayList.ActiveSheet.SelectionBackColor = Color.White; + PlayList.ActiveSheet.SelectionForeColor = Color.Black; + + + m_rcolor = 1; + + + } + catch (Exception) + { + + } + } + + private void btntdelete_Click(object sender, EventArgs e) + { + try + { + if (m_TakeIn) + { + MessageBox.Show("송출 중일때는 삭제가 불가능합니다."); + } + else + { + if (MessageBox.Show("송출 리스트를 모두 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + m_newrow = -1; m_rowidx = -1; + PlayList.ActiveSheet.ClearRange(0, 0, PlayList.ActiveSheet.RowCount, PlayList.ActiveSheet.ColumnCount, true); + if (PlayList.ActiveSheet.RowCount != 0) + PlayList.ActiveSheet.RemoveRows(0, PlayList.ActiveSheet.RowCount); + + } + } + + } + catch (Exception) + { + + } + + } + + private void button5_Click(object sender, EventArgs e) + { + try + { + PList fm = new PList(this, 0); + fm.Owner = this; + fm.ShowDialog(); + + + //파일저장 + //if (m_PlayLsit != "") + //{ + // if (PlayList.ActiveSheet.RowCount != 0) + // WriteListFile(m_Path + m_PlayLsit + ".csv", PlayList.ActiveSheet, ","); + //} + } + catch (Exception) + { + + } + + } + + private void btnload_Click(object sender, EventArgs e) + { + try + { + PList fm = new PList(this, 1); + fm.Owner = this; + fm.ShowDialog(); + m_crow = 0; + m_rowidx = 0; + timer2.Stop(); + timer1.Stop(); + m_TakeIn = false; + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.WhiteSmoke; + //btnTakeout_Click(null, null); + //if (m_PlayLsit != "") + //{ + // //플레이리스트 내용 가져오기 + // PlayList.ActiveSheet.ClearRange(0, 0, PlayList.ActiveSheet.RowCount, PlayList.ActiveSheet.ColumnCount, true); + + // if (PlayList.ActiveSheet.RowCount != 0) + // PlayList.ActiveSheet.RemoveRows(0, PlayList.ActiveSheet.RowCount); + + // ReadListFile(m_Path + m_PlayLsit + ".csv", ',', PlayList.ActiveSheet, m_Path, PlayList, 1); + //} + } + catch (Exception) + { + + } + + } + + public void ReadListFile(string path, char ch, SheetView spdPara, string dpath, FpSpread Fp, int idx) + { + //idx - 0 열의개수 처음부터 + //idx - 누적된 열의개수 + try + { + string str = string.Empty; + int row = 0; + string[,] buf = new string[500, 50]; + + StreamReader sr = new StreamReader(path, Encoding.Default); + if (sr != null) + { + while (sr.Peek() > -1) + { + str = sr.ReadLine(); str = str.Trim(); + + string[] Result = str.Split(ch); + for (int i = 0; i < Result.Length; i++) + { + buf[row, i] = Result[i]; + } + row = row + 1; + } + sr.Close(); + } + + int[] tag = { 0, 1 }; + for (int i = 0; i < row; i++) + { + //InsertRow(Fp, spdPara, spdPara.RowCount + 1, 1); + InsertRow(Fp, spdPara, spdPara.RowCount + 1, 1, idx); + + for (int j = 0; j < spdPara.ColumnCount; j++) + { + spdPara.SetText(i, j, buf[i, j]); + + if (j == 0) + { + + } + } + } + } + catch (Exception) + { + + } + } + + public string m_rowText = string.Empty; + + public void WriteListFile(string path, SheetView spdPara, string ch) + { + try + { + string strdata = string.Empty; + + FileInfo fileInfoM = new FileInfo(path); + fileInfoM.Delete(); + + for (int i = 1; i <= spdPara.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data) + 1; i++) + { + StreamWriter sw = new StreamWriter(path, true, Encoding.Default); + + for (int j = 0; j < spdPara.ColumnCount; j++) + { + strdata += spdPara.GetText(i - 1, j) + ch; + } + sw.WriteLine(strdata); + sw.Close(); + strdata = ""; + } + } + catch (Exception) + { + + } + } + + //private void fileSystemWatcher1_Changed(object sender, FileSystemEventArgs e) + //{ + // try + // { + // if (picBoxPreview.Image != null) + // { + // picBoxPreview.Image.Dispose(); + // } + + // //System.Threading.Thread.Sleep(100); + // picBoxPreview.Image = Image.FromFile(PREVIEW_FILE_PATH); + // } + // catch (Exception) + // { + + // } + + //} + + int m_init2 = 0; + int m_srow = 0; + private void btnTake_Click(object sender, EventArgs e) + { + // back_ComboBox.Enabled = false; // back 선택 할수 없게 20230913 + lblbackfile.Enabled = false; // back 선택 할수 없게 20231201 + btnback.Enabled = false; + + + try + { + timer1.Stop(); + + m_rcolor = 0; + //m_crow = 0; + PlayList.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + if (PlayList.ActiveSheet.Rows.Count == 1) + { + m_rowidx = 0; m_crow = m_rowidx; + + Cell_Color(PlayList.ActiveSheet, 0, 0); + + } + + if (m_rowidx == -1) + { + m_rowidx = 0; + } + //else + //{ + // m_rowidx = PlayList.ActiveSheet.ActiveRowIndex; + //} + + + m_Super = false; m_update = 0; m_crow = m_rowidx; + + ONAirMode(); + if (KAScenePlayer == null) + { + MessageBox.Show("Tornado와 송출 연결이 되지 않았습니다."); + return; + } + + if (!m_chkdata) return; + + if (m_ShowIndex == 1) + { + btnTake.BackColor = Color.Cornsilk; + btnNext.BackColor = Color.WhiteSmoke; + + if (m_init2 == 0) + { + m_init2 = 1; + System.Threading.Thread.Sleep(500); + + } + KAScenePlayer.Play(10); + + m_srow = m_rowidx; + m_ShowIndex = 0; + txt1.Text = txt2.Text; m_TakeIn = true; + m_rowcolor = 0; + + + string code = PlayList.ActiveSheet.GetText(m_rowidx, 1).Trim(); + string jongmok = PlayList.ActiveSheet.GetText(m_rowidx, 2); + string forCutInfo = PlayList.ActiveSheet.GetText(m_rowidx, 3).Trim(); + string sub = PlayList.ActiveSheet.GetText(m_rowidx, 4).Trim(); + m_rowText = code + jongmok + forCutInfo + sub; + + //if (PlayList.ActiveSheet.GetText(m_rowidx, 3) != "5단 표그래프") + //{ + + //} + + PlayList.ActiveSheet.SetActiveCell(m_rowidx, 1); + Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + + timer1.Interval = (m_time) * 1000; + timer1.Start(); + } + } + catch (Exception) + { + + } + } + + private void btnPrepare_Click(object sender, EventArgs e) + { + try + { + if (KAScenePlayer == null) + { + MessageBox.Show("Tornado와 송출 연결이 되지 않았습니다."); + return; + } + System.Threading.Thread.Sleep(100); + ONAirMode(); + } + catch (Exception) + { + + } + } + + public void ONAirMode() + { + try + { + if (!m_Super) + { + + //btnPrepare.ForeColor = Color.FromArgb(255, 255, 255); + //btnPrepare.BackColor = Color.FromArgb(26, 119, 0); + m_Super = true; + + if (PlayList.ActiveSheet.ActiveRowIndex != -1) + { + if (m_init == 0) + { + System.Threading.Thread.Sleep(100); + m_init = 1; + } + + if (PlayList.ActiveSheet.GetText(m_rowidx, 0) == "True") + { + //Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + m_crow = m_rowidx; + Show_PlayList(m_rowidx, 0, 0); + } + + else + { + for (int i = m_rowidx + 1; i < PlayList.ActiveSheet.RowCount; i++) + { + if (PlayList.ActiveSheet.GetText(i, 0) == "True") + { + //Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + Show_PlayList(i, 0, 0); + m_rowidx = i; + m_crow = m_rowidx; + //m_crow = i; + Cell_Color1(PlayList.ActiveSheet, m_rowidx, 1, m_newrow, 0); + break; + } + } + } + + } + } + else + { + //timer2.Stop(); + btnTakeout_Click(null, null); + m_Super = false; + btnPrepare.ForeColor = Color.FromArgb(70, 73, 88); + btnPrepare.BackColor = Color.FromArgb(240, 240, 248); + } + } + catch (Exception) + { + + } + + } + + private void btnTakeout_Click(object sender, EventArgs e) + { + // back_ComboBox.Enabled = true; // back 체크 할수 있게 20230913 + lblbackfile.Enabled = true; // 배경 파일 변경가능하게 20231201 + btnback.Enabled = true; // 배경 파일 변경가능하게 20231201 + + try + { + if (KAScenePlayer == null) + return; + + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.WhiteSmoke; + + if (m_rowcolor == 1) + m_rowidx = m_newrow; + + timer1.Stop(); m_cutindex = 0; m_ShowIndex = 0; m_rowcolor = 0; m_update = 0; + Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + // KAScenePlayer.CutOut(10); 원본 + KAScenePlayer.StopAll(); //20240910 화면에 나오는 모든걸 없애기 위해 + + m_TakeIn = false; + + + btnTake.ForeColor = Color.Black; + btnNext.ForeColor = Color.Black; + txt1.Text = ""; txt2.Text = ""; + + + } + catch (Exception) + { + + } + + } + + int m_rowcolor = 0; + private void btnNext_Click(object sender, EventArgs e) + { + try + { + if (m_TakeIn) + { + + timer1.Stop(); + m_update = 0; + PlayList.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect; + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.Cornsilk; + Next_Scene(0); + m_rowcolor = 1; + + + if (m_chkdata) + { + + if (PlayList.ActiveSheet.RowCount > m_rowidx) + { + PlayList.ActiveSheet.SetActiveCell(m_crow, 1); + Cell_Color1(PlayList.ActiveSheet, m_crow, 1, m_rowidx, 0); + + if (m_rcolor == 1) + { + PlayList.ActiveSheet.Cells[m_rowidx, 0].BackColor = Color.FromArgb(255, 255, 255); + PlayList.ActiveSheet.Cells[m_rowidx, 1].BackColor = Color.FromArgb(255, 255, 255); + PlayList.ActiveSheet.Cells[m_rowidx, 2].BackColor = Color.FromArgb(255, 255, 255); + PlayList.ActiveSheet.Cells[m_rowidx, 3].BackColor = Color.FromArgb(255, 255, 255); + PlayList.ActiveSheet.Cells[m_rowidx, 4].BackColor = Color.FromArgb(255, 255, 255); + PlayList.ActiveSheet.Cells[m_rowidx, 5].BackColor = Color.FromArgb(255, 255, 255); + } + } + else + { + PlayList.ActiveSheet.SetActiveCell(m_crow, 1); + Cell_Color1(PlayList.ActiveSheet, m_crow, 1, m_crow, 0); + + } + PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + } + + } + + } + catch (Exception) + { + + } + + } + + int m_ncnt = 0; + + + public void Next_Scene(int idx) + { + try + { + if (m_Super) + { + if (KAScenePlayer == null) + { + MessageBox.Show("Tornado와 송출 연결이 되지 않았습니다."); + return; + } + + + string sdata = string.Empty; + + + if (PlayList.ActiveSheet.GetText(m_crow, 3) == "5단 표그래프") + { + dataGridView1.Columns.Clear(); + dataGridView2.Columns.Clear(); + dataGridView3.Columns.Clear(); + //m_cutindex = 1; + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) == sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + //마지막장 + for (int i = m_crow + 1; i < PlayList.ActiveSheet.RowCount; i++) + { + if (PlayList.ActiveSheet.GetText(i, 0) == "True") + { + m_crow = i; + Show_PlayList(i, 0, 1); + //m_rowidx = i; + //m_crow = m_rowidx; + + //m_rrow = m_rowidx; + break; + } + } + } + else + { + if (idx == 0) + { + m_ncnt = Convert.ToInt32(sdata.Substring(0, sdata.IndexOf("/"))) + 1; + PlayList.ActiveSheet.SetText(m_crow, 5, m_ncnt.ToString() + sdata.Substring(sdata.IndexOf("/"), sdata.Length - sdata.IndexOf("/"))); + } + + + //next + string code = PlayList.ActiveSheet.GetText(m_crow, 1); + string jmok = PlayList.ActiveSheet.GetText(m_crow, 2); + string sub = PlayList.ActiveSheet.GetText(m_crow, 4); + + if (code.Contains("전문가")) + { + sub = PlayList.ActiveSheet.GetText(m_crow, 1).Trim(); + } + + if (idx == 0) + { + eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_FADE; + // eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_BLINK; + KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + "5074.t2s", "5074"); + KAScene.SetSceneEffectType(10, etype, FadeInSec); + } + else + { + KAScene = KAScenePlayer.GetPlayingScene(10); + } + KAEngine.BeginTransaction(); + + + s5074 scene = new s5074(this, code, jmok, sub, m_ncnt - 1); //5단 표그래프 + + KAScene.QueryVariables(); + KAEngine.EndTransaction(); + + KAScenePlayer.Prepare(10, KAScene); + m_ShowIndex = 1; + + if (sub == "") + sub = jmok + " 업종"; + + txt2.Text = "5단 표그래프 " + sub + " " + PlayList.ActiveSheet.GetText(m_crow, 5); + } + + + if (m_ShowIndex == 1) + { + if (m_TakeIn) + { + KAScenePlayer.Play(10); + txt1.Text = txt2.Text; + + } + } + + } + //========= + else if (PlayList.ActiveSheet.GetText(m_crow, 3) == "6종목 현재가") + { + dataGridView1.Columns.Clear(); + dataGridView2.Columns.Clear(); + dataGridView3.Columns.Clear(); + //m_cutindex = 1; + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) == sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + //마지막장 + for (int i = m_crow + 1; i < PlayList.ActiveSheet.RowCount; i++) + { + if (PlayList.ActiveSheet.GetText(i, 0) == "True") + { + m_crow = i; + Show_PlayList(i, 0, 1); + //m_rowidx = i; + //m_crow = m_rowidx; + + //m_rrow = m_rowidx; + break; + } + } + } + else + { + if (idx == 0) + { + m_ncnt = Convert.ToInt32(sdata.Substring(0, sdata.IndexOf("/"))) + 1; + PlayList.ActiveSheet.SetText(m_crow, 5, m_ncnt.ToString() + sdata.Substring(sdata.IndexOf("/"), sdata.Length - sdata.IndexOf("/"))); + } + + //next + string code = PlayList.ActiveSheet.GetText(m_crow, 1); + string jmok = PlayList.ActiveSheet.GetText(m_crow, 2); + string sub = PlayList.ActiveSheet.GetText(m_crow, 4); + + if (code.Contains("전문가")) + { + sub = PlayList.ActiveSheet.GetText(m_crow, 1).Trim(); + } + + if (idx == 0) + { + eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_FADE; + // eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_BLINK; + KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + "5077.t2s", "5077"); + KAScene.SetSceneEffectType(10, etype, FadeInSec); + } + else + { + KAScene = KAScenePlayer.GetPlayingScene(10); + } + KAEngine.BeginTransaction(); + + + s5077 scene = new s5077(this, code, jmok, sub, m_ncnt - 1); //6종목 현재가 + + KAScene.QueryVariables(); + KAEngine.EndTransaction(); + + KAScenePlayer.Prepare(10, KAScene); + m_ShowIndex = 1; + + if (sub == "") + sub = jmok + " 업종"; + + txt2.Text = "6종목 현재가 " + sub + " " + PlayList.ActiveSheet.GetText(m_crow, 5); + } + + + if (m_ShowIndex == 1) + { + if (m_TakeIn) + { + KAScenePlayer.Play(10); + txt1.Text = txt2.Text; + + } + } + } + else if (PlayList.ActiveSheet.GetText(m_crow, 3) == "12종목 현재가") + { + dataGridView1.Columns.Clear(); + dataGridView2.Columns.Clear(); + dataGridView3.Columns.Clear(); + //m_cutindex = 1; + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) == sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + //마지막장 + for (int i = m_crow + 1; i < PlayList.ActiveSheet.RowCount; i++) + { + if (PlayList.ActiveSheet.GetText(i, 0) == "True") + { + m_crow = i; + Show_PlayList(i, 0, 1); + //m_rowidx = i; + //m_crow = m_rowidx; + + //m_rrow = m_rowidx; + break; + } + } + } + else + { + if (idx == 0) + { + m_ncnt = Convert.ToInt32(sdata.Substring(0, sdata.IndexOf("/"))) + 1; + PlayList.ActiveSheet.SetText(m_crow, 5, m_ncnt.ToString() + sdata.Substring(sdata.IndexOf("/"), sdata.Length - sdata.IndexOf("/"))); + } + + + //next + string code = PlayList.ActiveSheet.GetText(m_crow, 1); + string jmok = PlayList.ActiveSheet.GetText(m_crow, 2); + string sub = PlayList.ActiveSheet.GetText(m_crow, 4); + + if (code.Contains("전문가")) + { + sub = PlayList.ActiveSheet.GetText(m_crow, 1).Trim(); + } + + if (idx == 0) + { + eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_FADE; + // eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_BLINK; + KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + "5088.t2s", "5088"); + KAScene.SetSceneEffectType(10, etype, FadeInSec); + } + else + { + KAScene = KAScenePlayer.GetPlayingScene(10); + } + KAEngine.BeginTransaction(); + + + s5088 scene = new s5088(this, code, jmok, sub, m_ncnt - 1); // 12종목 현재가 + + KAScene.QueryVariables(); + KAEngine.EndTransaction(); + + KAScenePlayer.Prepare(10, KAScene); + m_ShowIndex = 1; + + if (sub == "") + sub = jmok + " 업종"; + + txt2.Text = "12종목 현재가 " + sub + " " + PlayList.ActiveSheet.GetText(m_crow, 5); + } + + + if (m_ShowIndex == 1) + { + if (m_TakeIn) + { + KAScenePlayer.Play(10); + txt1.Text = txt2.Text; + + } + } + + } + else + { + m_cutindex = 0; + for (int i = m_crow + 1; i < PlayList.ActiveSheet.RowCount; i++) + { + if (PlayList.ActiveSheet.GetText(i, 0) == "True") + { + m_crow = i; + Show_PlayList(i, 0, 1); + //m_rowidx = i; + //m_crow = m_rowidx; + + break; + } + } + if (m_ShowIndex == 1) + { + if (m_TakeIn) + { + KAScenePlayer.Play(10); + m_srow = m_crow; + txt1.Text = txt2.Text; + + string code = PlayList.ActiveSheet.GetText(m_crow, 1).Trim(); + string jongmok = PlayList.ActiveSheet.GetText(m_crow, 2); + string forCutInfo = PlayList.ActiveSheet.GetText(m_crow, 3).Trim(); + string sub = PlayList.ActiveSheet.GetText(m_crow, 4).Trim(); + + + m_rowText = code + jongmok + forCutInfo + sub; + if (idx == 0) + { + timer1.Interval = (m_time) * 1000; + } + timer1.Start(); + } + } + + } + + + + } + + } + catch (Exception) + { + + } + + } + + public void Show_PlayList(int row, int idx, int color) + { + try + { + m_cutindex = 0; + //PlayList.ActiveSheet.SetActiveCell(row, 3); + + dataGridView1.Columns.Clear(); + dataGridView2.Columns.Clear(); + dataGridView3.Columns.Clear(); + + //if (idx == 0) + //{ + // if (color == 0) + // Cell_Color(PlayList.ActiveSheet, row, color); + // else + // Cell_Color1(PlayList.ActiveSheet, row, color, m_newrow, 0); + //} + + + //PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + + string[] cutInfos = null; + string code = PlayList.ActiveSheet.GetText(row, 1).Trim(); + string jongmok = PlayList.ActiveSheet.GetText(row, 2); + string forCutInfo = PlayList.ActiveSheet.GetText(row, 3).Trim(); + string sub = PlayList.ActiveSheet.GetText(row, 4).Trim(); + string pagec = PlayList.ActiveSheet.GetText(row, 5).Trim(); + + + //"==" + + if (jongmok.Contains("==")) + { + MessageBox.Show("데이터가 없습니다!"); + m_TakeIn = false; + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.WhiteSmoke; + m_rowidx = m_newrow; m_chkdata = false; + //Cell_Color1(PlayList.ActiveSheet, row, color, m_newrow, 0); + //for (int j = 0; j <= 6; j++) + //{ + // PlayList.ActiveSheet.Cells[m_rowidx+1, j].BackColor = Color.FromArgb(255, 255, 255); + + //} + return; + } + + if (forCutInfo == "글로벌 증시 지도") + cutInfos = CutList.getCutInfo(jongmok); + if (forCutInfo == "이미지 그래프") + cutInfos = CutList.getCutInfo(jongmok + forCutInfo); + else + cutInfos = CutList.getCutInfo(code + jongmok + forCutInfo + sub); + + if (cutInfos[0] == "") + { + if (forCutInfo.Equals("")) + return; + MessageBox.Show("장면을 송출할 수 없습니다" + Environment.NewLine + forCutInfo); + return; + } + + Cursor.Current = Cursors.WaitCursor; + + if (idx == 0) + { + eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_FADE; + KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + cutInfos[1] + ".t2s", cutInfos[0]); + + + KAScene.SetSceneEffectType(10, etype, FadeInSec); + //KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + cutInfos[1] + "_NE.t2s", cutInfos[0] + "_NE"); + //KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + "5074_NE.t2s", "5074_NE"); + + + } + else + { + KAScene = KAScenePlayer.GetPlayingScene(10); + //eKSceneEffectType etype = eKSceneEffectType.SCENE_CHANGE_EFFECT_NONE; + //if (cutInfos[0] == "8035" || cutInfos[0] == "8061" || cutInfos[0] == "8040" || cutInfos[0] == "8046" || cutInfos[0] == "8051" || cutInfos[0] == "8056" || cutInfos[0] == "5026") + //{ + // timer1.Stop(); + // return; + //} + + //KAScene = KAEngine.LoadScene(T2S_FOLDER_PATH + cutInfos[1] + "_NE.t2s", cutInfos[0] + "_NE"); + ////KAScene.SetSceneEffectType(10, etype, 0); + } + + + //----배경 사용할지를 체크 shk 20230715 + //if (back_CB.Checked == true) + //{ + // KAScene.UseBackground(1); // 배경 사용 함 + //} + //else + //{ + // KAScene.UseBackground(0); // 배경 사용 안함 + //} + + /* + if (back_ComboBox.SelectedIndex == 0) // 기본배경 + { + KAScene.UseBackground(1); + KAScene.SetBackgroundTexture(T2S_FOLDER_PATH+ "Video\\1109_배경최종-1.vrv"); + } + else if (back_ComboBox.SelectedIndex == 1) // 서울) + { + KAScene.UseBackground(1); + KAScene.SetBackgroundTexture(T2S_FOLDER_PATH + "Video\\스탁_서울.vrv"); + } + else if (back_ComboBox.SelectedIndex == 2) // 여의도) + { + KAScene.UseBackground(1); + KAScene.SetBackgroundTexture(T2S_FOLDER_PATH + "Video\\스탁_여의도.vrv"); + } + else if (back_ComboBox.SelectedIndex == 3) // 뉴욕) + { + KAScene.UseBackground(1); + KAScene.SetBackgroundTexture(T2S_FOLDER_PATH + "Video\\스탁_뉴욕.vrv"); + } + else if (back_ComboBox.SelectedIndex == 4) // 야경) + { + KAScene.UseBackground(1); + KAScene.SetBackgroundTexture(T2S_FOLDER_PATH + "Video\\스탁_야경.vrv"); + } + else if (back_ComboBox.SelectedIndex == 5) // 배경없음) + { + KAScene.UseBackground(0); // 배경 사용 안함 + } + */ + if (lblbackfile.Text.Length > 0) + { + if (lblbackfile_full.Text.Contains(".vrv") == true) + { + KAScene.SetBackgroundVideo(lblbackfile_full.Text, 2004, 10); + } + else + { + KAScene.SetBackgroundTexture(lblbackfile_full.Text); + } + + KAScene.UseBackground(1); + } + else + { + KAScene.UseBackground(0); // 배경없음 + } + + + //-------------------------------------------- + + KAEngine.BeginTransaction(); + + if (cutInfos[0] == "5076") + { + m_time = 3000000; + s5076 scene = new s5076(this, jongmok); //주요매출 구성 + } + else if (cutInfos[0] == "50160") + { + m_time = 30; + s50160 scene = new s50160(this, jongmok, sub); //2열판- + } + else if (cutInfos[0] == "5079") + { + m_time = 3000000; + s5079 scene = new s5079(this, jongmok); //성장성 지표 + } + else if (cutInfos[0] == "5080") + { + m_time = 3000000; + s5080 scene = new s5080(this, jongmok); //매출액 지표 + } + else if (cutInfos[0] == "5081") //영업이익 지표 + { + m_time = 3000000; + s5081 scene = new s5081(this, jongmok); + } + else if (cutInfos[0] == "6001") //해외지수 이미지그래프 + { + m_time = 30; + s6001 scene = new s6001(this, jongmok); + } + else if (cutInfos[0] == "N5001") // NXT 1열판 기본 + { + // n5001 scene = new n5001(this, 4, jongmok, sub, code); + m_time = 2; // 5 20260329추가 + s5001 scene = new s5001(this, 4, jongmok, sub, code); + } + else if (cutInfos[0] == "5001") //1열판 기본 + { + m_time = 2; // 5 20260329 + if (jongmok == "지수") + { s5001 scene = new s5001(this, 0, jongmok, sub, code); } + else + { + if (code == "해외지수") + { s5001 scene = new s5001(this, 1, jongmok, sub, code); } + else if (code == "환율") + { s5001 scene = new s5001(this, 2, jongmok, sub, code); } + else if (code == "해외업종") + { s5001 scene = new s5001(this, 5, jongmok, sub, code); } + else if (code == "해외종목") + { s5001 scene = new s5001(this, 6, jongmok, sub, code); } + else if (code.Contains("업종")) + { s5001 scene = new s5001(this, 3, jongmok, sub, code); } + else + { s5001 scene = new s5001(this, 4, jongmok, sub, code); } + } + + } + else if (cutInfos[0] == "8018" || cutInfos[0] == "8032" || cutInfos[0] == "5032") //2열판 + { + m_time = 5; + if (code.Contains("업종")) + { + s8018 scene = new s8018(this, 3, jongmok, sub, code); + } + else + { + if (jongmok.Contains("선물")) + { + s5032 scene = new s5032(this, 0, jongmok, sub, code); + } + else + { + if (!jongmok.Contains("지수") && !jongmok.Contains("환율")) + { + s8018 scene = new s8018(this, 1, jongmok, sub, code); + } + else + { + s8018 scene = new s8018(this, 0, jongmok, sub, code); + } + } + } + + } + else if (cutInfos[0] == "5011") + { + m_time = 5; + s5011 scene = new s5011(this, jongmok, sub); //1열판 상세 + } + else if (cutInfos[0] == "5006") + { + m_time = 5; + s5006 scene = new s5006(this, jongmok, sub); //1열판 상세 시가 + } + else if (cutInfos[0] == "5086") + { + m_time = 7; + s5086 scene = new s5086(this, jongmok, sub, code); //수익률 그래프 + } + else if (cutInfos[0] == "50860") + { + m_time = 7; + s50860 scene = new s50860(this, jongmok, sub, code); //라인 그래프 + } + + else if (cutInfos[0] == "8035" || cutInfos[0] == "8061" || cutInfos[0] == "8040" || cutInfos[0] == "8046" || cutInfos[0] == "8051" || cutInfos[0] == "8056") + { + m_time = 8; + s8010 scene = new s8010(this, jongmok, forCutInfo, sub, code); //캔들 그래프 + //System.Threading.Thread.Sleep(1000); + //timer1.Stop(); + } + else if (cutInfos[0] == "8003") + { + m_time = 8; + s8003 scene = new s8003(this, jongmok); //호가창 + } + else if (cutInfos[0] == "5037") + { + m_time = 5; + s5037 scene = new s5037(this, jongmok.Trim(), code); //거래원 + } + else if (cutInfos[0] == "5016") + { + m_time = 5; + s5016 scene = new s5016(this, jongmok, sub); //3열판 + } + else if (cutInfos[0] == "8067" || cutInfos[0] == "5068" || cutInfos[0] == "5070" || cutInfos[0] == "5072") + { + m_time = 30; + s8067 scene = new s8067(this, jongmok); //글로벌 증시지도 + } + else if (cutInfos[0] == "5078") + { + m_time = 30; + s5078 scene = new s5078(this, jongmok); //미국업종 + } + else if (cutInfos[0] == "5082") + { + m_time = 6; + s5082 scene = new s5082(this, jongmok); //주체별 매매동향 + } + else if (cutInfos[0] == "5023") + { + m_time = 30; + s5023 scene = new s5023(this, forCutInfo); //매매동향 표그래프 + } + else if (cutInfos[0] == "5024")//------------------------------------------------- + { + m_time = 60; + s5024 scene = new s5024(this, forCutInfo); //매매동향 막대그래프 + } + else if (cutInfos[0] == "5083") + { + m_time = 60; + s5083 scene = new s5083(this, forCutInfo); //개인,기관, 외국인 매매동향 + } + + else if (cutInfos[0] == "5084") + { + m_time = 5; + s5084 scene = new s5084(this, forCutInfo); //매매동향 라인그래프 + } + else if (cutInfos[0] == "6067") + { + m_time = 30; + s6067 scene = new s6067(this, forCutInfo); //기관 순매수 현황 + } + + else if (cutInfos[0] == "5085") + { + m_time = 30; + s5085 scene = new s5085(this, forCutInfo); //프로그램 매매 + } + + else if (cutInfos[0] == "5025") + { + m_time = 30; + s5025 scene = new s5025(this, code); //순매도 상위(수동) + } + + else if (cutInfos[0] == "5074") + { + m_time = 7; + if (code.Contains("전문가")) + { + sub = PlayList.ActiveSheet.GetText(row, 1).Trim(); + } + //if (code.Contains("테마") || code.Contains("전문가")) + //{ + // code = PlayList.ActiveSheet.GetText(row, 6).Trim(); + //} + + PlayList.ActiveSheet.SetText(row, 5, "1" + pagec.Substring(pagec.IndexOf("/"), pagec.Length - pagec.IndexOf("/"))); + + s5074 scene = new s5074(this, code, jongmok, sub, 0); //5단 표그래프 + + if (sub == "") + sub = jongmok + " 업종"; + } + + else if (cutInfos[0] == "5077") // 6종목 현재가 추가 2023.11.27 + { + m_time = 7; + PlayList.ActiveSheet.SetText(row, 5, "1" + pagec.Substring(pagec.IndexOf("/"), pagec.Length - pagec.IndexOf("/"))); + + s5077 scene = new s5077(this, code, jongmok, sub, 0); // 6종목 현재가 + } + + else if (cutInfos[0] == "5088") // 12종목 현재가 추가 2024.03.02 + { + m_time = 7; + PlayList.ActiveSheet.SetText(row, 5, "1" + pagec.Substring(pagec.IndexOf("/"), pagec.Length - pagec.IndexOf("/"))); + + s5088 scene = new s5088(this, code, jongmok, sub, 0); // 12종목 현재가 + } + + else if (cutInfos[0] == "8001" || cutInfos[0] == "8002") + { + m_time = 120; + s8001 scene = new s8001(this, jongmok); //네모그래프 + } + + else if (cutInfos[0] == "5026") + { + m_time = 8; + s5026 scene = new s5026(this, jongmok); //종목별 비교분석 캔들그래프 + } + + else if (cutInfos[0] == "5087") + { + m_time = 7; + s5087 scene = new s5087(this, jongmok); //종목별 비교분석 라인그래프 + } + else if (cutInfos[0] == "5029") + { + m_time = 7; + s5029 scene = new s5029(this, jongmok, sub); //종목별 수익률 비교 + } + + Cursor.Current = Cursors.Default; + + if (!m_chkdata) + { + MessageBox.Show("데이터가 없습니다!"); + m_TakeIn = false; + timer1.Stop(); + btnTake.BackColor = Color.WhiteSmoke; + btnNext.BackColor = Color.WhiteSmoke; + m_rowidx = m_newrow; + //m_ShowIndex = 1; + //return; + } + + + //if (picBoxPreview.Image != null) + //{ + // picBoxPreview.Image.Dispose(); + // System.Threading.Thread.Sleep(300); + //} + + + KAScene.QueryVariables(); + KAEngine.EndTransaction(); + + //KAScenePlayer.PlayDirect(10, KAScene); + KAScenePlayer.Prepare(10, KAScene); + //KAScene.SaveImageFile(path, width, height, frame); + + //GetThumnail(457, 257, PREVIEW_FILE_PATH, 200, 1); + m_ShowIndex = 1; + + if (cutInfos[0] == "5074") + txt2.Text = forCutInfo + " " + sub + " " + PlayList.ActiveSheet.GetText(PlayList.ActiveSheet.ActiveRowIndex, 5); + else + txt2.Text = jongmok + " " + forCutInfo + " " + sub; + + } + catch (Exception) + { + + } + } + + + private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) + { + try + { + switch (tab.SelectedIndex) + { + case 0: + tuc1 = new UC1(this, "해외", null, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp1.Controls.Add(tuc1); + m_group = "해외지수"; + break; + + case 1: + tuc1 = new UC1(this, "환율", null, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp2.Controls.Add(tuc1); + m_group = "환율"; + break; + + case 2: + tuc1 = new UC1(this, "지수", null, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp3.Controls.Add(tuc1); + m_group = "주요지수"; + break; + + case 3: + + tuc2 = new UC2(this, 0); + tuc2.Dock = System.Windows.Forms.DockStyle.Fill; + tabp4_1.Controls.Add(tuc2); + + tuc1 = new UC1(this, "업종_코스피", tuc2, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp4.Controls.Add(tuc1); + + + break; + + case 4: + + tuc2 = new UC2(this, 1); + tuc2.Dock = System.Windows.Forms.DockStyle.Fill; + tabp5_1.Controls.Add(tuc2); + + tuc1 = new UC1(this, "업종_코스닥", tuc2, null); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp5.Controls.Add(tuc1); + + + break; + + case 5: + + tuc3 = new UC3(this); + tuc3.Dock = System.Windows.Forms.DockStyle.Fill; + tabp6_1.Controls.Add(tuc3); + + tuc1 = new UC1(this, "종목비교", null, tuc3); + tuc1.Dock = System.Windows.Forms.DockStyle.Fill; + tabp6.Controls.Add(tuc1); + + + break; + + case 6: //테마 + tuc4 = new UC4(this, 0); + tuc4.Dock = System.Windows.Forms.DockStyle.Fill; + tabp7.Controls.Add(tuc4); + break; + + case 7: //해외종목 + tuc5 = new UC5(this); + tuc5.Dock = System.Windows.Forms.DockStyle.Fill; + tabp8.Controls.Add(tuc5); + break; + + case 8: //전문가 테마 + tuc6 = new UC6(this); + tuc6.Dock = System.Windows.Forms.DockStyle.Fill; + tabp9.Controls.Add(tuc6); + break; + + case 9: //거래정지 종목 + tuc7 = new UC7(this); + tuc7.Dock = System.Windows.Forms.DockStyle.Fill; + tabp10.Controls.Add(tuc7); + break; + + default: + break; + + } + } + catch (Exception) + { + + } + + } + + private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) + { + try + { + if (e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + searchStock(listBox, txtSearch); + } + } + catch (Exception) + { + + } + + } + + private void timer1_Tick(object sender, EventArgs e) + { + try + { + string sdata = string.Empty; + + if (m_TakeIn) + { + //if (KAScenePlayer == null) + //{ + // MonitoringProcee(); // tornado연결체크 + // //MessageBox.Show("Tornado와 송출 연결이 되지 않았습니다."); + // //return; + //} + KAScenePlayer.Play(10); + + if (m_cutindex == 1) + { + if (PlayList.ActiveSheet.GetText(m_crow, 3) == "5단 표그래프") + { + timer1.Stop(); + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) != sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + // + //Next_Scene(1); + } + } + else if (PlayList.ActiveSheet.GetText(m_crow, 3) == "6종목 현재가") + { + timer1.Stop(); + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) != sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + // + //Next_Scene(1); + } + } + else if (PlayList.ActiveSheet.GetText(m_crow, 3) == "12종목 현재가") + { + timer1.Stop(); + sdata = PlayList.ActiveSheet.GetText(m_crow, 5); + + if (sdata.Substring(0, sdata.IndexOf("/")) != sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + { + // + //Next_Scene(1); + } + } + + } + else + { + string code = PlayList.ActiveSheet.GetText(m_crow, 1).Trim(); + string jongmok = PlayList.ActiveSheet.GetText(m_crow, 2); + string forCutInfo = PlayList.ActiveSheet.GetText(m_crow, 3).Trim(); + string sub = PlayList.ActiveSheet.GetText(m_crow, 4).Trim(); + + if (m_rowText == code + jongmok + forCutInfo + sub && m_srow == m_crow) + { + timer1.Interval = 3000; + Show_PlayList(m_crow, 1, m_rowcolor); + KAScenePlayer.Play(10); + } + else + { + timer1.Stop(); + } + + + m_update = 1; + } + + } + } + catch (Exception) + { + + } + + } + + private void checkBox1_CheckedChanged(object sender, EventArgs e) + { + try + { + if (checkBox1.Checked) + { + for (int i = 0; i < PlayList.ActiveSheet.RowCount; i++) + { + PlayList.ActiveSheet.SetValue(i, 0, true); + } + } + else + { + for (int i = 0; i < PlayList.ActiveSheet.RowCount; i++) + { + PlayList.ActiveSheet.SetValue(i, 0, false); + } + } + + } + catch (Exception) + { + + } + + } + + + private void MainForm_KeyUp(object sender, KeyEventArgs e) + { + try + { + m_control = false; + m_shift = false; + + } + catch (Exception) + { + + } + + } + + private void tab_MouseDown(object sender, MouseEventArgs e) + { + try + { + // store clicked tab + TabControl tc = (TabControl)sender; + int hover_index = this.getHoverTabIndex(tc); + if (hover_index >= 0) { tc.Tag = tc.TabPages[hover_index]; } + } + catch (Exception) + { + + } + + } + + private void tab_MouseUp(object sender, MouseEventArgs e) + { + try + { + // clear stored tab + TabControl tc = (TabControl)sender; + tc.Tag = null; + } + catch (Exception) + { + + } + + } + + private void tab_MouseMove(object sender, MouseEventArgs e) + { + try + { + // mouse button down? tab was clicked? + TabControl tc = (TabControl)sender; + if ((e.Button != MouseButtons.Left) || (tc.Tag == null)) return; + TabPage clickedTab = (TabPage)tc.Tag; + int clicked_index = tc.TabPages.IndexOf(clickedTab); + + // start drag n drop + tc.DoDragDrop(clickedTab, DragDropEffects.All); + } + catch (Exception) + { + + } + + } + + private void tab_DragOver(object sender, DragEventArgs e) + { + try + { + TabControl tc = (TabControl)sender; + + // a tab is draged? + if (e.Data.GetData(typeof(TabPage)) == null) return; + TabPage dragTab = (TabPage)e.Data.GetData(typeof(TabPage)); + int dragTab_index = tc.TabPages.IndexOf(dragTab); + + // hover over a tab? + int hoverTab_index = this.getHoverTabIndex(tc); + if (hoverTab_index < 0) { e.Effect = DragDropEffects.None; return; } + TabPage hoverTab = tc.TabPages[hoverTab_index]; + e.Effect = DragDropEffects.Move; + + // start of drag? + if (dragTab == hoverTab) return; + + // swap dragTab & hoverTab - avoids toggeling + Rectangle dragTabRect = tc.GetTabRect(dragTab_index); + Rectangle hoverTabRect = tc.GetTabRect(hoverTab_index); + + if (dragTabRect.Width < hoverTabRect.Width) + { + Point tcLocation = tc.PointToScreen(tc.Location); + + if (dragTab_index < hoverTab_index) + { + if ((e.X - tcLocation.X) > ((hoverTabRect.X + hoverTabRect.Width) - dragTabRect.Width)) + this.swapTabPages(tc, dragTab, hoverTab); + } + else if (dragTab_index > hoverTab_index) + { + if ((e.X - tcLocation.X) < (hoverTabRect.X + dragTabRect.Width)) + this.swapTabPages(tc, dragTab, hoverTab); + } + } + else this.swapTabPages(tc, dragTab, hoverTab); + + // select new pos of dragTab + tc.SelectedIndex = tc.TabPages.IndexOf(dragTab); + } + catch (Exception) + { + + } + + } + + private int getHoverTabIndex(TabControl tc) + { + try + { + for (int i = 0; i < tc.TabPages.Count; i++) + { + if (tc.GetTabRect(i).Contains(tc.PointToClient(Cursor.Position))) + return i; + } + + return -1; + } + catch (Exception) + { + return -1; + } + + } + + private void swapTabPages(TabControl tc, TabPage src, TabPage dst) + { + try + { + int index_src = tc.TabPages.IndexOf(src); + int index_dst = tc.TabPages.IndexOf(dst); + tc.TabPages[index_dst] = src; + tc.TabPages[index_src] = dst; + tc.Refresh(); + } + + catch (Exception) + { + + } + } + + + private void timer3_Tick(object sender, EventArgs e) + { + try + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("Tornado2"); + + + if (process.Length < 1) + { + + if (KAEngine != null) + KAEngine.Disconnect(); + + panelC.BackColor = Color.FromArgb(192, 0, 0); + lables.Text = "Reconnecting.."; + + istornado = false; m_init = 0; + } + + else + { + panelC.BackColor = Color.FromArgb(26, 119, 0); + lables.Text = "T2 Connected"; + + if (KAEngine == null) + return; + + if (istornado == false && m_init == 1) + { + istornado = true; + } + + if (!istornado) + { + if (KAEngine.KTAPConnect(1, "127.0.0.1", 30001, 0, KAEvent) == 1) + { + KAScenePlayer = KAEngine.GetScenePlayer(); + } + } + } + } + + catch (Exception) + { + //MessageBox.Show(ex.ToString()); + } + } + + + private void b1_Click(object sender, EventArgs e) + { + try + { + Button bt = (Button)sender; + GraphE fm = null; + + if ((string)bt.Tag == "1") + { + fm = new GraphE(this, 0); + } + else if ((string)bt.Tag == "2") + { + fm = new GraphE(this, 1); + } + else if ((string)bt.Tag == "3") + { + fm = new GraphE(this, 2); + } + else if ((string)bt.Tag == "4") + { + fm = new GraphE(this, 3); + } + fm.Owner = this; + fm.ShowDialog(); + } + catch (Exception) + { + + } + + } + + + + string m_txt = string.Empty; + + private void getSelectedList() + { + selectedRowsList.Sort(); + + /* + foreach(var v in selectedRowsList) + { + Console.Write(v + ", "); + } + Console.WriteLine(" 읽기 "); + */ + } + + List selectedRowsList = new List(); + int beforeRow = -1; + long beforeClickTime = 0; + Point beforePoint = new Point(0, 0); + + private void listView1_MouseDown(object sender, MouseEventArgs e) + { + try + { + if (listBox.SelectedIndex == -1) return; + + rowIndexFrom = listView1.Items.IndexOf(listView1.HitTest(e.X, e.Y).Item); + //더블클릭 감지 파트 + long timeGap = DateTime.Now.Ticks - beforeClickTime; + beforeClickTime = DateTime.Now.Ticks; + if (timeGap < 5000000 && rowIndexFrom == beforeRow && beforePoint.X == e.Location.X && beforePoint.Y == e.Location.Y) + { + if (listBox.SelectedIndex == -1) return; + + if (selectedRowsList.Count == 1) + { + SetPlayList(selectedRowsList[0]); + beforeClickTime = 0; + } + } + beforePoint = e.Location; + + + + if (rowIndexFrom != -1) + { + Size dragSize = SystemInformation.DragSize; + dragBoxFromMouseDown = new Rectangle(new Point(e.X - (dragSize.Width), + e.Y - (dragSize.Height)), + dragSize); + } + else + dragBoxFromMouseDown = Rectangle.Empty; + + + //키입력 관련 + bool isControlPressed = false; + bool isShiftPressed = false; + + if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) isShiftPressed = true; + if ((Control.ModifierKeys & Keys.Control) == Keys.Control) isControlPressed = true; + + if (isControlPressed && isShiftPressed) + { + if (beforeRow > rowIndexFrom) + { + for (int i = rowIndexFrom; i < beforeRow + 1; i++) + { + if (!selectedRowsList.Contains(i)) selectedRowsList.Add(i); + } + } + else if (beforeRow < rowIndexFrom) + { + for (int i = beforeRow; i < rowIndexFrom + 1; i++) + { + if (!selectedRowsList.Contains(i)) selectedRowsList.Add(i); + } + } + } + else if (isControlPressed) + { + if (selectedRowsList.Contains(rowIndexFrom)) + { + selectedRowsList.Remove(rowIndexFrom); + } + else + { + selectedRowsList.Add(rowIndexFrom); + } + } + else if (isShiftPressed) + { + selectedRowsList.Clear(); + if (beforeRow > rowIndexFrom) + { + for (int i = rowIndexFrom; i < beforeRow + 1; i++) + { + if (!selectedRowsList.Contains(i)) selectedRowsList.Add(i); + } + } + else if (rowIndexFrom > beforeRow) + { + for (int i = beforeRow; i < rowIndexFrom + 1; i++) + { + if (!selectedRowsList.Contains(i)) selectedRowsList.Add(i); + } + } + } + else + { + selectedRowsList.Clear(); + selectedRowsList.Add(rowIndexFrom); + } + + beforeRow = rowIndexFrom; + + getSelectedList(); + + listView1.Refresh(); + + } + catch (Exception) + { + + } + } + + private void listView1_MouseMove(object sender, MouseEventArgs e) + { + try + { + //DataGridViewRow startingBalanceRow = GridView1.Rows[0]; + + if ((e.Button & MouseButtons.Left) == MouseButtons.Left) + { + if (dragBoxFromMouseDown != Rectangle.Empty && + !dragBoxFromMouseDown.Contains(e.X, e.Y)) + { + DragDropEffects dropEffect = GridView1.DoDragDrop( + m_txt, + DragDropEffects.Move); + + } + + } + } + catch (Exception) + { + + } + } + + private void listView1_MouseUp(object sender, MouseEventArgs e) + { + getSelectedList(); + } + + + + void lv_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) + { + e.DrawBackground(); + + Rectangle rectangle = e.Bounds; + rectangle.Y -= 1; + e.Graphics.DrawRectangle(new Pen(Color.FromArgb(200, 200, 200)), rectangle); + + + //rectangle.Width -= 2; + rectangle.Height -= 1; + rectangle.X += 1; + rectangle.Y += 1; + + if (listView1.Items[e.ItemIndex].Selected) + { + e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(220, 220, 220)), rectangle); + e.Item.Checked = true; + } + else + { + e.Item.Checked = false; + } + + + + e.DrawText(); + + } + + public class ListViewEx : ListView + { + [DllImport("uxtheme", CharSet = CharSet.Auto)] + static extern Boolean SetWindowTheme(IntPtr hWindow, String subAppName, String subIDList); + + public ListViewEx() + { + SetStyle((ControlStyles)0x22010, true); + } + + protected override void OnHandleCreated(EventArgs e) + { + base.OnHandleCreated(e); + + // 핸들이 생성된 후에 테마를 적용한다. + SetWindowTheme(Handle, "explorer", null); + } + } + + + void lv_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e) + { + e.Graphics.FillRectangle(Brushes.GreenYellow, e.Bounds); + e.DrawText(); + } + + private void PlayList_DragOver(object sender, DragEventArgs e) + { + try + { + e.Effect = DragDropEffects.Move; + } + catch (Exception) + { + + } + + } + + private void PlayList_DragDrop(object sender, DragEventArgs e) + { + try + { + + foreach (ListViewItem v in listView1.Items) + { + if (v.Checked) SetPlayList(v.Index); + } + /* + foreach(var v in selectedRowsListFinished) + { + SetPlayList(v); + } + */ + + /* + for (int i = 0; i < GridView1.Rows.Count; i++) + { + if (GridView1.Rows[i].DefaultCellStyle.BackColor == Color.FromArgb(220,220,220)) + { + SetPlayList(i); + } + } + */ + + + /* + int[] buf = new int[40]; + int cnt = 0; + + if (listBox.SelectedIndex == -1) return; + for (int i = 0; i < 40; i++) + { + buf[i] = 100; + } + + if (e.Effect == DragDropEffects.Move) + { + string str = e.Data.GetData(typeof(string)) as string; + //MessageBox.Show(str); + + string[] rs = str.Split('^'); + for (int i = 0; i < rs.Length; i++) + { + if (rs[i] != "") + { + buf[cnt] = int.Parse(rs[i]); + cnt += 1; + } + + } + + Array.Sort(buf); + for (int i = 0; i < cnt; i++) + { + SetPlayList(buf[i]); + } + + //Math.buf[i] + } + */ + } + catch (Exception) + { + + } + + } + + + + public void SetPlayList(int nrow) + { + try + { + string str = FpSpread2.ActiveSheet.GetText(nrow, 1); + string data1 = string.Empty; + string data2 = string.Empty; + string data3 = string.Empty; + string data4 = string.Empty; + + int row = 0; + row = PlayList.ActiveSheet.RowCount + 1; + + //=========NXT추가 + string jname = (string)listBox.SelectedItem; + if (jname.Contains("(NXT)")) + { + if (str != "1열판기본_현재가") + { + MessageBox.Show("NXT는 제공하지 않습니다."); + return; + } + } + //============== + + if (str != "") + { + InsertRow(PlayList, PlayList.ActiveSheet, row, 1, 1); + if (str.Contains("_")) + { + data1 = str.Substring(0, str.IndexOf('_')); + data2 = str.Substring(str.IndexOf('_') + 1, str.Length - str.IndexOf('_') - 1); + + str = jongmokCode((string)listBox.SelectedItem); + + if (str.Contains("/")) + { + data3 = str.Substring(0, str.IndexOf('/')); + data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); + + } + + PlayList.ActiveSheet.SetValue(row - 1, 0, true); + PlayList.ActiveSheet.SetText(row - 1, 1, data4); //코스피, 코스닥 체크 + PlayList.ActiveSheet.SetText(row - 1, 2, (string)listBox.SelectedItem); + PlayList.ActiveSheet.SetText(row - 1, 3, data1); + PlayList.ActiveSheet.SetText(row - 1, 4, data2); + PlayList.ActiveSheet.SetText(row - 1, 5, "1/1"); + PlayList.ActiveSheet.SetText(row - 1, 6, data3); //종목코드 (Hide) + } + + } + } + catch (Exception) + { + + } + } + + + + + //int m_tmp = 0; + private void GridView1_RowLeave(object sender, DataGridViewCellEventArgs e) + { + + } + + private void GridView1_CellEnter(object sender, DataGridViewCellEventArgs e) + { + + try + { + string[] rs = m_txt.Split('^'); + + if (rs.Length < 3) + { + for (int i = 0; i < GridView1.RowCount; i++) + { + GridView1.Rows[i].DefaultCellStyle.BackColor = Color.White; + } + } + + + //if (m_tmp == 0) + //{ + // //m_txt = ""; + // if (!m_txt.Contains(e.RowIndex.ToString())) + // m_txt = m_txt + e.RowIndex + "^"; + //} + + } + catch (Exception) + { + + } + } + + private void PlayList_KeyPress(object sender, KeyPressEventArgs e) + { + try + { + if (e.KeyChar == (char)Keys.Space) + { + if (s_buf[PlayList.ActiveSheet.ActiveRowIndex] == 0) + { + s_buf[PlayList.ActiveSheet.ActiveRowIndex] = 1; + PlayList.ActiveSheet.SetValue(PlayList.ActiveSheet.ActiveRowIndex, 0, false); + } + else + { + s_buf[PlayList.ActiveSheet.ActiveRowIndex] = 0; + PlayList.ActiveSheet.SetValue(PlayList.ActiveSheet.ActiveRowIndex, 0, true); + } + e.Handled = true; + + } + } + catch (Exception) + { + + } + + } + + private void Form_Status() + { + try + { + //윈도우 창 최대화 + Rectangle bounds = Screen.FromHandle(this.Handle).WorkingArea; + int x_offset = SystemInformation.HorizontalResizeBorderThickness + SystemInformation.FixedFrameBorderSize.Width; + int y_offset = SystemInformation.VerticalResizeBorderThickness + SystemInformation.FixedFrameBorderSize.Height; + + bounds.X -= x_offset; + bounds.Width += (x_offset * 2); + bounds.Height += y_offset; + + //this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea; + this.MaximizedBounds = bounds; + + // 창 크기 최대화 처리 + this.WindowState = FormWindowState.Maximized; + + + this.Size = new Size(1920, 1100); + + this.Location = new Point(0, 0); + + //this.Location = new Point(0, 5); + this.AutoScroll = false; + this.AutoSize = false; + + + this.FormBorderStyle = FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + } + catch (Exception) + { + + } + + } + + private void MainForm_Resize(object sender, EventArgs e) + { + try + { + if (this.WindowState != FormWindowState.Minimized) + { + Form_Status(); + } + } + catch (Exception) + { + + } + + } + + protected override bool ProcessCmdKey(ref Message msg, Keys keyData) + { + try + { + switch (keyData) + { + case Keys.Home: + timer1.Stop(); + m_rowidx = 0; + Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + + break; + + case Keys.End: + + timer1.Stop(); + m_rowidx = PlayList.ActiveSheet.RowCount - 1; + Cell_Color(PlayList.ActiveSheet, m_rowidx, 0); + PlayList.ShowActiveCell(FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Center); + + break; + case Keys.Down: + case Keys.Up: + case Keys.Right: + case Keys.Left: + case Keys.Control | Keys.Down: + case Keys.Control | Keys.Up: + case Keys.Control | Keys.Right: + case Keys.Control | Keys.Left: + // 방향키, 혹은 컨트롤키 + 방향키가 입력되었을때 + // 처리, 혹은 다른 메쏘드 호출을 여기에 적어주시면 됩니다. + break; + + case Keys.Control | Keys.X: + // 잘라내기 (Ctrl + X) + // 처리, 혹은 다른 메쏘드 호출을 여기에 적어주시면 됩니다. + break; + + case Keys.Control | Keys.C: + // 복사하기 (Ctrl + C) + // 처리, 혹은 다른 메쏘드 호출을 여기에 적어주시면 됩니다. + break; + + case Keys.Control | Keys.V: + // 붙여넣기 (Ctrl + V) + // 처리, 혹은 다른 메쏘드 호출을 여기에 적어주시면 됩니다. + break; + + default: + break; + } + return base.ProcessCmdKey(ref msg, keyData); + } + catch (Exception) + { + return false; + } + + } + + + private void PlayList_LeaveCell(object sender, LeaveCellEventArgs e) + { + //m_rowidx = e.NewRow; + //try + //{ + // if (!m_header) + // { + // string sdata = string.Empty; + // int tmp = 0; + + // if (m_rowidx == -1) m_rowidx = 0; + // if (PlayList.ActiveSheet.GetText(m_rowidx, 3) == "5단 표그래프") + // { + // m_cutindex = 1; + // sdata = PlayList.ActiveSheet.GetText(m_rowidx, 5); + + // if (sdata.Substring(0, sdata.IndexOf("/")) == sdata.Substring(sdata.IndexOf("/") + 1, sdata.Length - sdata.IndexOf("/") - 1)) + // { + // //마지막장 + // tmp = 0; + // } + // else + // { + // tmp = 1; + // } + // } + + // if (tmp == 0) + // { + // m_rowidx = e.NewRow; + // } + + + // if (m_newrow != e.NewRow) + // { + // m_oldrow = m_newrow; + // m_newrow = e.NewRow; + // } + // } + + //} + + //catch (Exception) + //{ + + //} + } + + private void timer2_Tick(object sender, EventArgs e) + { + Cell_Color1(PlayList.ActiveSheet, m_crow, 1, m_newrow, 0); + timer2.Stop(); + } + + private void listView1_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void btnback_Click(object sender, EventArgs e) + { + //lblbackfile_full.Text = T2S_FOLDER_PATH + "Video\\1109_배경최종-1.vrv"; // 기본 + // lblbackfile_full.Text = T2S_FOLDER_PATH + @"..\배경\1109_배경최종-1.vrv"; // 기본 + // lblbackfile.Text = "1109_배경최종-1.vrv"; // 기본 + lblbackfile_full.Text = T2S_FOLDER_PATH + @"..\배경\기본.vrv"; // 기본 + lblbackfile.Text = "기본.vrv"; // 기본 + + + OpenFileDialog myopenFileDialog = new OpenFileDialog(); + myopenFileDialog.DefaultExt = "*.*"; + myopenFileDialog.InitialDirectory = T2S_FOLDER_PATH + @"..\배경\"; + myopenFileDialog.Filter = "vrv file (*.vrv)|*.vrv|jpg file (*.jpg)|*.jpg|png file (*.png)|*.png|ALL file(*.*)|*.*"; + myopenFileDialog.FilterIndex = 1; + myopenFileDialog.Multiselect = false; + myopenFileDialog.RestoreDirectory = true; + + if (myopenFileDialog.ShowDialog() == DialogResult.OK) + { + string strProgrampath = myopenFileDialog.FileName; + string strProgram = myopenFileDialog.SafeFileNames[0]; + + lblbackfile_full.Text = strProgrampath; + lblbackfile.Text = strProgram; + } + + + } + + private void ckback_CheckedChanged(object sender, EventArgs e) + { + if (ckback.Checked == true) + { + lblbackfile_full.Text = ""; // 배경없음 + lblbackfile.Text = ""; + + lblbackfile.Enabled = false; + btnback.Enabled = false; + } + else + { + lblbackfile_full.Text = T2S_FOLDER_PATH + @"..\배경\기본.vrv"; // 기본 + lblbackfile.Text = "기본.vrv"; // 기본 + + lblbackfile.Enabled = true; + btnback.Enabled = true; + } + } + } +} + diff --git a/MBN_STOCK_N/MainForm.resx b/MBN_STOCK_N/MainForm.resx new file mode 100644 index 0000000..8b8c57e --- /dev/null +++ b/MBN_STOCK_N/MainForm.resx @@ -0,0 +1,2449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 333, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABF0RVh0VGl0 + bGUARG93bjtBcnJvdzu9/IJYAAACp0lEQVQ4T22TWUiUURTHb6ONCxnRi70E4TxoRpsxkEXooERglOLY + IpKhabZBhS3jMmNTLojjOmFhbhlSaQ+uoyYzTuKSqYT1Uqlj6piiZWpD5ij/7pkW5rMO/Lnnu+d3/txz + uR8DwFbFGi4Rl+MqOXBR7W/Yev8YqCv72S0uHg7K8p4WZUUfkstfIbGsB4ril7iUZ3jOa45ns/QsOoPS + VQbXi7rZ56UVStdevtsBngsUrmokUEyMXFFHnNDgamEnm1lcptTpYn47pheX0TppQesnC3q/LOJYUj2B + znyfhVyrIU5gQDOLuZy43OI0bZj6bkX9x3mbOqYsCL1RS+AGLpffnMjeQHw+14i4bCNis9pwJlMPs8WK + 6vezqH43C/3oAsJTmnFCqUNYkg7yhAZqchYYBMc/aXzWNYKRuR8YnV+yqeLNNCoGZqAbmuP6aqtV6j9g + 70ltE+9xsjcQSY/Ee0Uk1y487Z9C7otxaLvMuNcziftcBR0T0BjHUGAcRWBs+YLEN8qb9zjYG1CI/U8V + 3FQVd0LbPo6UxmEuE1R8VTUMI8cwhsjUJuwIUis4S3fwq9fOgB7JOr+o4t4ywxBu60xIrhuySc2NUqoG + sDtY08cZNy66dKGBLOYhLY7esgv7QuOrrKXdZiTUDiKxZhDZrSOQRZdYt0hP7ydm++EcYoUGByJLaKFT + uPgEZ+TSKOnNJqTyk0Smt8ArICmP11yJ2XpIQ6zQwDfiAXs9YaFUtN7dy10aph0uMpigrH6LbUGZJteN + kk1U6zN/Y54HM4gTGkiPF7J+XiSAh9jD95xcfuXxSmBM6crmPVFy2qMaSRKQRozQwCdUy3aFaNnOo/n0 + SaO4eQaqKz38FI8opz2JLI1JZKlM4n+HGKHBf4J+X3q2NDfl/wQA9hOAb7oFShk8ygAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAA90RVh0VGl0 + bGUAVXA7QXJyb3c7yF4oFAAAAplJREFUOE99U/1LU2EUvtO0NKMg+g/Cn4roBxtYqVgtwz60VMoonJaZ + tYWarmlSJFE/WMtkzI9pmvn9OafOEMrJdIpUlIHmBxN104wM5/whRZ7ec9sdG0kHnnvPe87zPO+9576X + A8D9J0RObBq8VjBQlg9xCu0Ql1kyyGUUD1BJJC/sK4rJblNTHq1o5aIyW7izGc3c6bQG6nsaZJUO8rlz + LUrJ7wlVNX3eyNb0bUTKq8KoJvQjZPXE8TRI1wy4DCKkj/xkL41jlh8OjNuWEX23eWzfsWR/oS+5Wctr + eC1/YSEvNAm517Un3Xm6fgtG7ev4al/D664RnLhRmcd63sQJT64inqdB6gsj3UQXlTX772sH1+Yc6+hd + WEWPzYFp+29IH3asiWOfHiBOaGIlcT0NWNC0fRIevzWPTC/hvXUF7ZZlHoYZO4bHFhAiLTczjq+T+4+B + d3xua1qFYRQfvq+icXwJdaM/nViCyepAfoUZQXEF6Yy7hQTuBl4nk/L33lEZ7V+sdhSbbdAMzePVp0WU + M1CuMs5i2PILZ1KrVwJDZIGkcTfwicvRdZpG5lH3cRElAzYU9VuRq5/ioTFZoWFrrXkehv4pHIwq6GIa + X3eDrXG5BsTkdOGCsgPRCj3UTKRsn0S2bhLqvjlIbjXieGoDwlMaEJZcR6Jt7gZeVGDYzrD70oNulLHd + FK0TULRMoMA4x4T1RNzDEMDgz8B/UsGAO5elF/KAWPYkZWwOGc3jDN+g6p1FyHV+1x3ECU54Q7y/fMEg + Mr3NZXD+Xic/h+fvZng8YzgirXEZiK9ucpAksib2s+gp9Tt1u9YYyt7zaFItDifWIDihGofiS+mk+Ymv + VHFBlzc/SELQPOgddzLscoJyqlHPFQC4P9du1GjNaga9AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAhdEVYdFRpdGxlAEFwcGx5O09LO0NoZWNrO0JhcnM7 + UmliYm9uO2RjyGgAAAGcSURBVFhHxZcxcsIwEEU5AVWO4z4dZ8gBcgZm6LhNWsrcIh0dV6B19nm0Hln5 + sleG4OINRvq7+7FXktn1fb8pcvCVjBdd1y2xNw7G2bgYV+Oe4Jox5tCgVTlGWgy8GZ/Gt9EHQUsMsSpn + 2MC78WWoIhGIJcef3BEDH8aPoRK3QA5yTfIvGSDgZqiEayDXxMScAW7ZM355CTnHx1EzQNM88syXIPfQ + mDUDdK4KXMNJjAE1pAHWbstSm+OUcqo5auyVATYQFdDKUDzlVPNwcE1ugF1MiVsYi6ecSgNn1+RitlIl + jjIpnnIqHVxck4vZz5UYag3lqOLHQpNzdV0ewKGixDY9zNdMtBaHu2vzoFkDSVOaWFMcpIHqI3BN0rmJ + tcVBPoJqE7om0z5SHGQTzi3Do+sUzBf6JeQyXNqIpAnGC10EuRFFtuKJCb4X8xGqWzFEDqPBBJ/FeJTq + YQTR43ht8cXjGDZ9IXE2fSVzCHjGnSDHpDhEDAC37JFXNGLH254TNQA0DZ3b8raElpih4RQtBpz//Wu2 + FXLwdfS7XxGwk2isBZLIAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh + bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM + Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb + ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9 + GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC + + + + 556, 17 + + + 710, 17 + + + + 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 + + + + 159, 17 + + + 246, 17 + + + 469, 17 + + + 864, 17 + + + 50 + + + + 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 + LTA0LTIzVDAyOjM1OjE3LTA1OjAw0nG06QAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMi0xMS0yMFQwODo1 + ODoxMy0wNjowMHU+nDMAAAAASUVORK5CYIIoAAAAMAAAAGAAAAABACAAAAAAAAAkAAASCwAAEgsAAAAA + AAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wAAAAACAAAAAwAAAAMAAAADAAAABAAA + AAQAAAAE////AP///wD///8A////AAAAAAMAAAACAAAAAgAAAAEAAAABAAAAAP///wD///8A////AP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAMAAAAEAAAABgAAAAgAAAAKAAAADAAAAA4fHx//ICAg/////wAAAAAVAAAAFwAA + ABgAAAAZAAAAGQAAABoAAAAa////ACsrK/8sLCz/////AAAAABYAAAAVAAAAEwAAABEAAAAPAAAADv// + /wAwMDD/MTEx/////wAAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAAAAABAAAAAwAAAAYAAAAJAAAADAAAAA8AAAASAAAAFgAAABkAAAAdAAAAIAAAACMiIiL/IyMj//// + /wAAAAAuAAAAMQAAADMAAAA0AAAANQAAADUAAAA2////AC4uLv8vLy//////AP///wAAAAAuAAAAKwAA + ACgAAAAlAAAAIv///wA0NDT/NDQ0/////wD///8AAAAADgAAAAsAAAAHAAAABAAAAAIAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAMAAAAG////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wAlJSX/Jycn/////wD///8A////AP///wD///8A////AP///wD///8A////ADIyMv8zMzP/////AP// + /wD///8A////AP///wD///8A////AP///wA4ODj/ODg4/////wD///8A////AP///wD///8A////AP// + /wD///8A////ADg4OCD///8AAAAAAQAAAAUAAAAI////ABgYGP8aGhr/HBwc/x0dHf8fHx//ISEh/yIi + Iv8kJCT/JiYm/ycnJ/8pKSn/Kioq/ysrK/8tLS3/Li4u/y8vL/8wMDD/MTEx/zMzM/80NDT/NDQ0/zU1 + Nf82Njb/Nzc3/zg4OP84ODj/OTk5/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ozs7/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zo6Ov86Ojr/Ojo6/zo6OkD///8AAAAAAAAAAAH///8A////ABsbG/8dHR3/Hx8f/yEh + If8iIiL/JCQk/yYmJv8nJyf/KSkp/yoqKv8sLCz/LS0t/y8vL/8wMDD/MTEx/zMzM/80NDT/NTU1/zY2 + Nv83Nzf/ODg4/zk5Of86Ojr/Ojo6/zs7O/87Ozv/PDw8/zw8PP89PT3/PT09/z09Pf8+Pj7/Pj4+/z4+ + Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv89PT3/PT09/z09PUD///8AAAAAAAAAAAD///8A////AB4e + Hv8gICD/Dxwp/ww/dv8MQHf/DEB3/wxAd/8MQHf/DEB3/wxBd/8LPG7/CS5U/wxBd/8MQXf/DEF3/wxB + d/8MQXf/DEF3/wxBd/8MQXf/DEF3/wkuVP8LPG7/DEB3/wxAd/8MQHf/DEB3/ww/dv8MP3b/DD92/ws+ + dv8KOm3/CSxS/ws9dv8LPXb/Cz11/ws8df8LPHX/Czt1/ws7df8LOnX/Gyk7/y0qJ0D///8A////AP// + /wD///8A////ACEhIf8jIyP/EStG/xB55v8Qeub/EHrn/xB75/8Qe+f/EHvn/xB85/8Pc9X/DFeh/xF8 + 5/8RfOf/EX3n/xF95/8Rfef/EXzn/xF85/8RfOf/EXzn/wtXov8Pctb/EHvn/xB75/8Qeuf/EHrm/xB5 + 5v8Qeeb/EHjm/xB35f8PbtT/C1Kf/w915f8PdOT/D3Tk/w9z5P8PcuP/D3Hj/w9w4/8Ob+L/Vm+S/6OU + i0D///8AHBwc/x4eHv8gICD/IiIi/yQkJP8mJib/ESc+/w5ow/8OacT/DmnE/w5qxf8PasX/D2vF/w9r + xv8NY7f/CkyL/w9sxv8PbMb/D2zG/w9sxv8PbMb/D2zG/w9sx/8PbMf/D2zH/wpMjP8NY7j/D2vG/w5q + xv8OasX/DmrF/w5pxf8OaMT/DmjE/w5nxP8NX7X/CkeI/w5lw/8NZML/DWPC/w1jwf8NYsD/DWHA/w1g + v/8MX7//T2d//4p+dkD///8AHx8f/yEhIf8jIyP/JSUl/ycnJ/8pKSn/ESY7/w1hs/8NYbT/DWK0/w1i + tf8NY7X/DWO1/w1ktf8MXaj/CkiB/w1ltv8NZbb/DWW2/w1ltv8NZbf/DWW3/w1lt/8NZLf/DWS3/wpH + gv8MXan/DWS2/w1jtv8NY7b/DWK2/w1itf8NYrX/DWG0/wxgtP8LWab/CUN+/wxesv8MXbL/DFyx/wxc + sf8MW7D/C1qv/wtZrv82hJr/WnZ4/35zbUD///8A////AP///wD///8A////ACoqKv8sLCz/Ey9J/xF/ + 6P8RgOn/EYDp/xGB6f8Rgen/EYLp/xKC6f8Qedn/DV6n/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD + 6v8Sgur/EoLq/w1eqP8Qedn/EYHp/xGB6f8RgOn/EYDp/xF/6P8Rf+j/EX7o/xF96P8QdNf/C1ik/xB7 + 5/8Qeuf/EHnm/xB45v8QeOb/EHfl/ySFz/+r08X/bo2U/6iZkUD///8AAAAAAAAAAAAAAAAA////AC0t + Lf8vLy//FDBK/xGC6f8Sgun/EoPq/xKD6v8Sg+r/EoTq/xKE6v8Re9r/DWCp/xKF6/8Shev/EoXr/xKF + 6/8Shev/EoXr/xKF6/8Sher/EoTq/w1gqv8Re9r/EoPq/xKD6v8Sgur/EYLp/xGB6f8Rgen/EYDp/xF/ + 6P8Qdtj/DFqm/xF96P8RfOf/EHvn/xB65/8Qeeb/FXzg/5fIyf+n0cL/g5eT/6qak0D///8AAAAAAAAA + AAAAAAAA////ADAwMP8yMjL/FTFL/xKE6v8ShOr/EoXq/xKF6/8Shuv/Eobr/xKG6/8Rfdv/DWKr/xKH + 6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eobr/w1irP8Rfdv/EoXr/xKF6/8ShOr/EoTq/xKD + 6v8Sg+r/EoLp/xGB6f8QeNn/DFyo/xF/6P8Rfuj/EX3o/xF85/8Qe+f/Zq/B/4DBpv+azLn/mKKT/6uc + lUD///8AAAAAAAAAAAAAAAAA////ADMzM/81NTX/FjJM/xKG6/8Shuv/Eofr/xKH6/8SiOz/E4js/xOI + 7P8Sf9z/DmSt/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4js/w5krv8Rf9z/Eofr/xKH + 6/8Shuv/Eobr/xKF6/8Sher/EoTq/xKD6v8Retr/DF+q/xGB6f8RgOn/EX/o/xF+6P82lMv/lsu2/1+z + jv+Wyrb/mKKU/6yel0D///8AAAAAAAAAAAAAAAAA////ADY2Nv84ODj/FjRN/xKI7P8TiOz/E4ns/xOJ + 7P8Tiuz/E4rs/xOK7f8Sgt3/Dmev/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/w5n + sP8Sgd3/E4rs/xOJ7P8TiOz/E4js/xKH6/8Sh+v/Eobr/xKF6/8RfNv/DWGs/xKD6v8Sgun/EYHp/xuG + 3f+Wyb//YbSP/1uwiv+Iwqv/mKOV/62fmUD///8AAAAAAAAAAAD///8A////ADg4OP86Ojr/FzVN/xOK + 7P8Tiu3/E4vt/xOL7f8TjO3/E4zt/xON7f8ShN7/Dmmx/xON7v8Tje7/E47u/xOO7v8Tju7/E43u/xON + 7v8Tje7/E43t/w5psv8Sg97/E4zt/xOL7f8Ti+3/E4rs/xOJ7P8Tiez/E4js/xKH6/8Rftz/DWOu/xKF + 6/8ShOr/EoPq/3S5uf93vp//X7OO/ziXbf+BvqX/maSW/6+hm0D///8AAAAAAAAAAAD///8A////ADs7 + O/88PDz/GDZO/xOM7f8TjO3/E43t/xON7v8Tju7/FI7u/xSP7v8Tht//D2uz/xSP7v8UkO//FJDv/xSQ + 7/8UkO//FJDv/xSP7v8Uj+7/FI/u/w9rtP8Shd//E47u/xON7v8Tje3/E4zt/xOL7f8Ti+3/E4rs/xOJ + 7P8SgN3/DWWv/xKH6/8Shuv/SqO//4vGrv9gs47/RaB3/ymNYf98vKH/mqWX/7CjnUD///8AAAAAAAAA + AAAAAAAA////AD09Pf8/Pz//GDdP/xOO7v8Uju7/FI/u/xSP7v8UkO//FJDv/xSR7/8TiOH/D261/xSR + 7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/w9utv8TiOH/FJDv/yOW3f+Nxrn/OqDR/xON + 7v8Tje3/E4zt/xOL7f8Sgt7/Dmex/xOJ7P8kkdP/nM26/2C0j/9Uq4X/Ko1h/yeLX/94uZ7/mqWY/7Kk + nkD///8ANzc3/zo6Ov87Ozv/Pj4+/0BAQP9CQkL/GTRI/xJ+0f8SftH/En/S/xKA0v8SgNL/EoDT/xKA + 0/8ReMb/DmKh/xOA0/8TgdP/E4HT/xOB1P8TgdT/E4HU/xKA1P8SgNT/EoDU/w5iov8Recf/IY3M/43H + uf+Zz7n/v9zU/ziaxv8RftL/EX3S/xF80f8QdMT/DV2d/xV+zf+GwrP/Z7eU/1uwi/8wkmb/KIxf/yWK + Xf9zuJv/iZaJ/5yQi0D///8AOjo6/zw8PP8+Pj7/QEBA/0NDQ/9FRUX/GTNG/xB2w/8Rd8P/EXfE/xF3 + xP8SeMX/EnjF/xJ5xf8Rcrr/D12Y/xN5xv8Tecb/E3nG/xN5xv8Tesf/E3nH/xN5x/8Tecf/EnnH/w5e + mv8feq3/i8S0/5DMsv92wp//e8Oj/7bYzf80jbD/EHfF/xB2xP8Pbrj/DFiV/1WipP+Awab/XrKN/zqZ + b/8ojF//JYpd/yuNYv96vKD/gY+C/5GGgkD///8A////AP///wD///8A////AEVFRf9ISEj/GzpS/xWS + 7/8Wku//FpLv/xeS7/8Xku//F5Pv/xiT7/8Xi+L/E3K6/xmT7/8Zk+//GZPv/xmT7/8Zk+//GZPv/xmT + 7/8Yk+//GJPv/yB+sv+Jw7P/jcuw/3TBnv9puZX/XrKM/3XAn/+t1Mb/NZ/O/xSR7/8TiOH/NYyn/4rF + rf9eso3/RqF5/yiMYP8mil3/K41i/3u8of+RwKb/t6ml/7aopED///8AAAAAAAAAAAAAAAAA////AEhI + SP9KSkr/HDtS/xeS7/8Xku//GJPv/xiT7/8Zk+//GpTv/xqU7/8ZjOL/FXS7/xuU7/8blPD/G5Xw/xuV + 8P8blPD/G5Tw/xuU7/8blO//Jpnc/4jCsf+Lya//csCd/2e4lP9CnnX/PZtx/1muiP9wvJr/pNHA/zSe + zf8gktT/gL+s/2S1kv9TqoT/K45i/yaKXv8rjWL/eryg/5HApv/1497/uKum/7iqpkD///8AAAAAAAAA + AAAAAAAA////AEtLS/9NTU3/HTxT/xmT7/8Zk+//GpTv/xuU7/8clfD/HJXw/x2V8P8cjeP/F3a9/x6W + 8P8elvD/Hpbw/x6W8P8elvD/Hpbw/x6W8P8omt3/hsOz/4nIrf9wvpv/ZreT/0GddP88mnD/Q511/0Gc + dP9Uq4T/a7mW/5vNuf9yua7/b7qZ/1muif8xkmf/Jope/yuNYv94u5//kL+m//Xk3//149//uayo/7ms + p0D///8AAAAAAAAAAAAAAAAA////AE1NTf9QUFD/Ij5N/xuU7/8clfD/HZXw/x6W8P8elvD/H5bw/yCW + 8P8mlt3/R5un/yGX8P8hl/D/Ipfw/yKX8P8il/D/IZfw/yub3P+EwrL/h8er/269mf9ktpH/P51z/zuZ + b/9CnXX/hMCn/4G+pf88mG//T6iA/2W2kv9/waX/W7CL/z2bcf8mil3/K41h/3a6nf+bw63/9eXh//Xk + 4P/15OD/u66q/7qtqkD///8AAAAAAAAAAAAAAAAA////AFBQUP9SUlL/LUM6/0Cjrf8flvD/IJbw/yCX + 8P8hl/D/Ipjw/yaZ6f+CwMH/s9jL/2Kyxf8lmfD/JZnw/yWZ8P8lmfD/LZzc/4PBsP+Exan/bLuY/2K1 + kP8+nHL/OZhu/0GcdP+Nw6z/ztnP/7nRwv96u6D/NpVr/0qkfP9bsIr/SaN7/yWKXf8rjWH/dbqc/7rQ + wf/25uP/9uXi//Xl4f/15OH/vK+s/7yvq0D///8AAAAAAAAAAAAAAAAA////AFJSUv9VVVX/LkM6/7HU + yf9BpMj/I5jw/ySY8P8lmfD/KJrp/4G/wP+Gxqv/bLyY/5fMt/9jssT/KZvw/ymb8P8wndz/gb+u/4LE + p/9pupb/YLOO/z2bcf84l23/QJtz/4vCq//Y3db/9+np//fp6f+40ML/cria/zGRZ/8/nHP/KItf/yqM + Yf9zuZv/utDB//bm5f/25uT/9ubj//bl4v/15eH/vbGu/72wrUD///8AAAAAAAAAAAAAAAAA////AFVV + Vf9XV1f/LkQ6/47Gr/+/2tP/Np/G/yea8P8rm+n/gL+//4PEqP9ouZX/YbSP/12xi/+UyrT/YrLC/zOf + 3P9/vq3/f8Kl/2e4lP9esoz/O5lv/zeWbP8+mnH/icGq/9jd1//36uv/9+nq//fp6v/36er/t8/B/2u0 + lf8sjWL/KYxg/3K4mv+50ML/9ufm//bn5v/25+X/9ubk//bm4//25eL/v7Ow/76yr0D///8A////AP// + /wD///8A////AFdXV/9aWlr/LkQ6/4LAp/9quJb/p8/B/zSe1P+JwsX/nM26/2S2kv9esoz/TaR9/0qh + e/9WrYb/jsew/5LHsv98wKP/ZLaS/1uwiv85mG7/NZVq/0+ifv+ayrf/193X//fq7P/36uz/9+rs//fq + 6//36uv/9+rr/7bPwf9ksY//cLiZ/7rRw//36Oj/9ujn//bn5//25+b/9ufl//bm5P/25uP/wbSx/8C0 + sUD///8AT09P/1JSUv9VVVX/V1dX/1paWv9dXV3/LkQ6/4C/pf9dso3/e76i/8bc2P+ay7j/YLSP/1qv + iv9Konv/stPJ/5DEsP9Fnnf/U6qD/2m3lf9htI//WK6I/zeXbP8zlGn/TqF9/5XGs//S2dP/+Ovt//jr + 7f/46+3/+Ovt//fq7P/36uz/9+rs//fq6/+yzL3/nLWn//fp6v/36en/9+jo//fo6P/25+f/9ufm//bn + 5f/25uT/wrWz/8K1skD///8AUVFR/1RUVP9XV1f/Wlpa/1xcXP9fX1//LkQ6/369o/9ar4r/W7CK/2W1 + kv9csYz/Vq2H/0igef+v0sf/kKWZ/5u2p/+Jwav/QJtz/06ngP9WrIb/NZVq/zGSZ/9MoHv/k8Wx/5mi + nf/Fu73/zsPG/83Dxf/NwsX/zcLE/8zCxP/MwsP/y8HC/8rAwf/Atrj/pJuc/8m9vv/IvL3/x7u8/8e7 + u//Furn/xLi4/8O3tv/Dt7X/mo+P/5mPjkD///8A////AP///wD///8A////AF9fX/9gYGD/LkQ6/3u8 + of9XrYf/V62H/1iuiP9SqoP/RZ53/63Qxf+zx7v/xLm5/+zf4P+zzb7/gr2m/zyYb/8zlGn/L5Fm/0qf + ev+Ux7L/0tnU/8e9wP/k2dz/7uLl/+7i5f/u4uX/7eLl/+3i5P/t4eT/7eHk/+3h4//i19j/wri5/+zf + 4f/s3+D/697f/+ve3v/r3d3/6tzc/+nc2//p29r/ua6s/7mtrED///8AAAAAAAAAAAAAAAAA////AGBg + YP9jY2P/LkU6/3m6n/9TqoT/VKuF/0+ngP82lmv/kMGv/4a8o//t39//zsPD//fq6//36uv/tc/B/3u6 + oP83lGv/SJ14/5LGsf/X3tn/+Ozw/9HHyv/u4+f/+O3x//jt8f/47fD/+Ozw//js8P/47PD/+Ozv//js + 7//t4eT/zcLE//jr7f/36uz/9+rr//fp6v/36en/9+jo//bo5//25+b/xbm3/8S4tkD///8AAAAAAAAA + AAAAAAAA////AGJiYv9lZWX/LkU6/3e4nf9QqIH/S6V9/zOUaf8xkmf/MJJm/4G7pP+oxLX/0MXF//fq + 6//36uz/+Ovt/7TPwf9+vKL/kMWv/9be2f/47fD/+O3x/9PKzf/v5On/+O3y//nt8v/47fL/+O3y//jt + 8f/47fH/+Ozw//js8P/u4uX/zsTG//jr7v/46+3/9+rs//fq6//36er/9+np//fo6P/26Of/xrq5/8a6 + uED///8AAAAAAAAAAAAAAAAA////AGVlZf9nZ2f/LkU6/5bHtP9Honn/MJFm/y6QZP8tkGT/LY9j/yyP + Y/+ZyLb/pLuv//fq7P/46+3/+Ovu//js7/+/1Mn/1t7Z//jt8f/47fL/+e3y/9XL0P/w5er/+e7z//nu + 8//57vP/+e7z//nt8v/57fL/+O3y//jt8f/u4+b/0MbJ//js7v/46+7/+Ovt//fq7P/36uv/9+nq//fp + 6f/36Oj/x7u7/8e7ukD///8AAAAAAAAAAAAAAAAA////AGdnZ/9qamr/LUU6/5fGtf8sj2P/K45i/yqN + Yf8qjWH/KY1h/ymMYP8zkWj/d7ec/77Sx//46+7/+Ozv//js8P/47fH/+O3y//nt8v/57vP/+e7z/9fN + 0v/w5uz/+e/0//nv9P/57vT/+e70//nu9P/57vP/+e7z//jt8v/u5Oj/0cfK//js7//47O7/+Ovt//fq + 7P/36uz/9+nq//fp6f/36Oj/yLy8/8i8vED///8AAAAAAAAAAAAAAAAA////AGlpaf9sbGz/LUU7/3q3 + nv9gqov/X6qK/16qif9dqYn/XKmI/1uoh/9ZqIb/bLKU/2Csi//V3Nf/+Ozw//jt8f/47fL/+e3y//nu + 8//57vT/+e/0/9jP1P/x5+3/+e/2//nv9v/57/X/+e/1//nv9f/57vT/+e70//nu8//v5On/0snM//js + 8P/47O//+Ovu//jr7f/36uz/9+rr//fp6v/36en/yr69/8m9vED///8AAAAAAAAAAAAAAAAA////AGtr + a/9ubm7/XVlY//bm5P/25+X/9ufn//fo6P/36en/9+nq//fq6//v4uT/18zN//js7v/47O//+O3w//jt + 8v/57fL/+e7z//nu9P/57/X/+e/2/9rR1//x6O//+fD3//nw9//58Pf/+e/2//nv9v/57/X/+e/1//nu + 9P/w5er/1MvP//jt8f/47PD/+Ozv//jr7v/46+3/9+rs//fq6//36en/y7+//8q+vkD///8AAAAAAAAA + AAAAAAAA////AG1tbf9wcHD/XVlZ//bm5f/25+b/9ujn//fo6P/36en/9+nq//fq7P/w4+X/2M3P//js + 7//47PD/+O3x//nt8v/57vP/+e70//nv9f/57/b/+fD3/9zT2f/y6fD/+vD4//rw+P/68Pj/+vD3//nw + 9//57/b/+e/1//nv9f/w5uv/1szR//jt8v/47fD/+Ozv//js7v/46+3/9+rs//fq6//36er/zMHB/8u/ + v0D///8AY2Nj/2ZmZv9paWn/bGxs/29vb/9ycnL/XFhX/+3e3f/t397/7uDf/+/h4f/v4eL/7+Lj/+/j + 5P/p3d//08jL//Hl6P/x5un/8ebr//Ln7P/y5+3/8uju//Lo7//y6fD/8+nx/9fP1v/s4+v/8+ry//Pq + 8v/z6vL/8+nx//Lp8P/y6e//8eju//Hn7f/p3+T/0MbL//Dl6v/v5ej/7+Pn/+/j5v/u4uT/7eHj/+3g + 4v/s3+D/xLm5/8O4uED///8AZGRk/2hoaP9ra2v/bm5u/3Fxcf90dHT/VVJS/9LFxP/Txsb/1cjI/9bK + yv/Xy8z/2M3O/9nOz//UyMr/wbi6/9vQ1P/c0tb/3dPX/97U2P/e1dr/3tXb/97W3P/f193/39fe/8e/ + xv/Z0dn/39ff/97W3v/e1t7/3dXd/93V2//c09r/29LY/9rR1//Syc7/u7O4/9fN0v/VzND/1MrN/9PJ + y//Sx8r/0MXH/87Dxf/Nw8P/qqGh/6mgoED///8A////AP///wD///8A////AHNzc/92dnb/X1tb//bn + 5v/25+f/9+jo//fp6f/36er/9+rr//jr7f/x5Of/3dLU//js8P/47fL/+e7z//nu9P/57/X/+e/2//nw + 9//68fj/+vH5/+HY4f/07PT/+vL7//ry+//68vv/+vL6//rx+v/68fn/+vD4//nw9//x6O7/2tHV//nu + 8//57fL/+O3x//js8P/47O7/+Ovt//fq7P/36uv/z8TE/87Dw0D///8AAAAAAAAAAAAAAAAA////AHR0 + dP94eHj/X1xb//bn5v/26Of/9+jo//fp6f/36er/9+rs//jr7f/x5ej/3tPW//jt8P/47fL/+e7z//nu + 9P/57/X/+fD2//rw+P/68fn/+vH6/+Ha4v/07Pb/+/P8//vz/f/68/z/+vL7//ry+v/68fn/+vD4//nw + 9//y6O//29LX//nu9P/57fL/+O3x//js8P/47O//+Ovt//fq7P/36uv/0MTF/8/ExED///8AAAAAAAAA + AAAAAAAA////AHZ2dv95eXn/UU5O//bn5r/26Oe/9+jov/fp6b/36uu/9+rsv/jr7b/y5ei/39TXv/jt + 8b/57fK/+e7zv/nv9L/57/a/+fD3v/rw+L/68fm/+vL6v+Pc5L/17fe/+/P9v/vz/r/78/2/+vL8v/ry + +7/68fq/+vH5v/rw97/y6O+/3NPYv/nu9L/57vO/+O3xv/js8L/47O+/+Ovuv/fq7L/36uu/0cXGv9DE + xDD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////AAD///////8AAP// + gPB//wAA/ACAkCR/AADAAICYJg8AAJ/8/5/n/QAAEAAAAAABAACwAAAAAAEAAPAAAAAAAQAA8AAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAA8AAAAAABAADwAAAAAAEAAPAA + AAAAAQAA8AAAAAABAADwAAAAAAEAAAAAAAAAAQAAAAAAAAABAADwAAAAAAEAAPAAAAAAAQAA8AAAAAAB + AADwAAAAAAEAAPAAAAAAAQAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAPAA + AAAAAQAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAA8AAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAA////////AAD///////8AAP// + /////wAAKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAEgsAABILAAAAAAAAAAAAAP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8A////AP///wD///8AAAAABAAAAAUAAAAF////AP// + /wD///8A////AP///wAAAAACAAAAAv///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAIAAAAEAAAABwAAAAsAAAAPAAAAEwAAABcgICD/////AP///wAAAAAkAAAAJQAA + ACceHh5dLCws/////wAAAAAjAAAAIAAAAB0AAAAaAAAAFjIyMv////8AAAAACQAAAAb///8A////AP// + /wD///8A////AAAAAAIAAAAG////AP///wD///8A////AP///wD///8A////ACUlJf////8A////AP// + /wD///8A////AP///wAxMTH/////AP///wD///8A////AP///wD///8ANzc3/////wD///8A////AP// + /wD///8A////AP///wD///8AAAAAAgAAAAcZGRn/HBwc/x8fH/8hISH/JCQk/yYmJv8oKCj/Kysr/y0t + Lf8vLy//MDAw/zIyMv80NDT/NTU1/zc3N/84ODj/OTk5/zo6Ov87Ozv/Ozs7/zw8PP88PDz/PDw8/zw8 + PP88PDz/PDw8/zw8PP88PDz/Ozs7v////wAAAAAAAAAAAB4eHv8bGxv/TXuu/018r/9OfbD/T36x/09/ + sv9NbY//UICz/1GBtP9RgbX/UoK1/1KCtv9Tg7b/UHCT/1ODtv9Ug7b/VIO3/1SCt/9Ugrf/T3mq/z5e + gv9Ugbb/VIC2/1SAtf9Uf7X/U361/1N9tP+ekYnv////AP///wD///8AIiIi/x0dHf8MXrL/DV+y/w1g + s/8NYbP/DWG0/wlEfv8NYrX/DWK1/w1itf8NYrX/DWK1/w1itf8JRH//DWG1/w1htf8MYLT/DF+0/wxe + s/8LVqX/CUB8/wxbsf8MWrD/C1mv/wtYrv8LVq7/C1Ws/66elf////8AHx8f/yIiIv8mJib/ISEh/xB0 + 1v8Qddf/EHbX/xB22P8Qd9j/C1WZ/xB32P8QeNj/EHjY/xB42P8Qd9j/EHfY/wtVmv8Qdtj/EHbY/xB1 + 1/8QdNf/D3PX/w5qxv8KUJf/D3DV/w9v1f8PbtT/Dm3T/w5r0v9TnK7/tqad/////wD///8A////ACsr + K/8kJCT/EYDp/xGB6f8Sgun/EoLq/xKD6v8NXqj/EoTq/xKE6v8ShOr/EoTq/xKE6v8Sg+r/DV+p/xKC + 6v8Sgun/EYHp/xGA6f8Rf+j/EHbY/wxZpf8RfOf/EHvn/xB65v8QeOb/OZHW/7HWyf+8q6L/////AP// + /wD///8ALy8v/ycnJ/8ShOr/EoTq/xKF6/8Shuv/Eobr/w1hq/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKG + 6/8NYqv/Eobr/xKF6/8ShOr/EoPq/xKD6v8Qedn/DF2o/xF/6P8Rfuj/EX3n/xqC3P+DwbH/msy5/72t + pf////8A////AP///wA0NDT/Kysr/xKH6/8Sh+v/E4js/xOJ7P8Tiez/DmWu/xOK7P8Tiu3/E4rt/xOK + 7f8Tiuz/E4rs/w5lr/8Tiez/E4js/xKH6/8Shuv/Eobr/xF82/8NYKv/EoLp/xGB6f8RgOn/crbB/2Cz + j/+Rx7L/vq+o/////wD///8A////ADg4OP8tLS3/E4rs/xOK7f8Ti+3/E4zt/xOM7f8OabH/E43u/xON + 7v8Tju7/E43u/xON7v8Tje7/Dmmy/xOM7f8Ti+3/E4rt/xOK7P8Tiez/EX/c/w1jrv8Shev/EoTq/02j + y/93vZ//SKJ6/4G+pf/Asar/////AP///wD///8AOzs7/zAwMP8Tje3/E47u/xSO7v8Uj+7/FJDv/w9s + tP8UkO//FJDv/xSQ7/8UkO//FJDv/xSQ7/8PbbX/FI/u/xSO7v9EpNj/E43t/xOM7f8Sgt7/Dmax/xOI + 7P8nkd7/g8Oo/1Wshv8qjWH/erug/8KzrP////8A////AP///wA+Pj7/NDQ0/xB1wv8QdsP/EHfE/xF3 + xP8Rd8X/DVuW/xF4xf8ReMb/EXjG/xF4xv8ReMb/EXjG/w1cmP8ReMb/dbXN/6nVxP9ws8n/EHXE/w9t + t/8MV5P/FHa//3y8sv9csYv/MJJm/yaKXv9zt5v/qZyX/////wA7Ozv/Pj4+/0JCQv83Nzf/EoDS/xOA + 0v8TgNP/FIHT/xSB0/8QZKP/FYLU/xWC1P8VgtT/FYLU/xWC1P8VgtT/EGWl/3Oxxf+Py7H/bryZ/4PF + qP9orL3/EHjH/w1gof9cqK3/ZraT/z2bcf8ni17/K41i/325nP+zpqH/////AD09PUBBQUFAR0dH/zo6 + Ov8Xku//GJPv/xiT7/8ZlO//GpTv/xVzu/8blO//HJXw/xyV8P8clfD/G5Tv/xuU7/9yr8H/i8qv/2i5 + lf9BnnX/RKB3/3rAof9irb//L4mq/3a9n/9Ko3z/J4tf/yuNYv90tJb/69/Y/8e4tP////8AAAAAAAAA + AABLS0v/PT09/xqU7/8blO//HJXw/x2V8P8elvD/HHq6/yOY6v8gl/D/IJfw/yCX8P8flvD/c7rT/4jI + rP9mt5P/QJ1z/zqZb/9osJH/PZtx/3G6mv9/wKX/UqqD/yqNYf8rjWL/c7SV/+rg2v/15N//yLq2//// + /wAAAAAAAAAAAE9PT/9AQED/Rqa7/yKX6f8gl/D/Ipfw/yaZ6f+Yxcn/mcvT/yia6f8lmfD/JZnw/3O6 + 0f+Fxan/Y7WQ/z6ccv9CnXT/erme/6zMu/9zt5r/NpZr/1eth/8vkWb/K41h/3Gzlf/r4tz/9eXi//Xk + 4f/KvLj/////AAAAAAAAAAAAU1NT/0NDQ/+Hws7/ebzN/yWZ8P8pm+n/mMrR/3O+nf9uu5n/mMrR/y2c + 6v9zutD/gcOn/1+zjf88mnD/QJtz/4rCq//Y3db/9+np/77Txv9osZL/KYxg/ymMYP9wspT/6+Pf//bm + 5P/25uP/9eXi/8u+u/////8AAAAAAAAAAABXV1f/RkZG/3S6v/99wKT/V627/4HAwP9tupj/V62H/0qi + e/9fsIz/n83F/33Ao/9bsIv/OZhu/z2Zcf+HwKn/193X//fq6//36uv/9+rr/7jPwv9dq4n/b7KT/+zk + 4f/26Of/9ufm//bm5f/25uP/zcC9/////wD///8A////AFpaWv9ISEj/cbO1/1yxi/+Dwaj/aLaU/1Kp + gv91tpv/nsOz/0+jf/9RqYL/V62H/zaWa/87mG//hrqk/7rCvP/YzM7/18zO/9fMzf/Wy8z/y8HC/4if + k//JxML/1MfH/9PGxv/RxcT/0MPC/9DCwf+4q6r/////AFJSUv9XV1f/XFxc/0pKSv9xtLb/V62H/1iu + iP9Mpn7/crOY/7S+t//i1dX/mcOv/0ieeP8zlGn/OJVs/5jGs/+3tLT/49jb/+PY2//j2Nr/49fa/+LX + 2f/Yzc//uK+w/+DV1v/g1NX/39LT/9/S0f/d0ND/3c/O/8G0s/////8A////AP///wBgYGD/TU1N/3G3 + uv9SqYL/R6J5/zKUaP+FvKb/tLy1//fp6v/36uz/l8Ov/1KjgP+VxbH/7efo/9HHyv/47fD/+O3x//jt + 8P/47PD/+Ozw/+3i5f/Nw8X/+Ovt//fq7P/36uv/9+nq//fo6P/26Of/0cTD/////wD///8A////AGRk + ZP9PT0//ksK1/0GedP8ukGX/LZBk/y2PY/9xspb/4ODc//jr7f/46+7/rM29/+3o6P/47fH/08rO//nt + 8v/57vP/+e3y//nt8v/47fH/7uPn/8/FyP/47O//+Ovt//fq7P/36uv/9+np//fo6P/SxsX/////AP// + /wD///8AZ2dn/1JSUv+gxrX/WKWE/1akg/9UooH/UaJ//1mmhf+iy7r/7Obm//js7//47fD/+O3y//nu + 8//WzNL/+e70//nv9P/57vT/+e70//nu8//v5On/0cjL//js8P/47O//+Ovt//fq7P/36er/9+np/9TH + x/////8A////AP///wBqamr/VFRU/9PXzv/H08j/x9TJ/8jVyv/I1cz/r761/8nXzv/g4t//+O3w//jt + 8v/57vP/+e70/9nQ1f/57/b/+e/2//nv9v/57/X/+e/1//Dl6//Uys7/+O3x//js8P/47O7/+Ovt//fq + 6//36er/1cnI/////wD///8A////AG1tbf9XV1f/9ubk//bn5v/36Oj/9+np//fq6//Yzc7/+Ozu//js + 8P/47fL/+e7z//nv9P/57/b/29PZ//nw9//68Pj/+vD4//nw9//57/b/8Oft/9bM0f/57fL/+O3x//js + 7//46+7/9+rs//fp6v/Wysr/////AGVlZf9qamr/cHBw/1lZWf/k1tT/5dfW/+bZ2f/n2tv/6Nzd/83C + xP/q3uH/6t/j/+vg5f/r4ef/7OLo/+zj6f/SytD/7OTr/+zj6//s4+v/6+Lq/+rh6P/i2d//ycHG/+jd + 4//m3OD/5dve/+TZ3P/j19n/4tbX/8/Dw/////8A////AP///wBzc3P/W1tb/+TW1f/l2Nf/59nZ/+fb + 3P/o3N7/z8TH/+rf4v/r4OT/7OHm/+zi6P/s4+r/7eTr/9TM1P/t5e3/7OTt/+zk7f/s4+z/6+Lq/+Pa + 4f/Mw8j/6N7k/+fd4f/m29//5drc/+TY2v/i1tf/0MTF/////wAAAAAA////AHZ2dv9dXV3/9ufl//bo + 5//36en/9+rr//jr7f/e09X/+Ozw//jt8v/57vT/+e/1//nw9//68fn/4tri//ry/P/78/3/+/P8//ry + +//68fr/8+nx/9zT2f/57/X/+e7z//jt8f/47O//+Ovt//fq7P/azc7/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A+OvtgOzg44D47PCA+e3ygPnu9ID57/aA+vD4gPrx+YDv5++A+/P9gPvz + /oD78/2A+vL8gPry+oD37fWA6+LogPnv9YD57vOA+O3xgPjs74D46+6A9+rsgNvOz4D///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD//////vHz/8AwQJ8/v37/AAAAAcAAAAHAAAABAAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAQAA + AAEAAAABwAAAAcAAAAHAAAABwAAAAcAAAAEAAAABwAAAAcAAAAHAAAABwAAAAcAAAAEAAAABwAAAAcAA + AAH/AAAB/////ygAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAAAAD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAGxsbgBsbG/8cHBz/HBwc/x0dHf8dHR3/Hh4e/x4eHoAAAAAAAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACJiYmQScn + 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 + Mf8xMTH/Li4u0AAAAEEAAABBAAAAPwAAAD8AAAA9AAAAPAAAADsAAAA6AAAAOQAAADgAAAA2AAAANQAA + ADQAAAAyAAAAMQAAAC8AAAAuAAAALAAAACsAAAApAAAAKDY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2 + Nv8AAAAcAAAAGgAAABkAAAAXAAAAFgAAABQAAAATAAAAEQAAABAAAAAOAAAADQAAAAwAAAAKAAAACQAA + AAgAAAAHAAAABgAAAAQAAAADAAAAAgAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8AAAAAAAAA + AAAAAAACAAAAAwAAAAQAAAAGAAAAB////wD///8A////ABQUFIUVFRWGFRUVhxYWFocXFxeIFhYWiRYW + FooXFxeKGBgYixgYGIwYGBiNGRkZjRkZGY4aGhqPGhoakBoaGpEbGxuRGxsbkhwcHJMcHByUHBwclR0d + HZYdHR2WHR0dlx4eHpgeHh6ZHh4emiIiIs0lJSX/JiYm/yYmJv8nJyf/Jycn/ygoKP8lJSXPISEhoCEh + IaEhISGhIiIioiIiIqIiIiKjIiIioyIiIqQjIyOkIyMjpSMjI6UjIyOmJCQkpiQkJKYkJCSmJSUlpiUl + JaYlJSWmJSUlpikpKbwxMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8xMTHoKCgooykpKaMpKSmiKSkpoioq + KqEqKiqgKioqoCoqKp8rKyufKysrniwsLJ0sLCycLCwsnC0tLZstLS2aLi4umS4uLpkuLi6YLi4uly8v + L5YvLy+VNzc3/zc3N/83Nzf/Nzc3/zg4OP84ODj/ODg4/zIyMo8yMjKOMzMzjTMzM4wzMzOMMzMzizQ0 + NIo0NDSJNDQ0iDU1NYg1NTWHNTU1hjU1NYY1NTWFNjY2hDY2NoQ2NjaDNjY2gzY2NoI2NjaBNjY2gTc3 + N4A3NzeA////AP///wD///8A////AP///wAAAAAAAAAAAQAAAAMAAAAEAAAABgAAAAcAAAAI////AP// + /wD///8AFhYW/xcXF/8XFxf/GBgY/xgYGP8ZGRn/GRkZ/xoaGv8bGxv/Gxsb/xwcHP8dHR3/HR0d/x4e + Hv8eHh7/Hx8f/yAgIP8gICD/ISEh/yEhIf8iIiL/IyMj/yMjI/8kJCT/JCQk/yUlJf8lJSX/JiYm/ycn + J/8nJyf/KCgo/ygoKP8pKSn/KSkp/yoqKv8qKir/Kysr/ysrK/8sLCz/LCws/ywsLP8tLS3/LS0t/y4u + Lv8uLi7/Ly8v/y8vL/8vLy//MDAw/zAwMP8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MzMz/zMz + M/80NDT/NDQ0/zQ0NP81NTX/NTU1/zU1Nf81NTX/NjY2/zY2Nv82Njb/NjY2/zc3N/83Nzf/Nzc3/zc3 + N/83Nzf/Nzc3/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP85OTn/OTk5/zk5Of85OTn/OTk5/zk5 + Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5 + Of85OTn/OTk5/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP////8A////AP///wD///8A////AAAA + AAAAAAACAAAABAAAAAUAAAAGAAAABwAAAAj///8A////AP///wAXFxf/GBgY/xgYGP8YGBj/GRkZ/xoa + Gv8aGhr/Gxsb/xwcHP8cHBz/HR0d/x4eHv8eHh7/Hx8f/yAgIP8gICD/ISEh/yEhIf8iIiL/IyMj/yMj + I/8kJCT/JCQk/yUlJf8mJib/JiYm/ycnJ/8nJyf/KCgo/ygoKP8pKSn/KSkp/yoqKv8qKir/Kysr/ysr + K/8sLCz/LCws/y0tLf8tLS3/Li4u/y4uLv8vLy//Ly8v/y8vL/8wMDD/MDAw/zExMf8xMTH/MTEx/zIy + Mv8yMjL/MzMz/zMzM/8zMzP/NDQ0/zQ0NP80NDT/NTU1/zU1Nf81NTX/NjY2/zY2Nv82Njb/NjY2/zc3 + N/83Nzf/Nzc3/zc3N/84ODj/ODg4/zg4OP84ODj/ODg4/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/OTk5/zk5 + Of85OTn/OTk5/////wD///8A////AP///wD///8AAAAAAAAAAAIAAAADAAAABAAAAAYAAAAHAAAACP// + /wD///8A////ABgYGP8YGBj/GRkZ/xkZGf8aGhr/Gxsb/xwcHP8cHBz/HR0d/x4eHv8eHh7/Hx8f/yAg + IP8gICD/ISEh/yEhIf8iIiL/IyMj/yMjI/8kJCT/JCQk/yUlJf8mJib/JiYm/ycnJ/8nJyf/KCgo/ygo + KP8pKSn/Kioq/yoqKv8rKyv/Kysr/ywsLP8sLCz/LS0t/y0tLf8uLi7/Li4u/y8vL/8vLy//Ly8v/zAw + MP8wMDD/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MzMz/zQ0NP80NDT/NDQ0/zU1Nf81NTX/NTU1/zY2 + Nv82Njb/NjY2/zc3N/83Nzf/Nzc3/zc3N/84ODj/ODg4/zg4OP84ODj/OTk5/zk5Of85OTn/OTk5/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zo6Ov86Ojr/////AP///wD///8A////AP// + /wAAAAAAAAAAAAAAAAIAAAADAAAABAAAAAYAAAAH////AP///wD///8AGBgY/xkZGf8aGhr/Gxsb/xsb + G/8cHBz/HR0d/x0dHf8eHh7/Hx8f/x8fH/8gICD/ISEh/yEhIf8iIiL/IyMj/yMjI/8kJCT/JCQk/yUl + Jf8mJib/JiYm/ycnJ/8nJyf/KCgo/ykpKf8pKSn/Kioq/yoqKv8rKyv/Kysr/ywsLP8sLCz/LS0t/y0t + Lf8uLi7/Li4u/y8vL/8vLy//MDAw/zAwMP8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8zMzP/NDQ0/zQ0 + NP80NDT/NTU1/zU1Nf82Njb/NjY2/zY2Nv83Nzf/Nzc3/zc3N/84ODj/ODg4/zg4OP84ODj/OTk5/zk5 + Of85OTn/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8 + PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABP// + /wD///8A////AP///wAaGhr/Ghoa/xsbG/8cHBz/HBwc/x0dHf8eHh7/Hx8f/x8fH/8gICD/ISEh/yEh + If8iIiL/IyMj/yMjI/8kJCT/JCQk/yUlJf8mJib/JiYm/ycnJ/8nJyf/KCgo/ykpKf8pKSn/Kioq/yoq + Kv8rKyv/Kysr/ywsLP8tLS3/LS0t/y4uLv8uLi7/Ly8v/y8vL/8wMDD/MDAw/zExMf8xMTH/MjIy/zIy + Mv8yMjL/MzMz/zMzM/80NDT/NDQ0/zU1Nf81NTX/NTU1/zY2Nv82Njb/NjY2/zc3N/83Nzf/ODg4/zg4 + OP84ODj/OTk5/zk5Of85OTn/OTk5/zo6Ov86Ojr/Ojo6/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09 + Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09 + Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PDw8/zw8PP88PDz/PDw8/////wD///8A////AP// + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////AP///wD///8A////ABsbG/8bGxv/HBwc/x0d + Hf8eHh7/Hh4e/x8fH/8gICD/ICAg/yEhIf8iIiL/IiIi/yMjI/8kJCT/JCQk/yUlJf8mJib/JiYm/ycn + J/8nJyf/KCgo/ykpKf8pKSn/Kioq/yoqKv8rKyv/LCws/ywsLP8tLS3/LS0t/y4uLv8uLi7/Ly8v/y8v + L/8wMDD/MDAw/zExMf8xMTH/MjIy/zIyMv8zMzP/MzMz/zQ0NP80NDT/NTU1/zU1Nf81NTX/NjY2/zY2 + Nv83Nzf/Nzc3/zc3N/84ODj/ODg4/zk5Of85OTn/OTk5/zo6Ov86Ojr/Ojo6/zo6Ov87Ozv/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/87Ozv/PDw8/zw8PP88PDz/PDw8/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z4+ + Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/ + P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+ + Pv8+Pj7/Pj4+/z09Pf89PT3/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8AHBwc/x0dHf8dHR3/Hh4e/x8fH/8fHx//DQ0N/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/////8A////AP// + /wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wAdHR3/Hh4e/x4e + Hv8fHx//ICAg/yEhIf8ODg7/BwcH/w5brv8OW67/Dluu/w5crv8OXK7/Dlyu/w5crv8OXK7/Dlyu/w5c + rv8OXa7/Dl2u/w5drv8OXa7/Dl2u/w5drv8OXa7/Dl2u/w5drv8OXa7/Dl2u/wxPlP8LS4v/C0uL/w1Z + pv8OXa//Dl2v/w5dr/8OXq//Dl6v/w5er/8OXq//Dl6v/w5er/8OXq//Dl6v/w5er/8OXq//Dl2v/w5d + r/8OXa//Dl2v/w5dr/8OXa//Dl2v/w5drv8OXa7/Dl2u/w1Ypv8LSov/C0qL/w1Tnf8OXa7/Dl2u/w5d + rv8OXa7/DVWg/wxAd/8MQHf/DEB3/wxAd/8MQHf/DEB3/ww/dv8MP3b/DD92/ww/dv8MP3b/DD92/ww/ + dv8MP3b/Cz92/ws+dv8LPnb/Cz52/ws+dv8LPnb/CjVk/wksUv8JLFL/CjRk/ws9dv8LPXb/Cz12/ws9 + dv8LPXX/Cz11/ws8df8LPHX/Czx1/ws8df8LPHX/Czx1/ws7df8LO3X/Czt1/ws7df8LO3X/Czt1/ws6 + df8LOnX/Czp0/wkoT/8GBgb/BgYG/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AB4eHv8fHx//ICAg/yAgIP8hISH/IiIi/w4ODv8HBwf/EHjm/xB4 + 5v8QeOb/EHjm/xB55v8Qeeb/EHnm/xB55v8Qeeb/EHnm/xB55v8Qeub/EHrm/xB65v8Qeub/EHrn/xB6 + 5/8Qeuf/EHrn/xB75/8Qe+f/DF6y/wtVoP8LVaD/D3LV/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB7 + 5/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB7 + 5/8Qe+f/D3HV/wtVof8LVaH/DmjE/xB65v8Qeub/EHrm/xB55v8Qeeb/EHnm/xB55v8Qeeb/EHnm/xB5 + 5v8QeOb/EHjm/xB45v8QeOb/EHjm/xB35f8Qd+X/EHfl/xB35f8Qd+X/EHbl/xB25f8PduX/D3Xl/w91 + 5f8NY8H/ClGd/wpQnf8NYsD/D3Tk/w905P8Pc+T/D3Pk/w9z5P8PcuT/D3Lk/w9y4/8PceP/D3Hj/w9x + 4/8PceP/D3Dj/w5w4/8Ob+P/Dm/i/w5v4v8ObuL/Dm7i/w5u4v8ObeL/Mm66/6KTiv+ik4r/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AHx8f/yAg + IP8hISH/ISEh/yIiIv8jIyP/Dg4O/wcHB/8Qeeb/EHnm/xB55v8Qeeb/EHnm/xB55v8Qeub/EHrm/xB6 + 5v8Qeuf/EHrn/xB65/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8MX7L/C1ah/wtW + of8PctX/EHzn/xB85/8QfOf/EHzn/xB85/8RfOf/EXzn/xF85/8RfOf/EXzn/xF85/8QfOf/EHzn/xB8 + 5/8QfOf/EHzn/xB85/8QfOf/EHzn/xB75/8Qe+f/EHvn/xB75/8Pctb/C1ah/wtWof8OaMT/EHvn/xB7 + 5/8Qeuf/EHrn/xB65/8Qeub/EHrm/xB65v8Qeeb/EHnm/xB55v8Qeeb/EHnm/xB55v8QeOb/EHjm/xB4 + 5v8QeOb/EHfl/xB35f8Qd+X/EHfl/xB35f8QduX/EHbl/w1jwv8KUZ7/ClGe/w1jwf8PdeT/D3Tk/w90 + 5P8PdOT/D3Pk/w9z5P8Pc+T/D3Pk/w9y5P8PcuP/D3Lj/w9x4/8PceP/D3Hj/w9w4/8OcOP/Dm/j/w5v + 4v8Ob+L/Dm7i/w5u4v8ybrr/o5SL/6OUi/////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wAgICD/ISEh/yIiIv8jIyP/IyMj/yQkJP8ODg7/BwcH/xB5 + 5v8Qeeb/EHrm/xB65v8Qeub/EHrn/xB65/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHzn/xB8 + 5/8QfOf/EXzn/xF85/8RfOf/EXzn/w1gs/8MV6H/DFeh/xBz1v8Rfef/EX3n/xF95/8Rfef/EX3n/xF9 + 5/8Rfef/EX3n/xF95/8Rfef/EX3n/xF95/8Rfef/EX3n/xF95/8Rfef/EX3n/xF85/8RfOf/EXzn/xF8 + 5/8RfOf/EXzn/w9z1v8LV6L/C1ei/w5pxf8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB6 + 5/8Qeuf/EHrm/xB65v8Qeub/EHnm/xB55v8Qeeb/EHnm/xB55v8QeOb/EHjm/xB45v8Qd+X/EHfl/xB3 + 5f8Qd+X/DmXC/wtSn/8LUp//DWTC/w915f8PdeX/D3Xl/w915P8PdOT/D3Tk/w905P8Pc+T/D3Pk/w9z + 5P8PcuT/D3Lj/w9y4/8PceP/D3Hj/w9x4/8PcOP/DnDj/w5v4/8Ob+L/Dm/i/zJvuv+klYz/o5SL//// + /wD///8A////AP///wD///8AGhoa/xsbG/8bGxv/HBwc/x0dHf8eHh7/Hh4e/x8fH/8gICD/ISEh/yEh + If8iIiL/IyMj/yQkJP8kJCT/JSUl/w8PD/8HBwf/EHrm/xB65/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB7 + 5/8Qe+f/EHzn/xB85/8RfOf/EXzn/xF85/8RfOf/EX3n/xF95/8Rfef/EX3n/xF96P8Rfej/DWG0/wxY + o/8MWKP/EHTX/xF96P8Rfej/EX3o/xF96P8Rfej/EX3o/xF96P8Rfej/EX3o/xF96P8Rfej/EX3o/xF9 + 6P8Rfej/EX3o/xF96P8Rfej/EX3o/xF96P8Rfej/EX3o/xF96P8Rfej/EHTW/wxYo/8MWKP/D2rF/xF8 + 5/8RfOf/EXzn/xB85/8QfOf/EHzn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB65/8Qeuf/EHrm/xB6 + 5v8Qeeb/EHnm/xB55v8Qeeb/EHnm/xB45v8QeOb/EHjm/xB35f8OZcL/C1Of/wtTn/8OZML/EHbl/w92 + 5f8PduX/D3Xl/w915f8PdeT/D3Tk/w905P8PdOT/D3Pk/w9z5P8Pc+T/D3Lk/w9y4/8PcuP/D3Hj/w9x + 4/8PceP/D3Dj/w5w4/8Ob+L/MnC6/6SVjP+klYz/////AP///wD///8A////AP///wAbGxv/HBwc/xwc + HP8dHR3/Hh4e/x8fH/8gICD/ICAg/yEhIf8iIiL/IyMj/yMjI/8kJCT/JSUl/yYmJv8mJib/Dw8P/wcH + B/8Qe+f/EHvn/xB75/8Qe+f/EHzn/xB85/8RfOf/EXzn/xF85/8Rfef/EX3n/xF95/8Rfej/EX3o/xF9 + 6P8Rfej/EX3o/xF96P8Rfuj/EX7o/xF+6P8NYbT/DFij/wxYo/8Qddf/EX7o/xF+6P8Rfuj/EX7o/xF+ + 6P8Rfuj/EX7o/xF+6P8Rfuj/EX7o/xF+6P8Rfuj/EX7o/xF+6P8Rfuj/EX7o/xF+6P8Rfuj/EX7o/xF+ + 6P8Rfuj/EX7o/xF+6P8QdNf/DFik/wxYpP8Pa8b/EX3o/xF96P8Rfef/EX3n/xF95/8RfOf/EXzn/xF8 + 5/8QfOf/EHzn/xB75/8Qe+f/EHvn/xB75/8Qe+f/EHvn/xB65/8Qeub/EHrm/xB55v8Qeeb/EHnm/xB5 + 5v8Qeeb/EHjm/w5mxP8LVKH/C1Og/w5lwv8Qd+X/EHfl/xB25f8QduX/D3bl/w915f8PdeX/D3Xk/w90 + 5P8PdOT/D3Tk/w9z5P8Pc+T/D3Pk/w9y5P8PcuP/D3Lj/w9x4/8PceP/D3Dj/w9w4/8zcLz/pZaN/6SV + jP////8A////AP///wD///8A////ABwcHP8dHR3/Hh4e/x4eHv8fHx//ICAg/yEhIf8hISH/IiIi/yMj + I/8kJCT/JCQk/yUlJf8mJib/Jycn/ycnJ/8PDw//BwcH/wxfsf8LVqD/DFag/wxWoP8MVqD/DFeg/wxX + of8MV6H/DFei/wxXov8MV6L/DFei/wxYov8MWKP/DFij/wxYo/8MWKP/DFij/wxYo/8MWaP/DFmj/wlG + gP8IQHT/CEB0/wtTmP8MWqT/DFqk/wxapP8MWqT/DFqk/wxapP8MWqT/DFqk/wxapP8MWqX/DFql/wxa + pf8MWqX/DFql/wxapf8MWqX/DFql/wxapf8MWqX/DFql/wxapf8MWqX/DFml/wtTmf8JP3X/CT91/wpM + jf8MWaX/DFml/wxZpf8MWKT/DFik/wxYpP8MWKT/DFij/wxYo/8MWKP/DFij/wxYo/8LWKP/C1ej/wtX + o/8LV6P/C1ai/wtWov8LVqL/C1ai/wtWof8LVqH/C1Wh/wtVof8LVKH/CkiJ/wg7cP8IO3D/CkeI/wtU + oP8LU6D/C1Of/wtTn/8LUp//C1Kf/wpSn/8KUZ7/ClGe/wpRnf8KUJ3/ClCd/wpQnP8KT5z/Ck+c/wpP + nP8KTpz/Ck6b/wpNm/8KTZv/Ck2b/zlnff9wZmD/cGZg/////wD///8A////AP///wD///8AHR0d/x4e + Hv8fHx//Hx8f/yAgIP8hISH/IiIi/yMjI/8jIyP/JCQk/yUlJf8mJib/JiYm/ycnJ/8oKCj/KSkp/xAQ + EP8HBwf/DWCy/wxXoP8MV6H/DFeh/wxXov8MV6L/DFei/wxYov8MWKL/DFij/wxYo/8MWKP/DFmj/wxZ + o/8MWaP/DFmj/wxapP8MWqT/DFqk/wxapP8MWqT/CUeA/whAdP8IQHT/C1SY/wxbpf8MW6X/DFul/wxb + pf8MW6X/DFul/wxbpf8MW6X/DFul/wxbpf8MW6X/DFul/wxbpf8MW6X/DFul/wxbpf8MW6X/DFul/wxa + pf8MWqX/DFql/wxapf8MWqX/C1SZ/wlAdf8JQHX/C02N/wxapf8MWqX/DFml/wxZpf8MWaX/DFml/wxZ + pf8MWaX/DFml/wxZpf8MWaT/DFik/wxYo/8MWKP/DFij/wxYo/8LWKP/C1ej/wtXo/8LV6P/C1ai/wtW + ov8LVqL/C1ah/wtWof8KSYn/CDxx/wg7cP8KSIn/C1Sh/wtUof8LVKH/C1Og/wtTn/8LU5//C1Of/wtS + n/8KUp//ClGf/wpRnv8KUZ3/ClCd/wpQnf8KUJ3/Ck+c/wpPnP8KT5z/Ck6c/wpOm/8xe5b/T4F7/3Fn + Yv9wZmH/////AP///wD///8A////AP///wAeHh7/Hx8f/yAgIP8gICD/ISEh/yIiIv8jIyP/JCQk/yQk + JP8lJSX/JiYm/ycnJ/8nJyf/KCgo/ykpKf8qKir/EBAQ/wcHB/8OaMD/DWG0/w1htP8NYbT/DWK0/w1i + tP8NYrT/DWK0/w1itP8NYrT/DWO0/w1jtP8NY7X/DWO1/w1ktf8NZLX/DWS1/w1ktf8NZLX/DWS2/w1k + tv8LT47/CkiB/wpIgf8MXan/DWW2/w1ltv8NZbb/DWW2/w1ltv8NZbb/DWW2/w1ltv8NZbf/DWW3/w1l + t/8NZbf/DWW3/w1lt/8NZbf/DWW3/w1lt/8NZbf/DWW3/w1kt/8NZLf/DWS3/w1kt/8MXar/CkiC/wpI + gv8MVpz/DWS3/w1ktv8NZLb/DWS2/w1jtv8NY7b/DWO2/w1jtv8NYrb/DWK2/w1itv8NYrb/DWK2/w1i + tv8NYrX/DWK1/w1itP8NYbT/DWG0/w1htP8MYbT/DGC0/wxgtP8MYLT/DGC0/wtRmf8JQ37/CUN9/wtQ + mP8MXrL/DF6y/wxdsv8MXbL/DF2y/wxdsv8MXLH/DFyx/wxcsf8MW7H/DFux/wtasP8LWrD/C1qv/wtZ + r/8LWa//C1mu/wtYrv8LWK7/G2aj/2K0kP9ShoH/fnNt/35zbf////8A////AP///wD///8A////AB8f + H/8gICD/ISEh/yIiIv8iIiL/IyMj/yQkJP8lJSX/JiYm/yYmJv8nJyf/KCgo/ykpKf8pKSn/Kioq/ysr + K/8QEBD/BwcH/xF+6P8Rfuj/EX7o/xF/6P8Rf+j/EX/o/xF/6P8Rf+j/EX/o/xGA6f8RgOn/EYDp/xGA + 6f8RgOn/EYDp/xGA6f8Rgen/EYHp/xGB6f8Rgen/EYHp/w1ltv8MXKb/DFym/xB42P8Rgen/EYHp/xGB + 6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB + 6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xB42P8MXKb/DFym/w9uyP8RgOn/EYDp/xGA6f8RgOn/EYDp/xF/ + 6P8Rf+j/EX/o/xF/6P8Rf+j/EX/o/xF+6P8Rfuj/EX7o/xF+6P8Rfej/EX3o/xF96P8Rfef/EX3n/xF8 + 5/8RfOf/EHzn/xB75/8Qe+f/DmnF/wtXo/8LVqP/DmjF/xB65v8Qeeb/EHnm/xB55v8Qeeb/EHjm/xB4 + 5v8QeOb/EHfl/xB35f8Qd+X/EHbl/w925f8PdeX/D3Xl/w915P8PdOT/D3Tk/xR43/9SqKD/YbSP/12U + k/+nmJD/p5iQ/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ACgoKP8pKSn/Kioq/yoqKv8rKyv/LCws/xAQEP8HBwf/EX/o/xF/6P8Rf+j/EX/o/xF/ + 6P8RgOn/EYDp/xGA6f8RgOn/EYDp/xGB6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGC + 6f8Rgun/Dma3/wxdpv8NXab/EHnY/xKC6f8Sgun/EoLp/xKC6f8Sgun/EoLp/xKC6v8Sgur/EoLq/xKC + 6v8Sgun/EoLp/xKC6f8Sgun/EoLp/xKC6f8Sgun/EoLp/xGC6f8Rgun/EYLp/xGC6f8Rgun/EHjZ/wxd + p/8MXaf/D2/I/xGB6f8Rgen/EYHp/xGB6f8RgOn/EYDp/xGA6f8RgOn/EYDp/xF/6P8Rf+j/EX/o/xF/ + 6P8Rf+j/EX/o/xF+6P8Rfuj/EX7o/xF+6P8Rfej/EX3o/xF95/8Rfef/EXzn/xF85/8Oasb/C1ek/wtX + pP8OacX/EHvn/xB65/8Qeub/EHrm/xB55v8Qeeb/EHnm/xB45v8QeOb/EHjm/xB35f8Qd+X/EHfl/xB2 + 5f8PduX/D3Xl/w915f8PdeT/PZi0/6zUxv9gtI//XJST/6eZkP+nmZD/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AKSkp/yoqKv8rKyv/LCws/yws + LP8tLS3/ERER/wcHB/8Rf+j/EYDp/xGA6f8RgOn/EYDp/xGA6f8Rgen/EYHp/xGB6f8Rgen/EYHp/xGB + 6f8Rgun/EYLp/xGC6f8Sgun/EoLp/xKC6f8Sgur/EoLq/xKD6v8OZ7j/DV6o/w1eqP8Retr/EoPq/xKD + 6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD + 6v8Sg+r/EoPq/xKD6v8Sg+r/EoLq/xKC6v8Redn/DV6o/w1eqP8PcMj/EYLp/xGC6f8Rgen/EYHp/xGB + 6f8Rgen/EYHp/xGB6f8Rgen/EYDp/xGA6f8RgOn/EYDp/xF/6P8Rf+j/EX/o/xF/6P8Rf+j/EX7o/xF+ + 6P8Rfuj/EX7o/xF96P8Rfej/EX3n/w9rxv8MWKT/DFik/w5qxv8Qe+f/EHvn/xB75/8Qeuf/EHrm/xB6 + 5v8Qeeb/EHnm/xB55v8QeOb/EHjm/xB45v8Qd+X/EHfl/xB35f8QduX/D3bl/ymJyv+Kxa3/5Ovv/2Cz + jv9clJP/qJmS/6iZkf////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wAqKir/Kysr/ywsLP8tLS3/LS0t/y4uLv8RERH/BwcH/xGA6f8RgOn/EYHp/xGB + 6f8Rgen/EYHp/xGB6f8Rgun/EYLp/xKC6f8Sgun/EoLp/xKC6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKD + 6v8Sg+r/EoPq/w5ouf8NXqj/DV6o/xF62v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE + 6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xF6 + 2v8NX6n/DV+p/xBxyv8Sg+r/EoLq/xKC6f8Sgun/EoLp/xGC6f8Rgun/EYHp/xGB6f8Rgen/EYHp/xGB + 6f8Rgen/EYDp/xGA6f8RgOn/EYDp/xF/6P8Rf+j/EX/o/xF/6P8Rfuj/EX7o/xF+6P8Rfej/D2vH/wxZ + pv8MWaX/D2rG/xF85/8QfOf/EHvn/xB75/8Qe+f/EHvn/xB65/8Qeub/EHnm/xB55v8Qeeb/EHjm/xB4 + 5v8QeOb/EHfl/xB35f8aftr/ZLSa/9vo6P/i6u3/X7OO/1yUk/+omZL/qJmS/////wD///8A////AP// + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////ACsrK/8sLCz/LS0t/y4u + Lv8vLy//Ly8v/xEREf8HBwf/EYHp/xGB6f8Rgen/EYLp/xGC6f8Sgun/EoLp/xKC6v8Sg+r/EoPq/xKD + 6v8Sg+r/EoPq/xKD6v8Sg+r/EoTq/xKE6v8ShOr/EoTq/xKE6v8ShOr/Dmi5/w1fqf8NX6n/EXva/xKE + 6v8Sher/EoXq/xKF6v8Sher/EoXq/xKF6v8Sher/EoXq/xKF6v8Sher/EoXq/xKF6v8Sher/EoXq/xKF + 6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE6v8ShOr/EXva/w1gqv8NYKr/EHHK/xKD6v8Sg+r/EoPq/xKD + 6v8Sg+r/EoPq/xKC6v8Sgun/EoLp/xGC6f8Rgun/EYHp/xGB6f8Rgen/EYHp/xGB6f8RgOn/EYDp/xGA + 6f8RgOn/EX/o/xF/6P8Rf+j/EX/o/xF+6P8PbMf/DFqm/wxZpv8Pa8f/EX3n/xF95/8RfOf/EHzn/xB7 + 5/8Qe+f/EHvn/xB75/8Qeuf/EHrm/xB55v8Qeeb/EHnm/xB45v8QeOb/EHjm/0ylpP+52dD/wd3V/9/p + 6/9eso3/cJ2S/6qak/+pmpP/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8ALS0t/y0tLf8uLi7/Ly8v/zAwMP8wMDD/ERER/wcHB/8Rgun/EoLp/xKC + 6f8Sgur/EoPq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoTq/xKE6v8ShOr/EoTq/xKE6v8ShOr/EoXq/xKF + 6v8Sher/EoXq/xKF6/8Oabr/DWCq/w1gqv8RfNv/EoXr/xKF6/8Shev/EoXr/xKF6/8Shev/EoXr/xKF + 6/8Shev/EoXr/xKF6/8Shev/EoXr/xKF6/8Shev/EoXr/xKF6/8Shev/EoXr/xKF6/8Shev/EoXq/xKF + 6v8RfNr/DWCq/w1gqv8Qcsr/EoTq/xKE6v8ShOr/EoTq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKC + 6v8Sgun/EoLp/xGC6f8Rgun/EYHp/xGB6f8Rgen/EYHp/xGA6f8RgOn/EYDp/xGA6f8Rf+j/EX/o/w9t + x/8MWqb/DFqm/w9sx/8Rfej/EX3o/xF96P8Rfef/EXzn/xB85/8QfOf/EHvn/xB75/8Qe+f/EHrn/xB6 + 5v8Qeeb/EHnm/xB55v84lrr/mMu3/9jm5v9ot5X/3Ojp/12yjf+EppD/qpuT/6qak/////8A////AP// + /wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wAuLi7/Li4u/y8v + L/8wMDD/MTEx/zExMf8SEhL/BwcH/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKE6v8ShOr/EoTq/xKE + 6v8ShOr/EoXq/xKF6v8Shev/EoXr/xKF6/8Shev/EoXr/xKF6/8Shuv/Eobr/w5quv8NYar/DWGq/xF9 + 2/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKG + 6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKG6/8Shuv/EoXr/xF82/8NYav/DWGr/xBzy/8Shev/EoXq/xKF + 6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKE6v8Sg+r/EoPq/xKD6v8Sg+r/EoPq/xKC6v8Sgun/EYLp/xGC + 6f8Rgen/EYHp/xGB6f8Rgen/EYDp/xGA6f8RgOn/D27I/wxcp/8MW6b/D23H/xF+6P8Rfuj/EX7o/xF9 + 6P8Rfej/EX3n/xF85/8RfOf/EHzn/xB75/8Qe+f/EHvn/xB65/8Qeub/H4TW/3i9n//X5uX/gMGm/2Cz + jv/a5+f/XbGM/4SnkP+rnJT/q5yU/////wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AC8vL/8vLy//MDAw/zExMf8yMjL/MzMz/xISEv8HBwf/EoPq/xKD + 6v8ShOr/EoTq/xKE6v8ShOr/EoXq/xKF6v8Shev/EoXr/xKF6/8Shev/EoXr/xKG6/8Shuv/Eobr/xKG + 6/8Shuv/Eobr/xKG6/8Shuv/Dmu7/w1iq/8NYqv/EX7b/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH + 6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKG + 6/8Shuv/EX3b/w1irP8NYqv/EHTL/xKG6/8Shev/EoXr/xKF6/8Shev/EoXr/xKF6v8Sher/EoTq/xKE + 6v8ShOr/EoTq/xKD6v8Sg+r/EoPq/xKD6v8Sg+r/EoLq/xKC6f8Rgun/EYLp/xGB6f8Rgen/EYHp/xGB + 6f8Pbsn/DFyo/wxcqP8Pbsj/EX/o/xF/6P8Rfuj/EX7o/xF+6P8Rfej/EX3o/xF95/8RfOf/EXzn/xB8 + 5/8Qe+f/EHvn/xV+4f9VrJn/xt/Z/6fSwv9gtI//X7OO/9fm5f9csYv/hKaQ/6uclf+rnJT/////AP// + /wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8AMDAw/zEx + Mf8xMTH/MjIy/zMzM/80NDT/EhIS/wcHB/8ShOr/EoTq/xKE6v8Sher/EoXr/xKF6/8Shev/EoXr/xKG + 6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Oa7v/DWKr/w1i + q/8Rftz/Eojs/xKI7P8SiOz/Eojs/xKI7P8SiOz/Eojs/xKI7P8SiOz/Eojs/xKI7P8SiOz/Eojs/xKI + 7P8SiOz/Eojs/xKI7P8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Rftv/DWOs/w1jrP8Qdcz/Eobr/xKG + 6/8Shuv/Eobr/xKG6/8Shuv/EoXr/xKF6/8Shev/EoXr/xKF6v8Sher/EoTq/xKE6v8ShOr/EoTq/xKD + 6v8Sg+r/EoPq/xKD6v8Sgur/EoLp/xGC6f8Rgen/EYHp/w9vyf8MXan/DF2o/w9uyf8RgOn/EX/o/xF/ + 6P8Rf+j/EX7o/xF+6P8Rfuj/EX3o/xF96P8Rfef/EXzn/xB85/8Qe+f/QZ6v/6bRwf/F3tj/YbSP/2Cz + jv9eso3/1OXj/1uwi/+Ep5D/rJ2W/6ydlv////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8A////AP///wAxMTH/MjIy/zIyMv8zMzP/NDQ0/zU1Nf8TExP/BwcH/xKF + 6v8Shev/EoXr/xKF6/8Shuv/Eobr/xKG6/8Shuv/Eobr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH + 6/8SiOz/Eojs/xKI7P8TiOz/E4js/w9tvf8OZK3/DmSt/xJ/3P8TiOz/E4ns/xOJ7P8Tiez/E4ns/xOJ + 7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8TiOz/E4js/xOI7P8TiOz/E4js/xOI + 7P8TiOz/Eojs/xF/3P8NZK3/DWSt/xB1zP8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKG6/8Shuv/Eobr/xKG + 6/8Shuv/EoXr/xKF6/8Shev/EoXr/xKF6v8ShOr/EoTq/xKE6v8ShOr/EoPq/xKD6v8Sg+r/EoPq/xKC + 6f8Sgun/D3DJ/wxeqf8MXqn/D2/J/xGA6f8RgOn/EYDp/xF/6P8Rf+j/EX/o/xF+6P8Rfuj/EX7o/xF9 + 6P8Rfej/EX3n/y6Qxf9+wKT/0+Xi/3i+oP9gtI//X7OO/16yjf/S5OH/W7CK/4OmkP+snpb/rJ2W//// + /wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////ADIy + Mv8zMzP/NDQ0/zQ0NP81NTX/NjY2/xMTE/8HBwf/EoXr/xKG6/8Shuv/Eobr/xKG6/8Sh+v/Eofr/xKH + 6/8Sh+v/Eofr/xKH6/8SiOz/Eojs/xOI7P8TiOz/E4js/xOI7P8Tiez/E4ns/xOJ7P8Tiez/D229/w5k + rf8OZK3/EoDc/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ + 7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/EoDd/w5krv8OZK7/EHbN/xOI + 7P8SiOz/Eojs/xKI7P8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Shuv/Eobr/xKG6/8Shuv/EoXr/xKF + 6/8Shev/EoXq/xKE6v8ShOr/EoTq/xKE6v8Sg+r/EoPq/xKD6v8Qccr/DV+q/wxfqv8PcMn/EYHp/xGB + 6f8Rgen/EYDp/xGA6f8Rf+j/EX/o/xF/6P8Rfuj/EX7o/xF+6P8bhN3/YbKY/8rh3P+Wy7b/YbSP/2Cz + jv9eso3/XbKM/8/j3/9ar4r/g6eQ/6yel/+snpf/////AP///wD///8A////AP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8AMzMz/zQ0NP81NTX/NTU1/zY2Nv83Nzf/ExMT/wcH + B/8Shuv/Eofr/xKH6/8Sh+v/Eofr/xKH6/8SiOz/Eojs/xOI7P8TiOz/E4js/xOJ7P8Tiez/E4ns/xOJ + 7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOK7P8Pb73/Dmau/w5mrv8Sgd3/E4rs/xOK7P8Tiuz/E4rs/xOK + 7P8Tiuz/E4rs/xOK7P8Tiuz/E4rs/xOK7P8Tiuz/E4rs/xOK7P8Tiuz/E4rs/xOK7P8Tiuz/E4rs/xOK + 7P8Tiuz/E4ns/xOJ7P8SgN3/Dmav/w5mr/8Rd83/E4ns/xOJ7P8Tiez/E4js/xOI7P8TiOz/Eojs/xKI + 7P8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKG6/8Shuv/Eobr/xKG6/8Shev/EoXr/xKF6/8Sher/EoTq/xKE + 6v8ShOr/EoPq/xByy/8NYKv/DWCr/w9xyv8Rgun/EYLp/xGB6f8Rgen/EYHp/xGA6f8RgOn/EX/o/xF/ + 6P8Rf+j/EX7o/0+onv+y1sr/utrQ/2G0j/9gs4//X7OO/16yjf9dsYz/zOLe/1mvif+Dp5H/rZ+Y/6ye + l/////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP// + /wA0NDT/NTU1/zY2Nv83Nzf/Nzc3/zg4OP8TExP/BwcH/xKH6/8Sh+v/Eofr/xKI7P8TiOz/E4js/xOI + 7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4rs/xOK7P8Tiuz/E4rs/xOK7P8Tiu3/E4rt/w9v + vv8OZq//Dmev/xKC3v8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL + 7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOK7f8Tiu3/E4rs/xKB3f8OZq//Dmav/xF4 + zv8Tiuz/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4js/xOI7P8TiOz/Eojs/xKI7P8Sh+v/Eofr/xKH + 6/8Sh+v/Eobr/xKG6/8Shuv/Eobr/xKF6/8Shev/EoXq/xKF6v8ShOr/EHLL/w1hrP8NYKz/EHLL/xKD + 6v8Sgur/EoLp/xGC6f8Rgen/EYHp/xGB6f8RgOn/EYDp/xF/6P83mLr/i8Wu/8/j4P9puJX/YbSP/1+z + jv9eso3/XbGM/1OqhP/K4dz/WK6I/4Onkf+tn5n/rZ+Z/////wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////ADU1Nf82Njb/Nzc3/zg4OP84ODj/OTk5/xQU + FP8HBwf/Eojs/xOI7P8TiOz/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4rs/xOK7P8Tiuz/E4rs/xOK + 7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/D3C//w5nsP8OZ7D/EoLe/xOM7f8TjO3/E4zt/xOM + 7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL + 7f8Ti+3/E4vt/xOL7f8Ti+3/EoLe/w5osf8OaLH/EXnP/xOK7f8Tiuz/E4rs/xOK7P8Tiuz/E4ns/xOJ + 7P8Tiez/E4ns/xOJ7P8Tiez/E4js/xOI7P8SiOz/Eojs/xKH6/8Sh+v/Eofr/xKH6/8Shuv/Eobr/xKG + 6/8Shev/EoXr/xKF6/8Qc8v/DWGs/w1hrP8Qcsv/EoPq/xKD6v8Sg+r/EoLq/xKC6f8Rgun/EYHp/xGB + 6f8Rgen/JIzS/2y4l//O49//hsSq/2G0j/9gs47/X7KO/16yjf9Zr4n/LpBl/8fg2v9Yroj/g6eR/66g + mv+tn5n/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP// + /wD///8ANjY2/zc3N/84ODj/OTk5/zk5Of86Ojr/FBQU/wcHB/8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOK + 7P8Tiuz/E4rs/xOK7P8Tiu3/E4vt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOM7f8TjO3/E4zt/xOM + 7f8PccD/Dmix/w5osf8Sg97/E4zt/xOM7f8Tje3/E43t/xON7f8Tje3/E43t/xON7f8Tje3/E43t/xON + 7f8Tje3/E43t/xON7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8Sg97/Dmmy/w5o + sv8Res//E4vt/xOL7f8Ti+3/E4vt/xOL7f8Tiu3/E4rs/xOK7P8Tiuz/E4ns/xOJ7P8Tiez/E4ns/xOJ + 7P8TiOz/E4js/xKI7P8SiOz/Eofr/xKH6/8Sh+v/Eofr/xKG6/8Shuv/Eobr/xB0zP8NYq3/DWKt/xBz + y/8ShOr/EoTq/xKD6v8Sg+r/EoPq/xKC6v8Sgun/EYLp/xaE4/9Tq5j/vtzT/6LQv/9htJD/YLSP/1+z + jv9eso3/XbGM/ziXbP8rjmL/xN/Y/1eth/+Cp5H/rqCa/66gmv////8A////AP///wD///8A////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wA3Nzf/ODg4/zk5Of86Ojr/Ozs7/zs7 + O/8UFBT/BwcH/xOJ7P8Tiuz/E4rs/xOK7P8Tiuz/E4rt/xOL7f8Ti+3/E4vt/xOL7f8Ti+3/E4zt/xOM + 7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xON7f8Tje3/E43t/w9ywP8OabH/Dmmx/xKE3v8Tje7/E43u/xON + 7v8Tje7/E43u/xON7v8Tje7/E43u/xON7v8Tje7/E43u/xON7v8Tje7/E43u/xON7v8Tje7/E43u/xON + 7v8Tje3/E43t/xON7f8Tje3/E43t/xKE3v8OabL/Dmmy/xF70P8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL + 7f8Ti+3/E4vt/xOL7f8Tiu3/E4rs/xOK7P8Tiuz/E4ns/xOJ7P8Tiez/E4ns/xOI7P8TiOz/Eojs/xKI + 7P8Sh+v/Eofr/xKH6/8Shuv/EHXM/w1jrv8NYq3/EHTM/xKF6v8Sher/EoTq/xKE6v8Sg+r/EoPq/xKD + 6v8Sgur/RaKp/5jLt/+93NP/abiV/2G0j/9fs47/XrKN/12yjP9EoHf/K45i/yqNYf/C3tb/Vq2G/4On + kf+voZv/rqCa/////wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wD///8A////ADg4OP85OTn/Ojo6/zs7O/87Ozv/Ozs7/xQUFP8HBwf/E4rs/xOK7f8Ti+3/E4vt/xOL + 7f8Ti+3/E4vt/xOM7f8TjO3/E4zt/xOM7f8TjO3/E43t/xON7f8Tje3/E43t/xON7v8Tje7/E43u/xON + 7v8Tje7/D3PB/w5qsv8OarL/EoXf/xSO7v8Uju7/FI7u/xSO7v8Uju7/FI7u/xSO7v8Uju7/FI7u/xSO + 7v8Uju7/FI7u/xSO7v8Uju7/FI7u/xSO7v8Tju7/E47u/xOO7v8Tju7/E47u/xON7v8Tje7/EoTf/w5q + s/8OarL/EXzQ/xON7f8Tje3/E4zt/xOM7f8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL7f8Ti+3/E4vt/xOK + 7f8Tiuz/E4rs/xOK7P8Tiez/E4ns/xOJ7P8Tiez/E4js/xOI7P8SiOz/Eofr/xKH6/8Qdc3/DWSu/w1j + rv8QdM3/EoXr/xKF6/8Shev/EoXq/xKE6v8ShOr/EoPq/y6Uxv9yupv/0eTh/3e+n/9htI//YLOO/1+z + jv9eso3/U6qE/yuOYv8qjWH/KYxg/7/d1P9WrIb/gqeR/6+im/+vopv/////AP///wD///8A////AP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8AOTk5/zo6Ov87Ozv/Ozs7/zw8 + PP89PT3/FRUV/wcHB/8Ti+3/E4vt/xOL7f8Ti+3/E4zt/xOM7f8TjO3/E4zt/xON7f8Tje3/E43t/xON + 7v8Tje7/E43u/xOO7v8Tju7/E47u/xSO7v8Uju7/FI7u/xSO7v8Qc8H/D2uy/w9rsv8Tht//FI/u/xSP + 7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP + 7v8Uj+7/FI/u/xSO7v8Uju7/FI7u/xSO7v8Shd//Dmuz/w5rs/8RfNH/E43u/xON7v8Tje7/E43t/xON + 7f8Tje3/E4zt/xOM7f8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL7f8Ti+3/E4rt/xOK7P8Tiuz/E4rs/xOJ + 7P8Tiez/E4ns/xOJ7P8TiOz/Eojs/xB2zv8NZa//DWWv/xB1zf8Shuv/Eobr/xKG6/8Shev/EoXr/xKF + 6v8gjNj/XrGW/8Ld1v+ZzLj/YbSQ/2Czj/9fs47/XrKN/1qvif8xkmf/Ko1h/ymNYP8ojGD/vdzS/1Ws + hf+Dp5H/sKOd/6+inP////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wA6Ojr/Ozs7/zs7O/88PDz/PT09/z4+Pv8VFRX/BwcH/xOM7f8TjO3/E4zt/xOM + 7f8Tje3/E43t/xON7f8Tje7/E43u/xON7v8Tju7/E47u/xSO7v8Uju7/FI7u/xSP7v8Uj+7/FI/u/xSP + 7v8Uj+7/FI/u/xB1wv8PbLP/D2yz/xOG4P8Uj+7/FJDv/xSQ7/8UkO//FJDv/xSQ7/8UkO//FJDv/xSQ + 7/8UkO//FJDv/xSQ7/8UkO//FJDv/xSQ7/8UkO//FI/u/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xOG + 4P8PbLT/D2y0/xJ90f8Uju7/FI7u/xSO7v8Tju7/E47u/xON7v8Tje7/E43u/xON7f8Tje3/E4zt/xOM + 7f8TjO3/E4zt/xOL7f8Ti+3/E4vt/xOL7f8Tiu3/E4rs/xOK7P8Tiez/E4ns/xOJ7P8Tiez/EHfO/w5l + sP8NZbD/EHbN/xKH6/8Sh+v/Eobr/xKG6/8Shuv/EoXr/02onP+k0MD/s9jL/2K0kP9gtI//X7OO/16y + jf9dsoz/O5lv/yuOYv8pjWH/KIxg/yeLX/+629D/VKuF/4Onkf+xo53/saOd/////wD///8A////AP// + /wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////ADs7O/87Ozv/PDw8/z09 + Pf8+Pj7/Pz8//xUVFf8HBwf/E4zt/xON7f8Tje3/E43u/xON7v8Tje7/E47u/xSO7v8Uju7/FI7u/xSP + 7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP7v8UkO//FJDv/xSQ7/8UkO//EHXD/w9stP8PbbX/E4fg/xSQ + 7/8UkO//FJDv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8UkO//FJDv/xSQ + 7/8UkO//FJDv/xSQ7/8UkO//FJDv/xSQ7/8UkO//E4fg/w9ttf8PbLT/En7R/xSP7v8Uj+7/FI/u/xSP + 7v8Uju7/FI7u/xSO7v8Tju7/MZ3L/zGcy/8Tje7/E43t/xON7f8TjO3/E4zt/xOM7f8TjO3/E4vt/xOL + 7f8Ti+3/E4vt/xOK7P8Tiuz/E4rs/xOJ7P8ReM//Dmex/w5msf8Qd87/Eojs/xKH6/8Sh+v/Eofr/xKG + 6/87nbT/fr+k/8bg2f9vupr/YbSP/2Czjv9fso3/XrKN/0eiev8rjmL/Ko1h/ymMYP8oi1//J4te/7fa + zv9Tq4T/g6eR/7Kjnv+xo53/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8APDw8/zw8PP89PT3/Pj4+/z8/P/9AQED/FRUV/wcHB/8Tje7/E43u/xOO + 7v8Tju7/FI7u/xSO7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP7v8UkO//FJDv/xSQ7/8UkO//FJDv/xSQ + 7/8Uke//FJHv/xSR7/8Qd8T/D261/w9utf8TiOH/FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR + 7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR + 7/8TiOH/D262/w9utv8Sf9P/FJDv/xSQ7/8Uj+7/FI/u/xSP7v8Uj+7/FI/u/zKdy/9jtZH/Y7WR/zGd + y/8Tju7/E43u/xON7v8Tje3/E43t/xOM7f8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL7f8Tiu3/E4rs/xF5 + z/8OZ7H/Dmex/xF4z/8TiOz/E4js/xKI7P8Sh+v/JJHT/2i1lP/F39j/g8Oo/2G0j/9gs47/X7OO/16y + jf9Uq4T/LpBk/yqNYf8pjGD/KIxf/yeLXv8mil7/tdnM/1Oqg/+Cp5H/sqOe/7Kjnv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wA9PT3/PT09/z4+ + Pv8/Pz//QEBA/0FBQf8WFhb/BwcH/xOO7v8Uju7/FI7u/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FJDv/xSQ + 7/8UkO//FJDv/xSQ7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xB3xP8Pbrb/D262/xOI + 4f8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR + 7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xOI4f8Pb7f/D2+3/xKA0/8Uke//FJDv/xSQ + 7/8UkO//FJDv/xSQ7/8xncv/bLmX/97o6v/A3NT/YbSQ/zGcyv8Uju7/FI7u/xOO7v8Tje7/E43u/xON + 7f8Tje3/E4zt/xOM7f8TjO3/E4vt/xOL7f8Ti+3/EXrP/w5osv8OaLL/EXjP/xOJ7P8Tiez/E4js/xeK + 5v9VrI//r9XI/6PRv/9htI//YLOP/1+zjv9eso3/Wq+K/zSVav8qjWH/KYxg/yiMX/8ni1//Jope/yWJ + Xf+y2Mv/UqqD/4Knkf+zpZ//s6Sf/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AD4+Pv8+Pj7/Pz8//0BAQP9BQUH/QkJC/xYWFv8HBwf/FI/u/xSP + 7v8Uj+7/FI/u/xSQ7/8UkO//FJDv/xSQ7/8UkO//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR + 7/8Uke//FJHv/xSR7/8Uke//EHfE/w9utv8Pbrb/E4jh/xWR7/8Vke//FZHv/xWR7/8Vke//FZHv/xWR + 7/8Vke//FZHv/xWR7/8Vke//FZHv/xWR7/8Vke//FZHv/xWR7/8Vke//FJHv/xSR7/8Uke//FJHv/xSR + 7/8Uke//E4nh/w9vt/8Pb7f/EoDT/xSR7/8Uke//FJHv/xSR7/8Uke//MZ7L/2u4l//d6On/4ers/9/q + 6/+92tL/YLSP/zGdyv8Uj+7/FI7u/xSO7v8Tju7/E47u/xON7v8Tje7/E43t/xON7f8TjO3/E4zt/xOL + 7f8RetD/Dmmy/w5psv8Rec//E4rs/xOJ7P8Tiez/Q6Oo/4rErf+83NL/aLeU/2C0j/9fs47/XrKN/12x + jP9BnXT/Ko1h/ymNYP8ojGD/J4tf/yaKXv8lil3/JIlc/6/Xyf9RqYL/gqeR/7OloP+zpZ//////AP// + /wD///8A////AP///wA3Nzf/ODg4/zk5Of85OTn/Ojo6/zs7O/87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BA + QP9AQED/QUFB/0JCQv9DQ0P/FhYW/wcHB/8TieP/E4fg/xOH4P8Th+D/E4fg/xOI4P8TiOD/E4jg/xOI + 4f8TiOH/E4jh/xOI4f8TiOH/E4jh/xOI4f8TiOH/E4jh/xOI4f8TiOH/FIjh/xSI4f8QcLn/D2is/w9p + rP8TgdT/FInh/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ + 4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ4f8SgdT/Dmmt/w5prf8Recf/E4nh/xOJ + 4f8TieH/E4nh/zGcyP9ruJb/3Ofp/+Dq7P+Cx6j/gcan/9vo6P+62dD/X7OO/zCaxv8Th+D/E4fg/xOG + 4P8ThuD/Eobg/xKF4P8SheD/EoXg/xKF3/8ShN//EoTf/xBzw/8NY6j/DWOo/xBzw/8Sgt7/EoLe/zGY + vf9tuJj/yOHa/3u/ov9gtI//X7OO/16yjf9dso3/TaZ//yqNYf8pjWH/KIxg/yeLX/8mil7/JYpd/ySJ + XP8jiFz/rdbH/1Cogf98ooz/qJuW/6iblv////8A////AP///wD///8A////ADg4OP85OTn/Ojo6/zo6 + Ov87Ozv/Ozs7/zw8PP89PT3/Pj4+/z8/P/9AQED/QUFB/0FBQf9CQkL/Q0ND/0RERP8WFhb/BwcH/xB1 + wv8PbLT/D220/w9ttP8PbbT/D220/w9utf8PbrX/D261/w9utf8PbrX/D261/xButv8Qbrb/EG62/xBu + tv8Qbrb/EG+2/xBvt/8Qb7f/EHC3/w1cl/8MVoz/DFaM/w9qrf8RcLf/EXC4/xFwuP8RcLj/EXC4/xFw + uP8RcLj/EXC4/xFwuP8RcLj/EXC4/xFwuP8RcLj/EXC4/xFwuP8RcLj/EHC4/xBwuP8QcLj/EHC4/xBw + uP8QcLj/EHC4/w9prv8MVo7/DFWN/w5io/8Qb7j/EG+4/w9vuP8uian/ariW/9zn6P/f6uv/gcan/3nD + of93w6D/fsWl/9fm5f+32M3/XrKN/y2Ip/8Pbrf/D222/w9ttv8PbbX/D221/w9stf8PbLX/Dmy1/w5r + tf8Oa7T/DV6e/wtRiP8LUIf/DV2d/w5ps/8cdqr/X7GN/7LXyv+UyrT/YbSP/2Czjv9fso3/XrKN/1at + h/8tkGT/KY1h/yiMYP8ni1//Jote/yaKXf8liVz/JIhc/yKIW/+q1cX/UKiB/2qRe/+Eenb/hHp2//// + /wD///8A////AP///wD///8AOTk5/zo6Ov87Ozv/Ozs7/zs7O/88PDz/PT09/z4+Pv8/Pz//QEBA/0FB + Qf9CQkL/QkJC/0NDQ/9ERET/RUVF/xcXF/8HBwf/EHbD/w9ttP8PbbT/D261/w9utf8PbrX/D261/w9u + tf8QbrX/EG62/xButv8Qbrb/EG62/xBvtv8Qb7f/EHC3/xBwt/8QcLf/EXC3/xFwt/8RcLf/Dl2Y/w1W + jf8NVo3/EGqt/xFwuP8RcLj/EXC4/xFwuP8RcLj/EXC4/xFxuf8Rcbn/EXG5/xFxuf8Rcbn/EXG5/xFx + uf8Rcbn/EXG5/xFxuf8Rcbn/EXG5/xFxuf8Rcbn/EXG5/xFxuf8Rcbn/EGuv/wxXj/8MV4//DmSk/xBw + uf8QcLn/Lomp/2m3lf/b5+j/3+nr/4HGp/94w6H/d8Kg/3bCn/91wZ7/e8Sj/9Pl4v+z1sv/XbGM/yyH + p/8Pbrf/D263/w9ut/8Pbbb/D222/w9ttv8PbLX/D2y1/w5stf8NXp//C1GJ/wtRif8NXp7/E26w/0qg + j/+VyrX/stfK/2G0j/9gs47/X7KN/16yjf9dsYz/NJRp/yqNYf8pjGD/KItf/yeLXv8mil3/JYld/ySJ + XP8jiFv/O5Zu/6fUw/9Pp4D/apF8/4V7d/+Fenf/////AP///wD///8A////AP///wA6Ojr/Ozs7/zs7 + O/87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC/0NDQ/9DQ0P/RERE/0VFRf9GRkb/FxcX/wcH + B/8fgsz/EHbD/xB3xP8Qd8T/EXfE/xF3xP8Rd8T/EXfE/xF3xP8Rd8T/EXjE/xJ4xf8SeMX/EnnF/xJ5 + xf8SecX/EnnF/xJ5xf8Secb/EnnG/xN5xv8PZKP/D12Y/w9dmP8Scrv/E3nG/xN5xv8Tecf/E3nH/xN5 + x/8Tecf/E3nH/xN5x/8Tecf/E3nH/xN5x/8Tecf/E3nH/xN5x/8Tecf/E3nH/xN5x/8Tecf/E3nH/xN5 + x/8Tecf/EnnH/xJ5x/8Rcrz/Dl6a/w5emv8Qa7D/EnnH/y6MrP9pt5X/2ubn/97p6v+Axqb/d8Kg/3bC + n/91wZ//dMGe/3PAnf9ywJ3/ecKh/8/j3/+w1cn/XLCL/yyKq/8Qd8b/EHfF/xB3xf8QdsX/EHbE/xB2 + xP8QdsT/EHXE/w5nrP8MWZX/DFiV/w5mrP83kp7/eb2g/77d0/9tuZj/YLOO/1+yjv9eso3/XbGM/0Of + dv8qjWH/KYxg/yiLX/8ni17/Jope/yWJXf8kiVz/I4hb/zuWbv+ez7z/hcOp/06ngP96m4f/kYeC/5GG + gv////8A////AP///wD///8A////ADs7O/87Ozv/PDw8/zw8PP89PT3/Pj4+/z8/P/9AQED/QUFB/0JC + Qv9DQ0P/RERE/0RERP9FRUX/RkZG/0dHR/8XFxf/BwcH/0yl6f8Vke//FZHv/xWR7/8Vke//FZHv/xWS + 7/8Vku//FpLv/xaS7/8Wku//FpLv/xaS7/8Wku//FpLv/xaS7/8Xku//F5Lv/xeS7/8Xku//F5Lv/xN6 + x/8Scbn/EnK5/xaK4v8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT + 7/8Yk+//GJPv/xiT7/8Yk+//F5Pv/xeT7/8Xku//F5Lv/xeS7/8Xku//F5Lv/xaK4v8Scbr/EnG6/xSC + 1f8xnsr/aLaU/9nm5//d6en/f8Wm/3bCoP91wp//dMGe/3PBnv9zwJ3/csCd/3G/nP9xv5v/d8Gg/8vi + 3P+t1Mb/W7CK/y6cyf8Uke//FJHv/xSQ7/8UkO//FJDv/xSP7v8Uj+7/En7S/w9ttv8Pbbb/Joey/12w + i/+83NL/hcSq/2Czjv9fs47/XrKN/12xjP9QqIH/Ko1h/ymMYP8ojF//J4te/yaKXv8liV3/JIlc/yOI + W/87lm7/nc+7/4TDqP9Op3//jL2i/9XFwP+2qKP/tqij/////wD///8A////AP///wD///8AOzs7/zw8 + PP89PT3/PT09/z4+Pv8/Pz//QEBA/0FBQf9CQkL/Q0ND/0RERP9FRUX/RkZG/0ZGRv9HR0f/SEhI/xcX + F/8HBwf/TaXq/xWR7/8Vke//FZLv/xWS7/8Wku//FpLv/xaS7/8Wku//FpLv/xaS7/8Xku//F5Lv/xeS + 7/8Xku//F5Lv/xeT7/8Xk+//GJPv/xiT7/8Yk+//FHrH/xNyuv8Tcrr/F4vi/xiT7/8Yk+//GJPv/xiT + 7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xiT + 7/8Yk+//GJPv/xiT7/8Yk+//Fovi/xJyu/8Scrv/L5Cz/2e2lP/Y5ub/3Ojp/37Fpf91wp//dMGe/3TB + nv9zwJ3/csCd/2+9mv9csIr/cL6b/3C+m/9vvZr/dcCe/8fg2v+q0sT/Wa+J/y6cyf8Uke//FJHv/xSR + 7/8Uke//FJDv/xSQ7/8Sf9P/D263/xNytP9RqIn/oM+9/6LRv/9gs47/X7OO/16yjf9dsYz/Wa6J/y2P + Y/8pjGD/KIxf/yeLXv8mil7/JYld/ySJXP8jiFv/O5Zu/53Pu/+Ew6j/Tqd//4y9ov/04tz/1cXA/7ao + pP+2qKT/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8ARUVF/0ZGRv9HR0f/R0dH/0hISP9JSUn/GBgY/wcHB/9Npur/FZLv/xaS7/8Wku//FpLv/xaS + 7/8Wku//F5Lv/xeS7/8Xku//F5Lv/xeS7/8Xk+//GJPv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xmT + 7/8Uesf/E3K6/xNyuv8Yi+L/GZPv/xmT7/8Zk+//GZPv/xmT7/8ZlO//GZTv/xmU7/8ZlO//GZTv/xmU + 7/8Zk+//GZPv/xmT7/8Zk+//GZPv/xmT7/8Zk+//GZPv/xmT7/8Zk+//GJPv/xiT7/8Xi+L/E3O7/y+K + qf9ntZP/2OXl/9vo6P99xaX/dMGe/3TBnv9zwJ3/csCd/3LAnP9uvZn/SaN7/z+cc/9RqYH/br2a/269 + mf9tvJn/c76d/8Pe1/+n0cL/WK6I/y6cyP8Uke//FJHv/xSR7/8Uke//FJHv/xKA1P8Pb7j/RJ2S/4TC + qP+02Mz/ZraT/1+zjv9eso3/XbGM/1yxi/85mG7/KYxg/yiMX/8ni1//Jope/yWKXf8kiVz/I4hb/zuW + bv+czrr/g8Ko/02mf/+2zLr/9ePd//Ti3f/WxsH/t6ml/7eppf////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBGRkb/R0dH/0hISP9ISEj/SUlJ/0pK + Sv8YGBj/BwcH/06m6v8Wku//FpLv/xaS7/8Xku//F5Lv/xeS7/8Xku//F5Pv/xiT7/8Yk+//GJPv/xiT + 7/8Yk+//GJPv/xmT7/8Zk+//GZPv/xmT7/8Zk+//GZTv/xV7yP8Uc7v/FHO7/xiM4v8alO//GpTv/xqU + 7/8alO//GpTv/xqU7/8alO//GpTv/xqU7/8alO//GpTv/xqU7/8alO//GpTv/xqU7/8alO//GpTv/xqU + 7/8alO//GpTv/xmU7/8ZlO//GZPv/xiL4v8viqn/ZrWT/9fl5f/a6Oj/fMSk/3TBnv9zwJ3/c8Cd/3LA + nP9xv5z/br2Z/0mjev8/nHL/Ppxy/z2bcf9Pp4D/bbyY/2y7mP9ru5f/cb2b/7/d1P+j0L//V62H/y2c + yP8Uke//FJHv/xSR7/8Uke//EoHU/y2Kov9otZT/uNrP/3e+n/9fso7/XrKN/12xjP9csYv/RaF4/ymM + YP8ojF//J4tf/yaKXv8lil3/JIlc/yOIW/87lm7/m866/4LCp/9Npn//tsy6//Xj3v/1493/9ePd/9bG + wv+3qab/t6ml/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AEdHR/9ISEj/SUlJ/0lJSf9KSkr/S0tL/xgYGP8HBwf/Tqbq/xeS7/8Xku//F5Lv/xeS + 7/8Yk+//GJPv/xiT7/8Yk+//GJPv/xmT7/8Zk+//GZPv/xmT7/8ZlO//GpTv/xqU7/8alO//GpTv/xqU + 7/8alO//FnvI/xVzu/8Vc7v/GYzi/xuU7/8blO//G5Tv/xuU7/8blO//G5Tv/xuU7/8blPD/G5Tw/xuU + 7/8blO//G5Tv/xuU7/8blO//G5Tv/xuU7/8blO//G5Tv/xuU7/8blO//G5Tv/xqU7/8alO//Mp3G/2W0 + kv/W5eT/2efn/3vEo/9zwJ3/csCd/3LAnP9xv5z/cb+c/228mf9Io3r/Ppxy/z6bcv89m3H/PJpw/zua + cP9Npn7/a7uX/2q6lv9pupb/b7ya/7vb0f+gzr3/VqyG/yWY1f8Vke//FJHv/xSR7/8fjMr/VKuE/6rT + xP+UyrT/X7KN/16yjf9dsYz/XLGL/1Kpg/8pjGD/KIxf/yeLX/8mil7/JYpd/ySJXP8jiFv/O5Zu/5rO + uf+Cwqb/TaZ+/7bMuv/1497/9ePe//Xj3v/1493/18fC/7irpv+4qqb/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8ASEhI/0lJSf9KSkr/SkpK/0tL + S/9MTEz/GBgY/wcHB/9Opur/F5Lv/xiT7/8Yk+//GJPv/xiT7/8Yk+//GZPv/xmT7/8Zk+//GZTv/xqU + 7/8alO//GpTv/xqU7/8blO//G5Tv/xuU7/8blO//G5Tv/xuU8P8XfMn/FnW8/xZ1vP8ajeP/HJXw/xyV + 8P8clfD/HJXw/xyV8P8clfD/HJXw/xyV8P8clfD/HJXw/xyV8P8clfD/HJXw/xyV8P8clfD/HJXw/xyV + 8P8clfD/HJXw/xuU8P8blPD/G5Tv/zOfyf9ktJH/1eTk/9nn5v96w6P/csCd/3K/nP9xv5z/cb+b/3C+ + m/9tvJj/SKJ6/z6ccv89m3H/PZtx/zyacP87mm//Oplv/zqZbv9LpX3/abmV/2i5lf9ouJT/bbuY/7fa + zv+dzbv/UaqM/yGW2/8Vke//GZPo/0yokf+Ox7D/qtTF/1+yjf9eso3/XbGM/1yxi/9Yroj/L5Fl/yiM + X/8ni1//Jope/yWKXf8kiVz/I4hb/zqWbv+azrn/gcGm/0ymfv+2zbv/9eTf//Xj3//1497/9ePe//Xj + 3v/Xx8L/uKum/7irpv////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wBJSUn/SkpK/0tLS/9LS0v/TExM/01NTf8ZGRn/BwcH/0+n6v8Yk+//GJPv/xiT + 7/8Zk+//GZPv/xmT7/8alO//GpTv/xqU7/8alO//G5Tv/xuU7/8blO//G5Tv/xuU8P8clfD/HJXw/xyV + 8P8clfD/HJXw/xh9yf8Xdbz/F3W9/xuN4/8dlfD/HZXw/x2V8P8dlfD/HZXw/x2V8P8dlfD/HZXw/x2V + 8P8dlfD/HZXw/x2V8P8dlfD/HZXw/x2V8P8dlfD/HZXw/x2V8P8dlfD/HZXw/xyV8P8zn8r/ZLOR/9Xk + 4//Y5+b/esOi/3K/nP9xv5z/cb+b/3C+m/9vvpv/bLuY/0eiev8+nHL/PZtx/zybcP88mnD/O5lv/zqZ + b/85mG7/OZht/ziXbf9Jo3v/Z7iU/2a4k/9mt5P/a7mX/7PYy/+azLj/UKmL/yGW2/88oaz/bbeX/7XZ + zP9vupr/XrKN/12xjP9csIv/W7CK/zuZcP8ojF//J4tf/yaKXv8lil3/JIlc/yOIW/86lm7/mc24/4DB + pv9MpX7/tsy7//Xk3//15N//9eTf//Xj3//1497/9ePe/9fIw/+5rKj/uayn/////wD///8A////AP// + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AEpKSv9LS0v/TExM/0xM + TP9NTU3/Tk5O/xkZGf8HBwf/T6fq/xmT7/8Zk+//GZPv/xqU7/8alO//GpTv/xuU7/8blO//G5Tv/xuU + 7/8blPD/HJXw/xyV8P8clfD/HJXw/x2V8P8dlfD/HZXw/x2V8P8dlfD/GX7K/xh2vf8Ydr3/HI7j/x6W + 8P8elvD/Hpbw/x6W8P8elvD/Hpbw/x+W8P8flvD/H5bw/x+W8P8elvD/Hpbw/x6W8P8elvD/Hpbw/x6W + 8P8elvD/Hpbw/x6W8P8elvD/NJ/J/2OzkP/U5OL/1+bl/3nCov9xv5z/cL6b/3C+m/9vvpr/b72a/2u7 + l/9Honn/PZtx/z2bcf88mnD/O5pw/zuZb/86mW7/VqaE/77b0/9UpYL/N5Zs/zaWa/9Honr/ZbeT/2W2 + kv9ktpL/abiV/6/WyP+Wyrb/T6mK/1mtiP+s1cb/hsSq/12yjP9dsYz/XLCL/1uwiv9Honr/KIxf/yeL + Xv8mil7/JYpd/ySJXP8jiFv/OpZt/5jNt/+AwaX/TKV9/7XMu//15OD/9eTg//Xk4P/15N//9eTf//Xj + 3//1497/18jD/7msqP+5rKj/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8AS0tL/0xMTP9NTU3/TU1N/05OTv9PT0//GRkZ/wcHB/9Qp+r/GpTv/xqU + 7/8alO//G5Tv/xuU7/8blO//G5Tw/xyV8P8clfD/HJXw/x2V8P8dlfD/HZXw/x2V8P8elvD/Hpbw/x6W + 8P8elvD/Hpbw/x+W8P8afsr/GXe+/xl3vv8djuP/H5bw/x+W8P8flvD/H5bw/yCW8P8glvD/IJbw/yCW + 8P8glvD/IJbw/yCW8P8glvD/H5bw/x+W8P8flvD/H5bw/x+W8P8flvD/H5bw/zWfyf9ispD/0+Pi/9bm + 5f94wqH/cL6b/2++m/9vvpr/b72a/269mf9ru5f/R6J5/z2bcf88m3D/PJpw/zuZb/86mW//OZhu/1Wm + g//H39n/oc69/8Pe1/9SpID/NZVq/zSVav9GoXj/Y7aR/2O1kf9itZD/Z7eU/6vVxv+TybP/mMu3/5vO + uv9dsYz/XLGM/1ywi/9bsIr/VKuE/yuOYv8ni17/Jope/yWKXf8kiVz/I4hb/zqWbf+Xzbf/f8Gl/0ul + ff+1zbz/9eTh//Xk4P/15OD/9eTg//Xk4P/15N//9eTf//Xk3//YyMT/uq2p/7qtqf////8A////AP// + /wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wBMTEz/TU1N/05O + Tv9OTk7/T09P/1BQUP8ZGRn/BwcH/1Go6v8blO//G5Tv/xuU7/8blPD/HJXw/xyV8P8clfD/HZXw/x2V + 8P8dlfD/Hpbw/x6W8P8elvD/Hpbw/x+W8P8flvD/H5bw/x+W8P8flvD/IJbw/xt/y/8xjKr/MYyq/x+P + 5P8hl/D/IZfw/yGX8P8hl/D/IZfw/yGX8P8hl/D/IZfw/yGX8P8hl/D/IZfw/yGX8P8hl/D/IZfw/yGX + 8P8hl/D/IJfw/yCX8P81n8n/YbKP/9Lj4f/V5uT/d8Gg/2++mv9vvZr/br2a/269mf9tvJn/arqW/0ah + eP89m3H/PJpw/zuab/87mW//Oplu/zmYbv9VpoP/xt/Z/4LAp/9Uq4X/gMCl/7/c0/9Po37/M5Rp/zKT + aP9EoHf/YrSQ/2G0j/9gs4//ZbWS/6fTw/+x18r/YrSQ/1yxi/9bsIv/W7CK/1qvif8xkmf/J4te/yaK + Xv8liV3/JIlc/yOIW/86lW3/l8y2/37ApP9LpX3/tc28//Xl4f/15eH/9eXh//Xk4f/15OD/9eTg//Xk + 4P/15N//9eTf/9jJxf+6rar/uq2p/////wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AE1NTf9OTk7/T09P/09PT/9QUFD/UVFR/xoaGv8HBwf/Vank/xuU + 8P8clfD/HJXw/xyV8P8dlfD/HZXw/x2V8P8elvD/Hpbw/x6W8P8flvD/H5bw/x+W8P8flvD/IJbw/yCX + 8P8gl/D/IZfw/yGX8P8hl/D/M5S2/2Kyj/9Yroj/NZ7G/yKX8P8il/D/Ipjw/yKY8P8imPD/Ipjw/yKY + 8P8imPD/Ipjw/yKY8P8imPD/Ipjw/yKY8P8imPD/Ipjw/yKX8P8il/D/NZ/J/2Gxjv/R4+H/1eXj/3bA + oP9uvZr/br2Z/229mf9tvJn/bbyY/2m6lv9GoXj/PJpw/zuacP87mW//Oplv/zmYbv85mG3/VKaD/8Xe + 2P+CwKb/Xq+K/7nRwv9dror/fr6j/7vb0f9NoXz/MZJn/zGSZ/9CnnX/YLOO/1+zjv9eso3/Y7SR/3O7 + nP9csYv/W7CL/1qviv9Zr4n/PZtx/yeLXv8mil7/JYld/ySJXP8jiFv/OZVt/5bMtv9+wKT/SqR8/7XN + vP/15eL/9eXi//Xl4f/15eH/9eXh//Xk4f/15OD/9eTg//Xk4P/15N//2MnF/7uuq/+7rqr/////AP// + /wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8ATk5O/09P + T/9QUFD/UFBQ/1FRUf9SUlL/Ghoa/wcHB/9vtZz/J5nc/x2V8P8dlfD/HZXw/x6W8P8elvD/Hpbw/x+W + 8P8flvD/H5bw/yCW8P8gl/D/IZfw/yGX8P8hl/D/IZfw/yGX8P8il/D/Ipjw/zagyf9iso//3Ofp/77a + 0v9YrYf/NqDJ/yOY8P8jmPD/I5jw/yOY8P8jmPD/I5jw/yOY8P8jmPD/I5jw/yOY8P8jmPD/I5jw/yOY + 8P8jmPD/I5jw/zagyP9gsY7/0eLg/9Tl4/92wJ//bbyZ/228mf9tvJj/bLyY/2y7mP9ouZX/RaF4/zya + cP87mm//Oplv/zqZbv85mG7/OJht/1Slgv/E3tf/gb+m/12uiv/Y3NX/9ujn/9fc1P9crYn/e72i/7bZ + zf9LoHv/L5Fm/y+RZf9AnXT/XrKN/12xjP9csYz/XLCL/1uwiv9ar4r/Wa+J/0mje/8mi17/Jopd/yWJ + Xf8kiVz/I4hb/zmVbf+VzLX/fcCj/0qkfP+2zbz/9ubj//bl4v/25eL/9eXi//Xl4v/15eH/9eXh//Xk + 4f/15OD/9eTg//Xk4P/Yycb/u66r/7uuq/////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8A////AP///wBPT0//UFBQ/1BQUP9RUVH/UlJS/1NTU/8aGhr/BwcH/1Sr + hf9Kp5n/IZfp/x6W8P8elvD/H5bw/x+W8P8glvD/IJfw/yCX8P8hl/D/IZfw/yGX8P8il/D/Ipjw/yKY + 8P8jmPD/I5jw/yOY8P82oMj/YbGO/9zn6f/P49//4ers/73Z0v9XrYf/N6DI/yWZ8P8lmfD/JZnw/yWZ + 8P8lmfD/JZnw/yWZ8P8lmfD/JZnw/yWZ8P8lmfD/JZnw/ySZ8P83oMj/X7CN/9Di3//T5eL/db+e/2y8 + mP9svJj/bLuY/2u7l/9ru5f/aLmU/0Sgd/87mm//O5lv/zqZbv85mG7/OZht/ziXbf9UpYL/xN7X/4C/ + pf9dron/2NzV//fo6P/36Oj/9+jo/9jc1f9brYj/ebyg/7LXyv9Innn/LpBk/y2PY/8+nHL/XLGL/1uw + i/9bsIr/Wq+J/1mvif9VrIb/KY1h/yaKXf8liV3/JIlc/yOIW/85lW3/lMu1/3y/o/9KpHz/tc29//bm + 4//25uP/9ubj//bl4v/25eL/9eXi//Xl4v/15eH/9eXh//Xl4f/15OD/9eTg/9nKxv+8r6z/vK+r//// + /wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AFBQ + UP9RUVH/UVFR/1JSUv9TU1P/VFRU/xoaGv8HBwf/U6uE/2m0k/9Kp5j/Ipfp/yCW8P8gl/D/IJfw/yGX + 8P8hl/D/IZfw/yKY8P8imPD/I5jw/yOY8P8jmPD/I5jw/ySY8P8kmfD/N6DI/2Cxjv/c5+j/4ers/3fA + oP93wKD/4ers/73Z0v9WrIb/OKDI/yaZ8P8mmfD/Jprw/yaa8P8mmvD/Jprw/yaa8P8mmvD/Jpnw/yaZ + 8P8mmfD/N6DI/16wjP/P4t//0uTi/3S/nf9su5f/a7uX/2u7l/9ru5f/arqW/2e4lP9EoHf/O5lv/zqZ + bv85mG7/OZht/ziXbf83l2z/U6WB/8Pe1v9/v6T/XK2J/9jc1f/36Oj/9+jo//fo6P/36Oj/9+jo/9jc + 1f9arIf/d7ue/67Wx/9GnXf/LI5j/yuOYv88mnH/Wq+K/1qvif9Zron/WK6I/zKTaP8lil3/JYlc/ySJ + XP8jiFv/OZVt/5PLtP98v6L/SaR7/7XNvf/25uT/9ubk//bm5P/25uP/9ubj//bm4//25eL/9eXi//Xl + 4v/15eH/9eXh//Xl4f/15OD/2crG/7yvrP+8r6z/////AP///wD///8A////AP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8AUVFR/1FRUf9SUlL/U1NT/1RUVP9VVVX/Gxsb/wcH + B/9TqoP/xt3Y/3O4m/9Ao6z/IZfw/yGX8P8il/D/Ipjw/yKY8P8jmPD/I5jw/yOY8P8kmPD/JJnw/ySZ + 8P8lmfD/JZnw/zegyP9fsI3/3Obo/+Dq7P92wJ//bbyZ/228mf92wJ//4Ors/73Z0f9VrIX/OKDI/yia + 8P8omvD/KJrw/yia8P8omvD/KJrw/yia8P8omvD/KJrw/zigyP9Uq4X/u9nQ/9Hk4f9zvp3/a7uX/2q6 + l/9qupb/arqW/2m6lv9mt5P/Q592/zqZb/86mG7/OZhu/ziYbf84l2z/N5ds/1Kkgf/C3db/f76k/3C1 + lf/t5eP/9+np//fp6f/36en/9+np//fp6f/36en/9+jo/9jc1f9Zq4b/dLqc/6rUxP9EnHX/Ko1h/ymN + YP87mW//WK6I/1iuiP8+nHL/JYpd/ySJXP8kiFz/I4hb/zmVbP+Ty7P/e7+h/0mje/+1zb3/9ubl//bm + 5P/25uT/9ubk//bm5P/25uP/9ubj//bm4//25eL/9uXi//Xl4v/15eH/9eXh//Xl4f/Zysf/vbCt/72w + rf////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP// + /wBRUVH/UlJS/1NTU/9UVFT/VVVV/1ZWVv8bGxv/BwcH/1Kpg//R4eD/8O/3/2ezk/89orP/Ipjw/yOY + 8P8jmPD/I5jw/ySZ8P8kmfD/JZnw/yWZ8P8mmfD/Jpnw/yaa8P83oMj/Xq+M/9zm6P/g6ez/dL+e/2y7 + l/9su5j/bLuY/2y7mP91v57/4Ons/7zZ0f9Uq4T/OaHI/ymb8P8pm/D/KZvw/ymb8P8pm/D/KZvw/ymb + 8P85ocj/U6uE/7HUyf/Q4+D/cr2c/2q6lv9pupb/abqW/2m5lf9ouZX/ZbeS/0Ofdv86mG7/OZhu/ziY + bf84l23/N5ds/zaWbP9SpID/wd3V/36+o/9wtZX/7eXj//fp6f/36en/9+np//fp6f/36en/9+np//fp + 6f/36en/9+np/9fd1f9Yq4b/crma/6XSwf9BmnP/KIxg/yeLX/85mG7/TaZ//yWJXf8kiVz/I4hc/yKI + W/84lWz/ksuz/3q+of9Io3v/tc6+//bn5f/25+X/9ufl//bm5f/25uT/9ubk//bm5P/25uP/9ubj//bm + 4//25eL/9uXi//Xl4v/15eH/9eXh/9nLyP+9sK7/vbCt/////wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AFJSUv9TU1P/VFRU/1VVVf9WVlb/V1dX/xsb + G/8HBwf/UamC/9Hh4P/o7PH/2+bo/1yuiv81nsf/JJnw/ySZ8P8lmfD/JZnw/yaZ8P8mmfD/J5rw/yea + 8P8nmvD/N6DH/12vi//c5uj/4Onr/3O+nf9qupb/arqX/2q6l/9qupf/a7uX/2u7l/90vp3/4Onr/7zY + 0f9TqoT/OqHI/yuc8f8rnPH/K5zx/yuc8f8rnPH/OaHH/1Oqg/+w1Mj/z+Pg/3G8m/9puZX/aLmV/2i5 + lf9ouZX/Z7iU/2S2kv9CnnX/OZhu/ziYbf84l23/N5ds/zeWbP82lmv/bbKV/8rh3P99vaP/b7SV/+3l + 4//36er/9+nq//fp6v/36er/9+nq//fp6v/36er/9+np//fp6f/36en/9+np/9fc1f9XqoX/cLeZ/6HQ + vv8/mXH/Jope/yaKXf8liV3/JIlc/yOIW/8iiFv/OJVs/5HKsv96vqD/SKN6/7XNvv/25+b/9ufm//bn + 5f/25+X/9ufl//bm5f/25uT/9ubk//bm5P/25uT/9ubj//bm4//25eL/9uXi//Xl4v/15eH/2szI/76y + r/++sa7/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP// + /wD///8AU1NT/1RUVP9VVVX/VlZW/1dXV/9YWFj/Gxsb/wcHB/9QqIH/0OHg/4DCpv/y8Pj/0OHg/1Gp + gv8wndT/Jpnw/yaa8P8nmvD/J5rw/yia8P8omvD/KJrw/zigx/9SqYP/xt3Y/9/p6/9yvZz/abmV/2m5 + lf9puZX/abqW/2m6lv9nuJT/Z7iU/2m6lv9yvZz/3ejq/7nXzv9SqoP/OqHI/yyc8f8snPH/LJzx/zqh + yP9SqYP/r9TI/8/i3/9wvJr/aLiU/2e4lP9nuJT/Z7iU/2a4lP9jtpH/QZ51/ziYbf84l23/N5ds/zeW + bP82lmv/NZZr/22ylf/J4dv/fL2i/2+0lP/t5eP/9+nq//fp6v/36er/9+nq//fp6v/36er/9+nq//fp + 6v/36er/9+nq//fp6v/36er/9+np/9fc1f9WqYT/bbaX/53Pu/89l3D/JYlc/ySJXP8jiFv/Ioda/ziV + bP+QyrL/eb6g/1Kngf+/0sX/9ufn//bn5v/25+b/9ufm//bn5v/25+X/9ufl//bm5f/25uT/9ubk//bm + 5P/25uT/9ubj//bm4//25eL/9uXi//Xl4v/azMn/vrKv/76yr/////8A////AP///wD///8A////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wBUVFT/VVVV/1ZWVv9XV1f/WFhY/1lZ + Wf8cHBz/BwcH/0+ogP/Q4d//icWs/3/Bpv/y8Pj/u9jQ/02niP8vndv/KJrw/yia8P8pm/D/KZvw/ymb + 8P84oMf/UamC/7vY0P/f6ev/cLyb/2e4lP9nuJT/aLiU/2i5lP9ouZX/ZbeT/0mje/9Io3r/ZbeT/2i5 + lf9xvJv/2ufn/7bWzP9RqYL/O6LH/y6d8f87osf/UamC/67Tx//O4t7/bruZ/2a4lP9muJP/ZreT/2a3 + k/9lt5P/YrWQ/0GddP84l23/N5ds/zeWbP82lmv/NZZr/zWVav9ssZT/yOHb/3y9ov9utJT/7Obk//fq + 6//36uv/9+rr//fq6//36uv/9+rr//fq6//36er/9+nq//fp6v/36er/9+nq//fp6v/36er/9+nq/9fc + 1f9VqIP/a7WV/5jNuP87lm7/I4hb/yKHWv83lGv/kMqx/3i9oP9SpoD/1dvT//bo5//26Of/9ufn//bn + 5v/25+b/9ufm//bn5v/25+X/9ufl//bn5f/25uX/9ubk//bm5P/25uT/9ubj//bm4//25eL/9uXi/9rM + yf+/s7D/vrKv/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AFVVVf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/xwcHP8HBwf/TqeA/9Dh3/+IxKz/YrWQ/3/B + pf/79P//pc7A/0qmjv8rnOn/KZvw/yqb8P8qm/H/OKDH/1Cogf+72ND/3+nr/2+7mv9mt5P/ZreT/2a4 + k/9muJP/ZriT/2S2kv9Ionr/QJ10/0Cdc/9Honn/ZLaR/2e4lP9vu5r/1uXk/7PVyv9QqIH/RKSr/1Co + gf+u08b/zeLe/226mf9lt5P/ZbeT/2W3kv9lt5L/ZLaS/2K0j/9AnXP/N5ds/zeWbP82lmv/NZZr/zWV + av80lWr/bLGU/8fh2v97vKH/brOT/+zm5P/36uv/9+rr//fq6//36uv/9+rr//fq6//36uv/9+rr//fq + 6//36uv/9+rr//fq6//36uv/9+nq//fp6v/36er/9+nq/9bc1f9Up4L/aLST/5TMtf84lWz/N5Rr/4/J + sf94vZ//UqaA/9bb0//36Oj/9+jo//bo5//26Of/9ujn//bn5//25+b/9ufm//bn5v/25+X/9ufl//bn + 5f/25uX/9ubk//bm5P/25uT/9ubj//bm4//25eL/28zJ/7+zsP+/s7D/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVlZW/1dXV/9YWFj/WVlZ/1pa + Wv9bW1v/HBwc/wcHB/9Npn//0OHf/4fEq/9htI//YbSP/5vMuf/79P//j8Sw/0ellf8tner/K5zx/zmg + x/9Pp4D/u9fP/9/o6v9uupn/ZLaS/2W2kv9lt5L/ZbeS/2W3kv9itZD/RqJ5/z+dc/94t57/SqF7/z6c + cv9FoXj/Y7WQ/2W3k/9uupn/0uTh/6/TyP9PqID/rdLG/8zh3f9supj/ZLaS/2S2kv9ktpL/ZLaR/2O2 + kf9gtI//P5xz/zaWbP82lmv/NZVr/zWVav80lWr/NJRp/2uxk//H4Nn/eryg/22zk//s5uX/9+rs//fq + 7P/36uz/9+rs//fq7P/36uz/9+rs//fq6//36uv/9+rr//fq6//36uv/9+rr//fq6//36uv/9+rr//fq + 6//36er/9+nq/9bc1f9Tp4H/ZrOR/5DKsf+OybD/d72f/1GmgP/W29T/9+jo//fo6P/36Oj/9+jo//bo + 5//26Of/9ujn//bn5//25+b/9ufm//bn5v/25+X/9ufl//bn5f/25uX/9ubk//bm5P/25uT/9ubj//bm + 4//czcr/wbSx/7+zsP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wBXV1f/WFhY/1lZWf9aWlr/W1tb/1xcXP8cHBz/BwcH/0ymfv/P4d//hsOq/1+z + jv9gs47/YLOP/5rMuf/79P//brWX/0Gjqv81n9X/Tqd//7rXz//e6Or/bLmX/2O1kf9jtZH/Y7aR/2O2 + kf9jtpH/YbSP/0WheP8+nHL/g7ym//Xy+//R4eD/SKB6/z2bcf9EoHf/YbSP/2S2kv9suZf/zuLe/9Lj + 4f/L4dz/a7mX/2O2kf9jtZH/Y7WR/2O1kf9itZD/X7OO/z6ccv82lmv/NZVr/zWVav80lWr/NJRp/zOU + af9qsJP/xuDZ/3m7oP9ss5P/7Obl//fq7P/36uz/9+rs//fq7P/36uz/9+rs//fq7P/36uz/9+rs//fq + 7P/36uz/9+rs//fq7P/36uv/9+rr//fq6//36uv/9+rr//fq6//36uv/9+nq/9bc1f9SpoD/ZLKQ/3a9 + nv9Oo3z/x83G//fp6f/36en/9+np//fo6P/36Oj/9+jo//fo6P/26Of/9ujn//bn5//25+b/9ufm//bn + 5v/25+b/9ufl//bn5f/25uX/9ubk//bm5P/25uT/9ubj/9zNy//BtLH/wbSx/////wD///8A////AP// + /wD///8ATk5O/09PT/9QUFD/UVFR/1JSUv9TU1P/VFRU/1VVVf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/1tb + W/9cXFz/XV1d/x0dHf8HBwf/S6V9/8/g3/+Fwqn/XrKN/16yjf9fso7/X7OO/7fYzv/w7/f/brWW/02m + fv+618//3ujq/2u4lv9htJD/YrSQ/2K1kP9itZD/YrWQ/2Czjv9EoHf/PZtx/4K8pf/q7fP/bbSW/7PU + yv/N393/R594/zuab/9Cnnb/YLOO/2K1kP9quJb/stbK/2q4lv9itZD/YrWQ/2K0kP9itJD/YbSQ/16y + jf8+m3L/NZVq/zWVav80lGr/NJRp/zOUaf8zk2j/abCS/73c0/9xt5n/bLKS/+3m5f/36uz/+Ovt//jr + 7f/46+3/+Ovt//jr7f/46+3/9+rs//fq7P/36uz/9+rs//fq7P/36uz/9+rs//fq7P/36uz/9+rs//fq + 7P/36uv/9+rr//fq6//36uv/9+rr/9bc1f9Qpn//TaJ8/6+3sP/g09P/9+np//fp6f/36en/9+np//fo + 6P/36Oj/9+jo//fo6P/26Of/9ujn//bo5//25+b/9ufm//bn5v/25+b/9ufl//bn5f/25uX/9ubk//bm + 5P/25uT/3M7L/8K1s//BtLH/////AP///wD///8A////AP///wBPT0//UFBQ/1FRUf9SUlL/U1NT/1RU + VP9VVVX/VlZW/1dXV/9YWFj/WVlZ/1paWv9bW1v/XFxc/11dXf9eXl7/HR0d/wcHB/9LpX3/z+De/4TC + qf9dsYz/XbGM/16yjf9eso3/XrKN/8Db1P/a5ef/udfP/97o6v9pt5X/YLOO/2Czj/9gtI//YLSP/2G0 + j/9eso3/Q592/zybcf+Bu6T/6e3y/2y0lf+Cu5//V6qF/7DTyP/J3tr/RZ53/zmYbv9BnXT/X7KN/2G0 + j/9htI//YbSP/2G0j/9htI//YLSP/2Czj/9dsYz/PZtx/zSVav80lGn/M5Rp/zOUaP8yk2j/MpNo/2mw + kv+93NL/YrCO/2Oqiv/a1dT/+Ovt//jr7f/46+3/+Ovt//jr7f/46+3/+Ovt//jr7f/46+3/+Ovt//jr + 7f/46+3/+Ovt//jr7f/36uz/9+rs//fq7P/36uz/9+rs//fq7P/36uz/9+rr//fq6//36uv/9+rr/8fO + yP+wuLH/yb2+/+DT1P/36er/9+nq//fp6f/36en/9+np//fp6f/36Oj/9+jo//fo6P/26Of/9ujn//bo + 5//25+b/9ufm//bn5v/25+b/9ufl//bn5f/25uX/9ubk//bm5P/czsz/wrWz/8K1s/////8A////AP// + /wD///8A////AFBQUP9RUVH/UlJS/1NTU/9UVFT/VVVV/1ZWVv9XV1f/WFhY/1lZWf9aWlr/W1tb/1xc + XP9dXV3/Xl5e/19fX/8dHR3/BwcH/0qkfP/P4N7/g8Go/1uwi/9csYv/XLGM/12xjP9dsYz/XbGM/8rf + 2//d6Or/aLaU/16yjf9eso3/X7KO/1+zjv9fs47/XbGM/0Kfdf87mnD/gLuj/+js8f9rs5X/damQ/+LU + 1P/M0cr/VKeC/63Sxv/F3Nf/Q511/ziXbf8/nHP/XbGM/2Czjv9gs47/X7OO/1+zjv9fs47/XLGL/zya + cP80lGn/M5Rp/zOTaP8yk2j/MpNo/zGSZ/9or5H/vNvR/2Gvjf9epoX/vLi3/9nNz//t4eP/7eHj/+3h + 4//t4eP/7eHj/+3h4//t4eP/7eHj/+3h4//t4eP/7eHj/+3h4//t4eP/7eHj/+3h4v/t4eL/7eDi/+zg + 4v/s4OH/7N/h/+zf4f/s3+H/7N/h/+zf4f/s3+D/1srL/8C1tv/Atbb/1cnK/+ve3//r3t//697f/+ve + 3v/r3t7/697e/+vd3f/r3d3/693d/+vd3P/q3Nz/6tzb/+rc2//p29v/6dva/+nb2v/p29r/6dvZ/+nb + 2f/p2tn/6drY/9HDwv+4rKv/uKup/////wD///8A////AP///wD///8AUFBQ/1JSUv9TU1P/VFRU/1VV + Vf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/1tbW/9cXFz/XV1d/15eXv9fX1//X19f/x0dHf8HBwf/SaN7/8/g + 3v+CwKf/Wq+K/1uwiv9bsIr/W7CL/1ywi/9csYv/ZrWT/2a1k/9dsYz/XbGM/12xjP9dsoz/XrKN/1yw + i/9BnnX/Oplv/3+6o//n7PH/arOU/22iif+nnZ3/wre3/8vAwP+0u7T/U6eB/6rRw//B29T/QZx0/zaW + a/89m3L/XLCL/16yjf9eso3/XrKN/1uwi/87mnD/M5Ro/zKTaP8yk2j/MZNn/zGSZ/8xkmf/Z6+Q/7vb + 0f9gr4z/XqWF/6Wiof+roqT/vLK1/83Cxf/NwsX/zcLF/83Cxf/NwsX/zcLF/83Cxf/NwsX/zcLF/83C + xf/MwsT/zMLE/8zCxP/MwsP/zMLD/8zCw//LwcL/y8HC/8vBwv/LwcL/ysDB/8rAwf/Jv8H/yb/B/8m/ + wf+2ra7/o5uc/6ObnP+2rK3/yb2+/8i8vf/IvL3/yLy9/8i8vP/Hu7v/x7u7/8e7u//Gurr/xrq6/8a6 + uv/Furn/xLm4/8S5uP/EuLf/w7e2/8O3tv/Dt7X/w7e1/8O3tf/DtrX/rqKi/5qPj/+Zj47/////AP// + /wD///8A////AP///wBRUVH/UlJS/1NTU/9UVFT/VlZW/1dXV/9YWFj/WVlZ/1paWv9bW1v/XFxc/11d + Xf9eXl7/X19f/19fX/9gYGD/HR0d/wcHB/9Io3r/zuDe/4HApv9Zron/Wa+J/1qvif9ar4r/Wq+K/1uw + iv9bsIr/W7CL/1uwi/9csIv/XLGL/1yxi/9ar4r/QJ10/zmYbv9+uaL/5+zw/2myk/9toon/qJ6e/6mf + n//Dubn/zMHB/8zBwf+0vLX/UqaA/6fPwf++2dL/P5py/zWVav88mnD/Wq+K/12xjP9ar4r/Oplv/zKT + aP8yk2j/MZJn/zGSZ/8wkmb/MJFm/2eukP+629D/X66M/2Kpif+9ubn/q6Kl/6uipf+9s7b/zsPG/87E + xv/OxMb/zsPG/87Dxv/Ow8b/zcPF/83Dxf/Nw8X/zcLF/83Cxf/NwsX/zcLF/83Cxf/MwsT/zMLE/8zC + xP/MwsP/zMLD/8vBwv/LwcL/y8HC/8vBwv/KwMH/yb/B/7eur/+knJ3/pJyd/7atrv/Jvr//yb6//8m9 + vv/IvL3/yLy9/8i8vf/IvLz/x7u7/8e7u//Hu7v/xrq6/8a6uv/Furn/xLm4/8S5uP/EuLf/w7e2/8O3 + tv/Dt7X/w7e1/8O3tf+uo6L/mo+P/5qPj/////8A////AP///wD///8A////AFJSUv9TU1P/VFRU/1VV + Vf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/1xcXP9dXV3/Xl5e/19fX/9fX1//YGBg/2FhYf8eHh7/BwcH/0ei + ev/O4N7/gL+l/1iuiP9Yroj/WK6I/1muif9Zr4n/Wa+J/1qvif9ar4n/Wq+K/1qviv9bsIr/Wa6I/z+c + c/84mG3/fbmh/+br7/9ospL/grac/7uwsP+yp6f/sqio/87Cwv/Xy8v/18vM/9fMzf+/xr//VKiC/6TO + v/+618//Pplx/zOUaf86mW//Vq2G/zqYbv8xkmf/MZJn/zCSZv8wkWb/L5Fm/y+RZf9mro//udrQ/1+u + i/9mro3/0czM/9DGyP+1rK7/ta2v/8e+wP/ZztH/2c7R/9nO0f/ZztH/2c7R/9nO0f/ZztH/2c7R/9nO + 0f/YztH/2M7Q/9jN0P/YzdD/2M3P/9jNz//YzM//18zP/9fMz//XzM7/18zO/9fMzv/XzM3/1szN/9bL + zf/Wy8z/wri5/66mpv+upqb/wbi5/9XKy//Vycr/1cnK/9XIyf/UyMn/1MfI/9THyP/Ux8f/08fH/9PH + x//Txsb/0sbG/9LGxv/SxsX/0cXE/9HExP/RxMP/0MPC/9DDwv/Qw8H/0MPB/7qurf+kmZn/pJmZ//// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+fj8/11d + Xf9eXl7/X19f/19fX/9gYGD/YWFh/x4eHv8HBwf/RqF5/87f3v9/vqT/Vq2H/1eth/9XrYf/V62H/1iu + iP9Yroj/WK6I/1muiP9Zron/Wa+J/1eth/8+m3L/N5ds/3y4oP/l6+//Z7GR/4q9pP/36Oj/18vL/83C + wv/NwsL/7d/f//fp6v/36er/9+nq//fq6//W3db/U6eC/6HNvP+21sz/PJhv/zGTZ/8xkmf/MZJn/zCS + Zv8wkWb/L5Fl/y+RZf8ukGX/Za2P/7naz/9erYv/c7WX/+3n5//47O//7uLl/8/FyP/Pxcj/5Nnc//js + 7//47O//+Ozv//js7//47O//+Ozv//js7//47O//+Ozv//js7//47O//+Ozv//js7//47O//+Ozv//js + 7v/47O7/+Ovu//jr7v/46+7/+Ovu//jr7v/46+3/+Ovt//jr7f/i1tj/y8HC/8rAwf/h1df/9+rs//fq + 6//36uv/9+rr//fq6//36er/9+nq//fp6v/36en/9+np//fp6f/36Oj/9+jo//fo6P/26Of/9ujn//bn + 5//25+b/9ufm//bn5v/25+X/3c/O/8O3tf/DtrX/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD5+Pz/Xl5e/19fX/9fX1//YGBg/2FhYf9iYmL/Hh4e/wcH + B/9FoXj/zt/d/36+pP9VrIb/VayG/1ashv9WrYb/Vq2H/1eth/9XrYf/V62H/1ith/9WrIb/PZtx/zaW + a/98uJ//5Oru/2awkf+JvKP/9+jo//fo6P/YzMz/zcLC/87Dw//t3+D/9+nq//fp6v/36uv/9+rr//fq + 6//W3db/UqeB/57Luv+y1Mn/Opdu/zCRZv8vkWX/L5Fl/y6QZf8ukGT/LpBk/2Stjv+42s7/Xa2K/4m+ + pf/47O//+Ozv//js7//u4+b/0MbJ/9DGyf/k2dz/+Ozw//js8P/47PD/+Ozw//js8P/47PD/+Ozw//js + 8P/47PD/+Ozw//js7//47O//+Ozv//js7//47O//+Ozv//js7//47O//+Ozu//js7v/46+7/+Ovu//jr + 7v/46+7/+Ovt/+LX2P/MwsP/zMLD/+HV1//36uz/9+rs//fq6//36uv/9+rr//fq6//36er/9+nq//fp + 6v/36en/9+np//fp6f/36Oj/9+jo//fo6P/26Of/9ujn//bn5//25+b/9ufm//bn5v/d0M7/xLi2/8S3 + tv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APn4 + /P9fX1//X19f/2BgYP9hYWH/YmJi/2NjY/8eHh7/BwcH/0Sgd//N393/fb2j/1SrhP9Uq4X/VauF/1Ws + hf9VrIb/VayG/1ashv9WrIb/VKuF/zuacP81lWr/b7GW/+7v9f9lsJD/fbec//fo6P/36Oj/9+np/9jN + zf/Ow8P/zsPD/+3g4P/36er/9+rr//fq6//36uv/9+rs//fq7P/W3db/UaaA/5rKuP+u08b/OJVs/y6Q + ZP8ukGT/LY9k/y2PY/9krI3/t9nO/1ysif+JvaX/+Ozv//js7//47O//+Ozv/+7j5v/Rx8r/0MbJ/+TZ + 3f/47PD/+Ozw//js8P/47PD/+Ozw//js8P/47PD/+Ozw//js8P/47PD/+Ozw//js8P/47PD/+Ozw//js + 7//47O//+Ozv//js7//47O//+Ozv//js7//47O7/+Ovu//jr7v/46+7/4tfZ/83CxP/MwsP/4tbY//fq + 7P/36uz/9+rs//fq7P/36uv/9+rr//fq6//36er/9+nq//fp6v/36en/9+np//fp6f/36Oj/9+jo//fo + 6P/26Of/9ujn//bn5//25+b/9ufm/93Qzv/EuLb/xLi2/////wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AF9fX/9gYGD/YWFh/2JiYv9jY2P/ZGRk/x4e + Hv8HBwf/RKB3/83f3f99vKL/U6qD/1OqhP9Tq4T/VKuE/1SrhP9Uq4X/VKuF/1Oqg/86mW//NJRp/zSU + af8/mnL/yd3Z/6zRxP9QpX//1tvT//fp6f/36en/2M3N/87Dw//PxMT/7eDh//fq6//36uv/9+rr//fq + 7P/36uz/9+rs//fq7P/X3df/UKZ//5fJtv+q0cP/NpRr/yyPY/8sj2P/iMCp/7bZzf9brIj/iL2k//js + 7//47O//+Ozw//js8P/47PD/7uPn/9HHyv/RyMr/5drd//jt8P/47fD/+O3x//jt8f/47fH/+O3x//jt + 8f/47fH/+O3w//jt8P/47fD/+O3w//js8P/47PD/+Ozw//js8P/47PD/+Ozv//js7//47O//+Ozv//js + 7//47O//+Ozu//jr7v/j19r/zcLF/83CxP/i19j/+Ovt//fq7P/36uz/9+rs//fq7P/36uv/9+rr//fq + 6//36er/9+nq//fp6v/36en/9+np//fp6f/36Oj/9+jo//fo6P/26Of/9ujn//bn5v/25+b/3tDP/8W5 + t//Fubf/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP// + /wD///8AYGBg/2FhYf9iYmL/Y2Nj/2RkZP9lZWX/Hx8f/wcHB/9Dn3b/zd/d/3y8of9RqYL/UqmD/1Kq + g/9SqoP/U6qD/1OqhP9RqYL/OZhu/zOUaP8zk2j/MpNo/zKTaP9Jnnn/2+fo/5XGs/9PpX7/7OTi//fp + 6f/Zzc3/z8TE/8/ExP/t4OH/9+rr//fq6//36uz/9+rs//fq7P/36uz/+Ovt//jr7f/W3df/UKV//5TI + s/+mz8D/NZNp/4e/qf+12c3/W6uI/4i9pP/47PD/+Ozw//js8P/47PD/+Ozw//jt8P/u5Of/0snL/9LJ + zP/l297/+O3x//jt8f/47fH/+O3x//jt8f/47fH/+O3x//jt8f/47fH/+O3x//jt8f/47fH/+O3x//jt + 8P/47fD/+Ozw//js8P/47PD/+Ozw//js8P/47O//+Ozv//js7//47O//+Ozu/+PX2v/Ow8b/zcLF/+PX + 2f/46+3/+Ovt//jr7f/36uz/9+rs//fq7P/36uv/9+rr//fq6//36er/9+nq//fp6v/36en/9+np//fp + 6f/36Oj/9+jo//bo5//26Of/9ufn//bn5v/e0M//xbm4/8W5t/////8A////AP///wD///8A////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wBhYWH/YmJi/2NjY/9kZGT/ZWVl/2Zm + Zv8fHx//BwcH/0Kedf/N393/e7ug/1Cogf9QqIH/UamC/1Gpgv9RqYL/UKiB/ziXbf8yk2j/MpNn/zGT + Z/8xkmf/MZJn/zGSZ/9So4D/1+Xl/368o/9lrYz/7OTi/9nNzv/QxMX/0MXG/+3h4v/36uv/9+rs//fq + 7P/36uz/+Ovt//jr7f/46+3/+Ovt//jr7v/W3dj/T6R+/5HGsf+02Mz/tNjM/1qqh/+HvKT/+Ozw//js + 8P/47PD/+O3w//jt8P/47fH/+O3x/+/k6P/Sycz/0snM/+Xb3//47fL/+O3y//jt8v/47fL/+O3y//jt + 8v/47fL/+O3y//jt8v/47fL/+O3x//jt8f/47fH/+O3x//jt8f/47fH/+O3w//jt8P/47PD/+Ozw//js + 8P/47PD/+Ozv//js7//47O//49jb/87Exv/Ow8b/49fa//jr7f/46+3/+Ovt//jr7f/36uz/9+rs//fq + 7P/36uv/9+rr//fq6//36er/9+nq//fp6v/36en/9+np//fo6P/36Oj/9+jo//bo5//26Of/9ufn/97R + 0P/Gurn/xbm4/////wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wD///8A////AGJiYv9jY2P/ZGRk/2VlZf9mZmb/Z2dn/x8fH/8HBwf/QZ50/83e3P96uqD/T6eA/0+o + gP9PqIH/UKiB/06nf/82lmz/MZJn/zCSZv8wkmb/MJJm/zCRZv8wkWb/L5Fm/y+RZf9QoX7/3unq/3y6 + of9lrYz/zsnH/9DFxv/Qxcb/7eHi//fq7P/36uz/9+rs//jr7f/46+3/+Ovt//jr7f/46+7/+Ovu//js + 7v/W3tj/TqR9/4bBqf9Zqof/h7yk//js8P/47PD/+O3w//jt8f/47fH/+O3x//jt8f/47fH/7+Tp/9PK + zv/Tys7/5tvg//nt8v/57fL/+e3y//nt8v/57fL/+e3y//nt8v/57fL/+e3y//nt8v/47fL/+O3y//jt + 8v/47fL/+O3x//jt8f/47fH/+O3x//jt8f/47fD/+Ozw//js8P/47PD/+Ozv//js7//k2dz/z8XI/87E + xv/j19r/+Ovu//jr7f/46+3/+Ovt//jr7f/36uz/9+rs//fq7P/36uv/9+rr//fq6//36er/9+nq//fp + 6f/36en/9+np//fo6P/36Oj/9+jo//bo5//26Of/3tHQ/8a6uf/Gurn/////AP///wD///8A////AP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8AYmJi/2NjY/9kZGT/ZmZm/2dn + Z/9oaGj/Hx8f/wcHB/9AnXT/4+nt/3i6nv9Op3//Tqd//06ngP9Mpn7/NZVq/y+RZv8vkWX/L5Fl/y+R + Zf8vkWX/L5Bl/y6QZf8ukGX/LpBk/y6QZP9vsZb/0OPg/16siv9uqo7/0cbH/9HGx//u4eL/9+rs//fq + 7P/46+3/+Ovt//jr7f/46+3/+Ovu//jr7v/47O7/+Ozv//js7//W3dj/TaN9/4a7o//47PD/+O3w//jt + 8f/47fH/+O3x//jt8f/47fL/+O3y//jt8v/v5On/1MrO/9TKzv/n3OD/+e3y//nu8//57vP/+e7z//nu + 8//57vP/+e7z//nu8//57vP/+e3y//nt8v/57fL/+e3y//nt8v/47fL/+O3y//jt8v/47fH/+O3x//jt + 8f/47fH/+O3w//js8P/47PD/+Ozw/+TZ3P/Pxcj/z8XI/+PY2//46+7/+Ovu//jr7f/46+3/+Ovt//jr + 7f/36uz/9+rs//fq7P/36uv/9+rr//fp6v/36er/9+nq//fp6f/36en/9+np//fo6P/36Oj/9ujn//bo + 5//f0dH/x7u6/8a6uf////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wBjY2P/ZGRk/2VlZf9mZmb/Z2dn/2hoaP8gICD/BwcH/z+cc//38/z/drmd/0ym + fv9Npn7/S6V9/zSUaf8ukGX/LpBk/y6QZP8ukGT/LpBk/y2QZP8tkGT/LY9k/y2PZP8tj2P/LI9j/yyP + Y/9sr5T/zOHd/1yrif93rZP/0cbI/+7h4//36uz/9+rs//jr7f/46+3/+Ovt//jr7v/46+7/+Ozu//js + 7//47O//+Ozv//js8P/h4uH/+Ozw//jt8P/47fH/+O3x//jt8f/47fL/+O3y//jt8v/57fL/+e3y//Dl + 6v/Vy9D/1cvQ/+fd4v/57vP/+e7z//nu8//57vP/+e7z//nu8//57vP/+e7z//nu8//57vP/+e7z//nu + 8//57vP/+e3y//nt8v/57fL/+O3y//jt8v/47fL/+O3x//jt8f/47fH/+O3w//js8P/47PD/5Nnd/9DG + yf/Pxcj/5Nnb//js7v/46+7/+Ovu//jr7f/46+3/+Ovt//fq7P/36uz/9+rs//fq6//36uv/9+rr//fp + 6v/36er/9+nq//fp6f/36en/9+jo//fo6P/36Oj/9ujn/9/S0f/Hu7v/x7u6/////wD///8A////AP// + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AGRkZP9lZWX/ZmZm/2dn + Z/9oaGj/aWlp/yAgIP8HBwf/Ppxy//Xy+/91uJz/S6V9/0mke/8zk2j/LY9k/y2PY/8tj2P/LY9j/yyP + Y/8sj2P/LI9j/yyPY/8sjmP/LI5i/yuOYv8rjmL/K45i/yuOYv9+uaH/x9/a/1Kmgf93rZT/7uHj//fq + 7P/46+3/+Ovt//jr7f/46+7/+Ovu//js7v/47O//+Ozv//js7//47PD/+Ozw//js8P/47fH/+O3x//jt + 8f/47fL/+O3y//jt8v/57fL/+e3y//nu8//57vP/8OXq/9bM0f/WzNH/593i//nu8//57vP/+e7z//nu + 9P/57vT/+e70//nu9P/57vP/+e7z//nu8//57vP/+e7z//nu8//57vP/+e7z//nu8//57fL/+e3y//jt + 8v/47fL/+O3y//jt8f/47fH/+O3x//js8P/k2d3/0MbJ/9DGyf/k2dz/+Ozv//js7v/46+7/+Ovu//jr + 7f/46+3/+Ovt//fq7P/36uz/9+rs//fq6//36uv/9+rr//fp6v/36er/9+np//fp6f/36en/9+jo//fo + 6P/36Oj/39LS/8i8vP/Hu7r/////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8AZWVl/2ZmZv9nZ2f/aGho/2lpaf9qamr/ICAg/wcHB/89m3H/8vH5/3O3 + m/9Ionr/MZJn/yyOY/8sjmL/LI5i/yuOYv8rjmL/K45i/yuOYv8rjmL/K45i/yuOYv8qjWH/Ko1h/yqN + Yf8qjWH/KY1h/ymNYP+Qwq//stXJ/0ihev+wy73/+Ovt//jr7f/46+3/+Ovu//jr7v/47O7/+Ozv//js + 7//47O//+Ozw//js8P/47fD/+O3x//jt8f/47fH/+O3y//jt8v/57fL/+e3y//nu8//57vP/+e7z//nu + 8//w5uv/1szR/9bM0v/o3eP/+e70//nu9P/57vT/+e70//nu9P/57vT/+e70//nu9P/57vT/+e70//nu + 9P/57vT/+e7z//nu8//57vP/+e7z//nu8//57vP/+e3y//nt8v/47fL/+O3y//jt8f/47fH/+O3x/+Xa + 3f/Rx8r/0MbJ/+TZ3P/47O//+Ozv//js7v/46+7/+Ovu//jr7f/46+3/+Ovt//fq7P/36uz/9+rs//fq + 6//36uv/9+nq//fp6v/36er/9+np//fp6f/36en/9+jo//fo6P/f0tL/yLy8/8i8u/////8A////AP// + /wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wBmZmb/Z2dn/2ho + aP9paWn/ampq/2tra/8gICD/BwcH/zybcf/v8Pf/cLWY/zCRZv8rjmL/Ko1h/yqNYf8qjWH/Ko1h/yqN + Yf8qjWH/Ko1h/yqNYf8pjWH/KY1g/ymMYP8pjGD/KYxg/yiMYP8ojGD/KIxf/yiLX/+Nwa3/rtTG/0eg + eP+yzb//+Ovt//jr7v/46+7/+Ozu//js7//47O//+Ozv//js8P/47PD/+O3w//jt8f/47fH/+O3x//jt + 8v/57fL/+e3y//nu8//57vP/+e7z//nu8//57vP/+e70//Dm7P/XzdP/183T/+jd4//57vT/+e/0//nv + 9P/57/T/+e/0//nv9P/57/T/+e/0//nv9P/57vT/+e70//nu9P/57vT/+e70//nu9P/57vP/+e7z//nu + 8//57vP/+e7z//nt8v/57fL/+O3y//jt8f/47fH/5dve/9HIyv/Rx8r/5drd//js7//47O//+Ozv//js + 7v/46+7/+Ovu//jr7f/46+3/+Ovt//fq7P/36uz/9+rr//fq6//36uv/9+nq//fp6v/36er/9+np//fp + 6f/36Oj/9+jo/+DS0v/IvLz/yLy8/////wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8A////AGZmZv9oaGj/aWlp/2pqav9ra2v/bGxs/yAgIP8HBwf/PJpw/+3v + 9f+AuaL/WaWF/1mlhP9YpIT/V6SE/1ekg/9WpIP/VqOC/1Wjgv9Vo4L/VKOB/1Sjgf9TooD/U6KA/1Ki + f/9RoX//UaF//1Chfv9PoH7/T6B9/06gff+72tD/mcq3/z2bcf/J18//+Ovu//js7v/47O//+Ozv//js + 7//47PD/+Ozw//jt8P/47fH/+O3x//jt8v/47fL/+e3y//nt8v/57vP/+e7z//nu8//57vP/+e70//nu + 9P/57vT/8ebs/9fO0//XztP/6N/k//nv9f/57/X/+e/1//nv9f/57/X/+e/1//nv9f/57/X/+e/1//nv + 9f/57/X/+e/0//nv9P/57vT/+e70//nu9P/57vT/+e7z//nu8//57vP/+e7z//nt8v/57fL/+O3y//jt + 8v/l29//0snM/9HIy//l2t3/+Ozw//js7//47O//+Ozv//js7v/46+7/+Ovu//jr7f/46+3/9+rs//fq + 7P/36uz/9+rr//fq6//36uv/9+nq//fp6v/36en/9+np//fp6f/36Oj/4NPT/8m9vP/IvLz/////AP// + /wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8AZ2dn/2ho + aP9paWn/ampq/2xsbP9tbW3/ISEh/wcHB/87mW//vtnS/73Y0f+82ND/u9fP/7nXzv+41s3/ttbM/7XV + y/+01cv/stTK/7HUyf+w08j/r9PH/63Sxv+s0sX/qtHE/6nRw/+o0ML/ptDB/6XPwP+kz7//os6+/6HO + vf+fzbz/bbSW/0igeP/V3Nb/+Ozv//js7//47O//+Ozw//js8P/47fD/+O3x//jt8f/47fL/+O3y//nt + 8v/57fL/+e7z//nu8//57vP/+e70//nu9P/57vT/+e70//nv9P/x5+z/2M/U/9jP1P/p3+X/+e/1//nv + 9f/57/X/+e/1//nv9f/57/X/+e/1//nv9f/57/X/+e/1//nv9f/57/X/+e/1//nv9f/57/T/+e70//nu + 9P/57vT/+e70//nu8//57vP/+e7z//nt8v/57fL/+O3y/+Xb3//Sycz/0snM/+Xb3v/47PD/+Ozw//js + 7//47O//+Ozv//jr7v/46+7/+Ovt//jr7f/46+3/9+rs//fq7P/36uz/9+rr//fq6//36er/9+nq//fp + 6v/36en/9+np//fo6P/g09P/yb29/8m9vP////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AP///wBoaGj/aWlp/2pqav9ra2v/bGxs/21tbf8hISH/BwcH/zqZ + bv86mW7/Oplu/zqZb/86mW//Oplv/zqZb/87mW//O5lv/zuZb/87mW//O5pv/zuab/87mm//O5pw/zua + cP87mnD/O5pw/zuacP87mnD/PJpw/zyacP88mnD/PJpw/zyacP88mnD/PJpw/0efeP/g4t//+Ozv//js + 8P/47PD/+O3w//jt8f/47fH/+O3y//jt8v/57fL/+e3y//nu8//57vP/+e7z//nu9P/57vT/+e70//nv + 9P/57/X/+e/1//Hn7f/Yz9T/2M/U/+nf5f/57/b/+e/2//nv9v/57/b/+e/2//nv9v/57/b/+e/2//nv + 9v/57/b/+e/1//nv9f/57/X/+e/1//nv9f/57/X/+e/0//nu9P/57vT/+e70//nu8//57vP/+e7z//nt + 8v/57fL/5tzg/9PKzv/Tys3/5dve//jt8P/47PD/+Ozw//js7//47O//+Ozu//jr7v/46+7/+Ovt//jr + 7f/46+3/9+rs//fq7P/36uv/9+rr//fq6//36er/9+nq//fp6f/36en/9+np/+HT0//Kvr7/yb28//// + /wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AGlp + af9qamr/a2tr/2xsbP9tbW3/bm5u/yEhIf8HBwf/9ubk//bm5P/25uX/9ufl//bn5f/25+b/9ufm//bn + 5//26Of/9ujn//fo6P/36Oj/9+np//fp6f/36er/9+nq//fp6v/36uv/9+rr//fq7P/36uz/3tLU/9bL + zP/Wy8z/8OPl//jr7v/47O7/+Ozv//js7//47O//+Ozw//js8P/47fH/+O3x//jt8f/47fL/+e3y//nt + 8v/57vP/+e7z//nu8//57vT/+e70//nv9P/57/X/+e/1//nv9f/57/X/8eft/9nQ1v/Z0Nb/6eDm//nv + 9v/57/b/+e/2//nv9v/57/b/+e/2//nv9v/57/b/+e/2//nv9v/57/b/+e/2//nv9v/57/X/+e/1//nv + 9f/57/X/+e/1//nv9P/57vT/+e70//nu8//57vP/+e7z//nt8v/n3OD/08rO/9PKzv/m3N//+O3x//js + 8P/47PD/+Ozv//js7//47O//+Ozu//jr7v/46+7/+Ovt//jr7f/36uz/9+rs//fq7P/36uv/9+rr//fp + 6v/36er/9+nq//fp6f/36en/4dPT/8q+vv/Kvr3/////AP///wD///8A////AP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8Aampq/2tra/9sbGz/bW1t/25ubv9vb2//ISEh/wcH + B//25uT/9ubk//bm5f/25+X/9ufm//bn5v/25+b/9ujn//bo5//36Oj/9+jo//fo6P/36en/9+np//fp + 6v/36er/9+rr//fq6//36uv/9+rs//fq7P/f09T/18zN/9fMzf/w4+b/+Ovu//js7//47O//+Ozv//js + 8P/47PD/+O3w//jt8f/47fH/+O3y//nt8v/57fL/+e7z//nu8//57vP/+e70//nu9P/57/T/+e/1//nv + 9f/57/X/+e/1//nv9v/x5+7/2tHX/9rR1//p4Ob/+fD2//nw9v/58Pf/+fD3//nw9//58Pf/+fD3//nw + 9//58Pb/+fD2//nw9v/57/b/+e/2//nv9v/57/b/+e/1//nv9f/57/X/+e/1//nv9P/57vT/+e70//nu + 8//57vP/+e7z/+fc4f/Vy8//1MvP/+bc3//47fH/+O3w//js8P/47PD/+Ozv//js7//47O//+Ovu//jr + 7v/46+3/+Ovt//jr7f/36uz/9+rs//fq6//36uv/9+rr//fp6v/36er/9+np//fp6f/h1NT/y7+//8q+ + vv////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP// + /wBqamr/a2tr/21tbf9ubm7/b29v/3BwcP8hISH/BwcH//bm5P/25uT/9ufl//bn5f/25+b/9ufm//bn + 5//26Of/9ujn//fo6P/36Oj/9+np//fp6f/36en/9+nq//fp6v/36uv/9+rr//fq7P/36uz/9+rs/9/U + 1f/XzM3/18zO//Dj5v/47O7/+Ozv//js7//47PD/+Ozw//jt8P/47fH/+O3x//jt8v/57fL/+e3y//nu + 8//57vP/+e7z//nu9P/57vT/+e/0//nv9f/57/X/+e/1//nv9v/57/b/+e/2//Ho7v/a0tf/2tLY/+rh + 5//58Pf/+fD3//nw9//58Pf/+fD3//nw9//58Pf/+fD3//nw9//58Pf/+fD3//nw9//58Pb/+e/2//nv + 9v/57/b/+e/2//nv9f/57/X/+e/1//nv9P/57vT/+e70//nu8//57vP/593i/9XLz//Vy8//5tzg//jt + 8f/47fH/+O3w//js8P/47PD/+Ozv//js7//47O7/+Ovu//jr7v/46+3/+Ovt//fq7P/36uz/9+rs//fq + 6//36uv/9+nq//fp6v/36er/9+np/+HU1P/Lv7//y7+//////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AGtra/9sbGz/bW1t/25ubv9wcHD/cXFx/yIi + Iv8HBwf/9ubk//bm5f/25+X/9ufl//bn5v/25+b/9ufn//bo5//36Oj/9+jo//fo6P/36en/9+np//fp + 6v/36er/9+nq//fq6//36uv/9+rs//fq7P/46+3/4NTW/9jNzv/Yzc//8OTm//js7//47O//+Ozv//js + 8P/47PD/+O3x//jt8f/47fL/+O3y//nt8v/57vP/+e7z//nu8//57vT/+e70//nv9P/57/X/+e/1//nv + 9f/57/b/+e/2//nv9v/58Pb/8unv/9vT2f/b09n/6uHo//nw9//68Pf/+vD3//rw+P/68Pj/+vD4//rw + +P/68Pf/+vD3//nw9//58Pf/+fD3//nw9//58Pf/+fD2//nv9v/57/b/+e/2//nv9f/57/X/+e/1//nv + 9P/57vT/+e70//nu8//o3eL/1szR/9bM0P/n3OH/+O3y//jt8f/47fH/+Ozw//js8P/47O//+Ozv//js + 7//46+7/+Ovu//jr7f/46+3/+Ovt//fq7P/36uz/9+rr//fq6//36uv/9+nq//fp6v/36en/4dXV/8u/ + v//Lv7//////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AbGxs/21tbf9ubm7/b29v/3BwcP9xcXH/IiIi/wcHB//25uT/9ubl//bn5f/25+b/9ufm//bn + 5v/26Of/9ujn//fo6P/36Oj/9+np//fp6f/36en/9+nq//fp6v/36uv/9+rr//fq7P/36uz/9+rs//jr + 7f/g1db/2M3P/9jNz//w5Of/+Ozv//js7//47PD/+Ozw//jt8P/47fH/+O3x//jt8v/57fL/+e7z//nu + 8//57vP/+e70//nu9P/57/T/+e/1//nv9f/57/X/+e/2//nv9v/57/b/+fD2//nw9//y6fD/29PZ/9zT + 2f/r4un/+vD4//rw+P/68Pj/+vD4//rw+P/68Pj/+vD4//rw+P/68Pj/+vD4//rw+P/68Pf/+fD3//nw + 9//58Pf/+fD3//nv9v/57/b/+e/2//nv9f/57/X/+e/1//nv9P/57vT/+e70/+jd4v/WzNH/1szR/+fd + 4f/47fL/+O3x//jt8f/47fD/+Ozw//js8P/47O//+Ozv//js7v/46+7/+Ovu//jr7f/46+3/9+rs//fq + 7P/36uz/9+rr//fq6//36er/9+nq//fp6f/i1dX/zMHB/8u/v/////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////APn4/P9tbW3/bm5u/29vb/9wcHD/cXFx/3Jy + cv8iIiL/BwcH//bm5P/25+X/9ufl//bn5v/25+b/9ufm//bo5//26Of/9+jo//fo6P/36en/9+np//fp + 6v/36er/9+nq//fq6//36uv/9+rs//fq7P/46+3/+Ovt/+HV1//ZztD/2c7Q//Dl5//47O//+Ozv//js + 8P/47PD/+O3x//jt8f/47fL/+e3y//nt8v/57vP/+e7z//nu9P/57vT/+e/0//nv9f/57/X/+e/1//nv + 9v/57/b/+fD2//nw9//58Pf/+fD3//Pp8P/d1Nv/3dTb/+zi6v/68Pj/+vD4//rx+P/68fj/+vH4//rx + +P/68fj/+vH4//rw+P/68Pj/+vD4//rw+P/68Pj/+vD3//nw9//58Pf/+fD3//nw9v/57/b/+e/2//nv + 9f/57/X/+e/1//nv9P/57vT/6N7j/9fN0v/XzdL/6N3h//nt8v/47fL/+O3x//jt8f/47fD/+Ozw//js + 7//47O//+Ozv//jr7v/46+7/+Ovt//jr7f/46+3/9+rs//fq7P/36uv/9+rr//fp6v/36er/9+nq/+LV + 1f/MwcH/zMDA/////wD///8A////AP///wD///8AYmJi/2NjY/9kZGT/ZWVl/2ZmZv9oaGj/aWlp/2pq + av9ra2v/bGxs/21tbf9ubm7/cHBw/3Fxcf9ycnL/c3Nz/yIiIv8HBwf/9ubk//bn5f/25+X/9ufm//bn + 5v/25+f/9ujn//bo5//36Oj/9+jo//fp6f/36en/9+nq//fp6v/36uv/9+rr//fq6//36uz/9+rs//jr + 7f/46+3/4dXX/9nO0P/az9H/8OXo//js7//47PD/+Ozw//jt8P/47fH/+O3x//jt8v/57fL/+e7z//nu + 8//57vP/+e70//nu9P/57/X/+e/1//nv9f/57/b/+e/2//nw9v/58Pf/+fD3//nw9//68Pf/8+nx/93U + 2//d1dv/7OPq//rx+f/68fn/+vH5//rx+f/68fn/+vH5//rx+f/68fn/+vH5//rx+f/68fj/+vD4//rw + +P/68Pj/+vD3//nw9//58Pf/+fD3//nw9v/57/b/+e/2//nv9f/57/X/+e/1//nu9P/o3uT/183S/9fN + 0v/o3eL/+e3y//jt8v/47fL/+O3x//jt8P/47PD/+Ozw//js7//47O//+Ozu//jr7v/46+7/+Ovt//jr + 7f/36uz/9+rs//fq6//36uv/9+rr//fp6v/36er/4tbW/83Cwv/MwMD/////AP///wD///8A////AP// + /wBiYmL/ZGRk/2VlZf9mZmb/Z2dn/2hoaP9paWn/a2tr/2xsbP9tbW3/bm5u/29vb/9wcHD/cXFx/3Nz + c/90dHT/IiIi/wcHB//v4N7/7d/d/+3f3f/t397/7d/e/+3f3//t4N//7uDg/+/g4P/v4OD/7+Hh/+/h + 4f/v4eL/7+Hi/+/i4//v4+T/7+Pk/+/j5P/v4+X/8OTm//Dk5v/az9L/08jL/9PJy//p3uH/8eXo//Hl + 6f/x5en/8ebq//Hm6v/x5uv/8ubr//Ln7P/y5+z/8ufs//Ln7f/y5+3/8ujt//Lo7v/y6O7/8ujv//Lo + 7//y6e//8unw//Lp8P/z6fD/8+nx//Pp8f/s4+r/2NDW/9jQ1v/l3eT/8+ry//Pq8v/z6vL/8+ry//Pq + 8v/z6vL/8+ry//Pq8v/z6vL/8+ry//Pq8v/z6vH/8+rx//Pp8f/z6fH/8unw//Lp7//x6e//8ejv//Ho + 7v/x5+7/8efu//Hn7f/x5+3/8efs/+HX3P/Qx8z/0MbL/+DW2//w5er/8OXq/+/l6f/v5ej/7+Xo/+/k + 5//v4+f/7+Pm/+/j5v/v4+X/7uLl/+7i5f/u4uT/7uLk/+3h4//t4OL/7eDi/+3g4f/t4OH/7N/g/+zf + 4P/YzMz/xLq6/8S5uf////8A////AP///wD///8A////AGNjY/9kZGT/ZWVl/2dnZ/9oaGj/aWlp/2pq + av9ra2v/bGxs/25ubv9vb2//cHBw/3Fxcf9ycnL/c3Nz/3R0dP8jIyP/BwcH/9rNy//SxcT/0sXF/9LF + xf/Txsb/08fG/9PHxv/VyMj/1cjI/9XJyf/Wysr/1srK/9bKy//Xy8z/18zN/9fMzf/Yzc7/2M3O/9nO + z//Zzs//2s7Q/8a7vv+/trj/wLe5/9TKzP/b0NP/29DU/9vR1P/b0dX/3NLW/9zS1v/d0tb/3dPX/93T + 1//d09j/3dPY/93U2P/e1dn/3tXa/97V2v/e1dv/3tXb/97W3P/e1tz/3tbc/9/W3f/f1t3/39bd/9nR + 1//Gv8X/xr/F/9LK0f/e1t3/3tbe/97W3v/e1t7/3tbe/97W3v/e1t7/3dXd/93V3f/d1dz/3dXc/93V + 3P/c1Nv/3NTa/9zT2v/c09r/29LZ/9vS2P/a0tj/2tLX/9nR1v/Z0Nb/2dDV/9jP1P/Yz9T/ysHF/7uy + t/+6srf/yL/E/9bM0f/WzND/1czQ/9TLz//Uy87/1MvN/9PJzP/Tycz/0sjK/9LIyv/Sx8r/0cbJ/9HG + yP/Qxcf/0MXH/8/Exv/Ow8X/zsPE/83Dw//NwsP/zMHC/7uxsf+poKD/qaCg/////wD///8A////AP// + /wD///8AZGRk/2VlZf9mZmb/Z2dn/2hoaP9qamr/a2tr/2xsbP9tbW3/bm5u/29vb/9xcXH/cnJy/3Nz + c/90dHT/dXV1/yMjI/8HBwf/283M/9LFxP/SxcX/08bG/9PGxv/Tx8b/1MjH/9XIyP/Wycn/1srK/9bK + yv/Xy8v/18vM/9fLzP/XzM3/2M3O/9jNzv/Yzc7/2s7Q/9rO0P/aztD/x7y//8G4uf/BuLr/1crN/9vQ + 1P/c0dX/3NLV/9zS1v/c0tb/3dLW/93T1//e1Nj/3tTY/97U2f/e1Nn/3tXa/97V2v/e1dr/3tXb/97V + 2//e1tz/3tbc/9/W3P/f1t3/39bd/9/W3f/f197/2dHY/8e/xv/Hv8b/08vT/9/X3//f19//39ff/9/X + 3//e1t7/3tbe/97W3v/e1t7/3tbe/97W3v/d1d3/3dXc/93V3P/d1dz/3NTb/9zT2v/c09r/3NPa/9vS + 2P/a0tj/2tLX/9rR1//Z0Nb/2dDV/9nQ1f/Kwsb/vLO4/7uzt//JwMT/183S/9fM0f/WzND/1czQ/9TL + zv/Uy87/1MrN/9PJzP/Tycv/0sjK/9LIyv/Sx8r/0cbJ/9HGyP/Qxcf/z8TG/8/Exv/Ow8T/zsPE/83C + w//NwsP/u7Gy/6qhof+poKD/////AP///wD///8A////AP///wBkZGT/ZmZm/2dnZ/9oaGj/aWlp/2pq + av9ra2v/bW1t/25ubv9vb2//cHBw/3Fxcf9ycnL/dHR0/3V1df92dnb/IyMj/wcHB//i1NL/287M/9zO + zv/czs7/3M/P/93Qz//d0M//3tHR/97R0f/e0tL/39LS/9/T0//f09T/4NTV/+DU1f/g1NX/4NXW/+HV + 1v/i1df/4tXX/+LW2f/Ow8b/yL7A/8m+wf/c0dT/49jc/+PY3P/j2d3/49nd/+PZ3f/l2t7/5drf/+Xb + 3//l29//5dvg/+Xb4P/l3OH/5dzh/+Xc4v/m3OP/5t3j/+bd4//m3eT/5t3k/+fd5f/n3eX/597l/+fe + 5v/g2N//zsbN/87Gzv/a0tr/5t7m/+be5v/m3ub/5t7m/+be5v/m3ub/5t7m/+Xd5f/l3eX/5d3l/+Xd + 5f/l3eX/5Nzk/+Tc4//k3OP/5Nzj/+Tb4v/k2uL/49rh/+La4P/i2uD/4tnf/+LY3//h2N7/4djd/9PK + z//Du7//w7q//9LIzf/g1dr/4NXa/9/U2f/e1Nn/3tTY/93U1//d09b/3dLW/9zS1P/c0tT/3NHT/9zQ + 0//b0NP/28/R/9vP0f/ZztD/2c7Q/9jNzv/Yzc7/2MzN/9jMzf/Gu7z/s6qq/7Opqf////8A////AP// + /wD///8A////AGVlZf9mZmb/Z2dn/2lpaf9qamr/a2tr/2xsbP9tbW3/bm5u/3BwcP9xcXH/cnJy/3Nz + c/90dHT/dXV1/3d3d/8jIyP/BwcH//bn5f/25+X/9ufm//bn5v/25+f/9ujn//fo6P/36Oj/9+jo//fp + 6f/36en/9+nq//fp6v/36uv/9+rr//fq7P/36uz/9+rs//jr7f/46+3/+Ovu/+PX2v/c0dT/3NHU//Hl + 6f/47PD/+O3w//jt8f/47fH/+O3y//nt8v/57vP/+e7z//nu9P/57vT/+e/0//nv9f/57/X/+e/2//nv + 9v/58Pf/+fD3//rw9//68Pj/+vD4//rx+P/68fn/+vH5//Tr8//g1+D/4Njg/+3l7f/68vv/+vL7//ry + +//68vv/+vL7//ry+//68vv/+vL7//ry+//68vv/+vL6//ry+v/68fr/+vH5//rx+f/68fn/+vH4//rw + +P/68Pj/+vD3//nw9//58Pf/+e/2//nv9v/57/X/6uDm/9rR1f/Zz9T/6d/k//nu8//57vP/+e3y//jt + 8v/47fH/+O3x//jt8P/47PD/+Ozv//js7//47O//+Ovu//jr7v/46+3/+Ovt//fq7P/36uz/9+rs//fq + 6//36uv/9+nq/+PX1//PxMT/zsPD/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AHFxcf9zc3P/dHR0/3V1df92dnb/d3d3/yMjI/8HBwf/9ufl//bn + 5f/25+b/9ufm//bn5//26Of/9+jo//fo6P/36en/9+np//fp6f/36er/9+nq//fq6//36uv/9+rs//fq + 7P/46+3/+Ovt//jr7f/46+7/49ja/93S1f/d0tX/8ebp//js8P/47fD/+O3x//jt8v/57fL/+e3y//nu + 8//57vP/+e70//nu9P/57/X/+e/1//nv9f/57/b/+fD2//nw9//58Pf/+vD4//rw+P/68fj/+vH5//rx + +f/68fn/9Ov0/+HZ4f/h2eH/7ubu//ry+//68vv/+vL7//ry+//68vz/+vL8//ry+//68vv/+vL7//ry + +//68vv/+vL6//ry+v/68fr/+vH5//rx+f/68fn/+vH4//rw+P/68Pj/+fD3//nw9//58Pb/+e/2//nv + 9f/q4Ob/2tHW/9rQ1f/p3+T/+e7z//nu8//57fL/+e3y//jt8v/47fH/+O3w//js8P/47PD/+Ozv//js + 7//47O7/+Ovu//jr7f/46+3/+Ovt//fq7P/36uz/9+rr//fq6//36er/49fX/8/ExP/Ow8P/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AcnJy/3Nz + c/90dHT/dnZ2/3d3d/94eHj/IyMj/wcHB//25+X/9ufl//bn5v/25+b/9ujn//bo5//36Oj/9+jo//fp + 6f/36en/9+np//fp6v/36er/9+rr//fq6//36uz/9+rs//jr7f/46+3/+Ovt//jr7v/k2Nv/3dLV/93S + 1f/x5ur/+Ozw//jt8f/47fH/+O3y//nt8v/57vP/+e7z//nu8//57vT/+e/0//nv9f/57/X/+e/2//nv + 9v/58Pb/+fD3//rw9//68Pj/+vD4//rx+f/68fn/+vH5//rx+v/07PT/4drh/+HZ4f/u5u7/+vL7//ry + /P/68vz/+vL8//rz/P/68/z/+vL8//ry/P/68vz/+vL7//ry+//68vv/+vL6//ry+v/68fr/+vH5//rx + +f/68fn/+vD4//rw+P/68Pf/+fD3//nw9v/57/b/+e/2/+rh5v/b0tf/2tHV/+rf5f/57vP/+e7z//nu + 8//57fL/+O3y//jt8f/47fH/+Ozw//js8P/47O//+Ozv//js7v/46+7/+Ovt//jr7f/46+3/9+rs//fq + 7P/36uv/9+rr//fp6v/j19f/z8TE/8/ExP////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wBzc3P/dHR0/3V1df92dnb/d3d3/3l5ef8kJCT/BwcH//bn + 5f/25+X/9ufm//bn5v/26Of/9ujn//fo6P/36Oj/9+np//fp6f/36er/9+nq//fp6v/36uv/9+rr//fq + 7P/36uz/+Ovt//jr7f/46+7/+Ovu/+TZ2//e09b/3tPW//Lm6v/47PD/+O3x//jt8f/47fL/+e3y//nu + 8//57vP/+e70//nu9P/57/T/+e/1//nv9f/57/b/+e/2//nw9//58Pf/+vD3//rw+P/68fj/+vH5//rx + +f/68fr/+vH6//Ts9P/h2uL/4dri/+7m7//68vz/+vL8//rz/P/78/z/+/P8//vz/P/78/z/+vP8//ry + /P/68vz/+vL7//ry+//68vv/+vL6//rx+v/68fr/+vH5//rx+f/68fj/+vD4//rw9//58Pf/+fD3//nv + 9v/57/b/6uHm/9vS1//b0tb/6t/l//nu9P/57vP/+e7z//nt8v/47fL/+O3x//jt8f/47PD/+Ozw//js + 7//47O//+Ozu//jr7v/46+7/+Ovt//jr7f/36uz/9+rs//fq6//36uv/9+nq/+TX2P/QxMX/z8TE//// + /wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AHNz + c/91dXX/dnZ2/3d3d/94eHj/eXl5/yQkJP8HBwf/9ufl//bn5v/25+b/9ufm//bo5//26Of/9+jo//fo + 6P/36en/9+np//fp6v/36er/9+nq//fq6//36uv/9+rs//fq7P/46+3/+Ovt//jr7v/46+7/5dnc/97T + 1v/e09f/8ubq//jt8P/47fH/+O3x//jt8v/57fL/+e7z//nu8//57vT/+e70//nv9f/57/X/+e/1//nv + 9v/58Pb/+fD3//nw9//68Pj/+vD4//rx+P/68fn/+vH5//rx+v/68vr/9Oz1/+Lb4//i2+P/7ubw//rz + /P/78/z/+/P9//vz/f/78/3/+/P9//vz/f/78/3/+/P8//rz/P/68vz/+vL7//ry+//68vv/+vL6//rx + +v/68fn/+vH5//rx+P/68Pj/+vD4//nw9//58Pf/+fD2//nv9v/r4ef/3NPY/9vS1//q4OX/+e70//nu + 8//57vP/+e3y//jt8v/47fH/+O3x//jt8P/47PD/+Ozv//js7//47O//+Ovu//jr7v/46+3/+Ovt//fq + 7P/36uz/9+rr//fq6//36er/5NfY/9DExf/QxMT/////AP///wD///8A////AP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8AdHR0/3V1df92dnb/eHh4/3l5ef96enr/JCQk/wcH + B//25+X/9ufm//bn5v/25+b/9ujn//bo5//36Oj/9+jo//fp6f/36en/9+nq//fp6v/36uv/9+rr//fq + 6//36uz/9+rs//jr7f/46+3/+Ovu//jr7v/l2tz/39TX/9/U1//y5ur/+O3w//jt8f/47fH/+O3y//nt + 8v/57vP/+e7z//nu9P/57vT/+e/1//nv9f/57/b/+e/2//nw9v/58Pf/+vD3//rw+P/68Pj/+vH5//rx + +f/68fn/+vH6//ry+v/07PX/4tvj/+Lb5P/u5/D/+/P8//vz/f/78/3/+/P9//vz/f/78/3/+/P9//vz + /f/78/3/+/P8//ry/P/68vz/+vL7//ry+//68vr/+vH6//rx+f/68fn/+vH5//rw+P/68Pj/+vD3//nw + 9//58Pb/+e/2/+vh5//c09j/3NPY/+rg5f/57vT/+e7z//nu8//57fL/+O3y//jt8v/47fH/+O3w//js + 8P/47O//+Ozv//js7//46+7/+Ovu//jr7f/46+3/9+rs//fq7P/36uv/9+rr//fq6//k19j/0MTF/9DE + xP////8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP// + /wB1dXX/dnZ2/3d3d/94eHj/eXl5/3t7e/8kJCT/BwcH//bn5f/25+b/9ufm//bn5v/26Of/9ujn//fo + 6P/36Oj/9+np//fp6f/36er/9+nq//fq6//36uv/9+rr//fq7P/36uz/+Ovt//jr7f/46+7/+Ovu/+Xa + 3f/f1Nf/39TY//Lm6v/47fD/+O3x//jt8v/47fL/+e3y//nu8//57vP/+e70//nu9P/57/X/+e/1//nv + 9v/57/b/+fD2//nw9//68Pf/+vD4//rx+P/68fn/+vH5//rx+v/68vr/+vL6//Tt9f/j3OT/49zl/+/o + 8P/78/3/+/P9//vz/f/78/7/+/P+//vz/v/78/7/+/P9//vz/f/78/3/+vP8//ry/P/68vv/+vL7//ry + +v/68vr/+vH6//rx+f/68fn/+vH4//rw+P/68Pf/+fD3//nw9v/57/b/6+Lo/93U2f/c09j/6+Hm//nu + 9P/57vP/+e7z//nt8v/57fL/+O3y//jt8f/47fD/+Ozw//js8P/47O//+Ozv//jr7v/46+7/+Ovt//jr + 7f/36uz/9+rs//fq6//36uv/9+rr/+TX2P/Rxcb/0MTE/////wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AHV1df93d3f/eHh4/3l5ef96enr/e3t7/yQk + JP8HBwf/////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP// + /wD///8AdnZ2/3d3d/94eHj/enp6/3t7e/98fHz/JCQk/wcHB/////8A////AP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////gEAAAAA//4D/////////4AAAAAAAAACA// + //////4AAAAAAAAAAAAH//////+AAAAAAAAAAAAAAB/////wAAAAAAAAAAAAAAAA////AAAAAAAAAAAA + AAAAAB//+AAAAAAAAAAAAAAAAAAD/+HAAAAAAAAAAAAAAAAAAP/BwAAAAAAAAAAAAAAAAAAfgcAAAAAA + AAAAAAAAAAAAH4HAAAAAAAAAAAAAAAAAAB+BwAAAAAAAAAAAAAAAAAAfwcAAAAAAAAAAAAAAAAAAH+PA + AAAAAAAAAAAAAAAAAB/7wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAA + AAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAfAAAAAAAA + AAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//A + AAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAA + AAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAA + AAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//A + AAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAA + AAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAf/8AAAAAA + AAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//A + AAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAA + AAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAA + AAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//A + AAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAA + AB8AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAA + AAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAA + AAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//A + AAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAA + AAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAf/8AAAAAA + AAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAA + AAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAA + AB//wAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAA + AAAAAAAf/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAB//wD///////////////////8A///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8oAAAAQAAAAIAAAAABACAAAAAAAABAAAASCwAAEgsAAAAAAAAAAAAA////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsbG48cHBy/HR0dvx4e + Hr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnvygoKL8oKCi/KSkpYAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS2/LS0tvy0tLb8tLS2PAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAeHh6/Hh4e/x8fH/8gICD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkp + Kf8qKir/Kysr/ysrK4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8v/y8v + L/8vLy//Ly8vvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAICAgvyEhIf8iIiL/IyMj/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAsLCz/LS0t/y0tLf8uLi6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADIyMv8yMjL/MjIy/zIyMr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjI78jIyP/JCQk/yUlJf8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8v/y8vL/8wMDD/MDAwgAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0NDT/NTU1/zU1Nf81NTW/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAFRUVYBYW + FoAYGBiAGBgYgBkZGYAbGxuAHBwcgB0dHYAfHx+AICAggCEhIYAiIiKAIyMjgCQkJIAlJSXfJiYm/ycn + J/8oKCj/KioqgCsrK4ArKyuALCwsgC0tLYAuLi6ALy8vgDAwMIAwMDCAMTExgDExMf8yMjL/MjIy/zMz + M780NDSANTU1gDU1NYA2NjaANjY2gDc3N4A3NzeANzc3gDg4OIA4ODiANzc3/zc3N/83Nzf/ODg43zk5 + OYA5OTmAOTk5gDk5OYA4ODiAODg4gDg4OIA4ODiAODg4gDg4OIA3NzeANzc3IP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAABcXF78YGBj/GRkZ/xoaGv8bGxv/HBwc/x4eHv8fHx//ICAg/yIiIv8jIyP/JCQk/yUl + Jf8mJib/Jycn/ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw/zExMf8yMjL/MjIy/zMz + M/80NDT/NDQ0/zU1Nf82Njb/NjY2/zc3N/83Nzf/ODg4/zg4OP84ODj/OTk5/zk5Of85OTn/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov85OTn/OTk5/zk5 + OUD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAYGBi/GRkZ/xsbG/8cHBz/HR0d/x8fH/8gICD/ISEh/yMj + I/8kJCT/JSUl/yYmJv8oKCj/KSkp/yoqKv8rKyv/LCws/y0tLf8uLi7/Ly8v/zAwMP8xMTH/MjIy/zIy + Mv8zMzP/NDQ0/zU1Nf82Njb/NjY2/zc3N/84ODj/ODg4/zk5Of85OTn/Ojo6/zo6Ov86Ojr/Ozs7/zs7 + O/87Ozv/Ozs7/zs7O/88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8 + PP87Ozv/Ozs7/zs7O/87OztA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAGhoavxwcHP8dHR3/HR0d/xkZ + Gf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIiIv8jIyP/IyMj/yQkJP8lJSX/JiYm/ycn + J/8nJyf/KCgo/ykpKf8pKSn/Kioq/ysrK/8rKyv/LCws/ywsLP8tLS3/LS0t/y4uLv8uLi7/Li4u/y4u + Lv8uLi7/Ly8v/y8vL/8vLy//MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MTEx/zExMf8xMTH/MTEx/zEx + Mf8xMTH/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/Ly8vQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAB0d + Hb8eHh7/Hx8f/xoaGv8JIz//DD92/wxAd/8MQHf/DEB3/wxAd/8MQHf/DEB3/wxAd/8MQXf/DEF3/woy + XP8KM1z/DEF3/wxBd/8MQXf/DEF3/wxBd/8MQXf/DEF3/wxBd/8MQXf/DEF3/wxBd/8MQXf/CS5U/wo3 + Zf8MQHf/DEB3/wxAd/8MQHf/DEB3/ww/dv8MP3b/DD92/ww/dv8LP3b/Cz52/ws+dv8JMFv/CSxS/ws9 + dv8LPXb/Cz11/ws8df8LPHX/Czx1/ws7df8LO3X/Czt1/ws6df8KNmv/LSon/y0qJ0D///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAfHx+/ICAg/yIiIv8cHBz/DEB3/xB55v8Qeeb/EHnm/xB65v8Qeuf/EHvn/xB7 + 5/8Qe+f/EHvn/xB75/8NX7L/DV+y/xB85/8RfOf/EXzn/xF85/8RfOf/EXzn/xF85/8QfOf/EHzn/xB8 + 5/8Qe+f/EHvn/wtWof8OaMT/EHvn/xB65/8Qeub/EHrm/xB55v8Qeeb/EHnm/xB45v8QeOb/EHfl/xB3 + 5f8QduX/DFqw/wpRnv8PdeT/D3Tk/w9z5P8Pc+T/D3Lk/w9y4/8PceP/D3Dj/w5v4/8Ob+L/DWXQ/6OU + i/+jlItA////ABoaGmAbGxu/HR0dvx4eHr8gICC/ISEh7yIiIv8kJCT/Hh4e/wxBd/8Qeuf/EHvn/xB7 + 5/8Qe+f/EHzn/xF85/8RfOf/EX3n/xF95/8Rfej/DWG0/w1htP8Rfej/EX3o/xF+6P8Rfuj/EX7o/xF+ + 6P8Rfej/EX3o/xF96P8Rfej/EX3o/xF96P8MWKP/DmrF/xF85/8QfOf/EHzn/xB75/8Qe+f/EHvn/xB6 + 5/8Qeub/EHnm/xB55v8QeOb/EHjm/wxcsf8LU5//EHbl/w925f8PdeX/D3Tk/w905P8Pc+T/D3Lk/w9y + 4/8PceP/D3Dj/w1m0P+klYz/pJWMQP///wAcHByAHR0d/x4eHv8gICD/IiIi/yMjI/8lJSX/JiYm/x8f + H/8LOmr/DV+y/w1gsv8NYLP/DWCz/w1hs/8NYbT/DWG0/w1itP8NYrT/DWK1/wpNjf8KTY3/DWO1/w1j + tf8NY7X/DWO1/w1jtv8NY7b/DWO2/w1jtv8NY7b/DWO2/w1jtv8NY7b/CkaB/wtUm/8NYrb/DWK1/w1h + tf8NYbX/DWG0/w1htP8NYbT/DGC0/wxfs/8MX7P/DF+z/wxesv8KSIr/CUF8/wxdsv8MXLH/DFux/wxb + sP8LWrD/C1mv/wtZrv8LWK7/C1eu/wtWrf8hbKP/fXJs/31ya0D///8AHh4egB8fH/8hISH/IiIi/yQk + JP8lJSX/Jycn/ygoKP8hISH/Cztq/w1hs/8NYbT/DWK0/w1itP8NYrT/DWO1/w1jtf8NZLX/DWS1/w1k + tv8KT47/C0+O/w1ltv8NZbb/DWW2/w1ltv8NZbb/DWW3/w1lt/8NZbf/DWW3/w1lt/8NZLf/DWS3/wpH + gv8MVpz/DWS2/w1jtv8NY7b/DWO2/w1itv8NYrb/DWK1/w1itf8NYbT/DWG0/wxgtP8MYLT/CkqL/wlC + fv8MXrL/DF2y/wxdsv8MXLH/DFyx/wxbsP8LWrD/C1mv/wtZrv8QXKn/XK6Q/35zbf9+c21A////ACAg + IGAhISG/IiIivyQkJL8mJia/Jycn7ykpKf8rKyv/IyMj/wxDeP8Rf+j/EX/o/xGA6f8RgOn/EYDp/xGB + 6f8Rgen/EYHp/xGB6f8Rgun/Dma3/w5mt/8Sgun/EoLp/xKC6v8Sgur/EoLq/xKC6v8Sgur/EoLp/xKC + 6f8Sgun/EYLp/xGC6f8MXaf/D2/I/xGB6f8Rgen/EYDp/xGA6f8Rf+j/EX/o/xF/6P8Rfuj/EX7o/xF9 + 6P8Rfef/EXzn/w1htf8LV6T/EHvn/xB65v8Qeeb/EHnm/xB45v8Qd+X/EHfl/w925f8PdeX/brK9/3m+ + of+nmZH/p5mQQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACoqKr8rKyv/LS0t/yQkJP8MRHj/EYDp/xGB + 6f8Rgen/EYLp/xKC6f8Sgur/EoPq/xKD6v8Sg+r/EoPq/w5ouf8OaLn/EoTq/xKE6v8ShOr/EoTq/xKE + 6v8ShOr/EoTq/xKE6v8ShOr/EoTq/xKD6v8Sg+r/DV+p/xBxyf8Sgur/EoLp/xGC6f8Rgen/EYHp/xGB + 6f8RgOn/EYDp/xF/6P8Rf+j/EX7o/xF+6P8NYrb/DFml/xF85/8Qe+f/EHvn/xB65/8Qeeb/EHnm/xB4 + 5v8Qd+X/O5XF/9Lk4v9/wKX/qZmS/6iZkkD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCy/LS0t/y8v + L/8mJib/DER4/xKC6f8Sgur/EoPq/xKD6v8Sg+r/EoTq/xKE6v8ShOr/EoXq/xKF6/8Oabr/Dmm6/xKF + 6/8Shev/EoXr/xKG6/8Shuv/EoXr/xKF6/8Shev/EoXr/xKF6/8Shev/EoXq/w1gqv8Qcsr/EoTq/xKE + 6v8Sg+r/EoPq/xKD6v8Sgun/EYLp/xGB6f8Rgen/EYDp/xGA6f8Rf+j/DWS3/wxapv8Rfej/EX3o/xF8 + 5/8QfOf/EHvn/xB65/8Qeeb/H4TW/7HWyf+PyLH/fb+j/6qbk/+qmpNA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAALi4uvzAwMP8xMTH/KCgo/w1Fef8Sg+r/EoTq/xKE6v8Sher/EoXr/xKF6/8Shuv/Eobr/xKG + 6/8Shuv/Dmu7/w5ru/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKH6/8Sh+v/Eofr/xKG + 6/8NYqz/EHTL/xKG6/8Shev/EoXr/xKF6v8ShOr/EoTq/xKD6v8Sg+r/EoLq/xGC6f8Rgen/EYHp/w1m + uP8MXKf/EX/o/xF+6P8Rfuj/EX3o/xF85/8QfOf/FX7h/3i5u/+Ixaz/fcCk/3q+ov+rnJX/q5yVQP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAADAwML8yMjL/MzMz/ykpKf8NRnn/EoXr/xKF6/8Shuv/Eobr/xKH + 6/8Sh+v/Eofr/xKH6/8SiOz/E4js/w9tvP8Pbb3/E4ns/xOJ7P8Tiez/E4ns/xOJ7P8Tiez/E4ns/xOJ + 7P8TiOz/E4js/xOI7P8SiOz/DWSt/xB1zP8Sh+v/Eofr/xKH6/8Shuv/Eobr/xKF6/8Sher/EoTq/xKE + 6v8Sg+r/EoPq/xKC6f8OZ7n/DF6p/xGA6f8RgOn/EX/o/xF+6P8Rfuj/EX3o/1Gluv+m0cH/YLOP/3u/ + ov94vaD/rJ6W/6ydlkD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzO/NDQ0/zY2Nv8rKyv/DUd5/xKH + 6/8Sh+v/Eofr/xKI7P8TiOz/E4ns/xOJ7P8Tiez/E4ns/xOK7P8Pbr3/D2++/xOK7P8Tiuz/E4rs/xOK + 7f8Tiu3/E4rt/xOK7P8Tiuz/E4rs/xOK7P8Tiuz/E4ns/w5mr/8Rd83/E4ns/xOI7P8TiOz/Eojs/xKH + 6/8Sh+v/Eobr/xKG6/8Shev/EoXr/xKE6v8ShOr/Dmm7/w1gq/8Rgun/EYHp/xGB6f8RgOn/EX/o/ymO + zP+r1MX/abeV/1+zjv95vaD/drue/62fmP+snpdA////AAAAAAAAAAAAAAAAAAAAAAAAAAAANTU1vzY2 + Nv84ODj/LS0t/w1Hef8TiOz/E4ns/xOJ7P8Tiez/E4rs/xOK7P8Tiu3/E4vt/xOL7f8Ti+3/D3C//w9w + v/8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8TjO3/E4zt/xOM7f8Ti+3/E4vt/xOL7f8OaLH/EXnP/xOK + 7P8Tiuz/E4rs/xOJ7P8Tiez/E4js/xKI7P8Sh+v/Eofr/xKG6/8Shuv/EoXr/w5qvP8NYaz/EoPq/xKD + 6v8Sgun/EYHp/xuH3f+Vyb7/f8Gl/2Czjv9ar4r/WKeF/3O6nP+uoJr/rZ+ZQP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAjc3N8A4ODj/Ojo6/y4uLv8NSHr/E4rs/xOK7P8Ti+3/E4vt/xOL7f8TjO3/E4zt/xOM + 7f8Tje3/E43t/w9ywP8PcsD/E43u/xON7v8Tje7/E43u/xON7v8Tje7/E43u/xON7v8Tje7/E43u/xON + 7f8Tje3/Dmmy/xF70P8TjO3/E4vt/xOL7f8Ti+3/E4rt/xOK7P8Tiez/E4ns/xOI7P8SiOz/Eofr/xKH + 6/8ObL3/DWKt/xKF6v8ShOr/EoPq/xKD6v9gr7P/m825/2C0j/9eso3/O5lv/1Chfv9xuZr/r6Gb/66g + mkD///8AAAAAAAAAAAAAAAACAAAABQAAAAc4ODjBOjo6/zs7O/8vLy//DUl6/xOL7f8TjO3/E4zt/xOM + 7f8Tje3/E43u/xON7v8Tju7/FI7u/xSO7v8QdMH/EHTB/xSP7v8Uj+7/FI/u/xSP7v8Uj+7/FI/u/xSP + 7v8Uj+7/FI/u/xSP7v8Uju7/FI7u/w9rs/8RfNH/E43u/xON7v8Tje3/E4zt/xOM7f8Ti+3/E4vt/xOK + 7f8Tiuz/E4ns/xOJ7P8TiOz/D26+/w1kr/8Shuv/Eobr/xKF6/8+ncD/rdXH/2G0j/9fs47/SKJ6/yqN + Yf9NoHz/briY/7CjnP+vopxA////AAAAAAAAAAADAAAABgAAAAgAAAAKOjo6wjw8PP89PT3/MTEx/0Ve + dP8Tje3/E43u/xOO7v8Uju7/FI7u/xSP7v8Uj+7/FI/u/xSQ7/8UkO//EHXD/xB2w/8UkO//FJHv/xSR + 7/8Uke//FJHv/xSR7/8Uke//FJHv/xSQ7/8UkO//FJDv/xSQ7/8PbbX/En7S/xSP7v8Uj+7/FI7u/yKV + 3f8smtH/E43t/xOM7f8TjO3/E4vt/xOL7f8Tiuz/E4rs/w9vwP8OZrH/Eojs/xKH6/8gjtn/lcq1/2+6 + mv9gs47/VKuF/y6QZP8pjGD/S596/2y2lv+yo57/saOdQP///wAAAAAAAAAAAwAAAAUAAAAIAAAACjs7 + O8I+Pj7/Pz8//zIyMv9FX3X/FI7u/xSP7v8Uj+7/FI/u/xSQ7/8UkO//FJHv/xSR7/8Uke//FJHv/xB3 + xP8Qd8T/FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//FJHv/xSR7/8Uke//D2+3/xKA + 0/8Uke//FJDv/yOX3f+XysD/ttjN/zGcyv8Tju7/E43u/xON7f8TjO3/E4zt/xOL7f8PccH/Dmiy/xOJ + 7P8Xi+b/dLqw/4nGrf9gs4//W7CK/zSUav8pjGD/J4tf/0ideP9qtZT/s6Wf/7Okn0D///8ANjY2gDg4 + OP86Ojr/Ozs7/zw8PP8+Pj7/QEBA/0FBQf80NDT/RV1x/xOH4P8Th+D/E4jg/xOI4P8TiOH/E4jh/xOI + 4f8TiOH/E4jh/xOI4f8QcLn/EHG5/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ4f8UieH/FInh/xSJ + 4f8UieH/E4nh/w5prf8Recf/E4nh/yKT1v+Vyr//qtbF/6fUw/+62dD/MJrG/xOG4P8ThuD/EoXg/xKF + 3/8ShN//Dmu2/w1jqP8Sgt7/Sqat/6HQvv9gtI//XrKN/0GddP8pjWD/J4tf/yWKXf9GnHb/Z7ST/6ib + lv+om5ZA////ADg4OIA6Ojr/Ozs7/zw8PP8+Pj7/QEBA/0JCQv9DQ0P/NTU1/0RXZv8PbbT/D261/w9u + tf8PbrX/EG62/xButv8Qb7b/EG+3/xFwt/8RcLf/Dl2X/w5dmP8RcLj/EXC4/xFwuP8Rcbn/EXG5/xFx + uf8Rcbn/EXG5/xFxuf8Rcbn/EXG5/xFxuf8MV4//DmOk/x99sf+Ux7r/qNXE/3jDof92wp//oNK+/7PW + y/8sh6f/D263/w9ttv8Pbbb/D2y1/wxYlP8LUYn/KYOj/6TRwP9ntpT/X7KN/02mf/8pjWH/J4tf/yaK + Xf8kiFz/TJ97/2Wzkf+Fe3f/hXp3QP///wA6OjqAOzs7/z09Pf8+Pj7/QEBA/0JCQv9ERET/RUVF/zc3 + N/9FXnL/E4jh/xSI4f8UieH/FInh/xSJ4f8ViuH/FYrh/xWK4f8ViuH/Forh/xJzu/8Tc7v/Fori/xaL + 4v8Wi+L/Fovi/xaL4v8Wi+L/Fovi/xaK4v8WiuL/Fori/xaK4v8WiuL/EWuw/yCAtv+Sxrn/p9TC/3bC + oP90wZ7/c8Cd/3G/nP+bz7r/rdTG/y2Uu/8TiOH/E4jh/xOH4P8Pb7n/F26l/4G/rP95vqH/X7KN/1et + h/8tj2P/KItf/yaKXv8kiVz/O5Zu/3y+ov+Aspf/qp2Y/6qdmED///8AOzs7QDw8PIA+Pj6AQEBAgEJC + QoBERETfRkZG/0hISP85OTn/RmB2/xWS7/8Wku//FpLv/xeS7/8Xku//F5Pv/xiT7/8Yk+//GJPv/xiT + 7/8Uesf/FXvH/xmT7/8Zk+//GZTv/xmU7/8ZlO//GZTv/xmU7/8Zk+//GZPv/xmT7/8Zk+//GJPv/yF/ + sv+Rxrj/pdTB/3TBnv9zwJ3/b72a/0mje/9RqIH/br2Z/5XMtf+m0cL/LZzI/xSR7/8Uke//EHfG/1yq + nv+Wy7b/X7KN/12xjP8zlGn/KIxf/yaKXv8kiVz/OpZu/3u9of+MvaL/5dTP/7eppf+3qaRA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAARkZGv0hISP9KSkr/Ojo6/0Zgdv8Xku//F5Lv/xiT7/8Yk+//GJPv/xmT + 7/8Zk+//GpTv/xqU7/8alO//FnvI/xZ8yP8blO//G5Tv/xuU8P8blPD/G5Tw/xuU8P8blO//G5Tv/xuU + 7/8blO//GpTv/yaZ3P+Qxbf/o9PA/3PAnf9ywJz/br2Z/0ijev8+m3L/PJpw/02mfv9qupb/j8mx/6DO + vf8tm8j/FJHv/zOWrP+YzLf/X7KN/12xjP9Cnnb/KIxf/yaKXv8kiVz/OpVu/3q9oP+MvaL/9ePe/+bV + 0P+4qqb/uKqmQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAEhISL9KSkr/TExM/zw8PP9GYHb/GJPv/xiT + 7/8Zk+//GpTv/xqU7/8blO//G5Tv/xyV8P8clfD/HJXw/xh9yf8Yfcn/HZXw/x2V8P8dlfD/HZbw/x2W + 8P8dlvD/HZXw/x2V8P8dlfD/HZXw/yia3f+Pxrn/otK//3G/nP9xv5v/bLyY/0eief89m3H/O5pw/zqZ + b/84mG3/SaN7/2a4k/+Kxq3/msu4/zifs/+IxKv/b7qa/12xjP9Pp4D/KItf/yaKXv8kiVz/OpVt/3i8 + n/+LvaL/9eTf//Xj3//m1dH/uayn/7msp0D///8AAAAAAAAAAAAAAAAAAAAAAAAAAABKSkq/TExM/05O + Tv89PT3/R2F2/xqU7/8alO//G5Tv/xuU8P8clfD/HZXw/x2V8P8elvD/Hpbw/x6W8P8afsr/HoLH/x+W + 8P8flvD/IJbw/yCW8P8gl/D/IJbw/yCW8P8flvD/H5bw/yqb3f+Oxbj/oNG+/3C+m/9vvpr/a7uX/0ai + ef88mnD/O5lv/0Oddf+PxK//lMaz/zWVav9Jo3v/Y7WR/4TDqf+gz73/hcSq/1yxjP9Yrof/K45i/yaK + Xv8kiVz/OpVt/3e8nv+LvaL/9eTg//Xk4P/15N//5tbS/7qtqf+6ralA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAATExMv05OTv9QUFD/Pz8//09kaf8flun/HJXw/x2V8P8dlfD/Hpbw/x+W8P8flvD/IJfw/yCX + 8P8hl/D/TKSt/2Kxp/8lmer/Ipjw/yKY8P8imPD/Ipjw/yKY8P8imPD/Ipjw/yyb3P+Mxbf/ntC8/269 + mv9tvJn/arqW/0WheP87mnD/Oplv/0Kddf+q0cT/icGo/4nDqv+Nw67/MZJn/06nf/9fs47/dLyd/1yx + i/9ar4r/N5Zs/yaKXf8kiVz/OZVt/3a7nf+rybb/9eXi//Xl4f/15OH/9eTg/+fX0v+7rqv/u66qQP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAE5OTr9QUFD/UlJS/0BAQP9WZ1z/QKOt/x6W8P8flvD/IJbw/yCX + 8P8hl/D/Ipfw/yKY8P8jmPD/Tam2/8Lc1v/X5eX/bLax/yea6f8lmfD/JZnw/yWZ8P8lmfD/JJnw/y2c + 3P+LxLb/nM+7/2y8mP9su5j/aLmV/0Sgd/86mW//OZhu/0GcdP+p0cP/iMCn/+3k4v/Y3NX/hMCn/4bA + qP8ukGT/SqR9/1uwi/9ar4n/Q592/yWKXf8kiVz/OZVs/3W7nf+1zb3/9ubj//bl4v/15eL/9eXh//Xk + 4f/n19P/vK+s/7yvq0D///8AAAAAAAAAAAAAAAAAAAAAAAAAAABQUFC/UlJS/1NTU/9CQkL/N1xL/7HU + yf89orP/IZfw/yKY8P8jmPD/JJjw/ySZ8P8lmfD/Tam1/8Hc1f92v5//dsCf/9bl5P9rtrD/Kpvp/yia + 8P8omvD/KJrw/zCd3P+Kw7X/m865/2u7l/9qupb/ZriT/0Ofdv85mG7/OJdt/0Cbc/+n0ML/h8Cm/+3l + 4v/36en/9+np/9jc1f+AvqP/f72j/yqNYf9Honn/TqeA/yWKXf8jiFz/OJVs/3O6nP+1zb3/9ubk//bm + 5P/25uP/9ubj//bl4v/15eH/59jU/72wrf+9sK1A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAUlJSv1RU + VP9VVVX/Q0ND/yxYRP/H3dn/vNjQ/zWfx/8kmfD/JZnw/yaa8P8nmvD/Tam0/8Db1P9zvp3/arqX/2q7 + l/9zvp3/1eXk/2q1r/8tnOr/K5zx/zKe3P+IwrT/mc24/2m5lf9ouZX/ZLaS/0Kedf84mG3/N5ds/z+a + cv+XyLX/d7ia/+3l4//36er/9+nq//fp6v/36en/19zV/3u8oP94uZ7/Jope/yiLX/8jiFv/OJVs/3K5 + m/+1zb7/9ufm//bn5f/25uX/9ubk//bm5P/25uP/9uXi/+fY1f++sa//vrGuQP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAFRUVL9VVVX/V1dX/0VFRf8rV0T/qtHE/5zNuv+mzsD/MZ3U/yia8P8pm/D/TKiz/7/b + 0/9wvJv/Z7iU/2i5lf9Zr4n/UKiA/3G8m//P4t//aLSt/zag1f+HwbL/l8u2/2a4lP9mt5P/Y7WQ/0Gd + dP83l2z/NpZr/z6acf+VyLT/drea/+3m5P/36uv/9+rr//fq6//36er/9+nq//fp6v/X3NX/drqc/3G2 + mf8jiFv/N5Rr/3G5mv+1zr7/9ujn//bn5v/25+b/9ufl//bn5f/25uT/9ubk//bm4//o2db/v7Ow/76y + r0D///8AAAAAAAAAAAAAAAAAAAAAAAAAAABWVla/V1dX/1lZWf9GRkb/KldD/6nRw/9htI//m8y5/43D + t/8xntz/TKiy/9Hi4P+Awqb/ZLaS/2W3kv9XrYf/S6J7/0qhe/9Npn7/brqZ/8jf2v+byrj/lcq1/2S2 + kv9ktpL/YbSP/z+cc/82lmv/NZVq/z2ZcP+Ux7P/dLeZ/+zm5f/36uz/9+rs//fq7P/36uv/9+rr//fq + 6//36uv/9+rr/9bc1f9yuJn/cria/3C4mf+1zr//9+jo//fo6P/26Of/9ufn//bn5v/25+X/9ufl//bm + 5P/25uT/6dnX/8C0sf+/s7BA////AE5OToBPT0//UVFR/1NTU/9VVVX/V1dX/1lZWf9bW1v/R0dH/ylW + Qv+o0ML/XrKN/1+zjv/A29T/eLmf/9Hh4P9+wKT/YbSQ/2K1kP9Uq4X/SaF6/7LTyf+w0sj/Rp94/0qk + fP9quJb/isat/2K1kP9itZD/XrKN/z6bcv80lWr/M5Rp/zyYb/+SxrL/kcCq//jr7f/46+3/+Ovt//jr + 7f/36uz/9+rs//fq7P/36uz/9+rs//fq6//36uv/1tzW/1+uiv+XsqP/9+np//fp6f/36Oj/9+jo//bo + 5//25+f/9ufm//bn5v/25+X/9ubk/+na2P/CtbL/wbSxQP///wBPT0+AUVFR/1NTU/9VVVX/V1dX/1lZ + Wf9bW1v/XV1d/0lJSf8oVUH/p8/B/1ywi/9csYz/XbGM/7bXzf97vqL/XrKN/1+zjv9SqYP/R594/7HS + yP+HtZ//jrul/6rPw/9DnXX/R6J5/2Czjv9fs47/XLGL/zyacP8zlGn/MpNo/zqXbv+RxbH/fK2X/9nN + z//t4eP/7eHj/+3h4//t4eP/7eHj/+3h4//t4eP/7eDi/+zg4v/s4OH/7N/h/+zf4f/LwMH/wLW2/+ve + 3//r3t7/697e/+vd3f/r3d3/6tzc/+rc2//p29r/6dvZ/+nb2f/dzs3/uKyq/7isqkD///8AUVFRgFJS + Uv9VVVX/V1dX/1lZWf9bW1v/XV1d/19fX/9JSUn/J1VB/6bOwP9Zr4n/Wq+J/1qviv9bsIr/W7CL/1yx + i/9PqID/RZ53/6/Rxv94p5H/saen/8zBwf+FtJ7/o82+/z+acv9En3f/Wq+K/zqZb/8yk2f/MZJn/zmW + bf+PxbD/grOd/6yjpf+9s7b/zsPG/87Dxv/Ow8b/zcPG/83Dxf/NwsX/zcLE/8zCxP/MwsP/y8HC/8vB + wv/KwMH/rqWm/6Scnf/Jvr//yb2+/8i8vf/IvLz/x7u7/8a6uv/Furn/xLm4/8O3tv/Dt7X/ua2s/5qP + j/+aj45A////AFJSUkBUVFSAVlZWgFhYWIBaWlqAXV1d315eXv9gYGD/S0tL/ydUQP+lzr//Vq2H/1et + h/9Yroj/WK6I/1muif9Mpn7/Q5x1/63Qxf+Uwqv/zsLC/87Dw//t3+D/7d/g/5PCrP+cyrn/PJhv/zOU + af8wkmb/L5Fl/zeVbP+OxK7/kcKr/+7i5f/HvcD/2tDT/+7i5f/u4uX/7uLl/+7i5f/u4uX/7eLl/+3i + 5f/t4uT/7eHk/+3h4//t4eP/7eHi/83CxP/BuLj/7N/h/+zf4P/r3+D/697f/+ve3v/r3d3/693d/+rc + 3P/q3Nv/6dva/93Qzv+5raz/uaysQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAF5eXr9fX1//YWFh/0xM + TP8mVD//o82+/1SrhP9Vq4X/VayF/1ashv9KpHz/NZVq/8DZ0/99uJz/9+jo/9jMzP/Yzc3/9+nq//fq + 6//36uz/kcGr/5bHtP84lWz/LpBk/zaUav+Mw63/kMGr//js7//47PD/0cfK/+TZ3f/47PD/+Ozw//js + 8P/47PD/+Ozw//js8P/47PD/+Ozv//js7//47O//+Ozu//jr7v/YzM7/zMLD//fq7P/36uz/9+rr//fq + 6//36er/9+np//fp6f/36Oj/9ujn//bn5//q29r/xLi2/8S3tkD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AABfX1+/YWFh/2NjY/9OTk7/JVM+/6LMvf9RqYL/UqqD/1Oqg/9Honr/M5Ro/zKTaP92tZv/jMGr/9Xb + 1P/Zzc3/2c3O//fq6//36uz/9+rs//jr7f+QwKr/kMSw/z6YcP+Lwqz/j8Cq//js8P/47PD/+O3w/9LI + y//l297/+O3x//jt8f/47fH/+O3x//jt8f/47fH/+O3w//js8P/47PD/+Ozw//js7//47O//2M3Q/83C + xf/46+3/9+rs//fq7P/36uv/9+rr//fp6v/36en/9+np//fo6P/26Of/6tzb/8W5uP/FubdA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAYWFhv2NjY/9lZWX/T09P/yRSPv+hy7z/T6eA/0+ogf9EoHf/MJJm/zCS + Zv8wkWb/L5Fm/3Gyl/+Hv6j/usK7/9rOz//36uz/9+rs//jr7f/46+3/+Ovu/47Aqf+Oxa//jsCp//js + 8P/47fH/+O3x//jt8f/Tys7/5tvg//nt8v/57fL/+e3y//nt8v/57fL/+O3y//jt8v/47fH/+O3x//jt + 8P/47PD/+Ozv/9nP0v/OxMf/+Ovu//jr7f/36uz/9+rs//fq6//36er/9+nq//fp6f/36Oj/9+jo/+rd + 3P/Gurn/xrq4QP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAGNjY79kZGT/ZmZm/1BQUP8jUj3/nsq6/0ym + fv9BnnX/LpBl/y6QZP8tkGT/LZBk/y2PY/8sj2P/gbqk/2+ylf/Jysb/9+rs//jr7f/46+7/+Ovu//js + 7//47O//s8/C//jt8P/47fH/+O3y//jt8v/57fL/1cvP/+fc4f/57vP/+e7z//nu8//57vP/+e7z//nu + 8//57fL/+e3y//jt8v/47fH/+O3x//js8P/az9P/z8XI//js7v/46+7/+Ovt//fq7P/36uz/9+rr//fp + 6v/36er/9+np//fo6P/r3dz/x7u7/8e7ukD///8AAAAAAAAAAAAAAAAAAAAAAAAAAABkZGS/ZmZm/2ho + aP9RUVH/IlE8/73Y0f8+nHL/LI5j/yuOYv8rjmL/K45i/yuOYv8qjWH/Ko1h/ymNYf+Hvqj/ebab/+zm + 5f/46+3/+Ovu//js7//47O//+Ozw//jt8f/47fH/+O3y//nt8v/57vP/+e7z/9bM0v/o3eP/+e70//nu + 9P/57vT/+e70//nu9P/57vT/+e7z//nu8//57vP/+e3y//jt8v/47fH/29HU/9DGyf/47O//+Ozu//jr + 7v/46+3/9+rs//fq7P/36uv/9+nq//fp6f/36en/693d/8i8vP/IvLtA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAZmZmv2hoaP9qamr/UlJS/yFQO//K3tr/WaWF/1ikhP9XpIP/VqOC/1Wjgf9TooH/UqKA/1Gh + f/9QoX7/T6B9/6jQwv95t5v/7Obm//js7//47O//+Ozw//jt8f/47fL/+e3y//nu8//57vP/+e70//nu + 9P/XztP/6N7k//nv9f/57/X/+e/1//nv9f/57/X/+e/0//nu9P/57vT/+e7z//nu8//57fL/+O3y/9vS + 1f/SyMv/+Ozw//js7//47O7/+Ovu//jr7f/36uz/9+rr//fq6//36er/9+np/+zd3f/Jvbz/yLy8QP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAGdnZ79paWn/a2tr/1RUVP84Wkn/lcGt/5TBrP+Twaz/ksGs/5LB + q/+RwKv/kMCr/4/Aqv+PwKr/jsCp/4a5o/+GuaL/e7ec/6bIt//47O//+Ozw//jt8f/47fL/+e3y//nu + 8//57vP/+e70//nv9P/57/X/2dDV/+nf5f/57/b/+e/2//nv9v/57/b/+e/2//nv9f/57/X/+e/1//nu + 9P/57vT/+e7z//nt8v/c09f/08rN//jt8P/47PD/+Ozv//jr7v/46+3/+Ovt//fq7P/36uv/9+nq//fp + 6f/s3t7/yr69/8m9vED///8AAAAAAAAAAAAAAAAAAAAAAAAAAABpaWm/a2tr/21tbf9VVVX/f3d1//bm + 5P/25+X/9ufm//bo5//36Oj/9+np//fp6f/36er/9+rr//fq7P/f09T/39TV//js7v/47O//+Ozw//jt + 8f/47fH/+e3y//nu8//57vP/+e70//nv9f/57/X/+e/2/9rR1//p4Ob/+fD3//nw9//58Pf/+fD3//nw + 9v/57/b/+e/2//nv9f/57/X/+e/0//nu9P/57vP/3tTY/9TLzv/47fH/+Ozw//js7//47O//+Ovu//jr + 7f/36uz/9+rr//fq6//36er/7N/f/8u/v//Kvr5A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAampqv2xs + bP9vb2//VlZW/393dv/25uX/9ufl//bn5v/26Of/9+jo//fp6f/36er/9+rr//fq6//36uz/4NTV/+DV + 1//47O//+Ozv//jt8P/47fH/+e3y//nu8//57vP/+e70//nv9f/57/X/+e/2//nw9v/b09n/6uHo//rw + 9//68Pj/+vD4//rw9//58Pf/+fD3//nw9//57/b/+e/2//nv9f/57/T/+e70/9/U2f/VzND/+O3y//jt + 8f/47PD/+Ozv//jr7v/46+3/+Ovt//fq7P/36uv/9+nq/+zf3//LwMD/y7+/QP///wBhYWFAY2NjgGVl + ZYBnZ2eAampqgGxsbN9ubm7/cHBw/1dXV/9/d3b/9ufl//bn5v/25+f/9ujn//fo6P/36en/9+nq//fq + 6//36uz/+Ovt/+HV1//h1tj/+Ozv//js8P/47fH/+O3y//nu8//57vP/+e70//nv9f/57/X/+e/2//nw + 9//58Pf/3dTa/+vi6f/68Pj/+vH4//rx+P/68fj/+vD4//rw+P/68Pf/+fD3//nw9v/57/b/+e/1//nv + 9P/f1dv/183R//nt8v/47fH/+Ozw//js7//47O//+Ovu//jr7f/36uz/9+rr//fp6v/s3+D/zMHB/8zA + wED///8AYmJigGRkZP9mZmb/aGho/2tra/9tbW3/b29v/3Jycv9YWFj/fHRz/+3e3f/t397/7d/f/+7g + 4P/v4eH/7+Hi/+/i4//v4+T/7+Pl//Dk5f/az9H/29DS//Hl6P/x5un/8ebq//Lm6//y5+z/8uft//Lo + 7v/y6O7/8unv//Lp8P/z6vD/8+rx/9jQ1v/l3eT/8+ry//Pq8v/z6vL/8+ry//Pq8v/z6vH/8+nx//Lp + 8P/x6e//8eju//Hn7v/x5+3/2c/U/9DGy//w5er/7+Xp/+/k6P/v4+f/7+Pm/+7i5f/u4uT/7eHj/+3g + 4v/t4OH/4tbX/8S5uf/EuLhA////AGNjY4BlZWX/Z2dn/2pqav9sbGz/bm5u/3Fxcf9zc3P/WVlZ/3Vu + bf/SxcT/08bG/9THx//VyMj/1srK/9fLy//XzM3/2M3O/9nNz//aztD/x72//8i+wP/b0NT/3NLV/9zS + 1v/d09f/3tTY/97U2f/e1dr/3tXb/97W3P/f1tz/39bd/9/X3v/Hv8b/08vT/9/X3//f19//3tbe/97W + 3v/e1t3/3dXc/93V2//c1Nr/29PZ/9rS2P/a0df/2dDV/8O7v/+7s7f/183S/9bM0P/Uy87/1MrN/9PJ + y//SyMr/0cbJ/9DFx//Ow8X/zsPE/8S6u/+qoaH/qaCgQP///wBlZWWAZmZm/2lpaf9ra2v/bW1t/3Bw + cP9ycnL/dHR0/1tbW/98dXT/7d/d/+3f3v/u4N//7+Dg/+/h4f/v4uL/7+Lj/+/j5P/w4+X/8eTm/9zR + 0//d0tX/8eXp//Hm6v/y5+v/8ufs//Lo7f/z6e7/8+nv//Pp8P/z6vH/9Orx//Tq8v/06/P/2tLa/+ff + 5//z6/T/8+v0//Pr9P/z6/T/8+v0//Pr8//z6vL/8+ry//Pp8f/y6fD/8ejv//Hn7v/a0db/0snN//Hm + 6//w5er/7+Xp/+/k6P/v4+f/7+Pm/+7i5f/u4uT/7eHj/+3g4f/j19f/xru7/8W7u0D///8AZmZmIGdn + Z0BqampAbGxsQG5ubkBxcXHPc3Nz/3Z2dv9cXFz/f3d2//bn5v/25+b/9ujn//fo6P/36en/9+nq//fq + 6//36uz/+Ovt//jr7v/k2Nv/5Nnc//js8P/47fH/+e3y//nu8//57vT/+e/1//nv9v/58Pf/+vD3//rw + +P/68fn/+vH6/+HZ4f/u5u7/+vL8//ry/P/68/z/+vL8//ry+//68vv/+vL6//rx+f/68fn/+vD4//nw + 9//57/b/4tnf/9rR1v/57vP/+e7z//jt8v/47fH/+Ozw//js7//46+7/+Ovt//fq7P/36uv/7eDh/8/E + xP/PxMRA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAc3Nzv3V1df93d3f/XV1d/393dv/25+b/9ufn//bo + 5//36Oj/9+np//fp6v/36uv/9+rs//jr7f/46+7/5dnc/+Xa3f/47fD/+O3y//nt8v/57vP/+e70//nv + 9f/57/b/+fD3//rw+P/68fj/+vH5//ry+v/i2+P/7ubw//vz/P/78/3/+/P9//vz/f/68vz/+vL7//ry + +//68fr/+vH5//rw+P/58Pf/+fD2/+Pa4P/b0tf/+e70//nu8//47fL/+O3x//js8P/47O//+Ovu//jr + 7f/36uz/9+rr/+3g4f/QxMX/z8TEQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAHR0dL92dnb/eHh4/15e + Xv9/d3b/9ufm//bn5//26Of/9+jo//fp6f/36er/9+rr//fq7P/46+3/+Ovu/+Xa3f/m2t7/+O3w//jt + 8v/57vP/+e7z//nv9P/57/X/+e/2//nw9//68Pj/+vH5//rx+v/68vv/49zk/+/o8f/78/3/+/P+//vz + /v/78/3/+/P9//ry/P/68vv/+vH6//rx+f/68Pj/+vD3//nw9v/k2+D/3NPY//nu9P/57vP/+e3y//jt + 8f/47PD/+Ozv//jr7v/46+3/9+rs//fq6//u4eL/0cXF/9DExED///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAB1dXW/d3d3/3p6ev9fX1//BwcHvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAdnZ2MHh4eEB6enpAX19fQAcHBzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + //////////////////////D/w/8P////8P/D/w/////w/8P/D/////D/w/8P//wAAAAAAAAA/AAAAAAA + AAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAA + AAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA+AAAAAAA + AADgAAAAAAAAAMAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAPwA + AAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAA + AAD8AAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwA + AAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAAgAAAAAAA + AACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8H/////////wf + //////////////////////////////////////// + + + \ No newline at end of file diff --git a/MBN_STOCK_N/Properties/AssemblyInfo.cs b/MBN_STOCK_N/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..73502de --- /dev/null +++ b/MBN_STOCK_N/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("매일경제TV 증권송출 시스템")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("(주)비주얼리서치")] +[assembly: AssemblyProduct("MBN_STOCK_N")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("79711222-87a1-432b-a122-c67ab0e7237b")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +// 기본값으로 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MBN_STOCK_N/Properties/Resources.Designer.cs b/MBN_STOCK_N/Properties/Resources.Designer.cs new file mode 100644 index 0000000..73fd7a7 --- /dev/null +++ b/MBN_STOCK_N/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace MBN_STOCK_N.Properties { + using System; + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을 + // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MBN_STOCK_N.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/MBN_STOCK_N/Properties/Resources.resx b/MBN_STOCK_N/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/MBN_STOCK_N/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MBN_STOCK_N/Properties/Settings.Designer.cs b/MBN_STOCK_N/Properties/Settings.Designer.cs new file mode 100644 index 0000000..b8b9ca6 --- /dev/null +++ b/MBN_STOCK_N/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace MBN_STOCK_N.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/MBN_STOCK_N/Properties/Settings.settings b/MBN_STOCK_N/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/MBN_STOCK_N/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/MBN_STOCK_N/Properties/licenses.licx b/MBN_STOCK_N/Properties/licenses.licx new file mode 100644 index 0000000..8e04a25 --- /dev/null +++ b/MBN_STOCK_N/Properties/licenses.licx @@ -0,0 +1 @@ +FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=4.0.3512.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457 diff --git a/MBN_STOCK_N/RES/Find_16x16.png b/MBN_STOCK_N/RES/Find_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..7d4d4c45c6d527e5c1e8b924ff28faa399b336d9 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X)If?tGD~t&8Qe1SQmma4i;As-GLw?>^Q?nQ67y0Li&CtE zQxl7lGj^xW;Q;EG>gnPbQW3Xw(m~$C3Ouf}OJ_6&N-PpqdCQm6cxmR215)c^|HiDj z<@MJ<=QPS+%W-l*(XICRad67Uh~|g kxWS)M>+;O!iX0zVYyRo*XgRZ813Hkw)78&qol`;+0H!2q`Tzg` literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/Find_32x32.png b/MBN_STOCK_N/RES/Find_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea837b545da4f4cd3cc21532f2a8c4564e69e05 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GY9K`+nI$=?3~rfuDb`MjMa9-ZnMq0cdDg)tiFqlBMJd+7 zsfk6&8M{;Ga4;}13VFIXhE&A8y}psR*+8HzFrwj*sc;3GN}J;vL6?(kQ{og)@vK`h zqm^;a{(?fQNXw@T)~;Ra8(r$UI&)VEI9;q`zfc;xN{si!LRs03vO6o*`_{ZSS>UGp zNrU6(kDI@=8XUQ~;*y1OqW_4}LNbLyZ&X}0q zZ0pi6K-* zPtk}W#f7b*=LEw9K}iOqM{x~3Gm4oklFpg4$~69P{!wpT$E-B#e#O-JYYl+m$>8bg K=d#Wzp$P!s@0v>h literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/Grow.bmp b/MBN_STOCK_N/RES/Grow.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1e132c286b24d7cb078abf1ad11cdc1e2506fcf2 GIT binary patch literal 388854 zcmce<*SZ`>lC9b2Vs7Vp9$}tf9$@b01y9d(cU7^dS=3qr6aYv71OY;8v7xn~>YG`@ z%-lRO_6ES}KKzXSS$KHnPGm&z!= zU%7C~!Ce<~FA@cIIf+s)zk2c1)r+UEUQi%$V6*azr>|W)bM;~b@{H5hnR9O@tf|Om zY=8aI+1gYCZlW^c^4aT`&t1>*2J$QCZXhnRjJ#^tQhQZ{y?o)7v(*y0H*ajI8A>Nt z&fVNPe{<{H%}9`ETvdW{k+^~DuU@#RxOMe{1C1+3g1xt{DV)@%D^=dUb}`yqyMR1{ zIqJE2U6t1_A-{8t)mp#J>Mku>Z`yT>I>n}EU&oq z8H>tog6$Q&B5)zB#P!Q(qW*I3-Aw#K)K{Qpk>ldRTk%rW8!B;4wZvvb(m<2|C|VFN zr=}Y3C2bTN$$I-sr>|Z*h2X37o@|zh;0C_6xNzz!f@~yUkyq)OOXmS+VHq60a6&XT zlTQN93^UnDuMticOy(bozkb@uL}2W~=fB8Z4s5Df;+NocUPqr)Sp=n!uCB^>&5;4>lYC<5!uBt_%=JkL{i8DuZo)M<>w!E-wyOfvJ- zRgGY)O`Xhn;rKd=i$%!gMdScfGr^S@2rWicay@sMuDpsH%1GA&uj>1zUJ_U{+@4m7 zLcozDk+^u32#Jq@cLv)BHiP*Ee{)7C#!D)Q-`uR1gMQa8FF&gOP>~s*ts2DVOg@96 zVClr?yVoDz7oQ*ACZA2_4MhL?hcl|U4EF0E|EA) z>_GQbGJG?pHaL{za77$hyxVk?+Yz5`({;<%iG;U`Gb$6@7DtU)4SFZ5aq1#&xx~q- z+_x2%ATtt{Xmd3|T_ndvv2_-E0cSEiH+69d`?`p@>6g@IPxQj6fopih%>WnSuU`p( zCjqG90EY>@iC^<1cBxqqM(r#2%X?$j)C-yTJrmB{RE}NXWI$VRu1!|DCbr63^{uR;xC7p`C6LNtpv(OcyUH{N6dU7%P@CIFGR ztfV$s)6se@8ly6H<;Mu9y0I$r-GZ@qDM}ScdZ1Ff`X@m?eFl6;znm|$e!fhWT0h^p z`WSG&cO8=W$%E9-3qB{P!Dql3ftJbV>ksc-gMM~UnOj9mNC%~LU$A=Dog!Ghz%`-G z!<2EY@!aV4F6F%6v2i}vG$y0cr-x6Q#VI7!t($l~wh;RyJWfB9es~E`Q(yzd(A6q& zezJz*U-cpQkw=Z50=x?)K+5u}h;42!@SAiEO4lZmjCeQR7tR&-b(>Hdy&;)zM7Lx? z>_Rk>V(9{{q;6=rCi7Bzuk01NSKp1`mHeitPT6cw2cHG%YxD<3gMsLar$}a-7}Cjv zGx>aKC}->EWHnz~gzxX^d~jG&x!Ai*fMSvv2qlxBGvq?>Rs62XlvqtBCX>cIUJTe2 zECatXB?`PxO@?^J2_tENGu9B^D0wEcGWAKE^BbGEWIBO;K~>31CW4m_FFheTE2W1U zU`?k#T^8Z{JD82A5nd9N1SUz_Lv2{&morH$yRtW)awD|A+kk2^IceN@tG`b0UfFy% zDp-X%8D)s)D`{?k&*^V~&kt__!qm@T@*)K7KyETQpkkkASudQcjmZmiZv3Y#T} zEp=^fN9h_xaHC`)3chsBPh3+JPI3TxVqH!m)^G;^x zsL#r4mnRc-JM0_O6NES6Sv3YMHZLTfEuI6;G&(Gp2c^%4Hv%o){)(~R;NLmiwXq0n z6epGm=ZXcTO?^9uHYlx6J5#A++>Z~ zWD?D=xd_AX{>`nR;*Bf!6%&)`Im>oV=b0eAP5+tZv-C6l=dPa<&c8pt8(y?)(&BjX z;1(n_g!iMnayevWQ$@q*5TC0IJ{#17)ll-6xa+18`5|=&NsRmcBK=?ATYsF%V-yG7 zo4ss}iRh)Lgfpth%ttDoT9V~_LqB1O;ic`R4bn&#qV35HP&agwt8<_kYHn{4?@V|F zCA8<3t1ldlc|9^pX7l;V(iWd2@Dxr zCBGa4Ha+1ohsz?S^I%gVZ-^Aei+s?S$HE7WR@8-bKRm z7Uw+A0m^fsRttQM%N4bXu+0J6kL1B>L};EXr3 z1luR7TW>c z=)z+!-WB)doxOHNn~CBAvJ(!CC=^Td4yf|Bs325HV1CJNQwJg|;|3a=gfNdF%`qgy ze<%oV0yb*s!Zpm2x7utEjA%*x&VkcgDkTL8VauAhOfu0Wa2efRpjqtNxU9S@kXszC zy)0hU3Vsu7^-g^?I*ixL*G-t%g_Is4$| zz#ok^nYe+WEtAuNR?+KS9y=WwIxp_xmBI)j$`?rK;emvECmv1GvuH1`%!uaZv(x{PJA|RvkE)tf} zk_U?ocq_~!t2T=hBTpFKi*Xy}os>w|OQOtkjN0Bl49`hEdC?UQT+<=vCZq)tHjrn| zJh;uo(5@OQ@JWY*(mhOg)$mo>bL#ieMJK|G?c7vSFgM;^(yx~L-O)`}xLyu$j-DtX})f1T7dnbAPW>8dfA4QG!!>m>kdPuP{^43`(tXiO{zS637-9&PX?6WV-9 ze#x2Wo?BQ(!pE!d8HiTMIG#FCObe@;udDVO_TtB+wAsm1?;z_eOgy?Iwwd=1dk!a^9L?R|H za6R$4{nM(k+K(fm_S^)_6V6CLdv6;1eV5LJf^Z&voFqEg@;nJRyD`tDI2DEHI9&~A zoaF4s3|7lA1I7t+HKTQ-uGnax%F*@dj?O9@%nRe;sMM}vK3$rb=iV%;E9sPGE>-4A zi|}QG66BWpghMl4{PIOf5G7(Kfnz_U?WpF8BeO;tC zzFRSwW!*aS81d#Cl2}ZhAUs?MdvRo}_3(sWX$Dgl=dejzn^Y9V-e4@wTb}KMu{iUK z!@*MQrR-5N>z@W#T!u{)RZgO=)o)+f-V-mhX45rZ>_yTq?c7YoYxX9h@82AZMau#& z-_6XVq?|%sX_T6)0nS&0@j{WAw*Yp-%^}GO2$O`005a9Av8+ENaf^2roZ)H6cBZot zeD=VMZ94}WpMRr-j!_&j5ZV%2W9=Zz{qMqu@u%|Vsn1rQQ>-o;$Bk^gmR3PMkl6{PIN79h{U-6+I)G>`iqoIIBGbyl?$1@j`C0 zS$l0~yCLr~+entjOG2VcpYx8e63K9I8HcxRQPNAbBOp?*}B$_o^R$fU1sk_g_-iNm#G95r!2+mbjXJxgiR|NyJ zLE8*0hhV1XAhqn068A0xd)TuHZ?m9`< zk~(91Vr?7>IV_hOm+YVOB)17Ol4xm|6W3<-#P&daAstD;-**7_f{MF z&pC#fJ%ACT%THL=c#;*(Ohbd7i2`q)1cv331K3gt51njbEbkYU!Cn)1tt5D55gWpz zv@em?#O4>sn);Hn7sE9L=VXJMsD?6n61PdR^u7JKIQ7f3oPRVlVE0j!|amA zL}=*MvTYN>;%c#X@RpZSU2(b$OSooIQg(4M=5?x<7ij~tfP*#aHsW@LhtJW{bdAz( zfJ&IRJz(VS6hJx}xXhLT;i9oba`+gPgUKc{#WUb+@yux{GoMQ;uO;js3_i1qaPl|w z{{9T@i;6o%ig|D9hN621^|mAAw zokG6V2Ebi!YbEdR!zZtrNUB?NN_5_i8W3A2`6jwi<3TLBtIO}6Q`<};JRl$3#;!nj zSK5(JGOSCo^}M5FnQyQfs0m%2en?Qd%++Rn6phg)c;008*egGQ{zf8tjBU=b8SV{S zSk~6h6z3_$b%O{aqU_=YkQ2oL82jdxqafmo${U|H>pmz5 z`v$sx2!vwqn)uw@91H8+c5O2T;Uf5vbyku&Su)~mzg~#F~lDR?9)%A#^G)3 zUyFpfyW3RBza?BdaZW4)h8!9ff6J;^xW1}gw3nR#m;^GT5{l;t@!4iF2R}c&1$oR^ zgEJ~UeuMr-bP?W&QFfY3m>(l<4FTSjZ#cj6f-@76xd#so6tzWlN$WdXtcgt~qs`jU z3|#Z{&_T~r$fuJ^pFBE|c%JYCi%82zlD=*Y*h@!cX{S>&ki!xWY!ERaeS)^Q9b|_5 z#)XrESmLtMyRj0xdhj~6z%D+Q-mdy>d2Y`n{Bs&60C<&6hnJ#5LbjyR6JAIjRyJY} zU7f7986pE#>KbGJQgV~e4c*3dR0`VmpJ{8*++Y_W{S6M%z*N5F&})J^yC55!F~lNA zo{0IlFObr@cd(RH4i3)>*#xG9mNn5!16emF8x)$^RL<~90(6_(WVpXQeRTzAK$y4J zig|N}@NgssW&v1^5F0WWXG_=-6b8!U%$&|f?#g=0U~~A2d&)|&4AR!6A)=C>n&#FT zny9P0Sn1&nd@G|^1THe) zFrryXNY|zS3(Ss}i@=7h-z~}{a59;2293dL;##bZ1o`A_+`kcU=HLzT*@zA!y7~$= zImPq7(LZQDtA8*gG(R&C9hByXXns`RBOr{ajrH9sM?Jr1?QO{f=b)}oY-k(B%H!QK zA20OxlgC$wwH^9mH5xeY33HrvY)>DCOeWG9-qhP-GaGm>&)8sfCQ-vz5&ZF@wZ=B{mG%Vbv1U<|ilhoHL!$26Hx%ht@LoQdVIwP~0nmO~p8 z#lyY;Z!w21D4m+QRPk!khN!W74sv&+lzpVHh~JpnOsd%TL4M&5xfcDFsvO6WV%SX9 zJ-U=IcM-^r0pU*O?&jfS#^z?}Hm-LAp7uPqr)$JliY|dAOL5io`ns~RvSV3Tn30HU zR)}7faV@iPUGMSoPH8twNQSs2NQqOlm-+=lC4(DU3%?`j;u$UDwSFtT+%ar)KYY#Qk zsp$GVEqRKfroow%Zm+FPCTfh*BULar)A`J8HPgu-&G6>HHC|l*3U$uP3Se2RmQE{~-DI2LY*yPasT!f%8jn0Nr32SV>4ED6wQ(J# zlr}*vAWMIyk1b-$@3rr79#d>EI5~$aCzdrnS%{w0GL-Y6^wjxCM3c`wY%*uLz_KSh z_sRvIsf78|pwiUkJ?y{<>uY>i)_oE-^gAXIS%XMKI_doTLfF5Kb_cSa@BMuyRyiPP4BJJ zyP_0tM-4U`$wQX2#@ybdcWUoRgip|3Fnqhsf#_s4K|K($a}KZ+Mi!9aX3D=wD_SwK z3~B9tMs|vM3cQCaXb7L>G;IWpg^>9GQN1MPqv!D}((C)HcbR zoNjJ&O6a0=N3@;@Y*w(8Bn~X=z6MR3Hif@c4E~|YWu;3ec_75whT^*I#;vyQ#d#Bt z=P%#B$4wjr_R%+!kt>x)|qc za0$I)^?(?e$*@>;xw&_>hC_u{1DMKsk}8=@k_h$df6L5|_I%ZNlfb)cD0lHboykTk z+9N@IZcc6Zssi$y1epWTg6+fdHz<;uerAUtmGdN?*|=19AR0ni!=c6Af$Ku?Ml!b% zb*oKhxGOqaHSshA$$+_ucxA~o;CPQrJX5FmenIm6zs`eV6x2Q3emGA`aHCYK1 z``jLU)~lvX6WfTMKuuPs#$Hmo??PTNwa=?{J7TMzSND+R3#rD<;D&lIofpXq+QyLq zUaZcCcUmRnc9^bRNZb0biViJZzK2-7HJpv+X|$mllV)y1M8eh<=gr}5%eW&f;aotT z)(+y$WkWnS?&i*CZu-efecXa@ zDP;H1>BI=|h8|7`=b7pAv&w?7YYM;EjJ%lKu9^@+s;P^sSK^xTRhE0_i&U3tSFn|v zqCrIwb=1@*04OlVuHxsDdj_(~O*k98@kwHaouQGRhv4O3NvgMZ9+Vb)P2kkJBC3Hr zVOf+$je^7m!E$q%{Bl2dUVu&I9R9OJvQ~jk{cPW(N)DEO;2_&eMbqn0$n>yC*1wV5 z=B}(4neV&7cBR^+%nl&8%>cE&JDckx&b^b5hI#ikl^!DQP16r1#Ki-Sh_Q&Y$u=91IT$L3qzxg%_E%M z?U+ME%HL);rO3~+=goXBGJD0g0J5=+(hE)Cj+357a@d+Vne2YLVGjEXWSL)Pe8U#W z^OxU_g$_{c?R*{woo99CzAFmaq#cB=M<5%Qlz2sMsB!2=woB&s8lKb!_jl(d}rgJo=>2Yt(iF)R zp1x3;D%T!2EvjF#CfaE%VxtQiSk(&~GjjdfXR-u>iq`y#?+=mcfum5ere zP#w@Nfaj}tIr|R<*m(;W0Tf`fXnTyW@&ZP9}0J*WOkZc*LW!_dy=4LOm z7qwjF#ImF^zmp(yng8s()3<6YPv3BU=h!uU`93bLZ#h!&(QI=Y#cw z4F_}8G8j1$?oIr9)Ac$x660*i9vr`XQJT-L+#b#pw+idqkrRw*7cAIlNG2+ay#vl9 zaHr^;Cql_&2iP+5xpBP@KjebXf_%MjPC#Y?8Kn}JiPHqN{w^qIdAu#3@jd`Gc&>8s zCi*9&|6J5HhiP#HqB-c!xLzQ7$>*nG8K2oti?_yiI$(($4r<=#@ z5sA?`=rxOS?3}U8Qig`R|AuCkcm|NSlh7+z_ClKFU6fRoNS0t;VtL$;%EagipEbO= z1QU&fC!gJ^r*Cq}=lptAulr+s|B2-RXJc8 z#1{o2Otm}$_4PE`E}ZlpH?BmrF`}bvU>u;XN+$toIlWPnNME${CJaK*&sKd%U2u^fMPS;wnY}GCK$DY4(b58_k(s(2jjq8hLV*5fs zrp2Vh^|9I7gsGL9nMZSZU-l74IWbmrUDn`iUjr9O#o`No)Q9(orzxX=YsUJW^-FYo6kvUPv3SI z;czx=KGWjh29g$g&SG3g9D_haYyt#8qMV<4TNnQnRLy)S*mq}bK zZZqR?8ZOG?gTb@f#c;a{XSLWYd`jGa)6+?^(*_r1T^K`ybsTT^~z(@Z{^Z$ zdd;8CO;>=oFuO?luFCO&qZ!!iyhFId+5a>_yAzmj=CBPp(k^oXi}B9Vp?8?@E9x$4 z{`6+2y>on-{ebpO=RV4d66e_3X$CCgq^i<=77JGM1TH^Bjh8h-G%6RaNUw3;YZi@n z+O(XG_s>D^QrARxj}p(x?E&W^vz!f!XY$!F>2TCm%G>Any2;BwvYyvx%4+9^|O+JWzL}{ zqWRNBnophIfI)3avoxG>bHw+LTt}f$90v}S3Erw<((46q?+qY_tr7A78bF~QmOS@x z)~%fC?If?Wo#H1Wax`cD-L!ZJs3|lS9@D)TXp+jO#Tr8@b~AJk;5mIZHRl_g`|m z>UT~^T7I7RoG~yj`Ha`9!SGx7Zu!76D80dFAGJSM^8LddBA@fzBX}!x@(9IoW{$l+ z;d__s0@2w3Cpl5ZI#&``PsqGdRzzmev%XOi$mEq31=Ppeij9s-D#fZUY&;p-kyYvF)%wew}bF@^?&Yq z+~HLP(q!X;u^htyAfw!jddVu8`#ZaV-=V##N#X}1e-$q7GsYyTi7IbtB4P7g#3?8dhyFd8Y)3-nzhP z-3ezTjm&_vu0Vh|aNp@>t|Kr(hn+dC)ljU89Ej zdGOi8HWJAA{Uc5l(U(RDTSdDxlUW9zd5oGoHnf)qPRCTrIr(f*>qH7Z=X2RO{Z!Mj z9J$U|UR?jns5@PQWP&dCy1FSWmkPFOgub9LD#;m@z23QB;s*8ds@&m)?XAq%9ZRBB z4VW~!Te-0*APdW5#Ki)z1G9oKNH}Ve-YYNRT6XR4n#tRj0oZnf_>(o;AEWxVrvqKb zS2V^hG;>+)HxfN`ko?;s+Plo*0&J)5Q(vnF<1+D^`0}YYOhgBtQD5p>`Oa`2du?%u z)#IX0T>FY1^+xwVM3Q+?6No0Og==c&!RJCWrS$+c^98=tp;lPliPiKsE}Xs!M01u3 z2X8n!rP)Q83u~}LFuDba=rQJ5`BFUBq!{rTe=B6?)OD$^H`MaT8=n`qRNKyTWx%;%+2?@IpMhwdMbjqa@oL~o*^bX{ zzw@=Wx_9GpBXv6%z3H0G#*LE!iuzBd` znxJ$y@Bvk9MyZKHzmoq?!T631LTQ7y<&6}dpD{^{4#h=bM>@6d&Pa^U^713^xU%tLu-!kGTYSb?)q)bj<#A(olHt+ zkieG8D}q_b8r^4M4uH}gjTR+0Lr917EK5PoGhJw)l6>Zx&kU((mekKQJ={x}zg-o* zgt1N?g!GO4sVNP#vz!*CVKuiEnE8jI6L1~ z9nQ&TTO2G6;Vj8*BU)wrc5_v_nGdBW{qYdDFo8Rey?3*|vl@Bf+GyRR?#}hztE*`%HuF&MX z%552#d}D*27Z3kbf{*%N`-a4*+pZA2T(N#nS&7NT?S#OGpl0lBk!!Q_tR;;(j@VAC?53*=eg$bo!=usY2+#;s?$11WIdH> zf3Crk|K|7qbDs*YT9WpkscDp60(pk^a<89#!uHqs5I_c#>EZM73JID;8&!JOw$N_8 z4JX6^*O{!E2Z8j~a$S4pwEdy6+l6MqJbD9tIWNml(MvgI05|2v2XM}%(aH!};=>@1`Tt_<6 z8r0$LLQYqyU!;=Pk#2@P4K5Sff}h7^?tBKcMP`FKah)nUv^2kjxM%T3W>8x{r-}|f zZ>Z=x9MiK*fm(>>f*3{PN_1l2l;}5ZYGcD^O-=sirHR?+?!AC{Ql%Fb0;8S*1Iw` z2UqVt(+3#sw*h|r#V2>;13dL5|7D0apP!5HlH~wzXzzhvq1Zs4=*^am(%a?YIo@qW zX?K~8oN&&SuU0|bHFM>88HSqy6NA5xBYB(-q&8KlUykrzX=$ryEwY4{SdXc+c$=7z za3+BjPNKJ~Xp{U2KIbOLyyzC>{K0ZFHWFevyx)YRd+RQpKXK*4Nm2Twe~8eOUa&d_ zc=U013l+_-LxWnB)(>iPPB();ij7D<>((&DJcV=%i|5qR9n_IuDX$|yofB0O+W4+y zeNb9QU!m5(_fZ(fr5_{bMdNJ}FOE@^4mcO0E7?T!Q-N#__p(5Z%IAt_;jroImPOiW z(?m6Cjpgkb`|LDcZwZ!eM>EqEdj|k#0=IgSR_#H^3e;5o`!9DR&;WUoyx!a`z4=@2 z-E20!XZu^@54Fm8w~c?`?~m_7MZ5e>`G2XXek!gD&U0dDTWOQY$?D*9ZaxF6&G5pq znH*#uJ&fIpUaDwg8T2kbuO`0kmgtr_DeGfGG)Hhva4sMOA0UziXV7Cr{o-dWEL^fM znLH3p5H$&1KE?veX&uNzu!!{_3eXaX7P7m1?!=YzCoAH&V!J6VEiEs4*d6vg=yEip zBeb+kY5X#a2Hm;e(3EbaK86ImW&FfvO6Z#6O(t_4q&eh!aP(a~P^9fMz9JzyK&|h2 z^Vdmqm~^lb)a!;uvN{&iz-BuiCOM6IaM*hni1ub7ce|uGyt8IDNUJe6D@WqJi?Rcm zyJ#}ZUPNuKbNKE$TGtytgMJp1e9Ap9)&*?^pX{+O{G zLVB(=tG$arE(u-9;$*|7BRmjnn$LN{uM#-=3RhLMD_60M%DmPVmtm@FBDzLF>u16w zo||$mI7iZ%Tsa9W&pD~mIg_5o#ANbWSe6^mIsrq7+P=UXJp);DL$DfBP8cbR_`;=g z$BF0)u=)apG=3#^%Rd*Je3sFX1Ej;3Uh+9dN=r*;@1a4RqdW2=`5wW$hT!b73F!u8 z^O;O$$dpC`I8Q>lSRHcO)`y)Ulr=hfqw7#lJ?Il$bPM9p8^u)`)IKGim(n;tpHV`i zWryu{yj|cIo6p!1SVrRs&StE%+|B@5+e@Tm2+M^vB-mBus1M$1SLST#JZnb#2GXho zW|0%NPBJGpRq68AmM?apLG0b(CH3;TP5%?l1IzeVZ1P#3uo#Z^{^a#b8Sm9FXaRf9LIW|i}=JX-89fG4qQlS%6Er>g7D*wuVvSmP4ot-;_kc@FlL zgtn0GrC429u4F@FbI}hCmY#>()xy`h=<2C9#Iwxjcp~0GFk@FdUyq>$!ROB8c#6-_ z7om*{$P$*eFTi9ZBr_~!41tK1=)&W*(+l&BiiTH1fJem(CtXfX@o@ z*@%`Y4IwR4y0o-M;!Qt^C1S_I(H!hy3B4#e0MBxI1JwM$c`K1Y-MtQs8^p-%3DL8z zwzSrb%<7ty-m*fV^FU}>UwbrbKrT0c0vbAz^*Z)K7z z@%>Sy?2)ID*(1FvsvDN0veopx>v`E4k#q=emrI1O8&Q`4n7qPgT`x<`Y+GaV#|U!y z^x;x!QUjlhpT_4EbHlE(oMf35wpa&{V@3%;J&9zIS)(t2HLnqB0<$!hMPU3!$@rO) zWHKAv+(JZ09+Hb^j$J~C(gW0{G_-Ws9o2P6-$Px8l~7&BsJvL@zYWRb^8Tr)8>0OI z`lmv!`$(`lL0v;T1Z}d~^xo_}O!p%xeK#l_h+YS^DIK83O;fBEpF5(9)f-27oC(h> zqzlWH7|Yn~pzismV8-6f%8uwIp995DV{g06w`FxeSZ}qOyV6)jzDRbU-vW=DZJZdm`0+|ELGhe51-)rT(1E0fx-lVk8eAg=v*$gJb*>LHkQQDn5 zQ@^~HSjUw}Hxea(%qV`!)6^Y&_C>w8oUO;Q>`&ao(~u^V6f~bP^p}atf>H@fL5$vV z@!4=*GFd2Q4_ybcbZo9ccjerL(?>6!J{EE27;!zb+P(*@kFE2T(q8jt7SD1@jU!ajYNrmOt}EAg<9a}RG{zwCg(zH|Lb#Ne}u z4K2-(s5Yywiq%)|H96gNbsVYL@xYfBzjJ%V}=4VvdXp4sbJK7_O$?FH(TjzQ@L=b$tt z=;UC?%FsBsiO*YfhDl45m(QI)_49>OMqz9DD_v1xkTy$)yx zu?=mq`ew13655Ujjv$V*M&$*EJD=+W@Le05dHe2)dTDXAQ;YHdfiu%(J4FYv^Gq&Z z`Z=WaI-J8^eoi=(0JBcs4$IFjk{3h*W2G(GmwEeFZuIrz_ni$32waIGK zG%`o-Lss>xhYVzH<7Wn1E`9$f|+hshjI^d+9VW*+RC^k+vL z#dFioR{&@8S!>f>K6~!uk#i@1KCft?9-{gZD1GMmWq8zSQ$tI4InBWyjO24HSQ?<_ zz-g|7=Mt25l#os(Ps@dhx}yDy{9M3trnEQlg(w=OCtYnygUqS1osiXxA+RS_r!_55 z^El4O+V|z~pS{cKIzc_%(jUsio;RIsOOE$q_k9YdL8LVuNxhP zvs?}jz@v%=ko%y!f^$!N0+ZM}nd1zv<-$^{gl_Q#(wIE>jH}GoR597fs(9W|%h~Ic zSO%O+Gez5E1nCE4e z2xV$ zyC}WMXV?7xa31Phvg%oqy1JQ2s!cU{`S)voAQ}LjR1 zcgl;sNZfu0fOD7mEZF|OV0FjxpW-t=vjsNa*>au9lG3gzIB#waP+Nf)oSOn)LR-#1 z(Vd5BO01vpa6~>sFsq#H=$$QSGFgFU!Dmz2qdkX;&QTnG7#t^XJI`_E`x1x?VS~)P zUJwf=Cz<1V#1&dVu4iFhyi#1ekT#j2dhI- zpNQepC91=wwx|xL+N{bq+6xU06o4O6H}@Q6o1(ML(C2mSBr3-MM@H^4h16bB(QLmq}x@muSdDUr@LN>_Y(D(s_l#{dbN{=#m89=s6yq*X$>8$> z$j0){B|&XCJE=`q&LxT6;EX$RA)0sRg~gF@rUfk(y)K~>%faU%o_$U>a|3D_tRB|f zFZccES5JaCy~hJ%Lp0C)LUd;`^v{CH@E++ZJI1w1ovZ+pC9w?WTfCe@Fb^^ZoM$XI z*Fv&cR;nN~G_z#0K}0SIO=L2KB}MWalTPORzM?UwmUxay47boaqGyi(bmsV>Gsh2~ zIq{QO&GO_Ci)vUObU)-#2dgQkkE=iNIB-p3dxRc!wdT19)LmNFoWyxRbsI{Zt1w-U z35hmgqP%&0f1M&2JIVLci@V2 zr&@?^PW3cAPxouwwc%GsnP!N(D%_#Wo{KoIvV)^5XN!kk)3pTiJh4lA^e4x4J`38j zaxO&2^K9$*+gVHVqAoX9 zEX8WzngLKtPSc|nsE>-$$1a?bobHM`R} zH9mg}c4D5t9=7@5wxE3>${_Z|TU)+=xy0j!0?!@9^(BCsN#NRiCaB?o7}qjGw(eX9 zoLTms#Je}Q?y?(^cV2ZR3_k17$DNwbP<0=Vgq@7wHcu@M{$X@6PzvGkU7nf!L>+mK zk)9FV`OHf|9W)DJ(>Dp~-^%F7>(S4)D;-RQ>yTRs=YGi-4S?3lkRoBwLy*BvB!JlV-(?x+(1@x%_Vhp3sE|7Emqr7yYWc&+DvRJ=f`q6%IiqGgZgBa zCDbRWSa@kbKfAP$UdrhS(N7c7)?-yJXl(HIO6Q%=y{147wiwGwz~rSWwxAtM22mw$ zqsE)AX|Od3JDi=b;&+|WkN)_5yJ&xC^$lIQ!)I9h#i=F8Y~`PbhLH9U6yMQ0lTBuq z{CbnC|_bZrt)DzpJ-e|8aSQ-?A1#69G{k<1@o^E#pqePt|SMu`A4_II*^YM zI+<$u(rGyiF&vI+_Ts4%NA{mMa=>x&=L09fYT|l;nydz;C8w#V3F@DvtEH$Pn5S48_$FFsMwRhwGbVk))i#;Bd(?}r3=o}h>p5uXIw*W;aWy1 z#{OZ_F3L?5_Xd4$z}fma`ApN8Iq^$-p_eusvSuK01IuGqB6LB*%?6_eG{&o{oZ$SQ ze>~p6b^eL*4z0$2w}aQss=hYs6PBsMSK%K!Q@V9Bt{5FbW((>0S*Ad}DV|lMnJkHD z%4T6%^pgcZ-A9)E&wp0a*^S z$Sf=q&Il>1TvA>@*6I-K2ZU_CdozC`#C*19mVKe=a+^At5T+)yLf$f#1I|RT#;1+h zA7f&54v?Um5o6n|knLl*B%g(4TMd}Ref;o#L{fVH2_agP7NQAi$?0-G0@O#&0MsV| zYEt?fD1GwS`BTTvpN677e&N({l(ebI>Jy-}R62 z*xpV)7pRe>kdB0o)-tZ%yA=UqBPX||tIh2Y(o_OrcLbl^F^xr;lG2r=v=FhQkDG|r zsqSQK=H)Pibc!4co+u|u6VWq}7n^x$|MBGRA1R?hY2;*e5ukuv@)$LhGf5^pNwr*> zIrtpfSd?boxc6uBj@%+}PyGIFR{6x|4LEymHFmPP*>?fC^XB58GhunbXLmmG3mkom z{u)bBFTUP798TgesSno&H1#vrP)aP%OfES01cKT3`a6l@@Gw~68eaw=p=`NiYM{fE7mYRs+{&wSFu>zZXDV z4MaOk=_omiJZ&6(C#Lju-qA?rMevct4<-p};`$mQ5uLc64G{X(Wq>RY-L-TQTOP=* zt-I`lU@%dL(oJUbxop@SI1e9eu=?TM>j?2#r)v^h=k}oVW3qZdY1ZV`0rkSrMHE;@ zu8V7?G&>EkIFe#P=EWxYOp+Va$HvOC8K;i7TNaXEB2Qyx3)X56t3{6Odc|R{&C;YL*FBg{lpNc_n&~Grl_{>VNm~wrqt3$)tP9I`uJh6 znz%k;Io%bth#j~-dJY4sDXqzEOd-E`_BbLYlAk+qsRjIM{A2)dO=9zh1N7SgTA-=3 zn%0d#9jum+4p8$cBcwIeweNZ?1KlaALsyH{Cbr7!7p$&tUB8In5bNf9kl1`OO84U? z61Z3{WoN}R)KJAa>%h^(XOQZjL3D%XACF*D(5d+2 z(H~K^y_;?`nz@qg71)e-@SCtQtdDA3FWG#<^_p#<9f%gIJEeP0P`9r!^4W-9P&yxl zVw7Fpe62 zhQ<}2x^|Jlm5V$*ge518X!SYG$POBNC`GRJjFA=Rz~FsH4(>g2aNo~|7{>r=u{wN@ z!v{_v2x?OL1Qqp<=t-2KZas1TNUJf%Zn}O}}cbH1OSczvMQ6K(eA8sJ)Y*y3{|v$5REc+T=k(#edx!`Xc9 zni)AC_a;Mwlm0rNjb-r}4~(R=Y>m{+x+2QQD4k3iv)8YoxN`o+bS-yDZ<+Q59gI}Y z*YI1YqwkM``RaKD5iP0Q$V^F0EMI2nB$*sozM(M~b}%$dj&t!iDNm)w$fa6NI0ut4 zr_U=I3Bt%@0gYORKa)d0?D=W`Uc}-3`;H(E?E4w4KKT97A1SJj9{S<I?Er^w$T3^HZ^AgUOpUb~(CQR&M*kaBfyck-4z!UP9M5MO|=~at=6C zEiXcb^EN*74siB(j2X+cnrAH2z6&7V#lzzSWNdCSxp^1(*=SOCr;wYG>tle-$!CvV zE}tzRVI}3FVv)v-zBTf51_ad1z*Iw1rwmqIKs~=CqNm zWHQGjBUgFo`#pz#*n4QdDZTG7Kz(4};e!ckQu>Eu2-?)@Nj!XjpoXHZojV zd1iG3bx=Cyyd9V_V_v#5>%)%d^+IWrQ~cGSmL!S95i*0(eU zv53-m43R;k=M;KJP|+&gpGXx=Pz%msP=`%TI6L}K5FTqsr!;eQNw{}d&=#MoZ*kyS zGJv{TtnQQ^pvJk%vv)E;sHm-_?`gaT%9bo}O;F?6GY~yMEiE*Jv?v{X9*Bk`T{Pz9 z+<+W;*6^xNN-J3^YUpYR>2;$+a=Kd_lfUtd=7yoy7+7L8P#Mm~QWZZhhe!J-6Uoiz z|C9|<=1F~qA*4H*`)BU;EhnXi1x>-MfgDNZ2Pv3~&sAe4SA8C!$M=3?$jYFbu^B@% z<0L`nvQ8EE04_DNC3MN=fn}bMnvSic;JnIY0eNDw?d39=0cSZFT`)I3YpEjQ`uar$ z6AI?|p;Zdz9;KN>Ig81i%psD)zMxb#iU*LJY%U;2qD3vVt_AsA3tvz+cQ^;i3^bM` zwki|d+I8;4fqmZ{{QkQizyA(G`p5ly4($i4_x^N1lm@8je(d}C$L|@C)1tIN4N4!k zLH#pWP4~l!nxdMZ4pw{4OUP-tA32WNGhaA4(LqGhrjEFH=BPuIF)@$4p14Pr}3q^K6F1J_U;d>#x?FB0Oqdm#7e zR~M+0)k9II9bJyc0CiK;M)8g%$ZT#4(IECJrPsWUfoLeh6wg-C4OW{XbG;@hT_V;l zu{ObH`47#$7|31dY7-dcA{NbZb5lYC%lLBx&Ia=H{ELRyF;N*BU}m^`BFS7m&LbJ4GIVyyY8I1u;^FigK1MOQk}jCLT29$K24j?` z(Jq|4g6Lz2(&lp$$)>S59QH+`*d_)Av)zo6%EQ4BC2TC4%yZ7c7#RkOIFncotGQ`r zd(O5s=sCyo7iBvSM4Qj~Qz@|?-4A=e-oJPE{(WCFzW)Ys;QMb6{_yROKYWKcv>&kt zxF)d=(xyK0BXCV(vrDn*Y7WxNE=7PEgQ!`Cv~DBx=zB26q8}#~QxuoDzK9j7JFB@u zbp$BQWt#E<0ZHAY8mM8;hc5)vBfi^sNTIoutcJzZ`(!ov+#U!=>kVAz6wa8dsO74X z&!TkjSr1u*)$+lbIi}N$BQPE5f#fiuI5X*cOhKF4arY_^U9o~_JX98_aS=HHYRTy; z;drbO8+vI2*Bsz+kM0K{d_U!MGPzfFP(NPpNi?O0qW&!=cW>}{;dSgRrw5tI;V_mH z#oKZ?0UHe#G~Qv;FGPdIJG9O6Qk0O@lc;_+R$D^TdG=6^9Iat2!yVdz&jDu~ulrKY z5YPA4WV40z($>J~0ZOMWMn2b&Ii6AM1PLJf*QO|y1!tX*vXo^kcP4|w-b^4%hb+!~ zXy%MzWdOxPCtEGElv)mvY!oMuXgWrFH z`0;z-`rAXo^-ufv97Y@fs}(=)

btnj=6kPS0kwhJU~VIl?(FlGZh#I@I-P&U`^& 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¥D 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 literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/MmoneyCoder.ico b/MBN_STOCK_N/RES/MmoneyCoder.ico new file mode 100644 index 0000000000000000000000000000000000000000..99ffbec630eebb87cf58a574f5a4e2f019cd3e9f GIT binary patch literal 129150 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%0ADXG<5;si5p+2E*pev;1C1AFR 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 IA~Ooh{k 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 Y2Y_$71yKX3F8}}l07*qoM6N<$f~9~^r2qf` literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/MoveUp_16x16.png b/MBN_STOCK_N/RES/MoveUp_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..af5a7f84de2952564d3824744749f15cd961216e GIT binary patch literal 713 zcmV;)0yh1LP)qA^#mA8vN7lif|#vRY`+MJAm&QiKzpta7H|9L(E5(AJ3h1uURL9Sk51Y?d2GjjSUk_R^vlB6bf&Lj+7uDM^Ij)-2rXtd7fa5MKMVd!g&USA{Z4n6Ewr%n#d0K zD4$Kyb^wHkTtGoF*O%k$7-9tN-=|=QBoEv00000NkvXXu0mjf;^IKB literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/P.png b/MBN_STOCK_N/RES/P.png new file mode 100644 index 0000000000000000000000000000000000000000..03f6049800063a56c4173acc06546ed9538d0135 GIT binary patch literal 619 zcmV-x0+juUP)c+bUR&P zKzaZG0q{vgK~#8Nt&mG=6Hyq3-;<0^S~107r58+S;{|My(0W~%w$>KBR1jRm+fsjk z5Ky{N6cMFR(L!+}6s*OST@zGps}>AzA50y8GW_gVpz1(!G3%C+v0!sogt_o}c=G7b z?TP+PYYt@0qKgZGw!l7g?}>P}HgsNA6gGGFX@B(U$RYKg0Vy2_A(1Y8LqROT-&l_W zp#fi0!|pp?pE`4Ey!Y&p)2*&Q25j4bO@SOYpl3dzXy>3P96^5*LT!gzH~WH*!vlfW z*B^EFtiC{$Ah-i=TgZzvH1h)tD@LI_Hf~U`Yx_3r+;MP!owxbr;Ar?9Dk#efBwZGg z=4a?EK)}q$%dT_Rz%)HbXa-Wc_9~s??*K5er2PI1f>XfGLQvorR!)VknOKU?en~7? zHzw|VoCIL4SRl)9;Gn?E3+UT}_#(&mg_xew3q#Mx=EjUPVGzlMHJ_A#2H+%9)``*z(jW_z6%7;CXKZHBkTn002ovPDHLk FV1j;85S9P{ literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/Preview.png b/MBN_STOCK_N/RES/Preview.png new file mode 100644 index 0000000000000000000000000000000000000000..635f8c2062519545c5a23c20ed1097c9b8f5eaf7 GIT binary patch literal 75086 zcmYg%bzBtR7q$UPD6y0vxeQ%`NQacLOCy4`EG5$2ph(98L$@?YF0nKy(kY;HNOyO? z`~AJ|AMYQtyR)B}x#ygF&Y63j^W0E175S%lRCxF9-FpgCkkz<%?|u*FxR3J)^AAaY zVIk)0zLSQ$^u4k{>J7{ZmW7nE)V+JCDEw<*%g}JyLXod zlamKgJ+$m&pP}2l|bvhN=_Ye z-Tqmwnxy1py-ls!q{)LpiWn9ScJ|6|QlBi@SB84ja1S~{L;71jS{pQfIUr#sGp;O3 z7RviPby<`!(ZuPTuA$WZVKLVdTZw3M>I-gcfnN4eez%xH!UhiWqxJ;0;Lx`gIF7b> z9~xemY1s-%dwbcK!cBE4l~M$%2HMfZ0j;mXCmL4xV7^{#&Xc$ew4>J>F(%(N6t*Y1 z1|#nI(N6abj8?PxC7(*w7GL3n=H>15Eh{w8{o*Q^E5w?8BU0*GX{J9*`ZC`fqXMB8q889PO2p`EwdpzJrKb_ihsCJ1F=y75Nw8Ih_x{>f5So(jXLt+sj z+{IuCAyV8`Y3=2ypv&w0m#6*YT@=9i(O?-6o)={-GIblr(&I2j1{EYTz+M*^v0O_9 z$b7L_25!C;Z4i!b++uT_NndV_wtSaA0vA-hEyF|Fn}oDC|vb1=>3C%RKGx;+UTt<1j~t(490D|#^%Hd}Vhj9%M& zd|W5pwn9Ivg*&nn@?^7lgBQkr;@|qTLo(m-pW$+C=W4p@y3>lJ5y}#^!OL$GIuNd| zC)xZtB~)Zqu^7DRLYMXhjQThyKQs1Bk>f6P-9V?7-DsG?9J2+*UXi6{A4x~W$yGj$ z*S!B_;@YL_&)CXp$Cz?A#7Lq+DJ=w;m17f=686{(={&=GG`1p75fEI3Bn7GrI= z4t@c23P!F_FSCcp+B0X{EGnK&TE0$Gi&le!aNFmTSI3D%{?4OxgV01RZKk4SQ;OIe zkf$U10gSz#jOF*=b@dUy-nI-59Bm@YPP~% zRfc>`@e(GbS(;NsgL|B$`31t7rf}az0|(F4t)+iCR??5vu=08RM59pBlIAj1NmC z(Fga{vNQ~3AIVaSl=PYRlmk6`3r#_-sAsp8E1Y|=Cyl)fGj{HFq&ZxBQ|82T(0$D2D zoB@JTmNNsEweO7d(YxlWSzoPTt2{=OC2Nus67>NLnfpuk87vVj)1M~ zra+kcebWuRa;`Wj2wV$pPE=lkN9}Q+sx)Ov_-{Xe97<|;A zdb6`o&&tehAdvg#8oqy~&2}psss8E0z9ot~=gdd$%$6SJM>~Y5Xy>_eSiSL`)Zeq0HrNm= z^YvpKtm{v+=|#E~>p(=MSW?U&h0G3jF%VJFMYs307r+9$Jw85<}Pb7hZvC8R0lglj?lgjzE_YODgGUaQxvK1lEyXeTVlcV4f4$G}d3CQc<- zc=(;LY>_9G*}SxLH1_0rC(Q;%evNec%!8h&9?M1`yqXFMUf7cC;^X+LqU`QFMGCV# zv1-+jw%lwUo!hrI7kBcd`ev$Jj-?!>FOp}er6R!4pu#H+`_8J97~xUZ6qO&dQ8)g( z@)>8B?=`=0aJWiUwwwX-LV*RXgwuyYhOrCGV~kn)<-}*fENhYDO`UZ?VyR|{Y%Z}xxi3uffJXcl=Muwlc-7IgH=XO|VhXJvR=LN@~c9ms$(k(gf(na@3&o^11*`{n#i z++jnNwIjOic+*-fdhij1^VK|st~^n!u2+sfhaBq<$B*&A4GEFnc&3W`u8~^v!l7MD z@9;^V6n6e_rpg%|+VLRp8RLvA=K>B%g2uXMJn)fhha;vA&vYctlDx%tv0GJ11`j<> za4!9}GJpDw&|AC$3dUm8lkpd6T494~n$zE}di$CV8c#CV-Za?0pj|8<9bSJqPTX!< zNGB9E(8rSD>OyKPqK_x}w45~lt&lG|1os7Cmbcnc8YU>3lcMl3y^ifQ1l6P|ISHBgD~T$G6sUw3 zcs&q(P73GErC}-(Jy8uHWEs5+lX=4KWm0F}C5)gz@8>&@)*PmsSa&${i39qQk4ih7 z-^<|wPXNc;hZe2S#f71Veum@?C3lw!!tIdfzdag!kUFUY!F}jJP3j)S*-PvS+lA(mfGeEgH3;H}^dc7Xpw3p)v3G-=u_uLyhy1XY z3pj)s8njm4a+aC3Sfvv-+;PIlZEK_LeaGq~n>AoT8`XqRt)hz;1DUjN&b_78FMv#W zp%ou4+6J~3Zp!38Kw?7Mf8+rE*;#kw6=uJf?o&ViaVLDD12ukzWoLHnS1 zZ(|)>e0*IwH82w=Ab>}}Li~q_0SUQW0SC%OR}pm+aNc)$zV}!<>piJ3T>{&jJ@u@) zaQm6dDckKd{*dZ+EvvW5Un4>MS#$D^F}7FYR`rg*U2gjCorMv&30zyShre&Q*Rg6w zY^xW_HEme9k2sR9&W$iR{Q6lVlAbIvzpigcNiv2JtJj7&wsasAwPRc;Fb2CtPJU871lNynq-5;q~e{9kc#~}QsoJk z`uEuz(LOp;+F;(9m+Lp$stF?qZq&}Zvu4V}LDuVr2g3L1+3nxv>| z223Q|)4{DLPo=TRQz;g;SuX5wG?|L}T)ts)N4I@h#tS3xN5{9_-$Om;6qP_M^E6?M zmHL~F=Nens-|Qv)3_hEf3C$$*GQVN%iJp+ril#+O*EjvRDSoX_*)#v_crl74I8|Vzn3|Idod0X`%Q5l_ywBRgQ?~>7s zJ{4wuO5~h$+@l(+@SNWV$5;<#$*{l&N7=lUrAp5zAt_6J)l9l!ml4g=I}wbhF!YPP z<~Kf#lnSEsC$0cX&Gq6t1MYYO%J#4iS+Bv{&{1DDSiazgcOZ5 zxGiN_z{fVDc+<&NHs%hZ<~IxtQH~#XnipehY>RdRyL`p~w$VbylP;4!who}kQo{?b zQ4l!&A?X6OAwoMX5U>?6TD58sbG!N-=woJ9V0{Vp%O@T&;o5+v(zgRijT^^aL7XJE zje{JvtUza<{Zn8_puaL;*96Zyzj8FB6r#?#v2|n=Gp%&<<5XO-RRn;#ueb{`kALl`vwxR?-E}6k3j3u}uAx zU8*!9FN6&eAj6W@2y@?NXjOT9^jI&3Ap@PVp&Pi=4iOFmt1fhH6MJX zm{`u&r&ThD;>#o>ZZnfkDAy;kh)-Qh(Bqiajg4+LFc73B)IsT@S#p=;_Q$O_8s;@L z8=9h8TODhO%c{Ir8pIG=q!sYm*j8JHg_iH_`+HkjZ}%h0p5m+}hFZIM{1_oC=1dV- zcjtAUluk;FEYq_V6)8s~lyd@BbCsX%Te?6qj{Zg04`WT(paew=WQ4dqKpU5r_i`Cv z6Mh;_0Xqy9aB@7>MKk;3G4;%c9IpjFI2vBjukOCApD|OG1+7KH(#vm(%!fzFR)74I zS^d4hm`sf%(i>#4qVW?#r>UIbu3hxGu_NQYjjS-}vjAu$L~o7-ja0Qx7Z@ojH)_k0 z2_E?J@G%KN?)Ln=>uEf_f!3)-*JL@heEmKrolxP8(BqXeGl%tkV>begnd-I!#QD}$ zd&1L$MEvoyH5dA{$C(p+@H*?y;stWQk6Mh6$X^=w@^hdFVsg(`=&n!?;tdZM{7F@V zblTh3orufr&T~hUOp{_w35)_nA^>8x>=8@$vWYr^#Bf`ggB45$Kz6-L`St^vv6JknXfA{sAm#U#8mQ z#V>Yc7N$#yi#B!@Gf;DJx>r5k6r*RE3_&;6m%v4iK<>4(aAK025n}&-&{Qe<9W3Lf zEKOkq&UaW;KT(NV@z(sWR~uySS6i)K*kyrxzNWMp7e~S zK3iWxq-44{)^f`6>Bn}B|Bb>OCaci0?G0BRHNNZ!2_=^1WzV9QftlluB%0Rym$EeyY zoNpki1nC(hOjp^-XB*!Eo)Bb!?R<-mc@M~B{?i}Ztjc~ty2`ANJe4(=26r>)>GN$q zl#2{Gm#*npiH^zX-h8HY)*;eoceZhyQxDw_XHfb9+fGeQ9f)Il+h1nTxP7QIn<4Ji zzxlU#U?fkGt1pqKw)GwMPoYsAqz$)W(?oyDtG?~IW>M9UAN=AJo)U;(4Ej;|`OJ-x zNzW!%wSTECc$JJYhR4fUA&H^VX#UK%#3^3HdZn9q>;`F8BHHB6`ecw z!%&^@3VTluCd)M@zT;q@N}wp<0cS8A(1`?iN|0L${@!;tXQ_I2&3~^~c>GW^uG2QF ztEqMZ<3@hX^#`5LM=g(C>V0o6lY@eSOcm>q?R8#fyQ`}c^I?K+-11iFDoM~T!zU78 z?orQqGwE`BTp+pfvtBmC)H@nzU0DdG6HpaDi5m#egm!CSTwo0?n%Yq+u_g=Fh)~BM zyt3Q+z+3?W4Ol1eFtAYb`cjxj> zeO$GdL_k7Ppk4o))`mV1r6?u$~)h-t_Khel{()+Y3 zvj*{+$XEW)c&neEsNeeUtl`4=8>sZE5k~7(iq`YMmGRcw8jtIPt{oKb-S^@$zSfHY zyZ&5QY=3|9%K;j<8RN3LMLdoHHBdH!%ofkRDb8?$yOZ!{_SGdt<@?|I@`cfzCEZ!;_hN-dSU*vnY_YGYq%~qe!p9gs?1X7eNClgRV_enU( zkp~1FmlckJC9i*8V>ILHjn_7`?2MwblepfO;ebJvu%>A-sUSVa$_5CHLyU6BVUJV6 z;Ug4g>SVx}sxy2r>2%CCldJ+*yl7Ey>p-soXc!1u=kJs@t50 zMLr;0E~1pq)_PJ}JIB|0`M2D<{rnf*?eFVl7D?W-8KMYz` z4Edouinq@aTd(s5x?dNN$XK)8lUvztO+$=*ryq(cO9EsNpcPlkHk`Qk zh1I2SqN$3vO>C~OelvRyenHNCg(zBa>tWVVHeyIj_pIBz&DKaX`Gd`oyzqD?T)vJR zQh5zRLE9Oj)CzQ7j$xE6H8F{L%xmothBHi#nkr0$>iPbfwrjNs_kU%q4f9=nnTe__ zICnnZU$9JP&z@-UX-t2U+f#YHs%_}ealAb_+WY7N`X+KLnh0DL!!!#1et(C)-A{L$ zL!Cru8~M~+Y^eHux+2xCDrd>`9)ZW&KwpPNUY+h()y_^#B*DQQUKInTF1bgmqVpF> zF7!>Wb_*gn)X~Um=T+nGV7h4Od3{+((!7#^Rh~bltZ;Irs0NO5pM6*>0E?-Y^XI=l z%}b0mX#t$JE{*1f$Qm0E?I9)8r3`Etj9+q-T(-ta z&8Mm@wP=AwLb3hN9_v}b{QA`FC% z{`~q_kByNh3>LZ{ZD(Us>Txt6xbq@82D8FRVaafBdlSsrcPjL#>?<6+R6|BRdMjHU zl7K_n)7E@8XBDnBNqCs&!nyVc2EnzWu}{E+aMAy);Ig8?$6T**&S! ziNV4ER0)Y#^D8Uk0%e;nfBNTf6oXAfA`r#RiD+PvF&hA(2L;$4aX`R9USPJtr3xYq zCw({)QwL4A$n+Uwo&f$GlWhtmldG_x?l!esKRvG?`UzIN<$wP@$AQ4b-)$H-^?6iQlbVYTN91^dOK|IViG$V$8 zoM^Q_*(B#JRB@0)y#x-f(>Z|mzXM?`w#j*C z7gBCjhmt`Gm~eguN!lmP3g=y*49ea{R`a#e~X# zALH^xtLpUA z(ia=7ZKL--R{B|tQs}Q!`56iaWLrJu#ZAao29<(Iq)}u!YM@ddF}IQ4-tC;}JJ64Y zCX_kmQKY%I!u9AtCC!A3bQ}|0^aTXl8c+fNO z#0!z2D*ZMOL#{&xuaNMgA<_{j!`?c_B@sUy z=cy6rvURD;9`jDKjsXZYY8op<%Gms~2|%pmMTyP15dIpK2oInn526Y&fS8~Q=w-5D zo3v{~nVBl%vW*}XB}~IF?7Yy+@$#uVm;RqrYS zb-tLEmdqmiZT`W9_cei>zdwZfr~!j}1xy@~DHEOR!#PKTHL9<|#3V&odN!bfcV>6q z>OqixD03rR$~AA3wn~TtTrLl(YXvk|dmL-Ex=sLNCjV?(2piGxJ}n(FVWhKr zW>n$?+oH?^9hzxrK3QICRfdCncL?$RZH9`4u!J%NiMCdkgk~kRAm8%&$8+fbIes~; z{$gVOmMmIG7E~Z1YPPkTd=f=_;xWYl%T||dw|foB#!`#A_$zRc!yxr29=^vosf!D4 z^FHHfKDh)^Gm;G`9Q`xVE99QA+mu3xQ#K`OU^m#056#0#WTgtBo@D8ZOXg|6!}KTtU?mDc2k*Q_7k`6&fsiV zONk7Bu>G|MDM=*(q!4h(NA)=ki6@dvYNUnRR|_Q>Bhy*KZ}z=Hq={uG)c=J4=y|rE zg577&`Q&B#63f@uIkc}|%Z6tGufRW@q9JiZyA0NYbWgt!33kCr!!Y2GeZ=-xo40=O zbqDk^r%8MA`dtvECsV7pMvOi>t^b;Mib#_GjC^&3w@Ocm3`SbjQ3m1db zdV)VSkbuFmP6lvuIe;l5(vSf$0kl#O8cTeoFqw<|;+A}=T=^{+RouFl5C0VI)`Jb! zRT+Bg@b(r`>&N#QQJh~oL~^D2^ur{G$+`wm8g>fBY9Es3rLYwEL%&I$|9hCqizC|J zc|Z?ChH9ZgVm+k-0zO#Y3s@#fegl#^dZ!MQPKxUk zA-id+QAbX?1JxnRg@a3r?jJw2d%T_O{GjKp75zxP1t|6xyKBVP1;fH@lt$=Sz~gX3 z2A0-d$~Bmy_0F>Yg@~%8#5V}1+&hp$McyB_s3Z+{mKlb2IHQmOaagGcMJN<1DS<__ z^&W|p5yYHFFOst!?RF8ZKX&_z0GHuqwniBHq*lpN9a~uLE7qrOhMpTtqO`7Q_*enX z(WDxTGOxcpEdz6ZM)1Js_?}-2@ZBS=(bx->jWNI}eIFVT!yEbKqkFqu z7z|W^+=p<1ls*1SYq}R;1TN$|DAwArBTBVHm$5Gw&(uxcAeID zaD&V-uES<^h+(z>6qb-@te_{F&80h_#STkYav|3B*AR=q@)(N7i7KWmKRuLV1+?t-PyBtDPG-~3LZEgfwH^u>><{oP?PKq%sd#@|~s0fMUA10F`V=gsv zhbpg`k(m)ecn~6HfB9(rhl9_bCL#9!GK871Nso*4XsBZn{F-Voa8Vb|lNn}K;2*az zY=V7>JG>J9k4_$W-5`%GML;LcO~a!H62T!F^&XhsAN++?!(w>Fvv)AV_cX+hO6e?L zOD`%qKu2=9qYCi~1#=V<5Hb+^&HKbup|*OWhEExw*@h6~k-FR&q^D>YYmuOwKDB7f zvn~SJE}RGtr8R7CsuB925(0I5>OZ50c{CEx&q*QoLQkWauS`S`%O`k)#OfbdVePUg z_NNI#1nohl!rbVrla@5SFnczURsGS5&?g~03g4s%x};>F=wFA|Xha3ivQmCFdpCZ; z5ff#smT<(g%;&V})&(OwMeB&VMI7=ik@l7{V z3gP_@Htma;%HKR6h7#j+ILp$>!v54BXp4NLmiD1_@y7YqERy}QMPDX{jo6SE6KI>S ziMe=2-p2K!9Q&z7OC5<{R4y6xILiLuW6vQ9lMH>&CX$EEdByYq_@3`#%?b-dXl1L6 z<=MtT-%~v#HaJ|AlxviYkxdSfjG%uPjmM=Q!@pM#5g$Ec(7?{t+>DL!!hkW2N99%( zU~b*t8+FsyO1v@g(75OHIHZk?PXhifdM$rR%*g=3#I0mP+gF|M1g0^A zB7)#C?us@yHu&cd5lQ7EbOEPuxkQD(6x8J-4^k{CxMJuzu-FRV_a_knd{>BO6Mx#`oj;3^pi=P^Dx z@^~FK$i|yR_VS1|zhLFnQC*boXb07k9grOS9>b?{rLYbDAWdxk<+>V!=st^wV^hNUn7cXu@32>{ zGlcxEIkYL?ABO$&pb69V{n(*w!Xv@?h10S`E=Rca9om;B%xc+9ziVGNeF*%611^Zc zI$xWk7REpx7|Wj&5n`i9>~HQ&He0ACkt*d(DRC|dT;=e}DFb(!P$KY9E(!Z^)Rz~5 z2vCdYog_7_vARQgJ%B-F%U-tS*d~#W{xKe--U$xH?>}?aync1KcqheN-f(9;A(UvBY&JK4qQWkge9Lg!D z6vn{b@hlIE5?;yPJvi@R^Kqh6v<4@Jd;|wf7$Pl)D%pILGvN!^RMaSsah1)k7As(& z@EZuaQfWMr0vWeC=mSUbfn@D|Dycm3RBg5fE;=Lc=vU4931#oic+4>X9tFJXCgKmq zrkFDEjZy@hwL1x@!rD-*gh*jJkTmlQ;*kKG|a_=Ae4mAlFyj~M2vP}YyatO1&!Sp&r{^zmd zp`y88+!1_F7-B|zd8OGd|K~ZE|KW!3qAd!R#P!=d8_|Cx4=)MFObL4+4q;DNBlRV-wm!@6dv*hN|j5qT^pHVKykZ2~CWN%}8OF{P@v$D9ZhU-Ra*t ztm%?DvivxgsjMh5?MB1;p=BD4|k7-V}FX_6C>w%|7To`U26_MVUCAQ zWcha`Z=Ad`U#&K{X=@cZ&K-8uCZ-h6>1vSrQ3g$i7dP^7q*~4C82+dc*NOv9Q;XB? zX8u^!czFMF9Cdo{0Y>x?U|4(|3B~WhFgyapkvtgLnj($7Ss^-rQjZ1Gs$zrDkr|SQs0I7LE}?Ie10DY?*xxt;$z8{07~jKO+AI73 zc6$$Ynr_Whh;Y8qmq}N1#x!9vG_33G#o}^QFwqYGZ|Lgh>^&5cNv3kSpsWzP0?pZh znHJjuI&Q*|{fB+C66_NWHQsRMAP4<|x2QO=E~@}tK4bZQ6yFvH{Uu8!btquPyketW z8#5TCq*?^8oIP)49Q~iH&x`@wtP*c;^$X2PYhlw;x?WyP#~NAIlUXov#zI0YEeB%7 zEZ2$1v-S-42<%+;2#j3ZHko>2mK!^5cRn`F7iWGcrbWH~iMg_&H&U~u%{0kF8-hO%wl5!7qBBoLCwKT*-jM!c|ysDh>+_V zst4ZLqC7f&EBt*EgSl1o|4zxPWvbmj6d^osw3^M79P`vr9jjjkdER^hsx|>KzZN|9 z^h^cEKXoau6U-E<%)dfB3X0HcThkW)-YDet8)?HsEOz^ zUr;O)|5yXy7s3zyS1`D7*GcBem+QyEgXLlZ}%kBC7Eb-@waO&#jnn(p}Et~$zY*H7k~UBb1#KqJkMm1cs$TzO;TTyt-)^> zb?1I#depiydAZ2wG@!andmT9wuH7qs(WSAbuzJ@r&3Du{o{+RBUiD+nXvRXUe8p6M z@R2bKf-Bz~{~S2HLZX(exN=B(K~q@M31fLc`}#-NErrLvM_tS5 zd6UXd$vI(0&$JyWiv%F_erSIIU6Rf1@h*I{#5ylZ#KjBj@d z`-8rUZGIh#c7OBHJlA4Cn!`H#7kZlU=fzwV{*0J4%Oj={K?8OIZ?*Sc;V&ENYjtA4eI`A^l=|nVsknV^sVy(5 z1{l8zCeex2{=O#cp>_$fc*k@hoq1XKn>6xSaAdEY2UU*#!p0%?sQfC)U~om!yDkpU zG^Cd|-V~x^SO{L<0bQqSXIec2o)gv+9?NNMywOL1Hnr#&dL)?%hPW7DS(}!9G)W`w zFjajL#YGci!#V5vTTJp(Y$SYA-g-XXK2pJL0Qqb6I2n2IR_!V(jqmK~`@~w+>^eQK za)D`AirdK6)Ad2`?(nsTmS>rhAJ6;_ou_>Tt(D6F&^WUbs z0LsR?jyXF&j-jo3ZhtOq5bg!%3wL7f;Wd#{ImR{ug>}foO7tD4?c0=%P86uN+s9B! zMpMS%@@mdUTjcWMpo^fQQE+#_vchkDN!K6%ex-51>C0sj7tYA0?RU zZ(4~L+L2lMw~(7XvYgVS$K#~IAnQrWRcuBL`!Q?_rpmc;oj6iE7tU~{g>d0M|NsBoPII+`YN4ap)aKgSVv{iTv*l@F3 z+Q>VQ$KRq%tawC<0oXl5>M9+`(o)al$Gb8q$YmGsbFH@PKO5-+JZJ45t}M=pq34b<8E2EAc6T#rD|@zmrP0QR_hj?dP9n8h3(Wf6n>FHM z0_jKW?+;^kIOyFMq(AvWI*`6&`?gPgnhI(D@Bay4c`)JTnKS8iZtD2vP!!^@>FK&H zZY$7NKlO*2epJDlkWSJjG1BFaYKyo-s!cALXpkct6D*%j%(Zu0#J#PWx-czLG-^uY zsbA)b!pN>Rcf;{>(9r`f}pmbTIg=UOg2r<;D#Q9D(I0nJ z#kE!)el>Coj4}#Li5MhAx&R~9RJjC2T%~Ln@L$1xF>F@gz&pp>s-x+}rz)Gj>w8sk zzyaY^dWE%{b84Qu&$ZT3fb1lH+K3NGZ!~O^oUEN&Mk`f06fB`{SC(j{W^b^pD=uRC zwa5t76~;G4lh8kuB*(RSHN@S0H4v`>2Ti|yd_QV2gy`@HA^Ot}N}=*eeGm=;XD_FRm41%v;T8!9w4&&TXwDeP(Wdrc`M~jOZ|3$i$cqfCgwG&as%-{0w9efI9hd$uQk53)wBP z-A_wjts)$>9kt_O>WLhX?;mK^uIbxih6`hA|5!IdldalEfQLa88M=_CIEOYCr{KNG z%gxEXXs6KToh+nSF%&^*kG33hdW!9BS#_ zp>PR|em44|;Jso$hA&p251V5L`@_J`N-Q05vIkCMdmNt=cRh?iLQBl1l|&V`p0^hL zS5O#qc;XUoZ(n0x*z9k{x-c~T+lrS(VJs(GPt4L0?pm#X(!Q>Y4v1x%r}6eDnGAN~ zt7fic!&e((AQsg@^wrAG%|c}McckwMV{R2@x&sJBn)uDDO6l;kp2dh1BSK}16hI6l z)hW_YSHs@popi?IHpD;gXZz)%qc|MD?tG==)JnppG*&W`=|a*j{ZqK9Fa^r#m@$-} z4ZXV_%?jYT}b#da}6;e!0b z6%^gA@uwaCuWYRM)o8HlMa*y4)acof=t~uetv86#n5S+brk2Y;70;>P@`hxb>*BY@ zCmHO~WjqI@7%M z%2~jb6-ORWfAt&oQZ2(Gdul@XKS8^;g2`BaPzNF%>vCM^q>^V%UneX)b0X~vofaSd)6d+W z!sK^(gr1$P1ktQ2&ip5)wuPJa>B|yS4Bkm|OH*$QP`>>nxps6$(muVu;BHE3m%Pxc zp!#30VB+L>y2RZ+^>cA_;tNcY+1PTUMeR{{4u%e?T_`uzUXQigoX#~gZE5H|ILKsr zxz<-42h_`dq*2;BneaHsGA2;Jc(qqjk$K;Ax*Ba)ZbwiX-ybAu23LoThey{~3pGt^ z3Kj_stwhi#{UOSy9Cs)mS75CXxCp234sJ&x2B_t2fOyP1=xHtyr1ayo?h{=&xSfIH zpAZK0chEO5eVMJltJC2~Mor~44jA~1lQ;G0z(MDR`3Ya?ZiNb?Ij)t5D~xha_}F1TU0Gm!E%Q(X2j1_i^AHJX~!b2Vo+7&?#f%c_CI z+|_aGUmYZ%Hysnr7_eb=y3$->_}?jmwgmcx#f@*O@$z&}$L6cPtTrn-g0aCd|JNnaOS_^0Cz6_-b0_QR*ln4){7Rnqh@MsIq^WG@%HKGi0Tp9#ao?p82H);ianEgP-V`SQ;*vNSI*};Tk0(^S|FC)YQ?vU*4gx)1N0w! zL1t2xsY4{&Xb%6c4-^&_9@>DI=EUX_Wz*m~^-&vSJ3*K}m{^+xfn@njcFX9$36hWH z6c>D7QtfcOMmecH86?aT!x7LbD5c>lxM-*5nx9;oj0R|2a=qOqZYi7pxn*)Wc9cS4 zp-`C%-T{_$+JE@g-3ktK`fuOyTn&hpUelaPqLH{?t;F~ zd=3vNenq4;xNrz;3~{sxBY`hkF^m+|6PKZIQCf*x|JQnYTIl#A1CUg>S_Av(*M4?D4kXy-JOO%##C8 zk<+W_w6}(VzvuPY_(i0vNlUv1r5w;Hf-KfmXKG(%w{((2eGZ>D^qq{3eA57z4VN=a z8&OUVz0pVwb~tV&pQ?MRS4Q@J)hyHy7eg!SKNpjR<&QpuHM|k(v4_GUZzbXmyuEP~ znB(mNq@ak*{;|@QAJRo;>hvY|T3;0ta=kU_>k8Sis{S@DOi}*1{k&9`PnJoJFBO}n zZ-hUSBG6=7EH!Np1QwVnRF`mDA~%mBG4=Nu*2O2)ZJA-fv|2OYwvr2Xz^~pR%%>pM zO;GP4-TQ)~yTc%vWc9ulMi$K5%n<}Uzezpa+wMT?;LSa~nUQg__Brp}InYiKB5x`0 zwW8X_Ec0Q%L#;h(7@Np@*RbY_Rmy-_eLlem+-t?oP(K^}NE_grauhCcT&tFAlQ-OTSOk zD1vfgJ*q)LP(nfW@z<`1s&+J?Fx%=&{*9|e&A}odh7xKO4v<~-1_xuvp$g#Rn2;A+ z22Jm~B8R%_r*o3M^fn^EWg+)_q5JO1BFlc=&R2YHq3vIwFsgS%HECk+lAbYsX)tRX zP&Iu2r_AV=yKWj}`7}dNS-yskd=@JhIA!OM{My

FRK1E{Pv9RRM4T@ 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 L*xs9@sO&!ggvZb$ literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/a.png b/MBN_STOCK_N/RES/a.png new file mode 100644 index 0000000000000000000000000000000000000000..cec25f6e6465b084159843cec40af896d71c0052 GIT binary patch literal 657 zcmV;C0&e|@P)?eA+p1@%)LwaQo0u_`)}eo*BD5$D7#!kH;g=XD!V|{pVUolQ(Z5 z*Birh-(yNVGj?RidcEG+0k_-j=m|EtUbUPV9q;MJ*Za3I6}^thuFDj?Wb71^xOF@< zk2ik?)UTj77&>WQy@JW^PGlpk7!Do7lg37ho|$xH$nwTIpxxWm@Ma>?jxVjJFx+$m z{heJf-+h8&O5b%neoH>kUF#%PY)hIDw#nhH%-wqla7pHfAPjT z;EMWcWW3(u$}*GA-0erySN)wge+^tSHpB<3EAe)#56|oU z7zjs@`JAJ~zuZ|T9T~Fr0cYE)(zCI$3dAcbkl0a+7xi^`xWz|_PXubDBSY5y3fh|a z3zv1QT$haL21YiPBfh-~=Kehty=3eZGe*|_5et-D+ZGj;hnJTm@0P4Z-}+L#F4HOT z%v3iq~<6sSgOq}4!Mgu+6s$5URvV)NzpT7M<&lYtON37kzZe|v_fe$MbC^K r8M5{PtN1#al2Z;u;x%?wkhi}9*JK3tPcj+n00000NkvXXu0mjfWw<7= literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/aa.png b/MBN_STOCK_N/RES/aa.png new file mode 100644 index 0000000000000000000000000000000000000000..16e778ec7df6bf8e5a87910ee10da0ed53728112 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XWI&2SGD~t&8T?W!N~{BN5-Y78i;D8gt%EYtGfJ$33UfSw z>Hvgd literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/dot.png b/MBN_STOCK_N/RES/dot.png new file mode 100644 index 0000000000000000000000000000000000000000..e89a4fb090bcfb4a0e1a4284dbdc2760343085e2 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xq(O>8GD~t&8T?W!N~{BN5-Y78i;D8gt%EYtGfKps@T~(X z^Y(Oc45^4adfAYR!GOa#kpJ0DF3X*{?Lsfq=3i1=oPR+gwDl9;i8C98!lN8=Ss2+F z8w4377#k+8Z?L(+?lMiI$Zew1%D|`n_bnJd9jn{f-QSf5G?u~B)z4*}Q$iB}t;Iwy literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/green.png b/MBN_STOCK_N/RES/green.png new file mode 100644 index 0000000000000000000000000000000000000000..3654f54a321b748dc18fae851696f4ffb24971ea GIT binary patch literal 879 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 literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/pie.bmp b/MBN_STOCK_N/RES/pie.bmp new file mode 100644 index 0000000000000000000000000000000000000000..415126e296eccd50f8cdc1abd86d1f510fdb7ac0 GIT binary patch literal 388854 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 z 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 literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/pro#00083.png b/MBN_STOCK_N/RES/pro#00083.png new file mode 100644 index 0000000000000000000000000000000000000000..14244d9ef0672db91a4b3c5c563e7df1bc4bc1d1 GIT binary patch literal 985385 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

BL=rOSaVH`%E=6CQsN!g6(4 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 z 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%0A;dJ5Mwc~2 zy^;0U%DhL?x$^D?=t8jX%X)3qo7SBlPAU5obgVkO`Lk9}gHq$GKGuU}XV_{=)j`4J z6`b(h13HO;`Qk-15~$pTVmP%z;EI)qe#E7yr{uzjb615Py6+0LW7-H&D#LaKRS6yR zQ}DlDtbi*f(QP}^entw}-;NC+rW!VNm+rsh>TQ=qyEu|!3`up6_Y-GNzW6#V29#I- z@`T;G8(TD>9i1b3$nOOe5=YSrZQ!5A7>NYk9Z^;iRB%QL+EEe1o?x02kYridn@dr4 z$eUC!a?L6?0I!R!y88t(Ve3UNJaw%f1-UOSs;G{EYXh=8K`CAE=v z*A^JLCT2#c(H3^|cjE9WpS`pYs2x5JxT93j3^=3`2|KVh%fjxXax5|{>+S=+GMq=R zlyMR<{{-m@lrI@T`2v_zz<7!w7*934TF*BE{W3t*4Y0K(SGJTVKVW^$v=mfVr2bb2 zQU6V3Z7))+ege4cFX)B7R8ROM1qwCi7hV=JdD1`V51a=|nyFQ09lj4$O$ro*qY*OG z2Z;AYzLd0IlyYl2X@BbO_TsbEDm<;w&M5VBSI=1|PMUw6P8V6I7Gp>vNU=iC^!=Cu2h>(lJKn7i`jFD`~U7YzR4t(O$Xwo&kbGp`F3-4 z7gdb0Erpm&P}xC{-&B*+sU1e%gG(ZAsZnx_geg{wG84nf7L;G>ywPX7MXQF7iPeq2 zTktf#d2IPyg2~yrI+X?kzc{s8a_~n`l=Jw`AY(QjpfS^mwc3=cjpqqnRhC}U6lI@_ z!D>g1{6cP|``?_+et>-UMtND3zJu9niGAf@d{-oBznn90CQ1h#SN2N^Qyw0sLB_T< zgfC3!`*J-rrlRAb|AH)4E>FHJ@H1F<=K!^$s!@Xf;$Gx{Uxym=#vI6Hb(QIgM=qm> z*SJpdNpaWFb&q03Gs@5?PM;C!S|z)7Z6oA8Nslz2;Vr*I15Ic2l1XRI+@qU@V2O~nEHD>$0z<8J7~DR0B;Kw|5s%FJJ=FS*(E(=5SV67OZ(a+>-}@kE`B}o1DDpnt*OSvUf-UWr6O7q%jX;tv}3WVMr zQ>1+loExdBbPstrIDG)5X*3bUcchP2z}nxli+!VT#>P_dEdM5a$j|SSSGL%`I`y~K zzEH5ep5|vP+b_kGD2&sQA9x{c{A`guEgKAr$QLU=SY>AXY{Gn`*yyt5(2fDrYYFNb z>O-=Z_3dM6WoB69o2}Ja7DgNcpBFNkNbrk1{oM06X5ah}+Yxj=4Ju6y9<*KDYyHmn zeK2#`5D+S=mQ_?J+aFv_a--+oQ`1D1m3m(g(#tA5d@QDlqx9rCte_p0Q2&10mUk(r z3yc(Z)7R&P_lG3}C?zDn-;$J=gc9l6g45c2^+rYk)p62PJN4>&<1>yqUXh}%TkvgZ z#evZSv?8w}1fn^(h?M@eXA!+ZJA09>C>)I+kP!pNm!V#yLV3*lVtRTt$ONdI zUDw?rRBsU0#yrP$CfBGqvm#{sfuLI|P#Kq8HLJUnx;#rA8D9=I)ybu{%`$nBYv z?aVMWt6NUZ*@$P=W^}iM3G77P`8ZR{fx=oe8k)D76P$Ps^8+hl2Sf#dFgq)IKf zBLhji6H7+G>KvKyepYk04-MKE*EA*%JvUpuu12};$8 zN#NTDHElhv*YEiYY+sbdLKGhEvbvyD{p@Odrue(8#cPFLcq6uLvwng2P3PB#mln1? zYH0J)vy2L^Knqh8E)3~9rnYxTjZ_rA-%qA=kC?uov3sjFRTx*wxuj}$7w@z7VuB5H zHcFwEPDzdoe%&B%dWbM-h})*lXGD5lUhPUH8ekTVPzo#O66y03`tXG}%1!LZ3u4%v ze_;Th^Po8Y_SkCPyeIun0-}7&18x8L41AD{GH@5d1ozC5hLxd`6w7O-`qA2v^P=;2 zH*BT?8GFZ{foF&2t3zsO!y(p0dRd_CfwgXs*)2}ij>2a-sk>Jmunjh)!-(p8{!bV% z$QQZk6Oi>34BG_nz~4co^)Mi?ZwXx3k-L040AGyt^4IqsYrNkfmY@wJqp$xEy{N`V zMS}7GOmbfQ%dg{k#rr~+b={XH@MuEG@M*}oW9x2iA*_# zBlrI(w|JA1MSOP6Y}c3h@V27*Cw&|J-Iomxu4d8x(pXAzIo%wUZz{aanN0Y$9}#WY z@9lL1B=p<~GOCw$XzM%ps^sd8xd~jGPN>dh7O}B3Oa*teojg@!x;KBk91_|a;Fns= zez9XA7%%rKCxewHU0CC{r!5P<^n*64%9DW#btqORSJ;ZAeI$=yXUYuCn+wkhWq$Nx zZmxVrM5hPKfV%coOz~RcNQ_kwr!s*`(H+{+qWQ+7t zmTm&~>u`2;%q)zfZZ>t5`rQ|tZxvS=xhs^tCv-kai?FLkkM zE-yJsHKiIar*&ZXtO;Nu)jKfI%8Nsd?~Y^>*;V$&FFK{&TrhNHhngCn4lsKoP&MBW z*%315&-5%MD~g`nv@dhDYp}LnVi;_Sp~Te6lQ_o674$G^VO%4rw08s2mD}Yy=-wvW z#V*O@%`m2*80Vp~h2W(YBhq5QHCC;WJQPXMizF>YXHLVCs36m&$jD68VpN0?k;?TU zr#kpsTWou*#w~Fc3+gzt-u8f6Zh^N)PdJG2sbvp^)?9tQjdV1?syo8)LCX*c5S2Ri zXjL`XugU`YBCb=KsUN(Cg-QDi1O1A}P-BXj@oQQ$i@?8JG*W}RvEk1$f7I5cB}!Au_M@X$Vya-aGbW1N5T zr%l<%*~ZOR%hW^m&>bk`RPaWl4iQJ@d2AWSee7*P4De`M-mSg-W5W#Bd|}M}wbY~> zC;+^Lpos|Fz9-QBL3*oUQnb_c?V5k@u)%6xsn?-i-saTN;AajiwmDSMOKgwH7=Fx8WZD}AouOc4EYNaj0@HNrP< zwvq@Z)`b3<^f}gZB=!0#aL4x#qyGvSpr~sjPw>a2h6Rg?i76_3V01X1XsR{Tikgpt zf4T)3;?x^W^0iGzrD`Q0oRfK~ZGVd~l!=T-b0B)yL*cOz9v!pBXo8|`_@}c3OU?(+ z;&-5~m#@?pjC!uk0&9oO&5>Oja_9RxpsnYPu!uT_A_z0YpzZM9ZoSr78QC$2uwXk@ z3TF<50)u-D8(8a^^d;3T^p$ao2;~eEg|Wsj&AEreiG}=Xs2D=0?hf*P!Zu7b3G%k8 zXXc4OTQ#->6;pTCkUEgU@LeT47?8C#F}iG^jM0kn(*IU)d=Yo`K=z>&A5w~U()WTzvhfObNQ zrr$~HTiENi)0&DuUxwa0lkug~4=<1Sv7FE}qy4$?hq1$zd(Q2bjBokeO|DuzZWo_T zYd_?$^c^;ossD|#t>xj0Dibdq3||HlnXbfViibL=H{9kJn~8<59abkYPg<>bZXOmU zm@+Pdj0W$0XN+q@jOp{qIi}`jZ}8d}1;>YR5fS^&uBAA@bk?XNSGY^wYxjrNoH~Mg z7|%OU^}x-_SvVRVx`1}tqPmgu_nVjAL?=-Z^pjqiRM^gPRXhz_87ZTIUSlw4X%QCu zA@7YCs&U-Z({>N;FnV6Ub~l=B6p@-0(vIPT6noQykiwg%-)ivQa}%XVx2G3X_hc>) zct(=35JT?Q7PK99Vb&E#U1Ka@3{ClLxTyd*3GvuBZ2DA|2%GK>_^BAcF6~`D`?&CA6gA4^h)t3jZdJ7f42l*@)KBoGG`(63 zn*%Bgw-C$+ieWeI&ZU~s%)xJY#o~?XfKE#hNlV;vrBu`I>b_8A>`2NBVdI%;3Y2aw zIr6DND))f81Qi+PXpLQ{%S*s{$v_vdxuQOM(MSW4@~u_%r_^ocUAD$HP9=SLLEe5c zZt{w*R<@{5b4zeijEqPx^ElaM>+>zupOxeC8upC?=_?U(HErZrr(*RnhnZ9)0<&?6 znm(Jdtz`qrJE0xIDgQX6A5RL;2Exe>Lc53n;Wpkf_d15&t$C)V{RzpE>8 zil)NRYn?m!ls%GRBSWK0AT;{eB0o@$gl5KQ9-kk-3%zSSPu1X^u3e*%v4>43WI;P% zfujoyEEN3-na>M@hmNFLX>h6~dREwb=Q@t?1smaFeqCFt+(y+B7;wbqkP?W*dKJq!DVUE9TcOLaY#pCO3EUs8C zp5heCJj}lMDr6!kDt&7+PZysa*=vB9@`^9iy!g`-5gSnOwEcdD>9XFNA3c_ZKbXf` zO1~JjIJ{I;`grW_2ERlQ8yas~fB!(+_PIKW2SRU{k~fZ?DuLxy*?ly8_8pd&GX$1& zb1SxUlRIpmH46Y6-ium)96EJ!04;j2Tf3py-Pu+2t(@Ahn{4Y#WNqzxi{RO zZo6(%6DS%de zxjtlJ=-w^4@3m`OSB>=0G!_#f8JRa?Ixdi_JbK_Qy!@?I0cv4jPW>j*`c4 zYHNXw=kF=Nh@)}bC1kOi>1uCbEZE&nEYlCj$ZaJ&s0V4xN0kqvBVB+K$#?9Ti5bLY zjaVj63g+#Iz%X$bUyhzYlhEdsj7FkYl_RLIz(t?gHY3^0l`nO3MRL+8c^!0-s6u$$ z;n~Ifr}D$-7KVulS$2(Kgzc_UK7e7TYG|`3>f z2qG?f2K2xQk(z7z4yR)<2-%^^eHwO zbF1fTHx*s8h&bc%%Nop)`t_}2nd68pskPBBKk3BW)Sz#UMMiZ zecMgBqg{*R{t4;Wx5`z_uZMb%e!dS1t@@Sacmp@NYy0wtF2fdwDJV`$r7Fm7`Ifun zSxHOC(6vF)cS#ATzEsvN$nb{OQ}JN^&wM7h`~=yS@WJ%X4PE*JDYv%N)x8|BM=bIY zGGf`l)ZSP<*0!DWBd9P~Hu%8N!j;W8=Q6nyNk1mgZz5kQ8~1kvU)d5Vq%PA4M~Sj< z{At`@%d79S!8bp1%}qHY51CpK4IxVMt{h=6@Q4@|RsA@3+zVzv zSQwD4jmcbLFeW5OJ>Z^`6ikHs0L^JHhTG=7QQM3&H|mR9%NWI(df*SOwLtkrqn?H6 zd7oN|Aw$&c4mf=dp}IV2MAD&q%54XIT7MaE-~%xe4s{x9^BNkGL2>ABBN*m@42K>% z7z%mlU$b_h;wod<7`O;NHjv<>UT#2(x4&l7e_gAATjA7!C&BtEgLEJl-7q5|ZN3WC z+GXvs$)9vD+I5{0vc0wSW|T40-v0}`Z?A}Bc!6ROtXbMmH5!^Te={W>@N8ecWMeb= zqILNN^XM}eQq!>-@oKW(nEGo1r4C(P68osVn5B+LROwYe(Q~xQFt|g`M(8wb#gI8j zY^+S5q~SwLjgCFJt$C%!u`XA+0(Cy^ja|=)H=1z{Eeaq%>MLYFo7-2RBfS5xL!krR zVr%t%Gla$}8Xihtu~TUEKO5@@kO%b;Ir~nPwj!5dYnlb+86Ot^UgZY&FbN9P@kG9= zooEjEtdQ*{=o2{fK&Vooj)>zU_h+$knJr`8n;uA=Ib(D5l+CS+VxGBo(l~q5R)Jzt z@Sd{rRQh*HHjBx$oxXoS$Ki}OUc$zr{X{JLA!A5NGxRxm^^iFIT1ZEziKj_}ODfA< zmUX28VfbtL&9jw#p<=_{i{Yl%X2g89H&~niiHpwODI3&c7N?Ln=4}JjX5PsD{)k8j zceGdn24C$XH-kQ^1o=})aFqsRjSOt(8k=`H4p?N$cMG_&$I7c;dYXA0TDnXT_+J_h z5Hrz3Asm@9c^rm~A8qnR)iH)m*;208@X>244(djxd|8khf5g=@LLN2OGm0FB(?J>x zv=IFwj}OuJDg?=I=p;9P<&Etf z8+g%y+wrsoAaDdpRltLb??FCo4mb#YecT+HA6o-=q>FP^`(&%&lS|dWvp5t(p7e3t zK#pcpINq1I%j;S@5bDVs{oN5QqXwL#vIxmT3)V=GtqA@)zcoL$3e~`rE{mowF2@a`}(;3iXiVebg(7 zhaDIqwi9~(=l6P;5A~VG9C_A%V(3a5;n z;94dLdkot>oa59B+t$|doxH40D>C}N+}vOm)oNJY4p=L_{BU5YbY#c--ihxu!SbE{ zuyLHK)$|Jpax{BW^~I6ZI_w&k>bbo79m4xw%pY$`0+6g!?V6-Yj-#>o(6^CQ6rQ|W zW4Up(8;34M(N)@IhWB!#JxzC$=My^V!Q@K0MUden0F?l0+al8)d2~>aJChz^IF&PdP3?_fdH5_4dG+OmO z3oExLGMkw!T`qwnWb7KXg;yaGuM93vKKOx>M?ms%n=`(1DE*Jg};#KHeU6XhuUYmp}T+OL4;3t-`6AhK!OR79QWoFZ&jXvu|Am--up zW;%JsLzMlF1v!n*DX(?yzw0%i=a`z#ipA>w554x?HqIUo@v6`kg7Q9`p*l}CtM9>G zJm($Uor4O9W&u-Q<_n$TC(W>PaC2sljNCb)KvCMM_7Y$nrdENUEo#cw>GSsyQQ_Uk6bpUcUhl-%OdgItEku4`w1W&o7Cd%dqKljA zaOVO^l`C~$fo<(5ccz1XyE`)Hf$v82%#l!0^dJqUP2wJt`>)Gp%%28%LbM*J7AIFhePcwp{Pbg^mafbQ4Hc;QPA9dQ0Ci7c^o9zzxMjJFY2IOL9X( z=8`m2e}icNKSTw)lcgb0&GY~x;<^a}fbCgf_!4SC-r}8>QpijH48Z9Avixt|aHXIW zT98-+lK78)6ZQm#2Ot1L`6w~x`7ibbWu%GGxY-A1{E9jBBH0qnGs?c48oh>Xkgj znlBCHXxi%+uJ)m)+D_>wOzIw_rMvkzUsZUnrTe@Eyk~-GTcb7}v~+$eZOYWwb%|P? zi6NfNqb<%8o#Gn1e;lzA-7uFlLPXF%!MA%JqVKHI^zxNeQFeZk$9`!zLcfMr4x90O z7YqPs)PhQceG%~@D##%etF5*KySN|mqP%QQKMoOXx-A;cR89Rayu>$sgN8n8P+~|2 z`hp)v@||GN*IFS{PaAcBDANj$2r|K3FP}Q1p+;oJNZerqkG<8kLsD+_+H+hkqw5}t zznX{btjamCmZ=N~s{;2GV8ePd>tiZX+yQJ7|8hACpc#+W%K`*@gkU20JMl*F9*_lc zPl7Qq1CZd~ZYt0Dm#+`p2{^8}awD2(9fbLXzoecz6eu~}F5Pcu>~Lo2Y3PDq`RtvB z)!LTkN5>02mG>)smBJrPjPoGxUev#^aIj$1c{+IO(AnJizMnZ&dvT@3cU6~0q+FHq z>t%D!gWGo9)4}M30-eY0Qhv@!MOA(?)H_2-UR&_bI<5!aDD+E3q?8kJrSW5RSmf9VFryjgHFo6x3xro10bY_J-x7;d+$?`v2z z1ywaj?$dlQ;O z=MMJuCBn7Ta{jlD21J1QOacfEm{U1A-l&Ngde)s~(i+n}Qh*kV7{*ZB_X1BlW8qGJ z6|qBO54=tHX(aGIlKGPi4YN6m3U)7xjGecw?I2Ed*FJ}$PVl#>FIFQ@gRaT{*QC4+ zXao^-$~yqgz5mx-00YVa0XD&Ug-cM*G2I8N+y9k)RaVQ<4)t2L+Uff}uc=Y)}wrD2Wam%(PO8SUe+h4f37=bV799qOS|xH2}{D)h91}2)@F6=BtpVlRBxXJ%1~)NDPsJ z-&>q4-@lyoG0yF(CKOXHQPG!H0kWoIkk&YZ*z0r0V zl~l4{P|Cy5(B34$k(;J)s5*cni1|c}#oT)IBz~jQc$m99X{M>KO@A4~y#^ zf{uh_C>O2P{fnCaU*D2|*#poIfLckyj|`b15D>}&SldAQ?h@l5<-O?K>>$8Z-?#R= zx#IEigJIdRf1qD>sAU2xNw`%THLuX28)`JM`#H`eOJlV)4t=o8_X1v~LmnsEr}LC^?m!iayOLOEw<|l*KDtCLc}xF)biI2#)BpQF?ieYR zY9ePPg-BA#sYFDS9OgVFInHU$%rTL(3YEjkS=f;CVU(Ej95)%}Jj{8{bND^i>-GK| zzTfZfPu==sw>_?1*L6Q!*R^O~NcFky0^Akc&s#9lTJ>EYDhh0U*H5@`jt@A0lEm)~{sM2fmR*;N|cZ`~viRu6F+%RloWM zSQn$c)=@?SBbl7r{!8>e_8WI9Q5-%1%-cTryVzCPrw#V@Lh9i|AZ=s{3kYco;%H|G zQ=2XV!!-ES+B?uwM?1i_t@@+uM_n+4AhCS^FbYw^7i&1447d2r&-5`*ue@UU-;1LE zSI+^cz1$yxi_!la=ZgM!ERQ$4(PIKD4b0;qtpAU_GGlX906Pb4IY|nQ7z%A;Gx-+N|TAyIHA&*=I`vgXcyn;N}@51xqIdwL+8J9lp}82*^B;-IL* zU4PM)nx;Yd{A@>ZHtLpnp^uR1f?5x5s;+xRu@$(uj#=a)9C?6R#+;V(F+tFA zCZsf;D>aVryvhLP_(_(6y zn*PGMtlaz8=B-^g6B{pQT}T&u_n9a3y)J3}w{uu>@f8p2)8QpPrpqbM~HJrH$Z? z2J)xVgk7G1*@fhjqRRW}6J+9H(vsT_;}Nf*e0{{I)c>XM|J_pg&xAEMa6?%Q*nB}- z$i1Pu!nH4Vn`K}Ac6cV&;l=*|lK(8VIp_u0mmS5r$WdW2kmd_kjmRg74I-F2M4anA ztw*zh0vG)JA^DXKGOf~5R-h6&Da?(UO}lm1$7to_%2*GT1khx6E*>Xdw~XOU{)Q($A|Q+dg=*llYa2 zOo8LQfAros0o&{nYeN*~3w*LS0L^V?`H*?_^Xy~dv4M*2oD#Mn>%!-B)ZCPry}s(D z$8=WF_5PA4I(|g9s&-ie|9k4}9z#{=_M%)ElZ_*`!Ha6pVfMtDYY0Sj`t=-*r()$O-Z z4_305JY*CBl6f%;nrAB$vcI_MJO)z=Y*<0~OrLgVo;)8&N)CAKy-0@KtXt-jZxVnn zCr#9zJ4@U8Ti6`GbT6Ow81@h z$)$=>xI1bHU_cgV49K~^TEgGs?||Wq<`V*b$}}xOnsy4sV!4|(KfRhf4WljV);&3L zqE4Uz*y}Zo)&4(z*ZlKCz|p2HW6_`}NB!e+vZ88tbzt|R)Mf>FXzwd714jk(Qf|Io z)SviFDm@K@!oQH8I*FL+#5%k;oOMbie}PB_k^OE;26ZSvqDFbP<}4I}v6Hu31GE=T z)3AEbyz=0LWvs&s)0GLzb!ZF>D=T{YtT<=mUN4pq>VMvSFS#vhOl>X2S4=-%?0jYZ z>8UqJ51;NLdoQh%;wcELCzzivF!{Qha0i{Ux!%gRIDd1FJpZ^p4t zf4&=j9FG)HW;fdem8NzL)!YB9_keM%&GS!DlMDQwj3~$XpB#hGhwO9~e_n4ygf`&o zSUMB^7s~xih+r>7-w5$XU!V_wIDTip`~SItQKi7}Gzd+tcpAy-ze5gy?U*(cQ-KWs zBW~~K#7h0DO}IF5&u{$zO>;9>P}2DX>-Uysm8uQU^9ySsQYB_QDDH< zrEo~y^69sgfwNW>O%o^g-=F@~-!XLX?^SP}zguZHRR3MB0PH#XALr>OnwNQj_1^zZ zv7J|!c0sJAEmw~D7Wfwi{wE@^pZ_Nl@tDR${CRdmGDFza6=8Z#6yQ9h`%oK|RIyJ=~-4S_LZdUTCkLzt=ueqrPI!QSa+~6%I#j;i+3> zuI&}q`5D(pi6Yn@M?1bMmCcA165=zgWw9L__yr6TdwxwH22o*N7A~seE6A@?v%sWM z`L|;9vQV8+3Ciz>I;msT5u&ez0)MtRF}s))gy@UdEk6cI(c-kYZ&)Ztqd%L6<7os* zRvLjiO-k9a9BrZ~KBHeG#Wo2C&9uEJ$X_gR~Fa{dZRZ^g|ChN zz$$OHOl;7`qE~19pxc=OXOz`-=`O8$QFosP*m}>J26*l8fR)Oq*lr39U~&g6c%d$i z?W0rPQu!59-IyBU*Kc|%(@2747`f%dpOXFmD%i9`I6c5>DqtM(JkaGg1M4w1RB0!` z(|!RBf2{qu5>Rh|KH@)n_%$(Fbb1%RM@a1W6GBUp(*uxlQUb8kzq7~v9uq>V|9Q1; zIVU?mEi|Y>bTGOoveNK_>wofWnli57%S1Br|Dzpymc>iYsoODhn$swwQ;B=+skigh`}!P zkhy42My=Jiw79wE_dq||;+P(t)YiZ_*ZB&gD46a$2NI&?%v+yW3%TThl=!$eZ{sh| zi6ouleg~#!=(E&miH|G_lCVvuG}lF;OWUf*G(31}Z>pjf?kUWuU`jo4(K^aw@C>?~}GvUcWV*Bw|{6Sxem1 zxbyMLq)(R<&ckv($y_^@p!$WIPDX?2C*4^~x=;5nGdw)Q&2`dE_&AOTF#vm|q2Wz$ z!=J( z{mmyK7c77NdA|Ia=RXM%spHT$i8VzpXPji7x0%KPf2xZ4kX^5`bOQ^UL^MBMb)5rt z+%K{F8(uW83|fBuouMS$`2-(=U1Hb2DC2CI;iH=mZU8$Da`@$%Nd{(b@0nUPe(7tu z=XsrQXZOpV@246U{>wJjh08WNHHMV?BE_cRc&!-}PRoL6_525L)@?;_Dn)8^2M{2fwg0Z6oblhh3Aw#pD`K7#?KCSru z6syeK@=-6Mi|xbrY0!~PYAhDDOp#_DDCB8D9=*qQB9}@2+O3(8{4o9V*V=3muwxs> zs@=lqb-Z3aY96c`Y?goo*@?ruX2PWQq%R=6qD+i0#b)bot8YIju~JyZeh^6&T@oc# zgy3or=1Z_(_G-DrI)Z>yki)hfR!c!g(b;$*dTL)=3QU)5t9PDWp;VX2<=t74Q%QHn z$H<$zXwg9G>wrg#mgy_hT8RAH*y`1^OGiTaQeG{<~-7lJ9~e?OQe?;h|8{TLC+ zkGepO{jW=do=g;2aX7iiR7&;YeM8N2uMHuIw{dLb zUHG~Y#}|R8_KQ`-M;<3p!xg0G8u*^-YT55{%+=S@jm~knN_fog&B^cYf=2G~HEw*) zdJE~Vel)2PUwR`(7~ESkgom=me;0E%=r&|_K99aFnwQ6XruzOmM?zf)nF^i8WapG# zxkQPVFD&r$m5O>M6)ftfKlHXBw4T>MHT@<3C*6dqMAxJmr|Uh8{*uqqcyJr6A{x(bpMsze2X~4C(LWM zGZ7Eg?PJ5`CvyADRj0E(w~CdVj3?l5Fr|zfH4z*VK zUOcuO^#Re41D}m7(w%g@hcjk(ehz4R5YBBZSXQz(B$=@~(%$k34`z`Y4D7)!NTwnKSlD4;(A&eu3$I{rK9iGpcsL>VA4tz0l=w2Qco} zmLeBkn#DP#at8BDTH}DJ5gzB%R4yHdsX9G9@|b{v;v!p3?xml_M{VZQ#X4xDQ-{1* zO)Vbgi3c%O*KHm6CQ8do!V?>(%uW?YTl++UIevI5?HNpn8T~XZ>hd2E+J+v8EJ%oO^LZ=<`uO+1|{WB57c!h zOQ#_+2p>swp$~QGD7#_|RlkKe|32{vRSir3&yiBYK+4s9ne}pNtLPTFoY{SFV{M}( z1^qx7z7Y6Y1ac{0^>8S$U-b8rG_Lm8Z`BEep2C#+o|3B$iJ2J6+Vq z(&@}dS^i|5XuZF~HfS>)`R06E1h~s?tbR|nFg4mXttpn}alT6LW-!*q&M1>QFGBx%pitqm5k@0-a3&#D`bm|T;sdD~#U@mmL+TbhJF z^ZhLN-ObwwJUT5oK~l>&jeJNKRn|PBp|;=# znf+r{Zh;2{N03f;$VBiVl@=QWl2hyKO@9k59F$N#tyu9#J>Uq}JoEKahxhzE)zJ5t z`>6$9F;9aemAl`knT7R%T?l4TbqyXR0QR-x7IEn`cuX#@0KG!^#1gPBg+muY_n+)n zt>9x%yzi&j^-z#d8P4>j4gxCn$Nr!!yIw9MN274Cc}&M~CxjU3+m?Tucc%l~fG*hv zs2UJj)d+?aKuQy@0vSPri3tHmuWa*ee=8hv_>Dyz+U>=eO6HJX>ttY(>QqgEQ{mu- zQ&$%Kc5L@*-BwJgc7RGf|Ay-P6>)d>+#e!+$LYW|;{2Q+D!V)EX@57|Z(r=vxigN2 zt*4k1^I}^1T>q07SmfTx8v%LYYSwcvL8EFywEpVtOQPN>32bAJfV^-Dj|pqq!af{b;vM#RTnXUPW+H~5lU*| z69ZL4sgbyx14%Dlrv|PFJ>?dMH(!{{o4$cDZWh}e{HV+tWzQ#-R+kHm!Ss9i6&~OnHfirYX zvtGb!>FT-BVTquU24puXf2ziOIrA7srmIr1E|5!o%t|C963kB_4`1ZhyViyZ!KrxS zSjU+-bG-*sw+vMG@Fs;3=edoY6(V&KKW$QF=K`#IrtntmyJc9CCN`~OZC7)ZbgQh( zNG#}~fWy23XPqR=jie20$TODjm^AqSzBrF9GYsWkJ?r>cXryqE`t4Qbxg7139Yfem z;4|QXdXbG3IK;SL>vU&I7uMD?e`nl^j?SM^pvtY?6U!_qEhfinTlue|86|>$4`Z&HUgc< z?5U5m+M%<0TUgX9|_uz(#=J&fXD*bWX zzp7@duJ8J*Gjj9&%=HTT{M*F{+R9;OZ@Dn>l5!y z$}2>MJ3A&57Egk=`1Dw9S_PPqSo72ZBEQO-*;sHZhm(2qK8MQ+K_A!%JIW!Zxjr=A z4c*cY$%>hZ>^uRUQ~7$&=+|DIIicOa?*!>86f|91&4+neKae*xSnjACi&3!ffUB)< zu|bwjAX`XkdynW(o=Qn&wJh5d8y7TvaHdY>Ob#0BqRmLZ$ojJKrsP@t*@Yg&!mu`Q z<`o(wR|EN!J9TQ{;e8z7-&aFycLlpnD?YgDM%2fkYK)I}o3TGtnSLQvS3?*jXG&0_k0xF1fPO2$VBo1I%DCm6-ImSLG3UHHD@UHN2iA%f3o88$Qs$Zu%I2Hh*ASm5SW&NdWpoR9ZAxQ&uj3hVZs_Vl$qIu)?BlEDyz; z!x_c@wy-G)AL=$++eTjl35g9TSL!OosduPGOBi^;oa1 z{@^r+`J%z6&yS*rId^79G{^|Q_${QV#tOQepf$c;k8@#CQjWPuKXQq|2qhL~dy-+O zwXsv(Q-xRrsUF4+>~@2z6y!_R(eNcj17n- zpJ-;6#UFI9-xa)1VlLol)Dsr-HHiIAcM4vXJMP(QKp&0Hc#n%M_|5*cB~&TO44GKL zY8j4FH?@}RfFPsFKNXPIzMS%@KsndSO?c;gi-U8zAAJwGc{WR8I8U$c*{kF8dq6>o zedjT!PG8t+riT0)bL(tl)kPyG_9fi$vqoWAv1)etlg}*m?}G1SSuJwq;QhIPlB&8 zRH@cxu#P9h2nPXS)f+ohX2qkpH>^_QyZ7dSGI5(lXNR@^=nHI)=Yzo4HmUAR1Jm1k zgIc!tSz|ou3xkQdQgOAR0lVUejzhH3A))t31%W=edC0=JWA3PaU*A|r-l$L&>d`r? zepcLyJVQ{^nLd?7%TW0P&_v*p>R%WXIciw^vJwPjD0Lc8(j0pfUD1gB3gl9tw%v7~ z9If2$30`vULxY#UEuB+VIjB6k0octEOuL%59P{s?c>+WMWIeW zlBKQ=lu-=&ezx*TxbHD&0@Bs2B_n>5flHss#UmCcU6+F(mI#VjWM>$P8W8kT1PPt=hrB6j^HI&a z=mwAY!{6*oP`0`|vhZ0qpG>;(+<78Z-9e%*&PiU(IyB?kg zRC1-*H7GqoE-t!ZqLSG)GV^D>nrc5M~ zj{grZp9K_>Chq!_JF74wEV(Yu8AGLEX2TxYNs`XddB~E_Qs=vUe*KLUS???PGo@Ey|9mKsQ(G>9EcN8W z07A)^t@^DqP{itsVYeylGok@eD@E$y6y`;_*&!rv<%_`AL-~LdPi0rh`g$j&`r5$U z2C=H&_ZbnHk2++6CP0F)OuFT@2$%CcTTI-aCl}l$g)`@$g-kBV=#C4kwiA%8NxC$t3_2aTLfAr?gdc`5Wh#3Ic!sbc{h&fiq)gSakgF>sZ5Z0mek{iU}N zR*TF!TG^RBY8oeoz3>=o8^psfz@s0_eMgdQp8hk zXT6H2nUV0OOr7p#v!nL)Kh@#pI0+-QJq_4doMV*#gtx=n)%5BOQeG8pA? zJ;*<~y-7R)_oV!Jdb|d=dvVmmkgiC5)AW$u)P(pz{Qt2Rfu9mIa^ zBJ=CQnBRN8t+(~)9kDUf2fK}jyHl(rR(SI!cgobhd)$`d3xzF%q>iOD?HKin@RBN& zTfn4r+u9Up%C=x&5Oz+)IdhGcqr_=BYN*CTJSvo(=Qi&@ZPeOWbNT_*b}X{lojNt@ zKCOuFIa2T%$8H}WFCBe8T%Y_fzX1@j*zM~pyG1OoPQQ8J>@0NzmrI(Q$3rqH@+-N- zgJJ1E#G;R0^jZ-4_=^4?}+;Fxc%{ZPD~^| zG{lny7G@b&KwqPqswEB<_^fe*SLK%Q3^z_8}w}q9N`7cf`Kh2<4IFqN^&tu z-lO=^2AgYv-eYU-y&qZZ4%WqlK$}miE?c%9ANlrP zbJXxLv$G5!9k7afn2Lbvx->+98V4u|`s+BWGL~-UfE5}`ME!>)a%m1;DzL?8=B_WL z-hphH`}`z`f&K454{(TH(|VaYCdpp=ams*g4Z|nYMjC@XbFo4SPE%d{uJo0u!HW?O z61;Dt`Vt7IlKjzpZ(bcsEMtf9&D9><-2HO#!<1Ft2H)W)^)R|)_psZpsX`Z8Ojw?m z_mN~Lx87b3f?i)&Fhs3Ppp$<{ILq3!=x^K;bcFq??DLvpJlFUkcRL4s7;-Avs%Oin z+GHgXl8$Ht+ulkFt|YL(n|r~{M;Up<$CzILYzUBhFzv((w&QlOGStt>dp2-ULqlFP zqK!>P5lvL=uw1ts?sW09O+XughZT;wa;xSDGMq(4f>QW3v^bMLU9t+nwaAqZ;Pjbq zY?*GQkw=wS=obl^Ge*~)_&;zrRkzMC-b+p}RSqXSU`&ovR?h!{N!B!z3#@2qw~$v~ z_qB*mk*5C56o0#!#_B<-aT>9bp?kmL0ZwHYy|VDbwC2Ex%?VS0-A=3DQ5&xNF*56R z^#!pBvp`I&GVtE+!1le{Cf--}X%{VR@JbT6x0dNXpoo8l3CXp?j41{r;uuI=>-~{` zf?tZ*XReto*Wb5xl*H?}3IC_II2B~MRdUPGG$KGIps|BMZP`%FH&`Wo2eqgS!JhvE zuaaB>PuKs5+mfsct1vtI@G!Z7f8>-eAv92(#nXAZAWEx@bLWYy3DXU9<;tf*>;Y(v z2YD!aQ}6iHTg3awV)h2UP;(h`Mkb%R@imtx zG1E|r>pVW=c`D)F1uKg=L;HhIXVJs7zkQ--+PS2Ra70?fLz z^M88wpjgd8#dgHmTgr(o+6-G;*uk|SL)BK5#$)*oYDhLy)7+^xqc8okO~a2Ri(9an42wHk zj`KWU<*FcpyY-9BG6_f|Dh{{lJx34PkT++ID5B2feU4z1jW zn=1PtX6|Q+6>_4ui@}744{Ihod#m3FjJ^T#B2YzA zr=h9<)6)bH%QSKj^r404i!*;Q!V4n9TZ%bS}YIDEOgiI z^|nvOvi`ni(IhvKsxffY!+dPz={?Btv$z;_p(yFk&M@7+J*B7@4=W5GlQdEg?9prS z2ni-`vfGn-G^RV>_|h-%w$4VCCl|0gYmb{=0zB}&uzdXjQ?LW3XX}kCz*k59Y2VL+ zl7(RMBMvMlEb*Q`XtqD)LeR`r?NzcqZo|qmHqwZn{CVCYw-%jTKYZJW-C4q5)RMwxInDheR$c(~U@_M3 zyLz1NG?Hi&==A396~SCEBcZxa>c2qvA+S25!jZekv~oFqzsC%Cw5{J`m0LgZ!ivMH z_!cQ}p=hC4p?IP99n{^`W2(JhWF6XNF2M_lxTgTGsD0$x(R}^jVHiZ2>~hcV*XS*q zHm!iLJ$hs2-FzU5{x?-f)2IzcPO;<<@Ua4_6D@%LLlx3AY5kdKt z%Mo!6G^S9Kmv?QMu)N}CcHr0a)aLSX&s^PY54&4E59prChV;jHMRGBVJqW$!0q4x6gCc+O<{Qwr9mHlq>^eN%p5u|C zu&mp-4s~d=PJEYOhf9nvq_i8dG1|sJ}nb^OWM@;s7``34I4lrEzz+Or}%6a!%qi zrxY-oqu9)Ry4&Mst9SR7hv=E0Tr78;f?(tJKFalt>`<@85MpdXT?Jok|8^9eWH0h6 zgZHb2frd2NNey z(Ex`t(}}eXRKHGyZ?MeiRhny_?m{$SE0Gt@1Q~XoIxntk%J*Y8;WyhK-(AmybJd|g zBMB3Npc+OYP+g1$&DTH!;L892-=YCs%IafmJgp2B8Z}Rb|pF4p&_zTRf;0oR)#^aO5Td=i5c_v_9gK z2vFpDiUJO9eUK}6h-xenDNJZ2Pw@`VeXqBBas8A<%9<7bv_5j(C=Nps6nfYlH7+Q~=Xx@uFBFYH z34d_V-??e46&T6z=aZmZT4=c$EmD|@adcy7Y_)4kMLDWmDOXq~_Mye>eeGfFSL%3P zYG!di{zs15Eh< zahx?%IEYf>J(}V^wJ5nq6-TEYz_oV^qMl9=N0SW!lIC~NNa;(@um6=^S^x`7RB9`q zL_V;Z`Y+E%6R!Zf!@oS=Ukl7%VVg%fi9s3hmwMEl6pUhAUa2lZb^HjFI*2t1mY48n zSqfNCK=)OtQW{AGy~06jit-&}l1CB{7G=_%OF=xpO1m579=uu7hmZ*0RtSQu_vsG= z4H;`5l_sfI##N-{%E6l}q>-DcUUK5znRK30jX1G01!sQnD_ucok*#7xKMSl6W2(|a zdoFONe5l&0lg_(yt5CMu#s9^V%3O~#sJ;u6=pX<`taZFG$uEGCaBF?#Ap`FmyJNt| z8N3C#+DwJG9rjL+BlBexY;9UXUwOcT%r4aksR_NzM&G>iaOu;9YNzXO9Wq7+t%F0Lf(2ijZ!8Yb`8yZnYMfA#iu%(jOw^#34u1-hiA1wMeTvgz?9?69eQ*frJTV}^M z=k>^99GOxv60qhlLrq#@>Ln%r68G}=CC+4Pn@d^&s?YW>2u#QSL%}jNCoOP)<&1ml!)zK1jPGn+Fno5#(3SIjrK2N>lO$6OsZ%8rB{rF z1+azQF({{_dKBM>1Gvs^CAmSzOIbF}5c;R}c}x4B;0z#mjP5!8m)AeV-vyqtx02)rup z6dpxW7gii0GnFP8y5ll9TaL!nljWsg#2Sy9OExw`Pj?MpxH7-G6L2OUX_#%vMS-`? z`(7(SR|q65MGUbMHZZSBrmh*hGwo`wxfWeir1kv5?8{NQJv+&`bb0Y0S%_S6tfux& zq%7N>uYq&+SovnVMRiT3iK)1wb!R>I^JE2guB6p7o^IO?6f+=A{5%Dt6L!1RzzqM|YM^o$Q^BuSX& z!0CPD*zWYLy`DP_=?9}ayP=fWOy?&7LHwp=UxjU0LK5?eV*l)GybN=!_m^*d{I84V z-@bz;8qxX=TKg*I!$UJi{OvnrU1C>l7!Vz6el)MtS&=cackFbbI?LAO*BlL2R!B)<%5Lcn2=P2`}wupJSM|mTzdiV#7|~TOP^K5 zocW%ktW;(I$m=j`RZE}TRDcUx+Nnbw&qyJU)}&V*y(g6j-pTGdxSTy zMNYX@ZJtetXDhLn;^?{?M5aHH$|Z z>H^|GQ)f!+CD>C<4_+dHuQ*f21vE8%fmG7zdn8LLa~B`^h)~*8p0~OK4@IUceFM~K zK{hJC#Uav>AK>JpY9Ikg=$*!x4ZYlb^)0W__0VN(JIT2rl|NNJ3gwS^ zS)SP$Gvp7F;uVKhYCp1HymxcidhV7KsQ(K;n9))G!HnIU_-g^xsuq8pq_@0VZQX;? z^7yWjn|hdRsVUhfGF9kyQ*Mk>jfYuEwu{NR*>8^)#4vA^Rw^g)6pA z(;x|&)=Mx#zBmn+y>pfgmr4aVHECZJ#EM_brOJMYxj)-M@+Bf7(JTh=$HY}p?Q53S zoX|1L%j^EcP_b2O79=N`OrDZ@s9DB&0$i^H))sgg=-T`E50Uz@p?2|PO^prjb)%9j zVMp={k-vIPUtVR&p*DYyTQy zjQ-||N0I;;^3)lXrcSju;9T-u>?m9M7MOJ%e_(5fs{l6TtRiCqoHcK;`Hx-Ht_-SB zx!J12YRrjNyj7x=PR~o_3P1Vr9w=0n$yH1?|4do=2(Y)hjvV@_A1YQ73o(z)E}GRw z1`uYM6a{YEP;PQ&L(j(zx{7q!A$|_?N#??&m&ZvAm%uEbloygDCdK3tRA*aIUH-(q z@OFUPxQzV@rSgMn4ZctH#R6nTYQf0859}o1=;1YgZB-c2KQUi@P zmRqR2zHR`JlEFnBfYs7MDB6{?l0WfxUB%6=O^`)D3TprB_Om8A@Kl5_cu!~rpYMo) zrfd_iO`g^16wc133MRP~{<0!EPYvz!jd?$@%pu9BotX;L6RTft0=N7gA~!r>9)8DV z!Hl(2FZ`8p84&RxA-`R-YCs|-Oji5z*nZY?qBs9n?F$T4zHV9(jVm(s`p259D(ez9 z1*_NEHLS#p_>F!=tWa$(1iaJnnd9_r1Uw7(eFT)QGBVh8eUY8{oDdqpPN44Y4*o-q zOhrI;+evd}EY9DSnJHqEw*jA~;eRu0)0dYmAI~g3dz}3rCibs+|1F@=&=~l?qTh58 z#_05Z-RhI=nT})%^nlilW~lm2je2eM5>hO3;94!c%heZpw%!S3AEpFKi`x<~UOlrN z=%~u0WkT&idLoc@I{%Wh&f!DWkE6iZ{j89YvnCXCWQ=suhde#Gt1w|n8>Smf-(vF} zV_@~HZ_Z5LLud_qvUd?&12%s{?Q{sP)DkExq}@2>hmYAPz^b-tawM5tfcbb6Jroxk zDxJ9 zH7#0uJKhxvW5?&WCYFbEYWKj-?hWy)7Udsb$2EcXhu7X2%u`!0_iqjDdNAE^Iy#xr z2$cw8PH3>T`Hku;y2*($fta4tpz^0V6Bux}$zZpT$a}{oPsuJ1zI5m-5mXjBbkrVt zWZ-YFqxx++WM371jJtr-*9CR1^Qb90*3_!dyV zkZRa-@n&XH)4A9T?jHg)p6zeh`fGOK;w!Pnp91t^4;j&tp1s|E<+Mbjm>u+#k}7Q; zWMebdS(irK&&+NHY@TItxGxN%S14;lq{v{1j~jevNk0N5C5Z3=mN~0CX7|0i=D&f+ zhAhDjCI8dk{okS=;Nzs3e&uKy&VPx1ynp{($7QPiGX^4kb4{}T$EL^d(VqS=WpS{~ zs@=wpoYo*Nd>e?OPHUo?De~y?@b>USCwx2KACu$$vloj1?kSf!||oM#za{)MnL#+wO}6=d$sm`vs^ZMX?q9o!&gFIyzThB z3D*(HiqME?zRD=HkTLxc45}53reDsq$Q#(%%-mp-wz0PRh>!$_Mwe^R6{P+y$-JFb zFtv8~;ER)dWcP8{=x}M;yc6*m3a02Oa5ExLmVs+Gny!V5c=*|YDXG43F#pY9D%*=) zWAb4QFY9J}dHMKs;nVUwPm*V z^PKV*5ICms$Fntm;793&b2woO*u-fe;CKHr5CR)Ur2(>|xBPA%G$lgX4!Ixi{&4nB zkev68pOp-#Mz)skKKg&S2EzVz4FDmKKLlkK_c9d{^@IJDfdR7h?Ae`a5MXZrI;o}O zKFAfTGOvlEGT7c)*(SQ-D_XokRLWZY%wkhT_+jwapSso+I~vJqp81&W>6gCiT=WXZ z`!2kE&s^-MRx9%!)R_7s^a>nKufUI1#u|wLRXY^|&Ro-02e*ys#OC zs_J8=QUezn{ZFlZhq9b7M4XU~y@BCSE8O7eEkt@=uS9q-y9mQlzLK)u16}B>!u8{p z%7*H6Psv4~iqLb733iW;iMkiW8`wMi8q$Ay`q^im$JQ=iz(zN}?^6i+cki&je-0~E z1l59mcKCohHq(3X7xAwjFAU56mIfjES^|tOUto55K2>4m%mOW;e#1ymzZ2X9onz_A zYXu$6R7CU|b<&mYz|_5pE%4>D=hfKkM<`F~Ay=n5YT@ch>-vI;=a z3PS{$x~klp$uEYRK9%DG9YfV# zw8=(6@z=09tDe}Q^6&bj?1L|LDVaka_RKDYCpLW@*;~YaRXi_{6YB0YD=gpK%*)@r zsrL@^wnEVAix;J;J5Ks_=Zj{?^M%MISn1oZlxfaR19x@{Oy5_@$x7~)62u3^QlepN zEQ=BXXD5lPK?hU*{^TFgrIZA57qm}A)4hH5<7S1D;TbX|Uw{#U5MOFNe<#`bM9eOllOb88Sp7|PA(pU)ValLO zs=n7C>!~l;l?!hN#v+n56tTngLvtv&Ly< zwu72Ud4{WEVn(p)ZH9jwZ2+Mz@^@AYQ2Rvz3nUH60^qiA2pUG?FFpVqyPC72=I=(V zGcX1;Bd|g1IewoJR>FHJETvP~kIaaW_7g*#^9?h}cHyQr>KIJ^%CJCAS2EnD!s+XV z`6j#!{wsWbR1rP|lM6bl&4_4t6h-$oG^mw5k7+B!>!qlw<(>JW)FlJ-y>ROn;SP-5 z#`F>zfL?`<$dDF^Y&9x?`6yY1L|hY60O#Ss z7oTWhw4e}OeXr%jlh5Zc%w^2^{dJvD9!eOWZ(??8bd*oTV^e#+&Cs>?e>5%EFz!H7xWkoGv~U^0@}Y1GJSxdD9Qtf^E4SYrtj2Z@_7Z{^r_(ZW&pZfEg{r9teDBJd(eu=$kp%q?Mt#WsP0Pv9>xDbkX%!9 z>XL*9f8}TuA&0lNP@3NXjC*JrL25;h^vAN0uUKL$b9=nIaXk zS3*goV(e2S%NSzpj3pua(k+#(P!eX4eHpv4k9}mUSq5X@X9j(*(S5(S&+qa3tNyLm zHP>~X$N4;t^D&(H3SrfY;1V`2Ws;1{8*T(qXy#Rk@te09R&^`Rp7Aw76^ULOzRQp< zyI>yAc{oGg{$R|*=P7Ht;)d5TUDraCSY+EpYh>8)%Z_-BC#JZ&`mA}q2%`-h>ND8w zGL6G!j2~dUw#pn0$D4klILvqT&BBRXN?b9KxCrSw`_>GGDeP}|E9I<6rA5mavcq~v zJnra;t8w)TvriaQs38-&-{JL=ilSC*l$N@ZOI}0nv0e%b%^#%~@&0|#DT-uhGt7d{ zC=MLoGo202^16V}a-*0Da3j<%uTraK|1}9h(tYLYjU?JGEu6O_w!5LbRh7f4cEh{U zBe?VMhGO})iEMrq#ecu)!(R`prliR3Z@F;UT#I}>tfb(j7h{vbouy{CId!r1e&r&} zt#2O{#s?H4k!KX=m#>yeyvMIDiQRo*tUch}8o8QF5g5>G3`A^E^fm?ziAAJGIHdCt z188T7oN{~T@|(LxsCr7S``g;grru90eTCP)^%uMxeoC|AXEctS5gJK8gAt?MnX<`N zoeGe93}p8Q;Zr8@xri`NN7-r(1y$xVPbFpBTI3SP9bTeiG{sylX(Q9w108M7IG3aBpVM{@ zCb*eG;CMQuwoU16zn>9e%2n7zEFh^e=Y|-2_l|Ikt`2b35I%#_ekpw2TUk>`s+ei3 zO$rnXCwBiRDqsIoQCS|w{c^VNI*aF=r(i1`Hpb|L>ja6Wv_pmG!$(Z%hwAuN-acsP z`uh5E+-VV3;V37)E-@r;rDmLy;$5GOaETYcv%YK(eM#@`RUEgf4*7B`XJ9?cP4I7@ zYQ`T&`;)AWJz7AGZvFUUEP_lt2gpfG_EP}GYE0}S@h9VC?1x(`rW~HF;21|w?6Z1#M_$NMzn)Z@u5%;XyH$~X)Xt4LLGt|Kz zw1-w*VAI{7f>1@br59K$9i2q%Nb8N!lNnI9BKAugGU2nK_rmQmpu6~`jVX#E! zRy&jxq7Zm8pQY?jq`OYbr-luqPiJ0tYC8rwKS&&I>EbpcoMw_{H+@&)opoDnLvO!x z7p|213AWFu7WS-_=1UOrl|93ex}9w*m~bpi|Lp#!+(Pv^;Qi5vTAhLbU91rM5;?VTe3yc_8x2r7aNk^?i`3 z^lu-?{~{=LRtJE1OObikX`-!_ZeHmuxHEhTC@!KSH=?yX9s=`x*KF)syWa|zyc+W6 zrEG&AUlp!7zF~A{;j>ZAwx}=dbs{7PQTsW0J6wg={pOODTO@oaKb*ePko^@eO)Uf= zrs^kSb4!fno9G_dX5t_Ek#1N62!U(~@gT&-=rnK{(V^={O~f}xDOLER|4pQ9xmo&5 zmSE-2@5n31$w(L)`6rXfeLr{B0?HTU<4qli?k)B?I>nW^VN}rYP*M1%HK_;R(pv>Z z*}KTMPW}$C=dV~_P)@7hu>ZWTtgpMwe$nECvDv5}-Yiv(VYBtqy|-n2?}~OcV9`~k zLXO1!^@pzXw#_W(K^vY3vH7(+dvn4bLoRUNmFEuP;r0*{t~h?(ofWP(+ooSNIf#{% zDtII;^74ETc0qX}yT)DOqWj2qhG1Q#5fE!NurYr^YnYbQDb zw=4|U^}n8p9MG4zi}q;GW{!}$JwQmX6^%s0X}uf85#nDr5}vkx`qdXXrl7lWNYN*f zA-N^kWb#=#RZgTwo>js(_7;fL%k1EHVHB{i{|j4~9fQ{B7nW%->x!TV)ZXq5)sFR& zis>cX$g1i^#TEW@u;9#TA40Jhl5szn$t0%Z#%Q145pRE6?w72#-M6(9g<7^ECUjp3 zOnz`%;WrwiEWB$l;O-zFi+Gm&;DHuH(73Sl_C^d+_g|PCy~SA`4pbW1q^ir$ye%@l zUAZ-he;)AYEFhXhFTcN!vA^V_92x6t4En8UMm{T5gkmXgYihSpd4TsM-CAUjKia$# zIpW4RB$XZy!m(edmPcIIYn*bNKSQ7V0gIZ37^s}-BsHBq`Jc)e2zT^BlLFAAflzmV zbJci+gdT%9Ieb}om`o0Z1dbz7q*d;Ef6hTHrK-Ka3ql&wPPi{G_ZyreqU)w`cc76^ zr1a2wdj5K}&*#MMh|d)ggH<(d7l@G4et7fLDV~lYH`bRj59V6;kBTdF6D0W%XZhr- zp2R6LgSVv8P`EBze&M44wZCv=w~8evnREaydtKDsq$Q=mdRS2XMx2XaQ?G6JX*_j( zwbpyGJ$M52Zw12lXdk=hCpw&MD+h$i8MMGhj;sZi{`Ae;-&s1z0a?w3QCzoWy171? zPCW_0@SA^zj0-Ag58PrfZ%r9T4+Vf9RpOe44qqgVkNM2~@#7f>oUPy$`?|z?KD8ay z&R}o9Kw%#AA7;N>-OFYy_!{D07y*Twhd;$-q6{Po1*0Odh%dI`pC;VB#Ut1--q^LB z8v|0O>@%inkiLp5woiY4wH=wP#aAJYk+?AI$@gUrEnQnC6@6{*DG2X+L-Bc zEZ69C#w2Qdhc3U-{zag;*_%24elhD!F(`GLEt-L0Xkt4{yuTG8(I=OWiTb?S3s0!e zcerle$pL^R^DC#`gCg8;bP@YxP1>wFM8xR<-i=CYX>Z&u(WG>9Xr+ag34JQLZ;HPA zGrDFEQ~KZXd9RHECG@wyyDAXKK^Jv3t{?jQY}DyBy_2q$O6u_eu?S=IP; zXLz3i!L|5TmC?4>Q{#Jsl}_i^+dW_RRSc@oq$N^aHy77bMFP(*x!d*t0j}HsQa!+*8O*>>@Bea0wg?>^V(jk$ zgZlHjgTbAPMQhK+Mu%*BT7q2=%SGXM7_Pt>cIG|C@re0CEIcX>`mVw|@xs-e`9u>= z;j>e4aetx5E(ggEuD)!Kq^(=<+tCI#r9MYQn@=eaJg>*y`hsC6%$D4{g&3?9YlKMh z5+2}66_g@B9(?9KJ>Q1T(gI<+KRyzWXlGf;w2fV|9NJqKK( zDjbc?PgbOvR-A^W9<0r$3xB~6x$x~&9T0BXl`YtwXiEMxzEBZyzV(k{bH`Tx4@>+1 zRWScy*#NWT0cJ+v<=HzVT-%y^7f7A{L2RO<8+!4>ZV6U7iM#ajkt8zhXI~OozBSjG ztmpk7sT@D`4_A4?t=^TN@i>j5guvF?1n!ze7qbcpKVuYV&`fOm`zwC|TOnIk<;uTi z@mG6shn+xTjK`O1^f4QW9RayF+R0_IXDlr=?_@oTIYs*r=5E7$!9G>&eXVq>TzrKP+=HHOqhBt4u<^$N$+AhK|u zHA_zV8T;%xi!t(K<|5J1NSJya=PtqMY*c)**qr@N&OXX1y8OfBZLrq+5fJtRv z?vuCg=CHq%UY7h(3pe7bxU)-$Y|}`2vAxU!lo?u5l5WzX(W`yG_QS;2H#SyA;zU?^ zwjQ+uW?DZuWOoi~`U#^|9PhmdFqPk}U%f_W|50l~nhocx{>44gBYpNB8{opB%QW9W zLA=L3?immFxJMB~j%{NC1_t}%;Av1R|B;M&H&p4wq#Wd0oJ1}|{ZgmMR=c4kMjU@4 zEYtS=e#5pn>86eI^b8*3^b+S+Eb>hfHzVvD%fvIkpb$_0;>mk?^tnU}tjVDQ6EIem&Ld`Z!wni-?Va-Q{=Q&$R3m&UERSewimdkH{ zLSu+7^UWm=Ruv0AZC=-8!b-gRWdt`#!S&fCQclN9BZ5EaF(4yWyLhYlkMPaGCEM#1 zm~-wvy@dukjV{Q1%#JPOep1!v4_A1R^v1L)v>1s9Vtl!f@_e!cq?CQMbrt)>BA zPRO0)P_x6uO3dQ-jl=H2I!XrO5+-yOsot8Crmc7<;z#S1Gu$PLx{f;2DUp(E(VIwx zyku-20WRn-c}*P7@r*N(6bz@8uqv|NA9tAWm6sS3fNLc+39KmaZ2E5o;FEvLu2OiO zw69WB6Va)wG2X^To7_@W$|OQk^21{vt|Ih`kDj029DCC>>hsHq5P;o!%Qfs=;Vsa0 zhk%&E)0PeH3+E(cP=as!bl+<(e}^_%`@BkS!PC~)^I!+Wp+~AT9mQ`W289_>p_pao zC?w zU3PGQ^IM~7Hgt@mB-Bf$F9dlLc)K2sj~d-Xwts%qF-bd>}Qlb5?5d{`ApW;eYfYclw7*(jNy{L{m@D zv_Aob=m2u_8z1cA8Z4m~qhlrwCFH@=$BmIZ7SJ|g?&enKM?$+#zWvn~Z(jICe^?W)&I zi{XO~IgY}|O<#777jc=qdmmY>WZyl};nL{9DX1u_Gi{i)6woi_c;efY7i)d^o3n?= z2@2UzbZesN5p*GfCJp66ujWON{os%&?5+Jo$!zETkF$pF&*mJQaQ_-;k;C?=(>%aD zs#-2+a{ORqzJUhS;a!loLUZ$b|B3vo4_|*eyvZ?L410^qT#qf^c)P5jIMCY4epQ(1 zQ83aeK4c#X?YMVYt!JEsSp-YSO*K6V!f=wMS4$wXr&=9i&I z_3;*s7Ms;$_PNF)8WOkA@Ld zAJ3mNYeVW>+d$=U>EoS7x*Fe-Q9h5~9Lg;MX&-kG0xx|e7W!AEvxm#$O-*y7c`g~L zV=zN%@vh~nw2?rCr2vsUzski&!2qY#;SX1=nBXo=Bj2K~+IwB3k>n?T8+)8I8M+o> z>V~>!k@y*~xd6Mn%d+s0ZcB{P0Gc8_0^|VD6(<1lPfs?SZu<;-R1^Z9(Z5dUk6QZS z$Kz$}r$&hMyXeMWDxfs71+~&f(1=VviE2s}%wKOGi6v2$JlEeS6I@UEZ7!_{-ls7o zE2*#anYW)113{mMUgnU|J_^S^#Ug;cudigE+oL7S7Wy z2};>_l-EZtmmYps)h^ke`NCOwjj!sAFap)e;@8rp(~+qQc}18kZlj$a*U^)EI8Jus zgk?^@M~7qWLX%}$$yB*dC;(6_jBj0$ku7579v?3oEZp*HEPS49L*vdDg2(R^zUi1} z?>B$a32D?VE0uOUW5*&$Al_!{gxj2u@OD_2pn7p%=~fML{>Bh!#iCXt9aC}1{o3p0 zg<`delb@h#hEKMyD)BOl4;&mgTyY}49dj`Bb~j0YIdMW&#~9H zo#K$Y6CEU3q3l&Fr8ReDFCwfulYGVaSoFXLp`Q{)XNj9Dk`s@fWsskcW;Sjc(Rk#i zIw&sT*DYyb%04`aEz`1kFC!FY6q3jr5XBd_khS;cDYl9Kaz9TmE~ZBR+`8q?@rdF&m1FM`gCm3BV2rO_RE1)=?*yDrE^2kzHFp( z#ntNMmYFzr$vR;AVsm53eI1J0nyK1@PNz|uI&Hs??6>3eY4(@t?qR_{>El1R7otgb z5F8Xk1igI%a?ycie*P=^Vz=rqrnCA6qaOPC9;X7< z^*S%TK_QA$`g$C(HOF~giv_Dr1rKKT$pUyY*S;QebR*8fjA@p;GCL&8sU!zuEb4e9 z@5&o!lIXX)2VYD5I)NX@o_%xobgK&S$hmaU9>yPf73=ygF3ph0YgeIHR@)?rhDW}3 z;g)~B>nwmbc$8@HB4pEh=PAoCzep^}ez~e%c#&j)^k*R5UzUAW`!+?Of%0mQ6AbyG zxhpa%hwF?NMe@kX3ZH+7`5Fv*j5VL(!Mr%gY|whN@ZG~um#cb@$F0u$mJD~^Wq>|B zqW`uQ(idG|!<-`=6gK~SIk@mFcU96yCEvfEO9oSpv;}$NHLc@~Zjkk}mWv&lo*jzX z$&<=MaYuag&+3tsVVi%B5F~jG6!l96wHLwDWQknwSNA*F>8s#M)O_^v7BBW=*50$U z6$Dk^9sSo~+e_Z4t}j$9n-2bh=?MQ(Hr-tWQ>)yL#am2jo!yIy@o}Z_IW5$AZc(r; zGVd(Oao;%i8ynA;<+!pXIxZfit|CdDcmeq!@2#buYyL2|{6Jw@GwGd%Chaa|*f!IU zG+e6UXHne7f&`QWe$y=@3lT`?g{{$+V+wLR#G)=t5`{9C?9<{ZNWrh=@{50xCpmSK z;ZSIw9ryo@quH}j0@4Y*j=6NQnC`;;V^h%qT3|AAkI}htd^|B5V)Z*jXkc})V8wW( z%-aXZ+Nfz^Yl1oK9f^ugR9{?BbP@^zlS2^Z*{$}LA&>!ZzSUdpb}vAl*{yRq5uP1| zt76}lkmkl5%W-{fUF$UoVjrOfMvUtrtS6$DTFH*%c-Q~S6N5_Z@ zZ}6ieEOof5;gR>?IT3>D{K##OtLT_c(ze^6aO<%ex5m%&)w@&&gMBD@T*YkR*AkQ~ z4nxdny++I%KaC-^cTcuM_VClWQe7_-m#iZm=-E^}bJD9FBrJ#UdB8Asa?94eJr$^BGH@ji8 zkfZ%<=Tf-~>Gu~ft)yQv&ixCWD4n#sn|Cd5k>#R~V|B2T4q@L~&#yRmpH1Li=Hq`n zn|e+3CzBrV(1YNn>)E0nboK}6*?|4==h)8rqbz(r%I1Q;s(&~F-6ku+gHnE@-tL}3CK|RpRo*eY1g&^@{8zDvZ9MI88HJh?5f^jO zn6&AK^bXHCWFw%r!ek;NiYQ?<-~PxqPU-dHv`fB2waK>Yj)W((*rz#~D#k818y38F zm^-^@`3j%;iPM<}nvN4rTVR;5=Ts0KK1#i^$@Y!c=gq67fT#lIixRYIS8R-3Z1--RibAwuv;F&nLKd++}_j!Xqx)S1 zu{;lJe@t<0Ep?4T#C#G~SWf-9$=afww0%HsY5{IlvyIEJhx@p+9fv#z;aRt|e*F`k zCAfbtBwzyZ8Wd$9EtVedx0m*}_atsr;Y;^ypaQKxoGP349*`nk8rW@A?tVx1IRkMr zItw5(^5dDr-O2tK+oi(*h$QlFWr3OP%guu)M*=cEPZLwt0-hwkfq1R!;Y}2;H~D%0 zg=Xc>zWAAyDd%I*bZ-Ge8m1YBfGZZ2D8+_2z~&4c6-?J|pDV@gH)*=o__>`Rc1g%x zbK==w5#E=|n?2YaGZ@fW!4SkwZ{b0X=Kd+tN@-zFsic21EMIppue?Ckq~$5xT^VIW zN?SLmkzIk0_Sf{5$5=jLph3Nb^7xBh8%8F;3`Dc$H?`Y!=UOC3dtvqRM=)O_r5z6r z+{;dZJ5(I0l^rxzAoG5*C!T`%!qYC@Y!Az*DsXq~EKnmE%$<}IZFAO&c8Pi` zgfQ~^*xVIm{>wO#5Dab0ed2`lida>5=(UmefbH!gMdjEzpFb7{q!ISx}P(yabQsmo2k zRiUAYqKyuWvDv*2)o=PgCIB`%0=mKOqR`%5GUMS)e=GU_R<)W!xFJ^m@=*=&fnBpf zJXwZXo9&7BLW_?$bR!Dy#a8G z+=pKu+Wrny2-SS^E?nRksLJjVMZI6U;47+tsGdAB`dRqDql{Mvz8$MFtuY90&LeQZ z^4Ci$iyyrg$&AZ8Nac}#At@#1=6-nu6OApLw-Wai!86I+t+#Th)}BFjZ?9s8KO9uGiq!*5+R4Pn~@a+xJRF)c4j2mFyXUb<^4ND&d*^h^>Q^N5D(njI-TO%L}uwZOvQ30$zSoRc3K7LJwh8`$B0ohz88elrvLYDDG2@VPgzKz1;cE&>&#Um!L5^fVhjY4Z_Al|23G~Vmfy81Z?WpeJuD`hhZOR6Ib1_ zil#V!`i29Z9@GA)ix%D>xSQTh?i!+5Y#63fA)doF=p7t7+L#t>>7aHX(I zmnarA?j{CCY>or2h&7eO8KYAcx+@`d>+5!$?(ggcGP8oQD(6z$!*?`>k9~Q5r~OFZ zN>^uCFvG@b`5foCmFJqVk=yXOBZ)kolM=I!+%s0e${U>9;O8#h>&L6S1&$WWO-PJ;x+SkjMwejq$nz&&XV1g6#uDPqky4s5gb;?Lj(c40 zHpz?!o0{La^?C__4cIUIulGp){@BN<$Dne)VW(!}J5%xS4;;lqk-e?e!-sw^aunjoP^e3ZRTo zz}pIT3ttAemFGY1uNVwHj2vFH(U}iTN^L0xp-5%kFM)QI`&OwPnakQI2Kq{{;*cDxcq;_QZqVb3u>)B>}fA-f2soy z)+hkGk4T{CoVx_w9Tt5Eyny4NN&Fp8MN_d^9S9aM`YYNU1ecPuV80~wx6Y;E+V!3C zx+ONHBH#{GaFz?MZPDixh^K5mRA(T&M^|tVuj=B(>?WjyOVvu}CVOi( z2zrR0Fc}fHv_L0=MC3m1ha8fNKCFs2(nB(F0)i@nD`Ok@S3U2Y-Gy7JVZ7OL4dZD1 zBSL|{=7zHnPwBR?dG?3NjU&azhig0%u8O`fQ5LcplwMEhvu&A7$9vdnay<2ls=aLT zqCMdrm-6-%pV9Z%t&b{h4kEWDc34-G=eJ@kn_@(+JI_8bg|AFBtu;e1OL6zjCI5h# zn0RT#FQc~D-?uJG>g|J)eo?TN+Qsp^ctEOzX1;bPxRM0^3<6a5{e#jTGV`A!O-o+( zqqiSaXMb7*ko5csm7-S-ysCenK8JYz3#;$28gW{?(mVA5q81~MAMI{*bx(g^P@kp{ zcvrn3&*w{}M-KhtTK~@=9x;ISgG`J)Q=)}a=IE*`1ZcZe`2Bx#QF!n!UXVPxynvlw z+n|yH*GsTFuDgfk-*58)%ZF|%IFtJhln2Ev>JRX4%}I+fFQJECm!*Fn46h+{j@65Y z>Ynv@oaKvnjX8j)JeaZ)Z%gl&Yar#?yCq@R+i$QTxJWG7kH_LQObpIe6H?n&D@HkE zcw_@G8&bEsBGb*@7L9jEISFDpe_+NE;6VkK8zE@SinNI`0S%m5(imjUqL>Sk`G}FM zr6lYzu5lpNd3!fVV1O_G5R~PbH0f4iY>|sn#AD2y?iM@De`?M+o`b1B1X|(z<4w;6 zR*Or0QfEay`6q2nY5hSt6?S1Ih2(Lu(F-2wNad;LX!bjw@_3>30|KT7=NyeJo@aF? zw3EEGxw(DBG*9n5Vb43U_F8HP8(`dzAD}YyX;a07AnrjXqNDJ2O3iY=LV_!fWIDg3i$WOh1nR_g<~qQ1)_Y;}tkaVBawL017m z_lfAW00}QY+3ls;nd#KXuNbdM$aNHT?cFX81srBhwVW~?%Q#_ebpZ!vj6cCVQt_R5 z#o8moGM8+Ofc&26;C~%#W;uSOrC;vlZsHP2_)yZ?RNDP(OU6%8ScxQFV=y!_`?g&5 zm`v{?u0lZivN6kcE-2{=cFf0xKi>NOEe9-<*|SAIoi?d_x8QDe67}mV2c>YiWb;Ie zMA9;!9K|o*YW9`otEd99fevvmyYgGUpg4UU%^p=n7j6fESOU~Ex*-Mp6`a@$l3sqv zin}BBl$FWt?M8b2W@Yr6MAb@D#2a4%oC`sP7@Xn6xhD+Cs2-0USJ z%l+_nsWW_4Vy>!7zc$*Yc-jZS4+xt7MF>h|g0-x28k0#hIf#9?_u&Ya@S9Tha0^(P zNg3-v43J;Tyl&VHv4v5Vivxp@FBI>ZPJndP&oeA9?;x!oNX3DsOgFmeQFr9NpKO)b z#muVSl8=Pa=0Rr9mRTFlzNS=?e`k4{!JLA+SVb*10JUkQe7Zu=DGI;}1yve@LELdF z!zn8=0k|DGLxMD;ttz@OezMD5vxu0qpf1zkL_5Ocx8PjN^71e?;)*arLL#;9_3?!2 zB8iA!PwJlD=^K+QvKNCGFsx!51}YC=qvekBZN@$AlD977a z2y`WgTV8_YHl-H|6MPKI`KMjYq0$ zxMHm(+S9KImBxB!2W+M;%B>{NjM(2uUijFpg29*w_B9?Lj-8MF2U`C>dv5{~=GyjV z=HOKZlkV;9KSY-Ncp?G<_&q#KT|V9W*@$S z<@N$`-splF54HDVI%Z6eQ&K>5n={sqDo*laf0`7TfL}d{Mif2EEy_aoJxx^bP&&~@ zOsH>19*kqqJDo|%w_hC)dc#mCtAsfphhoj)&Wgc-==#?aJXhMzN^L_ z`ZQnvQk9_$0eL1|-1k?fK( zUI~7vLN*YsRUapSsn|FP8_IO#fs&KFsWVQUs=Uj+rLdh@sKKGkgAL@fkqR}iw6t7{ z7M{{yA&?rwWZEEUy63U>q*Ts%^!dJAfN-{Kk2z#{bw2t#khei&)Sw(}GH}zg*Fs-s z!ZYuJNC&OBQYnu?L$?=T@lq`}+u(>Zf8l)kZ`Za^MA^=dl~ncCuMs5auHl_jT8Q&@ z#fvY9Ll851(A3zk`q-A~QtM;WzfHZ>Hg-fOBk{_9;&bK6Nru~wdVPmv{&#T>kVCjY zR;DU2?$Q_Mfa$<(po(Z5^ci*i6C{4nwT?s`)+&49?Lfzne^pXQR3UXw-a)`7fXM*p z!7KdmF9GkVop?*P>EgHJ0nC%c+x`)Dj|^JeC44E;tqQmirGXYxgZs=&H+q(hCHN&5 zI@TS{b))dlaI4N9fb$7Ot1;U@3RNO0lxn{{qxXpYTXaD!)>D5?>uODJe%F~C-?eQyj4Tf{f8BH>t)h`I8$ zX>M$Y=?pv)I+-@nZ~zUo>!hvsdTMm zrm9Wbpz}szxZZojzL&;Pgl>WPn;hssP9zg7iGh?u++lLCfb_ZezI)+s^sLj<%&kox zjAUmce@Wi2JmOMO?9&e`8sX_FhAO&x8OJ)HV%NVeL8y*NDa>}S(BYH?W1M9E_%5qM z{08C>dAj_{i`SR&t1*3#k>1xAr@n$*HU}k}=kkw@g$_Y}041GD^3I&4 zLG!Qm27ddr`cU50ID@T+1Oh=_QBl!pz&f49ogUnyAU8d@UaP634x!BI`H+ynl zNRFV^qu_r>8PT;8`pE==CI1y=`!Iwl&6Y_Z%#5M9FD+!mJ)-RdX|L!w0WGC3jAd&w-);p$LnX7M{|ckdjj zMZa4W6MM{fuzJ5)c2DC8e~4|ZZlPf^E+V~P#%q4xn~^8GHsWoW`C(Fy+c(tpmS!)f zsF;%T`zlx&=OT5;Oo|J}ZYlliqY5QZRuU(a^+$QHL)MWloekT2g4*bYo2Sp!`dQ6gv2@Gt69_RZ(>X?->C-HP->Sd=O+hsu?VjNrMFs`P2 zavzMUnWXR`nKP>Z^dC9GvHBGr&Xdwz#U5@zjPrhC27*4FCS#$2AHkCP(6zZA_!Zu3 zsfv5;$M1yElD;iLh2zTC<1R#VfW;g|NlB_OuTeE>>Z*2Q^V=6-JVDp)KtOaLfaw!g zEYt4Le$DS&?BakFbt`*~mt^G&YMt`M^KZ%_e#&}O{#9dn6=H|{=C&sidzHQaVRbrD zX4#bLj}eSV*=xA}?zQX=za~H3s|(2kVW9tl82_Ho(`Tf>JID?B6Cg_u)B?f5sdqe? zD%t)=qO+0&293~PNR+&i(gcZWM_;Qzd(G9oklr2%##)}3k*C2Pem-^nn~vq_;}sQk zORP$`a5YBT`pY9He}=+J0)Di(Hob4uiB3Lq9ECk{*!z-!xz?2Ra72B=8}qgqw}SH# zUr_O@2nnIbTVl_IT%9!$59<21q@SaCi@9^jlb^Yh4IgK;FjQL+WpASfHq%OOXpdqw z^he@$x=zK|tI<%%*xM zlfI*a!qL~4ZBQuHVJ5*7 z&N+M4T_#ub5^} za6|VZu`6ETbf?ch+oyo!`*&)=-$B%SeJxnD@QU6rbYiRUj6Mr=w9y;fK`7Fd2fXuv&gad_Y z1A4Q1b?CUDGmoX>GFqz4y7G~)srifdkPb;zsF6b2=M~;Gq?5wG4@9*)Qpnin6VnYD zJET8%)y>s%trrTwNrMs7%G{w^2@)RO}Bph%tMt;N>6eLGLWIHoUKJG}a+ za)r!Sl74%(O5&Iuh?)%JvRFgU<$7M)kzW#7T1u3OEAPsv(0#Dso3Cx=e_AHDLAfF~ z_MBcMy~=F}`1;}NMC#s>f=R{5jv$P3r1$p3?>O#r;akxXs4#lU_;gGLmkvFI`r~dJ z$SV+0JO7en+Jfv7*?9R=wS>>|0qS5lrlalJ@be?(4m9sd(ID^9(9;mR$5~c;8(KoL ziA6f3Rqf8;O%rWp&jHaNize?D6h^k=OZ zB=iB(#os_s*pszB6=h<6n7;_M=xeMs*O9)zv} zK&T=0@AL8Z{<0+gd8QMMh~$d7p7LgGJ5PsnbIy!xepAMTm_ABjbU4qEWc2wc%rV>W z{Oq3WHzsEfk8f+5u=2e9nwV;e5(l%Em&*GM{}ydIDuOXq9ph?CVkq+ zA3LY~6{Ctlh68pDr9XPXcBxyJ#;k|;vCA+RjWYF+ecOc9-DWbo zp1qGAbf4z;Cb81?h>7&%X=*5kb~85e%XXVcdKd5<(uFm`U4UMIZJ2)+ZGcK1xL5Zm zv%ka8!K%dRxc2N%;Ca)?ms$EzOImJ=mswqOr{@y)gY$&)by4;%1kED|>9>P>v8|6R z6Z6ei(yj5^kQP9|O8!H@UK{#$xT?(MG3l=-46fZbI>sd)|9fuGmW{=_yirHkR^_0)2*SYI}MS!od z_|JhBX9rl<{L?fWE*ZaFi+@HwZINkSbN212+ht%+n)C+by=?d!+#*%wrih(L+^dr# zde(4UH+JgeGdLGH;UMs8!4zM8bM6T<$VbQUelR*4NM^i8obPkFbKsJ@NQjB=&Jscy zb9I3#1}V{l7a#g0UP#gF2>iJIu$%Mq#Ye~TbkcH##}UPaaUXP8HL_#&N*V;Am$7I|)(0P?hy0LaJV&x97spem zeU*Ec^IG}m%SE0Ir4Gi0(Qk~;zL4ULh@?5&C?3Wonr;OqwAXL&@nJ**0IIn?b>e8% z*2*HfY#{}YT0mYhcYsfME|dgehU)@3nRHvo1`K+tDo-D&f2_e_8c9hMEVog3IZblLPr=!^0mb=P)N6-ysaKGgO{ z-kHtHZQy;4IPT*){KIJgb$=Qw+Sj=X3bCY}#Vti8Cni{FM)8AOvw~ir16yZBq0DOy zOE-gO)`VqD?v5Z^E1!=LE>$`;SWZu{*`;J~BxM+6@`0#Zb^xn|?oF~l)ddn8=$NEF zJ)Mxw5P{(qIJ|#Z`HXIw%?}jhdr=&{y`R&MEl}9R<9h(Coup3VQNC?&@0APgjQ9JB zd>TAuhr5@DP0if)C6m=!xT}^fb07H5)LS6xbYMF3TX-In+5R~0TfEtu0-ZzTa^s!R z_Z=dy6XHU{GB{B3!$%#(ZSLW^+zXgHXX_=#kzjjsXzN2>qL{#G*kwJn+h`yHm6RCI zCp0kgwNAi4zH(Qo0wJ?MP7Ag$1(WXu*q!~^a&FuJOd7rb8b9twMDqy_qaz`HAB_`; zN6|{Qyz_RIfwwFm;|-8`25O9d+Cj7KzL)KI3u8g%v|F>=ZimZ4Fw16-32&V31{YH+Kd# z9yqt@3$L0#U>FbO8XTZx!gj=zBYCg#oY_nX6;ELk_KG^M`Tl0num^k+*y_7@&9@v? z$H#(%ry%Z<5ti)A>phRX&k1iO`wR&IQK0T6IE^BQVnI9|NgP&(-`v>-IWU;S^?s596qv%7-0?mf&}YU3y&=t(<6t>jfuSN7Q+ zH{he0uE?k3zu-sK*oUqlxD~0hJcgC)9d1G*yF!m0;%l3G|6U5xH)UDAb_q2(Mw}rS zxp8f`gWM6}l3j&Tq?Swt*3Q|Y4Xlm%+wlJ%a4tA?Vjw)1P8reHNdU(|N?jwfw*)=& zD24e~BBBCVmqyYOhl03vO0b089B|+^X29UVXuD72pzCqQ!Qm=WX(!00WWRdpMMb|9 zQ-8A&ch%JeQTyC^?qL|+9tNh`O)o)7=_(o(6Ug8etAPbWDNm%2d@8%wpNZl2~ zF3D_+_6;0JO!_dkd{6A^X{#?17!cQ<>v$BNj=C=uRQNFQv2bi9H=}J+Yg0^nrvH${ zu#9$vm)*ghM&o=%Y1m^ZBjtwrfg;~Sc^w6(pNWVfAg?>Ma0PAS#{2G(i38gA!1e)= z#lCqptpObd+)nm>!->*$8)*Im?5in37c4wbZfp|260~^!hdfVg;ei>- z8(h-Fle!h}vJ!^Xq0(Xt=l5}M3%pG$96ZTZYm+ul1=Wo@6SB@i58(s`6wNgm&Ms9W zcDE@`4Sbf&r#VhpWv8)3Rf6JP!pFgCyj^~AA~Q$_*>z8}a}}?=sJ`Nd7$DvQIYnm0 z00aS9Q=nzM##3<u(&_?Q8$>H+fx#wY4vMm*lx<{EI&Vrl&prXcWP$ zl*x7cPoKH|Pw=~ln)p)L-nMmf8PHv3CV#4s7?K1dgdwkb*KQCMVF0+vl}MQSnLkk5 z5MASF(zsnB_~Wjr_bx`%w25ED4)7C)zYCS2(T}r(p*)0$$qeqw5Z>YeoOG;4`y11? zYv&iEj7;yBDcL0}j_FtAw53QD9=hFgHbrN`UT=GV;=F(TYciZTU&tN``~4lkN?sXw zaF?79V^e(Rkp{iBDsa|P${s*zT(;%ikFzHszVct!qPh+|36#67^!Bj>q~_t24I-*Q zZ9>n{?$BHQZUGLJH?@Y0w$byrowrz#wx0v7?|EY{K`QjK2u0*44Y!9ed=04r2V-*b zcDx>hXbgTn%zP!s{Nw7IK`Elza0RPhhyuaQDPl^0?$;LQt*w;APvmpowtEYQ(jTUp z$%bV%wjG|*5XKy?NVKAP>%&M4gd!wg9ATB$5i7yumiQYEw`In9dCcYF=u#}_?Lr~? z%xTDLwaqKkioa;k@qSc&dV(YS$kkGv(G~$(E1kxr|D26~J>>*@N4j2>to7d8?D}2t z3$iv6x${)d_WCd0%56Ss4{(dD13T0Bec0Ds;FddzIAna0Hb*8})s%BOt^Xx6T`X^! z>a*2=T;mWG5P(v4`=cW}wFOu8U9$Lm)(a?3D~h2M+4>s|iJn|&qRKdjG{pY$f9?`} zI{r?{gpX%=+lVJ7A&K_W#%e}ZTLN`1Wb9I0fYhn^kMrl;zktWbkEZ+Ka zkCo{-b6CZG64bH1y{l$$LMNJ^_A0~}vR%yc>V~mu7TMFOO!hWsALB=;4mqPW7{yck z%*YT%Od9Ruxx$7Ehh{_mbo51F!PWjEvg z%MdbuJo{K~2IYoK;e7FgB<{`d>$wwsAEu}LoCL^Rj6=dA6SW)XyKBM51x2)4+WG(n z{aF^`Cx6=4(?fO8;dXAAH=HJM!w(Sb0p}_Zxq?Upi2`yFd4QOhl+v zmLSL0$;0g>Q(oayD%ou`0sGo@zX&KZ=Ir2^fweF55qvrQ&L{zi21>CAtYZFJd-NG+ zP1RZU80ebumgJgyM0DYSu|df*FE7U$`g)9@Cltp7sOz?6mVF75VB-aL;)4=OZseB% zi+Iu)tpI}xx8L#F9CGajW2pzQ?O(jLH_(F>qpvuufQ07F{cGTiFFzaek~=ApSE&{8 zGw;h3M^VjEE>PjT`_|&^u}!dnDI4~HXtPLKatR3}h?gZNsEH2y?1L3-2&$J$K(3u! z_Jqj?MwE~YOHo=fia)%L%nv{IF5;MfMr^NGYvwn~u&ib+MfHivk*h`4mNR*~guUJE z^ir_U?ZzWNX3`@PRfLPT+)J%$9OeEWS7#m$_5S{UDJhCdmaO4O$C_kcCPj)Y5n~@q zD6)>7v8L=xC9-BI2{RPNI!KIt?2~mc7!1a~jp6s6&iQ=5pYQL_bFQwgtLu8r>;1a# z`*}YeYrEhjz21Nu=HqcV<%36uLvoOUVqwHIer>W$FwphEl_;g7h#Nr;57n$*+{x~0 zV4v2$pVT#)$X*D0%701dZ^CsuBI49jFRjwtv4R%f7id_V;a9EX@l`$LEe`%G%8@f3Q0H z-Q8$3rdH(Z#qfUVm$W8meS10As8acG z=GHNt@-I=>(GmeRgWY~jzIn;mZO9=0v?d_@vxN4@q?q3e*~-8@OO9=F$=zY=OKPqD z?3Ld{&s|Dyr$z(XY!_rbRqxP~-pT$xa>gEL8E*sAjrB%dmt7%fZlA=+OA|e5w%)?x zI&^=bYfW14YB$EQRYUNY_=Hs0SiP?8wMmg1n1lu_j((2)J}z?gb?1Ol#`E1+=S39S zc%T)}KA0@m@G!)8O8GDnPk0u&WZh&ILf-M;4wj&a^lVGTSeko!ZIZ1o5vpj6Nu0VT-Qyc9P{8uxsRjVN=fxzCVh1G$*Qgxp<9o<8}$H{LodM(4` z4A9b0Kh-tb+ZH8|#$c0X!u#fMT&z!+q%S=~fmQML&Q9ek${WT~>k}I_LC=t0hE+Nc z-;w_>AkBA7{h|NN)jr9Pd~zbn^1SO^YX64>JwqH%qb3zfW|}*G1$%U9XL1i&@tF`i z1Uk8~47nXqz)e_}HYY}@a$VW^{8hg>I599m+ifd*`ZJ3S`t2bAscOV^^golcD; zq6L2|Y9gI|@x%H>a_*(va{5aqS+SX^g&d5PW^R%57vRWWHOXGwIN1Gn9WA3dv)AO&=5;jr-9Y{L%F0g-8w2)WPbSA4~P;_xc(wU`&+# zM|_yhmW{j-dRu(^BJ_Gcv8PIQxEAYkh!u~xesZ+3)M3dsQ^V?6-7B1= zT!C$G5*C?z{X|3`(07q?j{kz~e|KDZiaeH^^l4M633pI!jB(AWdVjo`S-2#ez*${D z*Lc{9USa`*^tRYbzYG(vBWBARDqf1m`;ONr>kg@zwGkYX($_0(L;RR#|-@#<0r5Xs<8S)G#DUS19pa^P8S`Sx=svI;IgiuHARR#}YVgpCrRc5~ zgW4?54N0*FF6>j%oq_)3P<`~I!-LN>yI^AH4{wblGj&?+EUk`jaWd`_F;6bd^KUXK zVfknK7gmpsGLx|BkE%!>-ZLCJDui{#^ZPXn3-(Z6WSccW^2>v>&%25PE~NBWXOpK| z#-70EySLmH?Uf}jk#}drgX=BwbhXr6xvE_i8ZpqzI4xfYRQ|51iRWb$aXaE7FYfp5 z2^!NlgRGj(g{-73gi4V_?|vJecXfdW-ymP!Sm0s@&q#*OGt4Zlu}1waDbnb@gq5pQ zUa+@wb#2duDD`5v9STZ`(Q(_*AS>v1#8_gbLWzFK<)4?DPHh{RwJG?xJ_nDyuBezb zz_yp#%?p%~<6R2y_v9OSRTlc>ylt`(MMFZ?AuCXKZ{98|q?=mPYtGa+XJpZGALre! zHf@-&nu`)Y%h)LC6ls}Fh2+=;No-4(UD)-Wu@IVD;0JxkJ{1>Y=|io_&XZFRL7!)! z%I-3^)Frb|#|2C<1pIt;URl;{sy^vtf&dUJhp>zm{3YX&`d0OR<$Tu~sA;Zn$(I{} zm7eoj$2spUbaHP^C?n^LYWK={6)9mEOKuXXDaT|WvCDcjet(qeQ)*ZvdObp)9+Dz? zm{onN2VZ@is3AJiA4kA_3UrVtWaKkd*PN&hJwC2?Tx8efKotjtWFt0VuTkzTw1;gi zv5RXTyPh9H-TI0Vh>PTM8~lwAMV6S70?DZj0m_mo)Snl=Ov!E8A_|Mct-IG{= zXZe5a0|T%1%lpc*6Vuv@#_g1AqH!1YM-e9F0u!=#z=k)kGMyTM7w8~*3Uszyb9+<@ z`xeM2VX`4x!khPyMy>}J$CTIXDqigRS1d)6Ukq+KJ|Aq`JXxa`^eb!Zx+3~A2a>*Kt2+>`50$*?OJ3Bdv0c||3^saLiHM6t}|&t7>Wi76^_r#jtncrb=h^dR06XeCRJex_P)&KUJX726OFt~xuI4c zj;*_Yp*@OaWvvto+IVd3FX3Lj$#&%f znj7A8WdM_`*dcerRI=TSN6*uhYuHEqujeK4wtltdj*2=AU>eP^7f3!0CzhxCn`1^F z|NitqP28&ZrvdiL%vXgDFgB+0!kPThlQ9&gG89Ni!Acidqcfs(K}>TDQ`cClN9Mgl z4yrKnyr@lV3p({mqMXLaj*Fxx)Q%r~8D++oY*C-b{v0$HRLYAS39DdUnXqWM4ZMe3 zrSk^ZCj9X6!3Dv}lnWEUQ80(qy8T8t9pm$*fzLsr&D38C_sbp@1DSSu512TZq7#=#a7df2O}({ z5i@%jzZg}|gDtPa2E;)8WLFXXqtW)n+lv*hh9N$U?~hBzpU;n}rf>Y@R6Kx#7ZWj= z+Kq>wg-srwtdu7zIBdD(hb;XvEG6f!rms-kvRkAiZuOEDaj<({hwa9<_a7HJs}b!g1*HI z4h6`Uu4jV_&G~)D7Xk{9dN2R|h+z0OeP@0~iZOcvCBn@0&y9&yyS@3xk<9uhc924G zys8#V?nKLKq3R*-B1qeu_mE}>qxkL+Qk_u+_lv38acOsJbk`3H;dt}U3||Fo$ibbz z%+?3YKhSe8?gYPOZ+egvL$mu`CsNQ|CXW5J$j@7Be~BkD%7R(H)>fs4u+&+gL`-WC zw7;t=b7n_kH)R**86X`-bMPXYi6g&AM1r$9nU+LWS2=t7nV9=d-0onlek^#~&PBN} zSj=VI!YqH>UOoJ*f0v8W8afGl2i=}7a^K$EVS>`lkwqL6i{eQqI4&G!TAX_6@i zy$AHCa!R$g6fu`HFP^`pd(zAo8rzXPx$U&&I6r$Z!BCo5A{v2>%wXd`xe( zxHQ^LkTtKI?W^_9T`}8>A+hsRO7PUj4VWp*I3h-WuJQo@v@uC(d~6@WBY(^r=C%{3 z5LAiab>8tae0?KShP0W4OOA|YxQOT~nl|YWqhD6u z!$#EK(Z(+puL%#dhsv4tEZ?aPe_#&6_tZ<=!n7Wk2k>g2=5y5r{)~QLD=Tv6o@~}j z@%xgRsGQ^FKk{R-+HyOA$m@r9xjvrB} zC+(^1p0$)+6RMpKV_#gzw!d?5aIxa$D$^dpRdRI>yanxCjxr>23PTM>~aH@ zhTs85H^1m$@=){S=3ycxC_V9H=`elQ zaH!!1QZPSx%BdODez5KhDKzKHdaOOQQW`Wmav|uNT;_CaLvtCF(0i)f84Ld~+7P%G z+D!NsR_05Z`p|@barWmi#gFf~?i$9#X0C~Jq2LspvjxQ4K75rSG9nfR>w1CNEUIum zmZ^YsvVT2+gSZEvFfyFNKXy2c>rXH(9DuWv3L1*DKT(uM9Fdmte$BvF=^xe?R3@_d zRDUeyasDHk#Ehqa%)~!`KT`|OksRY^-{JfhS0X=QMuywOFq&x7-35yJ^+2F3T;&^9Ir=NcXudX=%t{GpB%+s@7+G)HvQzvkbHsd~txqh}v|G{X4C0er zK#KeOufg5Dl?pcuLBo~T0Lu}9$QgWrEY~rAJxnOI+g_olMp@*BOC3Xj_`1vkiSOMN z-WSHoZ-m#Vlmkxr_*G)9&%^@V%KfV`69kvyvd3*)p9FvuHeeeV_kE?PX%F&;Seoy# zxKHhqoH|WnJRs0x z{QRR=Q8daV$}(uwNOGO76Sg=Q}YcUt3rwMjBFnsok&oST@RXxW)Xf( zIA>S-x8aweq4>5?8r74dt(G?mnI{1la|x;KCib4L58`;yV5U}pCdM@NyBa3iV^I+b zPgl)8rnE6G7Ml6puNhu*QtU>>H)9CCPj`aO&d=)G~c2_8aDUJ>}N5kXA zBmC0OUh-0rkRfrvoMZkk$8<&A{cdKm}~YzI*nPqYQf&+2H1BZ7NUVBHaqX*w+dtgSc+xT5)|{? z2zm>)U%Megixx028hLMFokuhmfx>#{OwR?H z(2&b-KF?1}L0va6zAPnrpeq<^84}L-V{0<)+}yYJdGCte>;8!&bVt&m{0{SMy(&Xe ztzFaCZR?7l->lA0;E7*^zK`s*a4wnfm`vQLxgZ7$8^K-&8pRH)!jC=e?k-Q%hmJeS zS@Bye6$`N2ve>B-#zds@=k6%LTZ%8CpQw_I%p5)|8)w0^hRQ)!Oj6;vFNkms^9pS<()G7k<0u;+gEQt z{@mq6wUK?5F-mL##gTK_eg0Y9Y1)RZ10ApaU##27qU-}e3T53<0DsUb4}thw{|yUV z3kcYV=Mnn>(CjT}YF-Grig^AbGS(UkIGC}u3*l3_O_EaF1hgNTsO|CxQ2_f8> z8*9f|)YYyRxIFq7dw4?Mt_R;Iak(QetHr8^Cp;(be7s;WyWNf9yON|l-zqV0E>2X4 zn8|EI?4MnS2|1B7Wn{67?3XkUosS+G2u2vWhF|Ble@yuP_*IGhi&zh=@0nAv*Ur@nu`@{6%D38n*evDISaBpWda1Du87a%n9eeo7nI>lU*ll zH!mRPCyWSrmKt=9m8$$DTu_mFrW4D`6&FPw0x^__HFv8{b+lxcUgKYUA}4O28S zGu*x5Z3Bz4iRf;1e#1q7TTkJo0ay-nnj>`}wruswBi`g@tK(Upz6Ilc*80cx0N`}@ z!$7qsQp6$|eQ32d5{Gw!ga9Fgk@V$FE8S&fHBSzLD&ljE*^Qau#Nuc6_sm-*J*zG@ zFOk2hi8GqUbyPESTu*EnLopv^Zu@iyNKrU{vte3gy}1pHKIdh{az>fWJ&8ckSB~w% zY9@ccS?B;5LEV=j>+EjF%PWN87;A+u9q_ZrfHv`*)tbxaOVCB=e1cfs?dk_Kbu!`G zGA;OUn^P$j|od z{Cg(GqTUKvme}r=#;m_loS3D%a*-c8|KD6Lz8yCjYz4rsYqlrTH@bL{5Jy7*RmK(DTKRw>I*4<)`Gu zWq|KRuC!ZB3q<5A0pkzMj>Komyzlp4GB(XI-X&De z8>#ZuYz@T$)8av|q0-pJ4AEB_Z6@B{a}hPK+dbKBj%M9b=&ZbwH-W3|SeY?ceN;_g4wO7J%SYekdinKG|%giB<3TUodFPRyJ=kHVYb z07jfyx|?J?spst+VT@ZKPL_W zgl#k2Hdd1SJ@`b?i`e8!0l@1Np=|gYV^_pQz_K?9c;(ZaZAVL~fX0vtx#y-Igh_@v zbf-0g=grQ?nM>dAyEi>+j8Qy`T91_M6H2xCi7C@L4N=ueyA?(N)|nl#cTYyl-GGfW z+CS$VrvXHmrQ#$n01IaiSEd>hvrRWRCwKkic!IG;+ZhDz7$zABg~iZ&K}t zm49w2t$a#tDRt5O--Av?kND1^5AS2Dx4TMx@ z`}pvwnUjto_kor3Dz_6As!(GUcHkNi*fY4jmaW=Yc_sgUl8RfnueEd)S{9NwOKGyF zg>E%EoN=$ttF-%GV#5(d^ZKZGPCvp7ms&1?HJ&x$*n^t!Q_nIt*{!MSr-_{j4cA|i zL~buyKU>F3-;`zhtuZydJ9fEK3xk}N8O)k%mz7>aFic1PUU-_CBQnbd-snuJ|GHzq zj;~EXbUhJtjVLhsmRBW7<-7WMu7DJhU2Ih!GCQd_2;@!a+Aeg&aJ>&IL6fqiQjaOXRozXW+Ru{+ z&s~z->CYQhdV$W4ATXXK^B!BBSk~C$dDAz4-l(mx6N2ziVue++RS@w_Mq?+0BgZ8w zi-V#Ew<~Y-4cQ?H2Q3-u&5Z@+|C3uRO?9I;o?7#w{LPsCMRGDkkaDz?(}~hFN0ELr z15?O`S8F*+??zrunFzYQiTQU!31DtW14~Q)ULO~!m%2*=MDo&N*#q^Li0DTHNBgwK?P;tnIuCg z;@R_T{nf)iSeq8LbTG*o6iO~xEUtdG38n$7#S7GEm0IHRZ{Oibd^?mV{IGXb zj<1k@eABKcG%oVj{J8q*-Y&(SGq;xM1w)EK!y>(g+TBBcX zmzt8w#O#2s(5_4GL(5om92{VZ|K{}+^HTG!6APtqK<1TX7_4g;eq&n9{C4n<4Ftja z0sJdaMa@?tV_({UKMj|>4bX3_YdXB&YC@{!(V-t%ej%D&@4qUFGIRkG@f`Y6UGBY% zoiQ{YMEzRIzyI3yFPU*V6Vja`V=v~)Le77vtNzXT$7Anm)EeTYo|C`}Pz3J5)h1V6 zV;W(XwYmWKU?v}P_ned}eJ$pzV@Z3daOkPSWP#A)Fi9KtjMk;W!mZLQ{)i1_oOG{z zM6UvYyLS0o@gfjy{K9VK7uMMA%(j1zsgjyO!x?a54qNFzDv|2nE%at}K?dS0|7;sH z+Eqs?z;8>QL>T0mmQ2)VE3&KV5WJ@}PrQarw<&0fxiQbpE~yssI+VoyLm*6UFrld4G2k9A#!k5cx`b&TR)@d zhi4jV)@Ap6Km8$tP`C1^FBIPl8^9{E%{XWL1Xz)}LJyfH#Qy^@1#wZ=-`#+H7PA7*rB z%kNEc{kvsGYhduEJ@)AAwy9anr{Z%D=2Em^fWk_(UDupgzG+k?a|_rMzShM!_0TmF zdbYQwJaj=P2SYz66#Mw2Azx;r6XaD92)*O(yd``6skb?clHC*w`RkU+wO9ok9h}_O zGgohwzx8=NC#V=;ZL^~L3iqgVr>&QtywE6_2kJYPp8qX&_gv{N*?+TX` zLQQVjCLp|JPGKF3x||jDi(THeYz5Obe#rNe7(3^KRPJCeD36ub`P)*GWaQN+;GI0Xt5|NpF|~PaoLQRqk&xW9XYX{dl_g zuEqjFH-LvqAb|0{2l_{S7I~B~Ku!Ps3lfOGk+^>WLkU8$=3xJxRTpLt=3`Hd^|nz7 zTib_cYdZI+k?{jOq!2T)4vfkGz?)_Qb#ljl&4W0DP%eA#8sa6R6X>y}=9}V{ANt$u zheMCrL3cZH%0Jc0tTKW(I6ws?dcY?Ulo0H72~?M(>ca$E+@#x%KQFqNTxdM_bAJC` zY5BAZ^+gi>FDoe|WjI52J*6S1e*VhglpQDyc2YGRGxLtGI{J%P&}*NX0})U9`#@ao z-XESb5J2w$*!DH!3;-tlC&1_ZO5M7TkX{dbC7ufmi$v)8`%kayH{Gc_POQF&a4-73@#==GF-YW8D_emyLknR4AYwK zG@(1E4Qh+>Vm*jG?6442P+RaSzoibL%VFrguHIsHTliN0CvV=AuXt9FYrmP2@#q&# z^oo!ERvGSfkK8?M)%dwh>_!>!v^j*e!b2=EQ=5Nb*54(e-5|NRs3M*W7?cvUVcxox ze48vuiA1^%VwL6PreMg^s@Iu9aa|T2v1yg-7K!k}3zjs#-g{@y6X{&8){T*hE&~jC zPDw*pZvvDTMtAVHgrnQe%I1YC1=ff0Kd)d(vAagc;V~=otGX-}s<({pmQI+NS)W=V zd^<`Rmy0d2pWwicZOHbVH^VajF#$E_=SKP*BzDziq=rmxEm&PEO$k=EYPVo* z@?7~k=#xYY)ZuC{4{42Px&?)a4$VYY5|hq^Y`hFm4lD{8A*J&Em56 z#CZIP#a^Zatqb-Q2xaMB-JL^^>VYxuNrlJ*3fR)m*)+S=yLSNg8PJ=04WjNVQ-iad!12mQhy#ka;G-{$ zOOCqaXT~&l?g3t}_zvd2Id(!n7YwlO2sxbwN6prhL)mt=j8H&;ycvl89@PA4H0&1# zH6Aq?pv0xr=Zf9d3Rd5=8=>N9J&F34nmEmU8+v|HdPkiX_krLrNFmT2`R2IiT~2|X z6*39FX!5{v3p_X=NB*8Cml`Npc273dnO&iOJPK@F`iaZIrw?T5@37mTG9QxVs|?HE z3J!4U=rRSUHUGO_v-773_y74(x$DDlg+S=}JqJo25EV959u@)5Pf!vdX#qSw6qYfC z)#qb%({0oX&Ku}m?w(a;PWWPe*Sx=&mLm_l!0(Or9buS~PY7Q1DNN9eyYq}eLhcG@|>|}Ql_)Dj6LY&bug)%l4 zgtSV*;O<%CYa<#>^#s|@qLs=4xt_mSg!Mj0TN<`lOiCo`T`rlnFX|!-9nc)2z61y% z9$LM2R(_O?lw*C!M9~ecf@qiL$<1+lW)NOj4LoQT6_8u-w|t{zBl@}+dZFDWV?uL0 zH~cB#%$E!wbq&|QSbvu1WRa?hHbqKi$JF7~}z#LJy|RLB1@iF0~4)oSFHq~Vpq}2a-%5>|%Y+eHBvvNXEHQ4gj&<2o?sKX( zLF z5_6DYsKa&7LqaU%6CY@~dTP@t!;w#KwL!}3AYx8xXu;%*EIZN>1E61EqC>Qe|-{pi-YES<`dr=!) zz>1CW8dVVl{j;P<1^LqZPVW^_v8%7y0L~=>mf-{1Faj`h@t}9?wc=L*$_U955cLWH z;dCKRKoGimF^HF&mG(Dm?X_Fe4_N-wSM{x1!KFhx0B38_H~PZ1tqJkzS!Z77IMOc@ zUe-9VYpW(nspor~u4|Wnh_ILFGE5FP6AUj)=i>hU;40#ta^g<(ZG%^mI4wm(a9wt9 z?3rt^lt*JV!3>FYz!Kln$ihpn+`mfu3u+%^22}UXwO9-y5^}|1bEdzRImXViR;rEI zCgccHoFs+>Ffu%F@u%2t3{zLnK^UFr{|>D)ofWx_9o`oWqI+n0xsHPwd~oRU8^u~p zv+C}Rh(NyB6mvJ#)sk2fJRAfvIm))`ssrX^9Fi3I}9U>SD54 zl5<=q_Uz5y5`W51XU;{?EQqFCs_cr!*(mX1nG90*DiwPb_8t_4%MNjd*Y_m+?GZ1M zRN|@}=9aozlu)Cf%yiv}wa5Q}xNF{9*y1KQ-4?NK5AahaKXgLsH+?3nqfF_oo?z_Y zBNo?6Xu*3jD6^M3uufJ$%F6m@u|7oiI+N_n-|i2CpG!zpH06|nu_!g>-VB{Wl^{{d zL8S18O9m9ODL0G6sKg}H5;$w|(Y)!6p66Es>y8p#&qpJf>$OGY)^gDhVj(%l0*&#Y ztXz~Fgk&nY>0=^F(QY}isnmT~Mf|Z}3P}{WApbB$I15-&7R#%v^No_stxc;)N7RHS z_Ax9%mD(BLia0{kganKXdabxf4)zQh_pPLk435Q{#~$&}R)5>$;@Rux%L=)-3j@)C zFXH5XL|DO~_Qr=IMgQ*OJYAFhLoWxGz7+a11ObyYwZ75fJ_^GX?GUkio+qCQ)uZ>6 zr@Toyuvp+6Zb{_xWSvMo1}?|ztHGPjz{Plxu@ef@uHgQ^EmrB7=PXSd%TqT4G^TCE z@_x!a)MESogqAoVKQeEhzsvJ{9M$6={^@a>3}Uv-b4MJq!$syN5sl9MFnR1mYe68s zlgf$!TWZc^=31d7tj-XPnx)*3Pd+FA?#Z1U3EvUV-23_Ct@O^4-`D%Sy<6Tp%SP9U ztF_+a0QdpDp_wcS%P7`pE5BG0&5dbxzNfKrh`-=Ig~6t8yrX@ilRh!o70zlq(lsg~ z@Nh8bYLnIMW{{-pwaZP)V63r)M6bu=Xagf5XAK&>e{+iR*sy58X?PAxQwrxB*H|QB zNR)m?f1XMhjr)}-@nX(eT#QU3Z zIW3i9p^-P;y~W3?YA#%Ae;|JoR+zQwK#jcZN^2T%J_m*rA1QoxQ{o@15YtQyrleQ)YCJhYBPkeV6 zy_SA`9+GmC5w{u!CnE$S|1Ckh=v!iToc9$P{iY0|o()fL_wSriPz@DeJxb9a@m#(LpPa{AL2MH+ddZAk!^nfEKYp51hrsY^^{D zs#qC|{PpSde;BUp3EAd%i)oBEM5jfpG7?=xL+h$7S)0NWG;gh`jRVb^{H=kF&h$$t z7KF0D6%SHI0`6WvIw4t2krN zFRJZ^Al~Hxf3wuN7Wt9;s)C_AX)d6s-_I;AKPq-9m9l%(aQg^IJqgF&DqRT5AU~*3 zT+f8`Y^5O#rAlhFf@8W)gCwjkHYOw}mHf_Nn#rFhb)H_6|4=fi!ICrikf8ECb1Gy5y3GQ( zYxWj36Ek&A_Tvw>=gDmSu*3#6jKt(ab7bPgaFd7~w8rNxz?Y!=$p#jFY$>0p8$5mE zFj87IixSwp*?+B6A0k}F1q_CVo2KKdZbqLec=@hz{0*#`2_gx z<`?!=(Vt-YvWbBQA*HHVr0)%$->6QvQuXL&y8nT@awV{xQhu>{CuVkpVY)-@uv0t> zpT=7M9JndO9+vjm*H%AJ>+y@SZyMKLp7gsI9EVLau}o~u6&4OAhQYvL9O|N;egImg z3FU&0NZW>43R*gr&AHLXS9-%-7>8F2?F4RR>`KW+BuI;B!^RoLJGo1NmB9D{e9||c z;HJdCZQxv|Q>3I5F%d7&ijuCD=82Ec6_Pb3;MRr8)li!3-!heQQ*D5U+9adJxey&+ zG%;Tc^%n0|>%|naHkk}!vVcef;T#Ze&BrsP)W&pLrF;ZP6hS*KC`A)&Gx2JOMtLMr z@KTKppNiT#XNB=EhnH_EC&oNe5a%B9LSY{XP*srrDY0=W*twoKngtKw;8l6MwqNr@ zu@|r=VWkGwtS8EaXiYR;nv7%0!;P_h!G@>0i2@{dbTRnC7B|Qhd-`|Vv+kKJR&Z@&%rVA%)QfEcXYUMo!SdMtlD ze^(+hqJF;(o9-Bg}>YsB252gS@97C*l0Z!509h`j94_+8}BG;%c=Y#lU zDhbaY=0Y0(T5-4gAH`AGEL(koV`)P`FB|QP8*4>cCjg&RFtvgW0ml6lN1&*Ut~&Fd zexWLN1Fgxgl5^-~X_#7fhrDM}%@Y#_GrrHnTj#A~*^@s3RUf&@#WG^+Y=&N&(cLOd z8lst$Fj2(7uE-U{!%{R_kyyh!j`eT|MQ*?NT;0xmlo=PtoWjB@2^2d6-&~9WC)ieSK zaLXg-?ck*Z%}5E%-j%lmoz{PXTfY+!>v+$f2}>8SRQR50`Y|K68n+$ z${CI$PDLyJA@!eQli}x#lfT7`#Jt@3MA}kb7`ccH(M5|Xf{7Gv(FAWkcd>w!TR2WL zx?3aDs_^N`9gh2ay{%V&yu6&lZD|GP9)yaxC)P^&&YGr~%dUd#J$e`#p z7?Pm}l8OVqts_Nx{nYj8!b#*S*N-*nUnFi)CynP2GR`A$osJJ?Nq+^MrQt%pEEKk~ z)I(xS9tls)1e1DUH^}6{IEd$CBV^zci` z>bN>{ca}yDYRBLZWe0jsQEJ)TDh!Fy4VZp_3g-Y{DWp1&sLe?& z{SUa+<2hY$G0Dqz#_i&oearVEM zt#9%*Y4n5}zRSf-cEH^}yS@h!@n09X;+>U3Gc{Wa5>#dpyzn@#=E7GVgH;OVsijiS zA#NKl(eiF1UGYe*22ohKgUYFw`t6U&RoFZhQ~;7C8}x5?SK>t;?}xixdepwB?b1X$$rx{pxkST>GxD7Nmcv zVgPtq;l*6|19_~rzpY%vkb&&eV?tEZ@Zoh!71s04NySjLl5%f>P@_2~KD)O+{4?Iw zhs#i^Q(M~Ae3pHl{v4~i{`SrlwECuQtmjZEkL$*YbA*L@Z^PM-OV9v&cawL7^D`oL zlA+}%wJN1H6J~K89X>_|4sFg($|>b%x?77=b0=hBZ95vj?!`D+ohizz4C0+gH(uEE ze^SPG15zXhQ@)>;BNzv~%zh43(<_+1+iPaDnPN|6+^-oPe_SZz;bIDDsv&+f1&ZR` ze~aQo)Nk@gFk7Xsa{qnJN$5oiz{R(3OmjPR4~4t)M!dXaq{ z|LtM+#mo)gezz=``YtKyJ#)yGa_!cJYXFRr&PnaU0O~DjZ2@d)|8pIdY660;mOpR2 zZQ4dVp!DY;hK)<20m7z+IqAR-r32MntO{4g?wzc!<{eOx03w(j@qU1CMWt>=<*#0A zGMb4U2Wk4pN^QI7j#YipGGP?JJ~70j^P{}InRpPFn^-iiJAs7a@LJXn4wsbcbV{FG z`${gMH9>60@23|4ibbWExmQl&ZCOi4WJ^TTzOae=R{~ZTzpHkt~Lpnmy?WV0as#p zQ+J%RjuDMr25*IF6sJWmgZ0N8VqK+4+;ZA>i%*ah9o*IMGaR08m(IM2wCW|a99whw zX)sx5?g=Km0Yse!atzjWBqJ&c^U5Fe^yQ{};X@zSLV(m);OwYdpf}-pnKA*)frBsO zqDY`M++q$~F}9cVoW-9cB%l-D74sp6;TK?5qmh zbYWRvBu%v4O86%Jz53Yy;9I{Vd1I$mK4&<150EEt*J>K|435|9@rzt*qz^UPkfO^C z3e?syaNO=iuHB_V4Lzxro6QkHs^!Mx`PpC$^IV>=*j+&2{C4Thus-^rujMDdVxq%+6&##GNZo=uY5Oi3{}sX zZZkb@JM^;B_*7e;66Pb8`p)iK0)eL zb*>0F@&Uf4+@g2EMdGu=iOAQ*p7~d9i8)vOp4YQC0ne=KNEf)!ISYD%K0*J0(d4J? z1b+=LcpUH9etOCGar9fG1#59Ey)3EULRE5hM9acuJX3?9aYuL&^9!ZQ>Ee;mqxc!a9`&Fe@VZC z`lTw4A;wFs|NCqM`lR|VjYy&{eDl`@Q&lMJvPhgnljX^rYW2T&R?F-t`9??Ta{4dVm z!noC8 zwffU{<7B(deFYi(LZ_t)bMDy#wi*AAnRE)G`X1a%)x0^SkD&2oJ3a}#?@BA@(0S{v z!wo@^ZYnd*Q2eVFpx?F{S!R@*VW4-Rc)L<2j=@&%eIpa<5Uc$(?%KVncMHX^qOgW{>B>epi4ijhBu5Y`dQ%H(o2b-V?tCjhHNU6&yNT9i^z7Bi40<%7sdd=v5_N zf}yS#$3Ng7Yaq6T9NP|*Yh=n_6Sr8KiU9!lzuMDd!kJm?f4xV5Bug5Y#;O8YFhD{h zDXHqO4>XTU0Z64F(4KV-tj|~|HF;bIRH>S<=~b`cg@)~+x1~WTBq1Kp6cV*Op#17@ z@l7GQWgh(nTmMey)!CrEcms%##k#G05?AUD4Cu`z zcA6ii-fRv75Ui%Nz{5?UYb+Op-E#!y7kWX%K-wS`2tHmR=}hx&{5NzzCVz`z`n@0B zt+7j~YD{|JUaJh7mp8qXmsN&=OuNw;fkN-wzA@LND^p|y%(w_c3$!L(HlK6n)|VeS z4F+Txu7c6f-!26T=N`T2s!d1mAhI$9@a5TR4VbO87t$=sHJPWu)wF;QLj(-1G48|n z#{WIcDeCU*yoHwq3!SqL>2l0WOoDRD_5;k#O0mHBq1MtYVC7`L^qjREqD{)P<&i;{Ah}4pn=fIkP6TicoXCtem%>$_&_9j3>%t!N+Pce3?^%i1 zK1*O0tBC;Rpjs#@@5p5ICYK`*z>TeY=g_cuFS${N8e7!j9t+EnIev+UDg-wI^@BJ+ zW+&?rz(&6bH0Sp8UhiAr_`U*^oi&|cXCbZny|90*y|xt$(@$xCblU@rFMx(xPs8*! z8F6OUcBD!;;8e7%-F%rfT^R$e4?X<-QXrhU;z1i_?802pN@Bxds*uE|I1gcR$IFSW!6KpFjX#@c=2&F?B zq#GQ1=ujy|x%lm$wcYWXY{xgfUV6hg=F~_y{Zy)nA})XRl1R z1~<+!_bRvY@;)3dzJl%T1!r`K5#1BM9>sKzydmYuS;LS>BK_7couB@2iMgg(SUH=x z);Rkhek2imKiKHr)BEg|ME;TQrE^gFPaLFQF*`*>oANK^sYRo^cusq=>t<}Op^2aT zP;F!(vcd!`=3cmld*u<=B|X4ANVO7evig7KMD+gyG`SgX>ERh`zAv^>Q!>g3^X*Vh>rK7Q*vHZ6?< zFR?Meb($|NgCl7+$)7gW?b9Yeq0((oXs&sEO#bp!z@FfxlryN_0$VQiRfJVCb_)yW zbdZ$(d#qR`N0`2P%EPp9p&rv2)>8qsQKJ*pg30s|gf4L*@0uTQ4eJ}G!Q8ad8KHj;*Df#U7-GCW*X`Pz0GGX>^Wy6%YGSztABz`OPy$~(_%i15-? z!OfJ#!9}p>Gk2Vac*<^`t>kd@1r*w}xuo@e3xj`pI1~jpHUi10;>=i?43kSOyUB6d zn!oj?7^P}6P>f39Q`yu5(K+1tSnmPks3}6f3KBVw@vIT_kUFXMg-wA2Of2By?(3dV zD-}`4(;xMtaTp)MyDPF}7gi#zpD%tiY(9w#CZzq5!7mZ~yW>4mwwOh3?~39lI^6Bf zFm#sYd;aT|U?wo~=t$5UzmrO?s(363f6$*?H8`Y}AiP#qDm&lSKGaMKN*bbSGq`Vb zj#;w@$;YM2f)pBJL|n47vz;nr&y;v+^9-6Lm0#X0TJP>-YC~`ELX@_hW`R<18R{O2 z(s4E)c&@4p0aq`euzjSyo50|?ZLErr7svJ&u(d29^vRP`1dRlFk6yS5tZcY#|%$mElt?!<7MB=vfrjq?8e{!zt zZW$n^X+aCVJ-bq>L1`#MkJ{y}f6mH$6B23YvB-7>RPO58s)V=f9!jjT=($4MgF|_f z3)UYN4(UaKgIPSBoC@Jw4#UDy@_v;g4R!lLI}iQBob!*oHZ6`ETI=c>;|9?Z^If)Y za}yLnIrpMH)77+%u;wJ4dSVfVYhyYp>M_lvKJAGJF~tvsbz5Yc z+!;v0h0n(*S9~bm%CPNG`9pj0IFBC8vzKItRF3YM)6Q2yq4EW@Z4J?P*~P+bl!j7m zzHRr>#Wct~KfzTkO+wzEOE0nE{G+<`=Zrvk`+^cBVLDU`nr5!VClC9@rgMcAu*C}E zDJ{^qWVo>*Jxa;Hr2YB+Cr=+0EJNob<=i?E@eQzaF zmUdyz0q(l=*=?q~>j5WhZ^%Am#yvR%Gl3fKgQS$}$CCE5$Yz2C?Fa2|87*axEa2S+?v7N8{NVUQ z4YtHF8p(fz!PuuV`(iMO;=M^~Ics0Ol;argx`!RO3@&HQ;GuJQ8kWtaAA6+j5A022 zDY2##_z5duOH3LltJmhN&Hdc9zeudkjg)YB(Q}~ZHo9m^+U)j)4ere1s`wfJmoO&7 z{d0-x1wWEk=~@wo>nEf05Q@M=AS)*^@O6K%@1W?8HK(dRHM&9boAVKwzN8j&{hx;q zhF+TDPyHB<6?q`q6v}y^yU(fBn93EbzI*Bxi#Vduhe2JG($ut>7yUMx(&l@62=bi>4`uRPfJ>G z@6(r7G7SwhRAwJ|{=62L@zxgK>$V6rzf?K8h7eg_yqSs%(eVYz6rHoo+W6u<+|ype zK@dV{KBW$jCLc4R)2&2%QLmrgwKLl@=`r||j;7@b9*^B5iPlbMcdaCNMBT^wIfu`c zI9w<~!^9rJfZLkmFo^sRU=iv}+98rQWqJFuEW8Lema5@iO3AhkL`0bLs&wcy#rCaF zzS-F>PW5p285m0-L8~vBqRobtl-&SEAQlPX!>=cmgph7yX;)!b3WiRl@=qC8iPTYb zqL5RvJD^4p&f5NssyN$kP@?lr3{Mnf%}3+me|&5mgpRgtgL^!Wo=2U-wqMi^-|x=yZiVmjis!7E8gn>Yz#7`|_bd%@)3xTo`H3rnmS!wxRp9+_qytkF z&#H#?_tU^>!)bCm_q6?hCZGFNtzE6Srz!EVG+*FgkyUli+uF4{%! z-KF%{5X_0`vct$4q8AD7eYa~+4^EHW``kOXJc#cV%g=~lPSiYiadue_@s|lv3_kp@ zU5zqTzP6uT6%~=d8DwyYB@5Ldg%EI1143imZ2pe#&%pGzpUv8x3i(DY27jl-A9 zE+}-$oE3PLULYDc+Gzj#OdVebdAgG2i#(wQO%_Of$El;5wV}6lq9WuNFOgdxEY9?( z`uL*hBbqkaPBAI{g)RkkAB^qyD^PsUt@`(1+>G(o!LiYgSK{lDRUN|`Qb7f2w#L#9 zYu=ju?cgJ(8(^2&wkOarXr_!$f@LSNF1HREk z?-I;=m=?JXTZ7;qb^1F#i1>QqoC(okVFR5$^5O!6f)x42gxR)|ma57*-q>aEJwh8@ zJYcW43#&qKf5-X4L^6n6KAq2>N#d)6-;^Nol4B~STen!ZEzF*tYh~{84Nz?;w(n)D z0jh)WGeYQTp==qPGJHOCFJmT46vE!xal}BVC*LtGoPq3GS}&SVbT70oLrk{J5;@&z zU6BxGqt(BYk>4=f;Kgg|o(_sVtsPK(qj4q>bf)T6V+qMvn+E>if3QC@}8rMD^llMiG zjBIo>JE!eu&D&3J*k4#s`0mY{Y(5xc3t^G4UYvZ<-30N7e)gx%2z{0ex;kM)M>S3L z#JSuu+PeiSg)g-%-W#JG#)Y9_FAn5cmboKMsL}ZB9x}I{kWZB~lRGuxUT^!*1K%-A z9IYO$H#Ns)b&5@l?tyC*ot-eI7G~$Lm`Pz)Kya=Ue&r2V^UJ)1&`3F5Qz8+!=i&KU zA>S^U?~ZS~KJ~EW(t#$Ug+2 zI5{jcGTAln5h+l0Nig?S0%sHyS1Um-uDg;*yGu@WZW-IE&fFgmR|ouoz_9|;M#HH! zt9o~aVMOvNpN#Xl)^x?Sb=1;FEK%(7_x|w1VY?)-(U#nO5P2StzkBTy3LHy3=#Rsy zWZj3U0Y zbt)6ye4pvb;K1^rxb%L&n}}IE*-rnl@zyFI(40THT+$$=T~v#UzT&fS$x%DLe7>!z z>bM}QNu59i62<%NxbOa>toM$BS2l4f zd5^sk*`Xq2mYhlh=x=ZmSZDp}ho2#dUQB0V>s|2`dw}|;v;Lz#r7Cxq(rak`GjsCv z=K;8jp4)blw96lkhrisA!m}^#Xuf0xGm@Ms>lwvvEzI;eF8~_r!0}Go$3ey|`+Yp^ zb=XT-6hujzcj3VfM_JA>uVs;b2d8q=FQ@TK5}=-kO><>iDq^@TGTVN0%NXm){ZC~_$xVn!eBS&{k@1!^SPd@MSSQM`5VXU z=MpESb0Gv%!WpCoGjoN_RX(Gj>8K8zR3blud;fS|K<|G%PvVOCHQ;&C_Jx?s8{%2} zt|{`@1iUC1tna(GC8}}nRy8+)#RnwQ5;KxoOaOAA80BKGSF5i=RJX@V;Ft_gKxm|W zp4yv6r4SJc()|8fjHU!VPw`3#a6fgT;~!+WuN$=YqMvI%C4lM;16qHr<{lAi?>Mf` zi>Ik7qXNTjc}XDAXDt(A)q44dIi<&vy5y&fZ}~>J5rbH;$^eZ@Sj@-cem;x06x~MEFS%F7NyfM{gWx>wdeK8_?zfdBU z`-4%OG>se4{Sj2VC(RYbIy|6w&%4%c*nC<&FUdT0dSXMW1-`{06^qMj*s)=Rkk8L| z?a1GT3kcEFc&9kBT1R9N{-&6{higw!ZDZW;>whPJ^IZ^IQg|I-;zjh0=gMa`(bU5M zGLYlBWR5|PIJOmT`0M9u4l?D-A}1VQPr}+n>fGZk`yl4e60kd z*UvlwfiyOeDwZISZIA-PhV3Xage+ucq@AA|b4RRN;KG|UGX%KOX8G`$!l|g@LfQb= z74Ixg+a#8i!Da36d&)I`T1{;ID9I&%(l7v!lVxm9lYgzeyG>_5{`=KnGmvfe~A+KlmfmcJA9l>6u<#Iz9p_6xH>u(Y#i1KUk%6&=j8GfL!oi;fS(fY)?Fphtdr}z zNi5=-dnv`jc9Z-umw7unJg?VXU(?@kuv`fajJ&>b^}B1{yYXEIE3D5az&jBCEBmP0 z7}ba_)m|yzGf|g!%5^cFMM4-(gxTuI6Hpf06)(+`hZV{qEEQeH8qeTqj*Pe&7G~oI z^Of#B1}Q`ye8aockC>wsIfTQTD;blu4V%kg2Ig=3wWes%wn4z&pBn2{2t|RG6-aP^ zXC!>du-jD9op0@ht{bn>yOEN)LPAIN8kOm|9`Aw|_&JJ7mn+G+78opsOD&X^55_#|_4eQOs`Sm+cSo9Uh`0BGGNHZ*rU1$WI zx+Fyyc1;C)3X-8gRw@nY+*1lSB9fK_l{O@AYG7NfO^M+dN58IRCsONTswl|c4iTek z?$frP$88a$u55UrV$J>znE|}XMIl3SNk)B7jiq1ZNi%?qag3tcmHjm?wuz1}vFiUE z4Rpb;`mymnsRy6{H8Ag3(aW_+-QIz<44TT>byLoQBOSf{Gw4X(t#bYwfQzm_` zNSSJPqfahsME!h(6y7uj^RR}EEXp^{#7G?oqTpIegfG6P_7n}tP3w;0bCE$kdwv`O z*9I@|PxhX5k3&4d4=QeLqB|lfh3Ox#?@HFc+K?`&aDmGqFQkLRBM}q0or2WgW`j9O zR7DiR?9EzVXK%l-478FqQ^K(QZHcmv7z=9KC2)^tUq!a5rjjj@ zKjEHcj_1#2u#mhy)Yw2fD-rrfUew;XO>z1Zf6Tx?@|B z2~jRt3$O83C=iJ!Ffr3Y#_EX7Plk*cl6E4K=96aN!|eIaw(lyDom2YbW7VUN zhAgNqxUM9z>cLqyjA@lfCa&5lAAiV;YaFXi5t|_u3#H|+yHUZb_wO9j2h^$m<|_F3 z>*;-DdRR?Vje>yjATGjt-%7%rcVXIt|4BE`JLUaUI?15%C^fVT<0HkIbM@b*9`?tuS?kVKa=4u zc6TYZORQma0_~)Q`QF9(+t!oq3&H(g--WvDZyx|G=q88&4&UGQxZ=9ABE(@B($Sh`$u_9We3gq>dVTd*!^yiN?D@UwnxQd}MVe#w&I2MeXWE-r{ zmPtBGTZE@AMhShSQhIBAz}?a;-y3e2Ps_ll7UmmKCsu`YZQN%;&P$#K*)d(pGi-a> zb~tUlIuu*vkI!xHGz%*+?pcU2D*B^nCij)}>b@+~qNip?dK(t93tMVth(mP#g_F|B zfBWI^`)qr2i z`WJzJ36Yq?IsI_{#&D6xxuEPz5IXC)nF_QjxWEZsQJ>Dn_j=141G6ByLReq0o|6j`O`K3-LWJ$nJEDY(Wz^f%xiD+zWQ4k)s6(J z{)_VC$|%VS8X2v;Ws%{ni7>-)`Wq@v!yagulZaKdt!eHEl^A|EVKB`QmuH;Y=#!o{ z0zI8g32Tu^+nHFgDx-_YrC&H5q!2r}E|c_;Tf>Qf8d~bph*hGDc!uO}EOUGWF*d=S zED^OJVu24R1(C_r{7?O2o_vJwmUL6xR@(4C$;72UtVw`Znh`P@cQJ*aZ>2tU5+LYrL@ zpI@XrSxQiyMx8PHT@wjsA8=}#(SjL?j|x6lnV;eY9dC~jF z-SeA|LCbl4(e?f=TsyL}xVh#xN0}f$nSWcc*906f@M@e?E>SxucCf?z!sLEW0qkNv zSJcUk>31q^g3OiLKV*HykIe=k?KuhVy(q^2fK3U9VH>-qI^arg8Lw9~$GiRt?|}N4 zDA6uK4|B=l3$P}}Mu4#IF>CCQ=JPy3vLM=$`FqW>DM&dwN%1=GJs&lG2NGNVECWUo zD2zA!X5G+s4Tmf4n9DPkYx`UT395ClSmrywYx9h8)uSxtk!xF8f$X zjy7pt4rU+FAT-&cd`u{&_Xh=$c!yDjH&GQx!U$&#bNSfZ`$<#9Ik0xL}pqBv#~ zhQr)x?NsCf-vn;nTx-ZVJdB`VA!<0(`AWY;rOBgRrfJWi&WG=F;5Sp zc>xlQn71;CPvyL}H?3q;B#R<@E8R< zJL=QZh1+RN>Tt0q^e5{4L4qh>Gq$^b2}KB6pS*K_T~h$W@Xqse=|vtg+H`|8hL1k= zeM*h}g>Q!mthkTZCA~YIY`>vr&e75465hS_KqNI4hsiVW_-soB-G^uo9C`D^EyiTS(3MK0%>vM;ejh46Mi z;$|?M^N+qQD#?w0(XW=PTt6rgjTScsA8?76-=Tt_1Wnms4B7fUr$Wgmza-0+SZLPbe##3fl-ObxI}T7lV6 zAAnAIn|wS^=bfI;-GU>Ur2H9$w4MeDecf%>zY@NtJ{&CT9lMk%cbmh@g|2yC?s!S& zP1E=20d$_Oel~bRl{8RCinXe_n9-L;s=HH*#&aVA`y4)SI*O{@^^i+m4AtPi@>O9` zU^c=fGLh6ap0UU4i2U%kOjRzI*PcOmXlKTP5gbG$OL|FW4%fA$TT{PSVgoW=3Og$n z3496e{a;;|F7R0dYE+N&pg+Lp&T(#LkHOXw#aLiFW)uTF`hVZ*V=fo1fqQm74X+Pn zO57(1vvoN)lPv{_?(Pe$bf(wo21k^WSO=k|1Q`z`v~0E>58PM@I)h|9$paE{ ziU%{~?|_D6on1>u%KW)@Ow(zm5H?_gE%$~s6KmwWV{lRBRWd&XH1M5 zU{9h!#@IUfyzZynYhm?DTY4wO7;*2WA(>u1BK)on+H|VjrxpPSkWAml;eif*7ymfB z!-Mu1;;_$xvn2zBAVxcr0V%4|%Ym(Q+*%o_pq!F!!PBzK<46;cez<&&s^SE9kv=P@ zPOG|EHVy)Kw)|~)fLY?}-fO5t9C^?250@nmpZ;!wy)W~Z5pu~lyZx3uVD5Qv68HCO zs7CfYAf}Fq*8H%YpUm^mae?%Hr@QbOk?A82bg;sP9A z)n&w5#;Z~_K~yfLQBn(m6z_JCxqUi_+qrxt#a!taeQqv^9^WcPZy&Uy7qbcABWKyQ zi=-&1jmUg+J;h!3il~JrS%qDV1H}Fu-~Z|4$C=|@5mTkb5Cin#b&|@95aPyc<9XtfCE@cQmktLu4F%jYI!*44Yf6gu_ zh5O#29jgTxkqF^EU9*p1D zP-|UBF-5PvjD#h|Q-c4vDRuvCnI$tBEPB`AXqo zD0OX*Ic+{!nP1Y)W{Dqpnz-YyAHv>d2qQbDCK(&k=y_OGH5-Lz*^JfLs%$q&u&o5M zA$&lhfTB7k>EnwWTP=nNJ$CGV;!pemws!*9Z<>pC`m|%Q?P%UZ41!lMxDw1C1f%FPft8CWzQ+qSYz(G#t%}r&oh@jCffMsz zHwF*9%a!-T&*~sYL=1@-EAKva1~@3?o9AFK`eh)WnWO}(V$igF~STpJhin!MY1gr~43y>5>8kMHj@PU~9K6J3gF+;*l_shxDTU(^eF ziHsr4#a>bUgs;RE)ST#?*F^~pf=(+t2qIGn5e!~B;13__eCp$`w_sxS$7&mW55i3N zpCo+TB20%^mVTAw{S%^=m*$A{f_B*leHaM|5Vy+fuHTD9?AV5? z$Doqf=rGR=8hs}|aC%dJ4bc2<(rZDARW@Z9fx>+P}2u_KTC()I}ecFFqSqXu+U7HuY5Vm`VFjLS`W z*YaIveG#2C`3)*FM->&@i=-qHaKdM@@JONPvvRxQ)su!Xhv7VJBgz?cbi%*HGnCU# zW#03qyS%uHpds=8nC9XaTAH4-ym=B2n0?%d4}0>W&o8O-iE}f5n-d-5t}1-;wAPp1 zB7c#m0QDyMW2tY9&j`azf;5s4=f|n&)H098kTU#};Pqp61SWPe?C96Rsk?_8BySam+GeEt zUt6$orwU&2N(>A&PV`aMWpZvg$B5vV2)fW!V|ownMcoI^5t3Fm!()9m7<)#&-C?Q9 zJ^fWo!=Hc7J08j{cyf_Sw}QX@@_;{4BCvN2_v_RWf_x#2&O_why0;g ze!WtfV{u)k&kvb3!nYYPk;gj*L@qxC=q|I0X4+gh&n4Bw*l{}p*F}CD8Wg0@id`9m z$*3tW>vL5ST={c8+x-5J8h9pXO~+kugVL7tFSW${)h@1_bl>{lf%x=S<5#BGPWDmy z=r8PyMAkMa@!@wgJokc-4@)eIq_r!NxdWwPngKIrU1~mW1PK{j4I$iWcqI6UJ`Bl^ zEJ?Lv>D45p23}@r3%*dz$M8$AfH5@ zI_8Z+PbUZbj$;WLTlE!%L%yY|LodN&AL;(xx0r#OM`lfpPP_QHh~_O9WM<>$KeN>H z1{!uz*r)#VsYo=0{ zOIl5?udR1~z5&eIFaAH8|J1iMxz1QiEMUqmR)wGURwM$+z1~d_bDpFQJK1DubF;wO zmF?X2q;B#(PmgW+XGRJEP$!UZ-)&^X_kBLY*y9?e3PA4#P1{ z=k$AvpT7>H>3y0&R>Av;h{-7Ur&q!Ph`1+(RxGL16Y*A22z)|r(4Z*QYNZH%Ct=9v zM2WXVmG2JK?}V#IrHjWp%&TX_c@eqN&t@%6rbyfBkL!%X(?yhPW0{wURhYhjO$mr;43@?-G(n8J(e|!pLV$xJDvNOlTWE%)gF^< ziET*TgwM4sv_W@spAQ!yK7vzBin)&_n-sd9c~~tgyk$Ai#pLdAIW2;0NQi-}i?iB_ z8=d~Ji@P(P3i;q-mVO6&3BvHINTH2yb-iJPWhoVM3N+;xcDYdf$!k+keKJv?*67y7 zb;Ct@XsXC6OPd|*wSrTyMc&=@5B0;gEoYHEp>Kbu+L;gjwQh-jtb6fL#5m;T0JTte3jxjy^2Qyw1opp1(C1DryD4Ro_VN2vV#YwpTFoDT%&^oNo zh9R}1pvyznK4~Jug8lUU!#Q}nJM9vqqnRW}tnWz_aQx{I47b$ZuDjtsvFyng+hF{@Y{K;(0pGIcUg+cWA_IsQ+`p1Ibf># z-w6{CCFw0>Y71IJq6;y%*4M+5C$rn3ZXg-n z-^Tvqo*#p$&c#8G;W02+11%4z;w$t|U<5W|Q|~9pcujPN^S#UOKfw~xy!a)8LoewEH(u=m^i!{~{s>#JRm77H<{3;iJ1i)**>BASEe-c zt-nRD(0^S0krZjMAp=0>>F0*e(pc&f>$PD98SP2@E~syTJRM%)p4F?rnGzhB)S6Lh z&p6pLbl1VzOL%DHWq+ez&(~(J_eMHQ*nbJ z)`$D-t`xI?+|%KAH(3!h=*4M&DqTu7?#DJHCqF5hhMSvRLb0`dSL}3${JBw;;|s% z!DE5%9X!Ja-jpfo2n~SU{m6KKy!s(p_WQlWkRt)0WKfv!{&PL4Lyw3-oh>jSV3IWHB$^SXcAmw-7qGNxU|ZV@2AVe{*$NcY+@V z^mKkZ90nS*@q8V_C(gxRA%|Xxl^@&42F5?sDenVRAR`LGl|>^M%u7v*DXin8dGSH? z*Hqado?6gtX`r|@Z?8^Fk=azp2U~2D(40c_OQMGfbQ>RkD)0^=xnl8p!#ifmX6lA$ zu2;@eUXxEwJ>^l)pPLUQ@4?g(cuk8<-Jky}kS zgS_Fs&n54Q`GzKXg6zltgcN!RRWH=f0JbV7_SaTt=jICA+UT~nw?zhH*BwoCih)31 z_xS}n_uvfSQpTNcABu()B;biPh#XXBf;L52U6PTU(`-}x#J#qf!w1C*< zfsyqd0*?h2Z0#8SdD?RTFCY@??)3a_Qhz!PWB?~yznH*=Rd(mwCGIn}v=@~Kwxc8T z%B-~U+#^-$pB4ln9+xtLs0)s#$S-%rN%CVlf3|ym;-{%(@F^(i>L;*xqRX8E1Z1Lz z?6Q*#TU7@a<>=D&Nkelw!HV9PQN=RYjpyBY@m7$n<9>nLM*l2#XH58ktjv{$(d@ABOF>c#qZ@)`g{0sk8ZoR-Wf zu`n_s;Ns$H3jNerK%8F!0^J@zd!(!{<_v>Ec~tziP{s9i`|?2OKK*Y%P&V%K^5Mw2 zNn-w=^O-%tj+l|GVrCG511MV}=zE>bVzp)alnBdO@{eh9A6;u2WoxfjyzlBie1*i9 zg;_LYT75cpk$LN7upT(-aFh)Z&W2g#u`mwwje(=M9&&+Ph}mn>HqNl-!bXOUhFuQS z-pj_(Zr_*UNWAyW`S;k*(dvgRNZil!X`c{fLeK3u+-dsmn2}wkYJ!j#pW42LJ$f#R zdVflA7`)N&EPfy*bHt4Tv??YD;zlE>V1+nVVD4AZuK9IxcM?=;@wgEd9Y!H6sc>CY>Z42=av-6b&~#E*L3a7yKmYR zWc>Ss=e)7Q*tJUjUrOfimy#vef#NZky(<3j=r2+TAq@w_Mt2L zuvAFX2Qz_nxu?}h^bY4dz*-n^aU}W;B%uG&um&XeThvHsPu9Fr_s?8ZM7k6dWbqUe zYG}nE(A9Pdx84nRSw63j5*zffiEkbq{eZ)jz*i4HwEL!TDB8VQA`d5$knWtDebRK_ zwl~P?;M7A!_tetrsGGpby;%zAaZ%Ae|GT?N`vC45Vh1fpC6Fj?P>X zOVq%}yS-&BU5l3sOyhNB56F*N>LMGsFFL88|C^MF`8QYa*$w!=x*hFqf4ODB^6?NSI zU*WR4O0a>dmp}0xlj!U*ydZr`gtlQS6x}ESuf9%Mp|85e0>Xg;HqZD7*Ek&~)JdYd z#>uZ$n5NzvTyR>YirzWHw^!N_%lWO?{#=YItqT?qYJDsDbOuyEuVIpQ07H{n57LCN z?4#0Gj?{;b|G?c*Qb)z@&k;H&`rC9de- zyl>^Y^{5MMP+NIa@ib>Yn;Zj7?nCou!Z7)y698vOw0;7bI-HpoqP+8#=pd1K z5-^W&SX5`O_Rrsn;E{A-k7@o;`01c~M1@P$(&R<#GSA3bPpn5AkWoBa$RSel=O_3( z%i=CEe0Y`jc-r(QuyPH^-mYx;Sb6HRI(CJf7QJUVaN;)~J(v-^@LYopxPVhKqxqmq zRCq0!f>7>f4_B#1_Rr;GdJI1vVT@@9NkLHn4pXHGu1ViWcgNMXwZUZ4^4bs9gg*^q zdXq5vb+>DUuXfk?ldNqxzO0#q1cT`+&vv=XJ@}4=7@37KA5N~vrMjZ0^!;9l{7!8` z9PUn_M;kcMzZ`s)YNp6T0ybMMTJb{e&DyXE`0A@#RJ6r*K@B&Nf9GL?Kw|qlK9Jas zf>$TUFl00eF^4FwQEvM|wDW_mxc!}f=uVsKZbrfc|BX5Vo*oFqyQihDa(zMmuJl0M zHr;M#8xzS3yafDHjc?2_ff8$$B{m#!5u|blPj~o1VPg*1R`?xlxJ^+o!iW;ld~a6} zT{uUCnP9P{vbk>2oy5pl_KdH=$BY5v;B{Ux+)2p7aQ=X2>T0)w$qU2e5RZLp+^P(Y zBOq&oRI+7UR&|0GK2_}Cu{Y-<^ijPdGF!1gW{KaCc2qmW64xkDxxCgZ4KF zS;{lx^yKRcTdMv+x%?4+h#S=w{+7CN8OG+#ekKo?@K;+@5>~^WM#@LN5fH+j5%|*= z1R4|1lzSE-ESp^Zaf)e&+ih5?2Etg{cP}Xty~%rZYZ+}o)$DbdE@=kB-NpveeM)+K z%X&pO(IdE>ArIrlW@1W4;vh`f@4=T@7cwjy!dRX)m$TmMf`Py~!navtYy^b4rv6l$ zJRWI`2hTc{>0CQiGPb06^3!zx9Oo+Va#hsg`1A8)1JqlI&76c!fcU9^r9B;cW(8Qs zof|nJ!0few98Jg`Yypk=4rClVg_`Tx;WUZkr@*jwc^o)y6csU!UG8n(>?(C)M?}i5pa`h;?s5$1Y6763tIEmvmF*yx< z^%YCcUrGhuw2bthrN7&NvR@t!VJ%HFDEcHCf`(MiHHzqAgkgPRCd0(`ly|h=qx~eYEpv#f zA6?VSQWX%>BbBMYab;Ao3BEgu;*3AB!3~9&|IQGf#hcTGC0fgF9@&U1W&WO!Wi6~3 zng}?cLd1Z~xxkLG{DPo<@%$G|9N0^uD)kz+kNJ%0akF`x=bROj<~k-mBPh?+{^Y{Aky;|5-2{sg>>8`6*ZGgLvIgrxR`sFXwM zg8NsvLX^5II%@}1KjpX|HHOe!+2y~e(9MW^Lj67lX(xuTReLuVOsG0D0{T$s^i=); z>lF^X6eZ^iQQ86e$;(B8D6zcn8oLQ{XK_eny?88F^W~0?<`WWqxGKA+isx~HN{kpy<*(jd;L93V+1G%%b>;~Nbf*> z`UrB0H}upZRB^1@Qt~cK`l*j*YP4mKC0{#k6Hv$$dHj=ayv<2TO;xtFT`k8$0BbkF zd*uGS)>y%Q89>f)Hd!5m@nzoD>yl?Aa@k654F2eoWi>m?|2GSE{>LXkb&=y&>Dhb} z8SGY{+)SyAg1gl4p_w7a4xcYDYU#+8nZVlZ>eHTUA$iA`y!3E_Y1-iU&W|?RwibSI$V#3$o8ZA=HPhGWFbVCUp}G+bV2#({50{*QXzTy- z(&@3(leK$d9el}uzV)ls6h07nxg3SDUSF5=Y-{;R9O%{nBz^xb6nd|dl7%KQGB9ic zcl=dp1mq?V_d=m_am%lqvOd@C^8j(qf+8r?=$7&-Q!jZ8sTDga-r~4I z?t;`yb4rKsp3Y`3Oh43KGoQqo=TetLBU1OYB7`^1{_@UOjU!Hd^#zpVLv9JWHVBPIc)N53Vf9ab!w?2N}Pc9eda8Cn?d9| zLC5twwP*X46(9R&3KbpP(oNNJCj{y@=@@>Wn_AvoWosgp3b&3*foBf|R~d$jL`#3i zmGHl9*wIT710#DzB>a9TZYp3MTwKi0Ct|*$81oi>u%$nObP_0A4^jWPl=NP^ek~D} z+c(SvVlnBZ{Y)5sP;wtu%_J0qL9g7v;(XnhCU0Pt{)hH$22BGY^EWUK2cG9h6PW3^ zAc|*2ec9s|xW|ZP7RRF_5Uo)V^UGm>fefA<3}P{}AoY=+>bbl!lrftlc`&dr5+KMh z{LXDx7F*J7ZrKs4uu~OGfTN; zu*Ux#Z{M{K`CxyL_ki)5R;SJNwa*zls$tA2z^J!@85Nl>6=H0rx^pVqZ&$qGaotmp zmLL`GDid1$3g=5C4NP=U#3Rx`-eu`?>XT*KRqy3oY1ihEVYQ#8wKLdC!E%gyrrvaE z_J*qN&jendk+a|uV0nc8t-{6GJwhwp-6FVFFqbbx9^m}5$%)!7MYH-nppXW)FfDrE z!IbfUoa8@)8=w9dxb!)F_{iG1-^$L4vJ zV$LomD5S=4GH?TAW6uZ;LvkZ+Kts?sQsVui6E53*B_ks78pe#+u4Gd2k2+Sa z#ORNiF5lA|6L!V2gU{67EIU6nf7+@8bNq%|%4uM^hZI9*2&^?rBJVxv(-Ipsr%$4S zSX>4)N3`a|Dh?W5o4mSgkB8PLarSqEGN1~ukTVeX65Vm8u9zOFh?Zl;YLTYZ$LnQ~ z=$Tkppg(A*k8Ts+T3CQidV8nwt+n&01EU8a$j}C{O?{b4cX;?fm6c^C>EhXnVzR#Z zaBZ4m7ikk!QszEb9UBQDu6*Zm*9)AcKK&t4>S7BLj%^!hJMW{d>TXhl~GN9i3jg@D5O}WmjW3AO8(F5j1w&e2Uiy*J7u{>>cTqWyLmI7~49q6x z@5E%42J=>$fHBCs-NPKK*1I>RRug-cha9W9*Ik`#4Z*bRR2s`p|D`awvM0UIn zh>>-^@=;Uesh*nxiIk>w)BFM>c=i{auCIU;ds`^2nf%`ryAhTtxs_R^vAXBB~6F+fBH?~N4+DS zHwu1tp}iX;W5i)5q``~Id|x)DS~x|L>AH&QA{cZh^^2!gQbP)U^(B&0*wbZ<(!rMtU3 zHt|iopZ9&n`yFt=5o0jcTytIj_+8jSuJ+$?T;%5Tbk39mjBO)NG;lCqq-?B-vI%oT zC6x^*n~aHN2caFCA1=PT>UL5JMbv~{r;UfeK6)2B;P?qByn{01IAmgVkWf8Wk=9lgE1Wy900SCXt%lsvng zp`J&J^z~KRMLTj1j~0>}S8otimY@?i(K%$9R#r?{K~d4PxZ}G2#*6I=b}4PtmEGbiK@6|Ku;!?V)|HUJ)>k&v-hTy=Ju|t2|;pLwg81C z7<_nReEW0zBlaCV$SEnzsl^RA_hWlIjq>k~O^v#c^(D8=U3|HKw(e0}-8^G7*xB9n zZySBc`l~xIfIQzsW$?*(v=7gt-D^_Lt}B}7#tc&u-#jMPm$w_5Vr2=X-433!7AOsL zKbtbKD>HANTKK$Blv~kfH11kOz3NaHC`L)vT*)wHcKv)?g`w)Hx|hXnz#56tgSQU% z>2i0m{lGAJSI+=x5nA9#o*zbPs;Z+12r{>v8CUgR{$Lm$OQ}bDTo@Vvi)n4~Z(t3s zz3xm97}|eNkkYQNr?>7fIninc0>v(f$+0uVb*1wcWTz+BAHgpoenRqK|p*-w1X6`b?3)H{fm2ZfROQV#k#4c?Vm z!Z#(viW-ZcZuu$6h?!t?FI4*1XZ3rr67JpRLu)7bUemFcO>{hwF6UQ|`qmJfuE{U* z%uJue*ZVl(V{2Y~pf17eHlmBkSVo!j`-t)@uDpRMi8F$=2AZl%zD)K7F8q6v%lT(!HY};Te;_m@Mu&C_R>VwMGG*yKYK% z+VSFfz5&&sKD%Ph6?}v@pJfBO{1{!2oFv}$;s+6bWKSVN={t7S!xqUjMlttqco;`+ zm5!2IRF7gHm(au=r^s%sd;t>)CPY5}XCs9;S@yHnYy3yAVqKxxbUZQC=ij{xO1+>7 z{V?ZRd?B=P-7qj5eJMXZbz|k`4!*p+3_VPvwp@F>yb~BgO4)d3RP|l~+z6beNnGMC z%DBBC{*7$w)2mTwLVUK@`8I_QU<*z6@go1$k>&TsO)-dNiTe((cfUuEa5E>0Xi!?nLxNyc;&}wVQvCLx{2sv{$-n9;vUf zYd`d>FfKJdEz5Yq%@wZvd`WGnYWWFw%5(~2hy5NGqiPuJh2fcnf1NM~6<9lZi!*0q zqIS9U)?x8i(Agi6mr3*!^^b^uC+x?yLQgBpv}HAyjD!u!F`bo-g6%L=q^x%};kIjM zrl$%#w6J$1%i5d)e`@0AKa5AAZwAb;%^1rP;T1|*>3<__{EToD#&G@r4%O$b6^Sv12OLo5a z<4e_4{^YIc$ZgWJ46OGra3pbDGTzK#t6r-PF{oeXiepwLadeN*@+4$CF9i{ja~C2N z)a1pp8HowM>=Tkfwu+s9v@Kq|!hcb1do;D&Dm#TvZre^YY|sZxl|#j5y^*-6I-#F0 z`Ec~KsZ__J(Mx_7%=4_M>AzZ=Xj)&>ZE}BUz0|2CM1GuDo#Tzd+iY-X+7rbiInM+M zlfmxvMo&;0=D9mB|UmhJ3yh85XX?o!BR%<%5F_=qG2Iwb$@taKV6jQ_9{h7{^XA54;6y^)N4K_tcs zDY*P9@P~B^rjE{Y(8Ci7LB377ndHQ?jinc(~ z@y?jSIJxincJ$~#eP_{Sr|SIP{px3EzZs4@Zbb`c`uf1Y`BqxS~ozfbU({p zGsK!AltlB$Jes$9Av*kIMcUI6hCO^g=Pv`GX;vZ6deff(No%6_f!aXiKcPiSE1zaJ z?N6se{9UF?e$R5=?pA;a_-+#BPurC;_n%7zbO3*ruaqs>47E*{;zYwmSrV8)y$?EE z4JHDig2&+QvFx)AZfL&;F+O*zsHJ$RX~zdH5WTxwB(}21!8L1YYz&-=={q4aoE*|a zG>YXr80qx=B-B^?a~Do?(eHt;o4Cs)wi(wSG-IvR+jx8mnfscn`lKP8jJ(D|ioaz8*H}8JJIWOzW3~`mF|XlW z=81EU^#RN^)?581Ne5y=hN|Vn{Y4f+g>0ugbcy)-eS^cVAkSD8G7br?D-gH{kLNLF z<4Z8ju$2{|@KtmqiPX?KaU}7XFR6?Dr<;znKx6-*ts37w+!uX#fh09|g=wtWkemJa>G|_; z)?@S$BCU@QxIaRT1oa4(dAcri`2fPXORF?1I~cr4-)R08o`2XW579YE zJM1xV5G=y-t&V7}2}B4(dk#|JSnoBVF$8P_`A20LDTP?b*7T~vu#?2Q2rcPdgm&jO zYNN2gdrL)>ojuRiY07yfwDBn()+ENOI|DZ0;0RQ&f40$#)RtON_Z`j{4-&9d_wu^H zo=#WqV_$h0(0g%y28AitCBgGP(h0}jZB(j;EIO^7*ix^2ePXvIHA#sN0Z1n*crH&i8WjM$Nz8QNlxOflh^{WEEntb=?m79= zwCs|EM~%FpbQuBTA8KLOEJ{(&&9n?>NivEZzqV0+VW%2W;DLF}B7}%f2{3LZe|JBN z8?kIo`#b{Aw%Wwzp}mIc_;){BJC6%5v>M0g-7#kb9@M`Of?2=3(pt(>Iy*l({rve| zxsbOOJbnA+FvK&GzDI4;tt#!5vNBqLdv%`?KKA%;;CAz##^Y^*>_2Uy@rem24M~?d zCl?QL`k~%T;y+68-QwsgnrBo0rfERJ>&nm#a^76#(mo}7dSaJ&Nx?C2Kg!W~?jj{1 z`8as3El1sqmN0(Bk{6&bK=4{Gl!@)zq8c`CZuL zqszUjEg0M&wiV`%ob5X+x4YPjLV&qtgB zb4XT87#8-FFkE}Zy8tu61pN79rjMFX|1t|&rYyh$4(##L_v8R>l7hMT>*pQl^-0S7 zS9Qln9jGRtnZL?5-^MRpfFnk&v?*x7!mx_rmG>*!npC61J)LEyl6?u<@Q&d`Vw(`+ zqI({*t{3LXZvfeDGIruYy{l6|t$Yle=2X4tIj11Jp?gnb59$mmQBAtk`6r8)IZYTj z@eb4muSzqEUwM9Uh|TR&^UzC9X%9wni-F|5)?YQg72@mUGk1bfz27`JvY)u2(m1ty zm40Gw_h{h;aVO5-iS#yvD^hlzp@5X(xN|(=qB{EypP#U@<vVlg$mIeAh_ zVLATN@Qi{39vb9WG^0y9hZp+ZE8K#@fxQatG#UX3v8Ip)<-uO5wuFxC{-l&^8sfr{ z(NP&)UFsbHHz)yPJbESl`hE5*g6!DSyeRW@b>||wL6F})i|>BM6Io?j24HBKf^adi z`-S!)84~6DwlaJMf=&!|x3SN+EbVx^Y+iZMlk_S33uB; zP9vA>3k>btyC-z`S(6&OCn&DykU}^lPdJ#7jZ775qOrOb-1NmN>VF(o6L-LNN;!OF zb8#SA&_m5sZygD_~UxirZgOP=HKOLCIoJ}&p_EA z?>;?&aOcDMkMivKAA~czn9!b{@)aFQY@GoFpC}BCt_H+GDH*qGKfaX>+TY1KXEe!J<=mwaZ)f zQo9*JH6NTL+W}I>FTO~!M&NW(H>l~be4=9m^$1t`1zD%*?Wq(?CDeKLyTQ2e?_hi@ zBJDUZKJMNm@g(la$OTA(?VLzfB2vRM2xo2y&uam@&vTG*U3@ej5F_bqc0@3+*lQV| zs`MS!+YG)sZ#{?YABd%cPBxGQ18zOVX$zALAxmGoO;-vr$5%jloL$VVB<8g7mwj)B zgp?$Whv6bI@ho0iks<{gR{917HWTxtD zUGgbKn?$fv@J`Tc?B4wqH90v9m~pa7OB|o{0PTx&n;{QFLDB0I>xuQ0KyKQZIzrJJ znu0qVj2}Qt`e?aw&A?YoNbiK4u|6m^5O%D(Wql5Je>k>=dBuO#y0>*EB%}GQQv4m! z{$JFZ#^d=Nm8xtW_M)Fuj|;*BiX>b@P9_+07@k)#SlGYxYjM@QcOx2_u(0PME8Bu` zK=`4p0H6q%L0}+G-qd)matMK_pP~;W4N{)@`!Ysp@%bI_--2N}1%&0{c+Ah0)apJd z%5EH+Xrh4+ykC#JAXMfM6VyC(uNZ9jBC*RGNt*9!h|hcl1dusZNSHhhyF`QbS^GD+ z`^?wgrsAI>vQj1&zH~K*xJnq|_%YYD#&;~lM+Mht#2xG}dU?>RTO=QQfam!L2~Wy^ zSrqEVdXNxdxroCzPl&7gF1(2q2!>^0xVTtXdh2Uc<=PibRbO#@PcDQlqI;_nD0Asi zeQ_Qw4i>fFNnrF z(!^Jm=zJ!QF^*J)6RDZEHnxQBUek~7Ueh#)R5|Q0ftY>f)r$&&*Z5d@-6kLsc; zT6Y;5IrO0@AOY5bJNY_I5q%Ge+x;F!sdjjSc^43?UQu6g+`-MUoj~t3#7aB+C*b_1 z8h(Z;A0PC9%=ihTl$dew5;m5P8IEs22{$cl-$ zwXs7+e85`Dz$}<&=SUg)g*1hZpETyTh>}M8O*GX{OqVBKWH8K?m2MZ_{TNuMlPY(! z+Eb3W2V9CLTlp@!pWBx^!@8;KjU-DXRzC61p!H=tbxh=c*p3hN&`X2%F;jc1&%W{xw1)yolNrOoH&c{jE|C?nNgzrkwV}on~TTq#lV~jkQO^i9kkJXYl6X5 zzjALDr4ugFl>UJv>G}DNV)`o5Jbvwg4H2e>J!FXm39z~<^hD5@Q)*HOuDB6hW6zOq zJiJ0P$uo=Sm0xS)M~+B5lRW+8T|-#XcNVz!LuK>Biv-_jMlR)56ERxIy^~Hi3!khv zDTC;Z8bVih=u3jXPwK3`_a_hNFXTBN0JvoSdb=N4O*)@WXk-pUp;ZKuBq;KL=xs}x z;L~m)t|Dp+yQoqxAL54*D z3%zozX0e0HyBV`>ac#Nk?w&eOgoj}n&0Z15$DfLFNQDMHw!C7gD_QX|F&`ylw7Zpj zaMU3irOo%(*T3s*|1rddu_TU=8yHx42dDJ!DWS)B6Nw$}3$YpnSC^+xR@%O^SRjr1 z?iphs_<@w0_PS_vF44*gtTbuyw=)LS@rEFRi}x~GgO7xDis`yGE2U(oOxJhc5~3io zZ10L{&2y=rZNwOvYw6pVV;UJ)_Cf%YW9D*VCIxZO0U8tDj6HJ(7`2fVGWuhD9LMGp z^MJsLI(tKg-dNBZgq-)Qs^0&CRageqkC#ymYjnRz=2D#-RPu2_`yyb8R*tuDY$Xa{yo~+j`nSOL48(XZj;3{w2~u?1(IHy!Zx&bl9V-+0xLwwt zrisS$H?U+E_t9)n%m}+G}HySg;wj)p5SUA_5qNX(7Wn&6#|8D}R9g zXO4zy&awy$XNd$N!KAt9u%nasL#`dpH}%~2@lXxOE}u(|NhBbz)qFV3o(m(w2(W#( zhR0$BEC>JXD`2>|xCn4PeGk3C%1kT$aeDRx&TZd;L?SjS=9+l2p_u*IMS)=f6M*&0 z2t=v1)SnkrwvrDmFQAD!nA&}!=yP7SJas!YzeeM(WCw3=Tv)C?G()Q_KP9asB8o8X zX`M*P7bUKE7EdIUvREm;F`%ig^SDno%;~pXq6n{^=T_*uX5yT=c;Wtb2I{tNorx+eIV=%l_izn=LV>^QM5k|=qP z!)an2Hr5i+(%+0Ixlq+eL@Dn@0xhIMdU~NFu>Q;N_$XQe#*6*KU|g`^p7H!Jp!QeF z+VuwM`(40-6@z?J?>5;%Jj=1#Mx@U3PUJ0=E)tH^j$IUOr^X~DdX_7$ z4$$8IP7>ZNA!Cdv@I;ht&da+uI@PSYfqiv#ImSH(3DlADr;dxuio#+tXEkNH^dv`a z&FPAv^GMR&fU%i> z;KSe@#~kMvhlzDLrgGck2#1#MNe#%@@Ivb@|It3&J0z%o)cXgUJ7So~?n%?u2pV^* zi&y8Jr6T*ITbK>vPbw}ZT&njwK0nkc&!;%#5S<@CAl15~z26bHO&x??k58q*>{w;d z^v1pAS3^1Uef)+|o*X5sz%mua2ihBXveULgZK0TspkpFnAG)r>Q8d=DR(+ zH%FTQ4us>xR(H242J(3M$D9W1z{w<$@Y8wD7&a9p87=1HPjm!6#kQaObEiyvEN*89 zx29|yWDMC7%utPdB%Yk+1wMcnwWMmZn-cWhqj;UdI%SETe>xl-iTm=Q@9&bl5Cy+y zUl(MhIw9j|(Q4SQnXM>X?bH7e!QJgL(4_oXk|#iyb@TK=8_A_P=6@2I26LWD` z=Ur^9T)s3%jktF=o^}D{wtnGyTXYl)%chI*sU=H~J`cUEn{D6>bCBxTppuC&Mey}% zs0;TiB+`2$SN|7}CUVGJ-P7U3*lhBo*IB^U>8 zY|WVl=@$P1Xq!N}sRn$Ui3UFcEC;`W#WgE~%<$aTNnj)>G6?hBzGjL#BJg#>%m$YX zI%GSf*3HM~r+Io}$%5kvO$XNxv?*NrvF>LLWe2iMRkp{5@a%OtVU23kE}9A%vnk^B zjU6~(;^O+xG-3O+tF90jMtvEBd{gTJpglr-4>8{&@n{U81~o{LZJz%RdA+pEqjQz9ebvq4Qb7Jk2K7p)e)Ilqf#saRbx|v@%Z29QWlC zV{E*qQRJ?q!`6_3f1sNTE(8azsp~aiUd*+GD>Igdt)J+Q7s?Z_*#}Qv8(-Gp+rGlp z+jRT0Mw>#hnowQhaFd|eS@ptsyCQx9vm0BFI$BAwA+D0HTiBip$C51shVS(%NtWN4 zRYfVqraXt^JoEvT%Ol9?Vb3YHQ=G0BU}hax9g25PfvU~{ z`J9Z*cD04k$H@;?5T_`^5UKUrenJDmAh& z~J0DPYpZ{Pixxo;Hwv*Qo@tV> z<w*Oml`dbBT=|peLIb6kzZ!o)mWj(nxYWX!4dNfY3uhGTt z-wyO1+PsCmDzwHHFzq@tErN!%XC}Bu6EqDo4?m!);$8`< zU-0r14VN2^8L0H{3%Xt!morpM)}FSEwNh5|Ch*nN*Jt1#+dX@8*^}hRKgFDvP6jaD zKfgPPc-t<8z$fLs1FO~Ou}?#nyq$c&n|FO|t+D1KSBt@Rz@zr{5oBmCb1L!lA*Ydl zorX3P!zELafaF!PO1F$U0_9_IMAVm9e?ewvb)BCPi&U}1v3${FP!V;VRsD;X0b0!2xLMrjyXD zMgR+urU-lNs0X4{^Tr6tvyF+BDwC z)3bWpwr|7PJ4s&xk;t3ZfaU`@e|i?hZ998YMGKL+c`L%(;*-+dTuXrP?|m^9xtF;T zZ^yG3^3dS%W!%zPlVNDYpTj|bstR&we_0^|m_c^{;PjINc+qPLTggk-H*{4rTISbO ztM=EA>Z(o&w6MwX0L6-+u52R!{%)<(b^tBNQ^c0boyu9s zvgynBH|4hP%rzj6L|2$W%EAlv3s;sbo#)e5@<#p5^y>a=kL&JJrk+_2JN#WzJu|XAAjFkY7Si%+gCHm zG@bgJs?MlKEXPT!i0NQJf^4~8)T~VVSK67FWtapEt5=EH7E)}Z!YBb1LK?cf* zK}X%JmUPJZ$0H!xx_{}9+0fUhVW8t&^QbjxeSwA0P80J(eNlX=I1f~=-kr&fy`1ed?W{}b&MnmvFiJ9B|#awRV7@MAS(lc zatFoOYD#<>mYq(tyx$g+;eDzusQ_<)v1<0iTgy+7pE8nU`TI_0Fq-ehhZW(Tt+BB@ zXBd>^lzP3A!DFqd7&k?@fiB=b-9Y(%qMM52cgIEE4h4Rmv1CmSkGDfqX6w5zn_;XUrd;(G?i5m=9&z;kN3l&MKThD+3S!Yh z)w&4E(sr`MFzy<1@Pt_Wa!qAz~0ZSc~OIF}iQB zFq#x<`N83OC>}#-BX8#%gEBW-_%%Fo;V0Qi0F;{+w^K1{K5Cx*%&bu?FpT6+o|hpZ z_Oi}@T*SH4 zQl$m6u@3!7@4V(~D$Z+?eSV0bnP>zOwP-=YFMz}Y({|W9{pEnR-!nEGF6N}(fr~#Z zrm0v{{&pFWkFK1vcx7HP_n8vq!lvDR1$NXh*t1*?E@?nVMzzPP7eD^=O8*gsz*4%Q z^QbpyJ0Sf?u$<_+BlM5!2-Zsa?~@1X(I(oz-`4$MLCLAJKvbf|Aha)&Czl@Atr(C( zY^uVlUyCy?R{XT>+8R0<^q64zJr*DT8AP3nv;~nzzaQu(=6(RGn9;5)-`@80q89W(IBJ&`l_X-;Uq^&TpkKT?^-*N>okkYkJV*uOz2 zmkPGr?>6@5k%VnU`3i8SyDu%~^7^!Y==jAMtWLQQaHS9r7_YzubB9*b-I-#yXYPV^ zOTp{ChpiIyK7hW|H>paH>(T3&T0%SdVfwbih}8|C4%b15^o1c7C=@c0jdBOvb*svO z?B9vx;G8#LFV#?gYl@N1zb9h>2mc6G=J%* zW!4g1z7)*oa1^AI{TP%=3j73odbXB?OnlwH(ibSRP=Qp>#0>t)FRZkTmt3?k4Q|?c zQM|bDn`3M)+H3WWai0L;vmw94Tf-eI0^io=7l);`tpJ*%mI8L?b$7a*_P&m~aU5 zQ2Yc)w;5a<74*H@K74&iCl2Se!6_WVF8H?NP9Tjhvdb2ggQukQ>Nr1KzsuqTd zHdC~ww{`n|3<}p-Q?-l}eH{S@hIe(uwZOStr;GAM><2BVNLGihkjBjw$iDSrM&LrU zh`wGge>10rtO_?Nk32)wNNBlMY~+|qr4l6ZTBfQPajcMpaAs_&(QK+2yK6uXIh=mL z-Wlp>?I`eP?fHF`lvlVopY%F=(b@yR@;_^=d5}aEDZa58m z_jd(_>EyeiiOR~Xw_D|srHE9zFd|f+qv~1{kny1t+o+FjmhgA#7Xz4uybIE|S;fC# zj~31mCs&eh>#7=x5}%q?_CdjE*twyIFU`f=HPl1@@8Y*bwIpMoH-x>1Fwr#p*xj6v zo)!>|dkZY(x+$Onry|`6p17?_dmM?f=IG*2n13^IX)=sTLdxsZ93}GFEFsNAhj??q zCK2?b3K)&n-US=@;=%;w7`jvKzTlsi=wK|lXD1need3`j_+caBHXwSs+f;vnDN6s6gp1a2rjBy5 zCJ$h4UYyfvn7Xn&+RhEgUJP9r<5_O|6uOteARa?-#wCHPTsbCVq>FWY zpHPx%{0=(Okl=@VTcN5Sx!eM>Q2*LJ$$UZmfDK~p<9VjL-8`K9;jhs)!g z=}-4=5r}+me7m7pYtV)HbFMAhe$`KdytK%H!Db}huL2lJj~5iQ1!(Ocz>Ar+8Od1w_~g#Y7$5FUYG~ zf?o_iUz%L{S3vtPxB({5$6d7#ci(f@SYm%{Bo`o3+H_g2C7an%iLindpgXFjGqw79@6o?BOsP+wK-2z3HDIhc!N zR)6S45$y^?2wJ0H3#C#_OiWZv3`Xtyy8wh_mX5~UY z)w*q;Lz!Qop3NV!>>ohXqD_?A^IjI|d!ya0&l#?$l!95(?r?}Z8H!)bdW@y~vU|7@ zUTK6WnR19No>)Qm=jcqvH8GLcisoigyOKV{P!61cs%7UY3pW(6wNJLdwGHt3LjRJX z)&=V>AJ=>MqZ&b@=A3BiBPUb_YP@SBFMn(V^dWF__Bw+9WW5vCsfUy(wKe@;-S>UV zo$f280(9T&DU<)B`<}lQRz1Nb6M7WdA2c&CtB=a^vU-I?{?EQSRv)jGon2-eBa|K%>AaCaBnU z7J)bbVirRg+6;=)?iNyPed;<4Q2unU8ZN2N3buLxCXUuSSV%}{$Wj!lEF4-G{umOr z?eACcf`(u3_2czSQQ6mw1)g@-ym4MK=z&Ysgy;cA27B*0x@ztty}WVAaN1~KRuG$y zM_1;%^7qNZ3=n#_-P3L8)dpi~P!Y@#?gzX2Yibk1MT4VZPD#?-p;Pf92*K$TwwZfN zn{|_xaUw<=%F!hwOB%WgGRA4{K)&tJvYfN_FsNYnEAxt38&cI(7|lEvecq^SS6z?_ zzlDCNe)L&h^?~*d%C?_A$Fd=lSMY$mBk*Vx&H|)J($ZrC!bJeZ#fepHLn| z&cg))23%4SlKG3Zln~@z1H*337PtHPLWt?%awpt%OY4J^;3yax7bZRpWzS2wQs1qt z`^kSaHk@B{fpaxQ(BP{NlJdx<)j!bpMGVb1h`olhy}xSL+r+QHEJxWAb)&%z(?y(d zark$?=IuVSiQM+%u%HXfCh0QypRIf^+UJL<&nn%Z+kgA-TtPLboUCu3`(5Q#!)wo} zb$s?MKK9>`gQUg7=f<~g9KS!s+@X6oCvVIZI&KJTh28Pq#E27O<*&)UHDe!sza7+v zaOSf=tMo(=NE_JM?R?y!{?yNm4N{YLSp8kqKpyNDt|w(uuq{T`Uvt=4>=Z4#={$`! zXuxUw#RRuKj=lBMto30>1lVVorxR*$27bLfQJsq=oT=}XMQvoAzAen&Lw^%j*7CK7 zrpohx_MN}7Slxy~?Q`sn_E)kl>%P#RS3%U!nH zR#@IwKaX6tC+&Ypja9lK(wiWVxG;yayJ4iJCewWxDFI0SvF44%Nt9qvX>XXseTVfB z?2;T&Swf#`MQDjze3CxhMVWvs8G#4~6kyX-RqXi{=bw{H+9*2yl@#MPq$@+V z#$b6A>&Dq-92C9zux@j zoNv&SsdV+EZ|#rBMbuzD-alzlwrwf-T}&@7q#UU{B0HHD=G3M0la4afnK^o-*=y$U ztKBV*P1fTL-CEqAB++tFTltH|vT&>3R-UT$0%i znQ{ooPl80SKZv|1Xpd0|;~|42im+$3J=pV$+V3pxI&#$SUyGZd9MSYKO4Q$PVVAqS4xR!9CS?r_L-t@S9 zvrZ8HOD;cscZU{S=&ih+y(Dq2s`&>yE`Yx429e^ujag+ns1aXjc7Iuetoj-jGg3w$ zG9z~%Zv7suE=mn$3}FD7gYnbOx|)$$Ud%FrACTSd(b2}R0k@JdxRu`3-ZI{QE9R7k zHu)hmHOr0#TrN#FU2&$CgQW1&MpvTBHMRJLozf=){g_s-(++Zrfknf3@MToe2fXyzoar9e#~oK#6)K_aAu5gZDYOsPn0p zmmgBA)6v;!-b+bq(!Gg$9?~1K8<4Rr2`;HQ)9c!Z*!@z|jhDcytSgCIu-c)?vFi+t|FM*z+pLFL&4hpEsDW_lNJFoT#Tuo7hLe6bf>H!8m zSbrFSxCNMbv@hT{E^uKj()A?)>r(A+zI7PI1icFPH=wy=`xf`{`G?>_^ci_8HLKCx zgS37te=(Len2@YILo-n+F(zOj#~xi%_x4FtD##oy2$ATHT6wj-C=|>WCK`*IG2}~H=mVge<(ez0Jdy{ z_P8;6{o~{M#m^jGQ1mW5O70BGIyk5vYu<0wz*~V z!X^9D$zq!su;JSD1z~~M0P0dmmY{y8|PVG#0s7^ zbq?86=Y1(LW6@75U*pxNv}gt^4aT+k@G2N!WPi?#F+jZ^-=)%<#K-`N$>IJf=y66p zriH^L5s1Oq>3lo09RELQS^Doar?O`UdcrPl+rOYr#ghuCCgPMbqj)I)JLOELv15B; z<((EzHkJ%V4wVdc%Y#d(he!JL>7L0@nvaZIrv__*5k}05skF>es)+l0)I<=Ar)4Ki zqy7}`Z(+<_dsi38_xcS(m!#f4i-&)}CtdTZEQnpXajx#iX^xDd?Fy}fyQyLM*WeBPa&{5Ydte~HBErH@5kE|zTV z-ZK6GhvM+xL&1e|A9I|-55 z$d!@}vyI}MgLpo+Izl7EQ`1=nCyhftJ=x{<=~Q70rE}t8B?ujjC8TGq{f4-QTl1lB zsJ!fxdm}s-aQhBIpI2#igDm~T;2(S_l@ZMq(mEe&QgpslhBB8L*~HuZ9y$_izIx8c z9x;TLX+i5iQPj~S$R6UycJX9g^EwBSS$DeKLN`}3zRm>L-)m83%9)6Zq?`B`7WXPT zRZCXBlU!hK%WV`dcywl`GKb5SF*Y1`rhJklgz+19%{3fu2+COKb_V3JmTpUH-I5Gi z=%2EEx;fz=z%AK~#{rv3K5!a^EzMRJ+vX=O#%DhuTjd{9yaz$z8@GisNE*rNYY78) zq2=qhZwp-ejC6z!JZNU&1dZ1nUK^xb3D32eH@RKA=9ZZSd6Z7D}W7fW(t-f zwE(0ATqZ`x3N$+J$XY=wwGAw7`|roy&bKNGlOsI@p>h1O8jv^h@+R(?~`>XQvUZQdH^sj$80hiRo1Yo== znlBmDl?*D!vL{=k$GV6KO)WD;dr}tKA8+;xI#2r&)~*6(dNIzqS9oVUVz>Z<5mLbc zhmFaR6ebcdS_qYAilpwY`i9$tABv*-3{SjGY;~VGSDhOpLVNm|lD`_6pU#i;j0d?1 zlwnA)5iO8cOIjDTD$jv*v@1Ta0^fFGt-D1yE@+wLPg`|PJ;_SGpi+^N!pmQcx*3A; z-CtFQNG}dL{!~9qPGWQ!{rKT?4_N8R8;8QJcSNrJbBW} zBxAr7azuhNproLDP37bdpN^e0dznXtg|{V)$qWstVj!9C@*;(JUL1O5c`dc@uWopL zG~2KIMx>3?UFE~4SSDwRU?gBK28>Yp3*M|v9j%{q%&3hu;fENT(r>N0N!EU@{7}yz z%DDtzUkf+Shdw|W)Jt1f}4{X!;F^nh_^|WTW_jVzM?jaYjuWp zB6^@3tj=_h*kDybF0Ni7n>g}&kR|0wvAsI=HHp)4vw?wu)SrjUTe~y03&FJZ10vY* ziQm6#w5#?ut$ z&CxSsfJey56Fm0<><+6Iy4xN0?u6pJOV)G#ju=DglnHnDyl=~88}Kz4D!gEE(bm(K zEJh&FzLlE01<`oo5ZF9v9;GfQH;wdUWZvU}+m78fZTB(+e|lR~iuz4wy*2FiA$BSM zmV6ZAR_Tt=2#TLL@|#++u3Lgu8{C12Z)Qja(=e?TAB|w1I7fY)D@0ffqZM5@AaS8p z%f2F-2RrN^hPiI*@PN>{jQP+@)&fBw8Z&WDLPSsY(V)b zfJ)5pME!jgI74BkfFe`>Bz+u2z52Mx{=Xgu4rIymIw~`{rO6~IGgMiG7K$0JA-K6M zaJ20kcl7PIu;awrTyjzRmqub-Xhy-M-(6isc@)bRs2f&$jPFyfjVW{E853n) zLU`%XL`ov;R?1a>6n5q$^1mLfV$_d#|MHgVYKhp~wV$fskkc@M7E;MBuYCT5EURiv z@<)rUO_!A!s&>KF5p}9ovrY^pOBX9@ZOMu8 zcSuh+9@e#T+Ss zFxKE)qvyxc*IgAPi?69&bou3#%ca3(_S;EOHEgH8c=9)l2(IZ0l^nVF&~rltDFq-@ zVf|_O&~L{$*7LN9AKi z`Du3G_90}6<1q2MJ{glWGD`mJ9&F;V@h7u}XZwABvV_@d3OHJ$Y~|^!y*sDJmlI~Q zf|FeNqBBq}J$&c|VJI9aPw|y#1*Q5CY*ID$`AdRLM&+z5snuENIMmcW(aOe+s&Hr@MMNZ#(^dPHK#6pW?ou_m%;+i_N3haBmLI z;qGU11QVH{7V?5lV|6aWcGLC+Eg+!d+W$Yg&N3{@uKU|VNSAbn zN_Y2wAfkexG!g^S(jYxEG)Sj}G$E^|99Ik(QQg$b;d}d41PUOcNmEH2t#Y=xRqpAu5a3ba;{%H{xQ!{Ouza3 z$#kIj>(8r4i=Z+EEGk>LI^L5NA`Q<|hoeqNeCW?RcZ5E^Dt-)rP@J*&vQM(Wdq#E6 zn^b!H#+)nv&IxLQ_X?8YS3wWbI#)Iz>8;jMx->uk*updvQ!cAJ{&q3cWuNdIZ32{N zRFs&v0|s$jtyGk7{;WZVAO7lSVA@s>=`Dag0htPR#%YKu`@umX863|Wu+g1g4-mT4K{NYOU(r%UG zmBiiYnYe3_?j3H6nK7J-M&KORjCJ?}%JlO%!nTclni={ak>cu^ zbIcN=E3+u!GT)FK%O}NJ0cyr<$^lMpRDSg6V|L{@8bsgjF?! z-?gK_zy*m6eF8*$>yZ=In5|MLv!$~*G7O2BQKdY-7t;9ebpF28vp^yU@A2_ppp_3~ z`y=0Vpk4raZoP~w<)!1X409RW{xcijAeD1M_nwOGt7EAI*ZmiH01FRoqh*1b46VDYnsYWGh)C3&I5-c~=q=DDv?(J_7VGA(rrjz=bCKS$&;)UTd?)Zzm~j8K80 z#a8lWwO;=pi*G{>PHaUAV{H@ew>d6EK9$_x$OW~-;{m_e9@1Z>-*6klGJFC4sNcmd zq#e*?wVj;W*LH;ISoH+CwP)`^04^z_El9prP76p$mU)8XMRMg}y@s2+oWbfAp1=m| z%z~exh@8%>uKsEm^kUY*oTU?SjP3K55inlh{#WZ8gZ&wkGd20+_QfICa*xZuAUDmS zjwL-IV!>$>et3JF_gF{diul88j9MKpVv|iK25G|>jB|J+muV}dJN20T+NHqn zE!wP6HPp@ZtZ7SMV-H*Ok1ii`l*{N4ZX9#I$9C3DA07Z=-)n2v*N;DNui(A8q<500 z+z@HtT16|tX>*FicB-DTxY9I`*H8H32w_2v@8M;X7Kd&*mc7{3JpBEWjCzs!qxL9+4eCx{A^<#M1GZF#rXEjCTdTIHqZIhZ>r|I2JRuC56F?(R~Z&4REHnx zTyF39f}b>Dgm_$cF2STgMz=S~gGaaab-mA^0K_qdrB{ z{sEH&M?roQw*E}JhqZg>_h`cTLEFPI4NfSXwbF*9DV1F1(+4rQ)|Wp+08exjt~xz%X)4yec2P>3X@M z4#BS!X(1#(xR7|Zc0(^h*FbU>-vk0^GICZX5@T+wvKA2LR0-z+PiYmET;!uyZ{OnY z2?q7c&N>BgK#c>V$y$TovtZG`PHq$Z2j07s)rS!f{FDTpP>TgC@|nI!Lya&+==L8Y z$ff=iy^e?{bh}kYW+j^muzVz1O>Y7(u%rDiwQF|+YWCGE_qK!P6=#hW)<4y`7&1Mu z5GD>L?@k_G1t7WWo!_f)blftjI8v@p!s$|MyjgFtGX`VN_WX7zRD4AjJd;n8`^F^q zuSn(^K4W~}I3PnnSc_m15h{o2``z8$Cxl)$;uJwc9b0F_V!Gc5dMjAv-DbXyfOlaq z1Wp>KHy(iB3tkB(Z~xgK?QrJaxHhK({7|$2(ul1}TA9CxmGcQJLZ6qMw>PKI>JoL{ z5Y1)#nGttD0Pl>VW&a+khg?NEdLeO~)jHqxGbvN70T*nadS%sQ+y!UIuN*+eS8WVL#zsm#d?ROCCac}Uj9#&OCnE27J zHQAw0GK*i&-zD6Fr^%T(CLM$9iK?=NZ17ppMz$Mb374~9q+SVsBo&>-H0yGKyp-Ys zne(q6Uw-9%VICP{O@d|=&%OWp>@n+=+@lqD!y`^(x>mm#O!AB6&x$nI>|8Q>oRjL;juP z)|nNKwHJ~cLHqRQ&TiD-92&8p?HcdifdEO}L~0h!bUtI3wf1K-gBlZ=rZ?ApFu9K4ui76<_4E0^{r?W^GjF9Cq- z{F9cr^A4C2j`8n_H@|p35f5wJd7Bzt(@=%iknIPv#*(*NJP?>{$i{xeF$C$ROvoC$ z)K|;ojj{%`T-*m?64HOaFRfZjRXr6-eC{?Xu{kG6Cm~?x19%Vo6GG$>leK2cts&qR z9J;N^FmPT-%cPvDddTU&OD>M+=AYTCW5YI;Q4%0L{|K~On&Yl(84!r)!yoCAyfK`J zOhnTNhSH#}uIzg9&tl@f8UaY6B3xe$c*eEhY%;TmJQ zo?@GCw~DVH@}}K$gn?aq;;_X7oHd^HXVSLn{8EG9EEqI?f*I&oIhSE0t1YkhH1}Gg zC3E0xE;usT?C}l-$a;!8-}-_wns?HMfk<8fSXAuz%U%3fKEHd{7BAJl-+**_I#G=L zDs^&2i0@+6;=}blR;?4@G9ZG8oK0G>$Y-O$yoy*mxdEyj`r|LHWI>euEUDkUeCwx5 zCoww=oDt^JT5?Kb4j`oLDq351I@eI(6D-ai0V9y|iWb<0ms9|(fdwMJ#QMZ;canE? zH1ks`s3F@fE;+|p;kq2h=Ma)&i)b<6y@mGDxs4RjRQZC8P8?~^aZ3t9n=C#V8!shc zwvmyMO;8l5WOYzX=mryZurjoe8#><(7xR(^bE5a#*R9neKQDi@3}41QI{sNO^KuH7 zkFo3)-#!+f<1l#xy%@Z(xfqa^*Zc5?1$eZr_j2nvU|DUG#wF|sugZz8tE4?6ose}g z$Z^qEi5WxJbP0T?QBQZIL}GLhBVM+*cw8oOK=1`|i>Xt!H;eq!6V=vLHK}JT#}%;g zt$Im*c@E)MH{Ti@J~!K)l%7+*L>a~**qwx%`E&ZVDJ?s1X6A!udwfa??%LWKuuSsH z%VS!+hif@FIbQ?U>A+!&Q8gDA7mYx{mf$Bh22|n5HM3{q6I$}G6?ka5RDzp>DcWjo z9HY~nX^LhpX_9K!!uVWlxe`ZP(anpzdAa7!@L&D95-jR(R7~}H!nGhpm>w1t-1=6R zFr&`7@$?$7sVudmIh=;W_{;_$znWDi=q5XTe~pQ9trXdIQjP7f^*y*~Sm*ieu>53O zbH7E{L7c(FUFyq3?%Ks>xwLCcfNxMskQUFdI#SB}1Suc}pG;sp- zx>7*G=v7VzuR300eczTmE7;UwY;7jX&r+o_=SDY=at~`Owrj*pVRNjQy~BOKk1eVRU}U_Z7qB znfG(nPfMRi4mPp~vK*jQ_eyl=Gczm-L+SCz&Bif56`>lX8gwejKwQQ(t6m7oSmL3B zWRPuW0KTm5g+M@m-HBkWBWUWU3|%ps|15vYZ-OvC_dvFR9;UR^)Kmka84_eJ=p!XqMb>{0}_m`(R$c{X8Yc# zm^nSUp7}-6Sc;sr9e1%}za(ymZ3exm|2W(GjyLl92hO$-2#P{Mz_HPTiv2MM*uWoE zio)>{OyR+coik01jK?GHzrYfN1PLtij^hORC6XVT=~?qEaWbBMMDck{`EBGB`U|~c z>83mye;L3v`AE_N%?;V^2LlceV(+jp(ok^my@;H}t5?)+it7C5){yJg6MC(Mom+rLJI5RE z>>?CZCs`NAL(#g}o6}ztW`b6jZLw2-d4haUpwm*%L{~Ne1>H{<2if zv81@TxWTFuKridC7#~IPxdySOdKigHEq-0pn%Il&mk_KwxtY@HkS}FmKYNXx5sTpc zVd9u=7wY^%933mg@vlYb%&XsLZ+t1Qh499Kww1xBdNIN`>-{1h3K$G$rb#1tH^U-{ z(QvMwu9hVHnIvZ^VTQKs;Ilo0{6a4l$zUhx67XR*PQHD7^gh+vZ_c-G;vm`rbWM5^ z=1Ii(GL~>118Qz4CeuDZ)QaBVv}J+jNgRIKr$GoZvQH>Y+~@{6fv-DSUK4M#EK`=* ztd8Dh)eT^y8c>~+ZVL{vb{Uae$6U&}cS)qH>Jx^7xN1ol;<-G$M|g*Myydn++dGYG2-IcS$9a1dN zXl~y@R@Kkd;+apnE51A)Ae-!}*GS|?h-=WJ86|A>HkD)fI35t_cU(GEpB&dYu521d z;`ak)pzHlc)!q!xZFWy9^500aeI3lU3xR}0sn6SxYW&kO$9uzzE`RO6Y9lp?A@XEA zw>MWb-q>+}w4PhJd_BFPC@9!TF;X?=ezwaMy!BIYY5x)CQZ4Uln?;UTKSdxwBT=t} z=H-z+U*<_&(^J~0jp+Yf+LJ4hUnB`qn47Je)_S8#&{_AKJdq^H|Vw39RO;Y$Cbokk+U0>V`Eb#@y69%J}BvWxU`g$gB2H# zhOf`|o{D|yrz)b3m~MS8CZQ(4^hwN{%hbOFczf+4P<;MMk}|ohMrP^Qrb@#=4@a@z zt^F?h#gqXbjmVxi>cnm{d4ladb`uv^o3-0%db4V>^TdV0pM47vn74e7H`xl6gdY4> zTogQ42_l@YAzFYN6r6fV<%>cpAGKV&lh29EFc|7W@RBhLva%d6l)UU^stD8Hen5r5 zwncUXwcjB;&r}=@`i-@hP^`UGC|Z#W)GOPn9v&Vi_dYeLNd;0AAI?hs5^RU%lsYo9 z%!XLA%x+o%7@Dlm+TcjVYU4<(BTbd*U_e6WPUepZX41g>0%-*nZmTE&49>%u=GA@94v@Up1cz z1f71lOtrYM^>|v?g%v9fjl%kcvC*|q%A;$JmUcytYY?>s zT>#G)zxa={ndi?7jCWCX zui}Z~#k)J*7Q+-INT;TkR-O1s%6X*8oMFgExQA^#n|7M&mrUmMpLNBA;wtjX{;`2& zi9Wnh&u>$k>PUNkMjmP;6y;C`eUv1O4hmgi0kLHEFDDT_*B*F(wDDR;$#KApFU%z# zqjdAUht;?&hIRSKu+Kf#v6OPPPj{?>o&a>*ydokn8T|#gOf;GGlh+;fabkBZIQ4Uv zne-Bfd7Tx765xSWDu!u$G0C9MDSt=OOG~UL`t+Ec1GoHC47NFvAB}mK=_-b(2X)7) z6Nz8s$GzuHtS{E$6|=sVd`l=SPrH{>Q-HDVvRV3(NfsDG)v)#NkDg!Lse3Km)|!5R z91$o?QJjUq9xU7LDpIw!$|~s%4SJbbdwlVtHo+YQ=)bsOR5c86YJszPEJrUmK5h*R z8z@|~e<|JSeA;fP?Eqxl{+f-vfmKb`#(M20(FOt}I0ahry0_%{_R{Ed1`!iGj!qH` z+xz>u-q=yRi4u}I$MybR-7lR9=i2+A?Ic4CoR7{2=nDM2wqDAw!<+mc?@NomTRIpq z8XF%MW^-|^k%#p^W-Fe>xLo68+}R8(TWXt+F55USbC}gOnrU#;kx9wPQ8I$|H7<>g zL;QBuZ)oA*yEhlDtoy#aQb;N2%~0Z!fhdbk>&9Eyev5&_U=cJa{XGWFxu~qmU*z3- z!8dB7!$^GOMq+y49b&!ahoqeI$%)K_E-bBz)VIiy76ERY=xiccLh1ipIWBi7cu+(EaKi%tq!4we9 zgFhym9}boXt)*j%7KW~k$@KIocx05q(k&e~h;lk0wcgrKFCd;CBw{A_)>|^D-W(qL zC8vz*y318yn9$oy>b-S7$lWZ}G8i<4y!?KH4rOQPSKB;iWb2WCUThO}+wbfS-#XrK zN=Fvz@bT(Ir4vnM-`tsX1RpKS6@JwqK;*0~Zy0ra2n{pQ0nz3QvI#Sl?JI>ijg$tQ z8cCryVcfpaP;8AI5?*;9J!!8DDl1Ac;(vyCLNitUJ0XwhM*^meKPV~DA{So9wT$kl zIfvo%9u2jvfcx|{EYm^C9il-Hp%9rIFiA{w?J_Vxk!}55ig`#7P`ZYg1f)K}^v(O@ zgHop3>t3MIgyK`4hMvvBh);IrugCx*_%f`>Kk)t!Qu|A9A1nYM&^1fZi;G}~e?@#b zKANPQJSYB<$vgBJpkU3(qk&Q~wWAa-r(_aP`0j8ky$+fa8M%gjr3qV;OaDq1Ap%Kx z9GTMf-nri|IwZu!39bWo`?;Rx#5DY&PqTW9EdZ=3NRKxsxv_>K#Q*Wo&FxjCTib(y zQ_@2&ZLI@{K@H0~!We8M#xQVe#@llW-z*NRA1{Rwn(9ITG$laq6TLa?MnnGUBTj0q zCKsWz2?WI560L%bX=3w_{>yK`w`Oep#Iwr-$C%haU_I~~9wkG3wsuVFA*T8N$?=lC z8o1-O5&O*fe>q<2e{;Mz01#H&z!!LC&0RWwdS@b}A=JXDnkJ!uXuJq_1_#`K2_XYk z&$J;QzGiPEU06XRgADjtnwaCqcOBz)7#zTLqzJjD|85?JKQht+fr^^8`Sy8~9dD{f zw;XWjl<#2jdHoGGX;|)553vuBB!{7vK(`u^DX+c#4rE}G(6uGjCGUfDddF$Yn_kF+ z5GEafd{s4>vsp{z-uVTY1EiRxrLITF!{Cw{uzzw#vDn?kAHgyqYr!$MnxFKk2B|FI z%Hgy}V$Q@vXCiGszwJ3Ru~9`b7~-?OQCs?KLZ2!*%I<``B$h$s9N)`tsC;hUy0Q^_ zUq|X$D~)AP=#69h7h(7BC58Xs??{^KBijCSJXWQ@OUho@>95mA9{TA$Ny)<-0GsF{ zT=EL|wnT5$DpE~XnRTCC$B3t9u=TM~iLRlw?UHzm5ujwF#u+m^HBC3A53{aWfWnVZ zjF=mS;3y96(KG|N9Quu$?C*acC{A(s7C!E6j)=I8xTIIW1;v$>I4L`Z4@dm7NT}f) zEAQ93s6jj6pNNYQX`f(TLdKU$&ljz)nknhYrrr{u8etp0$GV{G@#M#bQjHO#cRdX= z+0vd)vOl~!9L@h&g zoT_bRCp}}a^i%(enb;?ibCQ!3B*hXpgs}TCzY94zFbdMS^v{+Gj}yQ;5+F*5g~!II zp1(qY0J=QiTi{=+kX|4mxjKSnw-bY=_gbd*K%u5r1+$>ptDRaPKwn_M0?B+z$|^5YgXHa<}@H zO2KGsz)cJ)8Pd+rZ>7FTsLH8WQ9LsjZ4cY}>d@cR2@G{RF9C%+p@*@g#!}b<12_#$ zbWj>E?k@+EvFcOPL{~Za-azb*;aWPGaRS?B1;FD*5=u>M?7h}sR=J4{bhst{AvesP zQ32$J!HLAfa-t6Zf77{ev{>hR5RlFd_+L8r11^4AJn)E&@Akh zi`1c10{Wd6^dwD@RmzOk$K7v4zDR0JgZ3RvQRmx#{a0Lw;dUK|4STvZ6{2FfFNOMb zP%kUfTzr>18HG3^)SePsE)K(g2-{qoTQIy+kE|~aokcrD z>0x5K6{Ge|o`OJ)W>e>8^_XiG@WF62EOq_NYTo4rQk&DWe->He7%IR~k50!e?1Hg( zmW?1}ej*kWDQS|dcr_~*De}GiTndK1s7Fm*8=Of_jPVyv4hw9c76lyO-N#0`DsF>J1 zG`gh!pEc94bWAgJ*FCOEiyqmsF>M>@-c%C;v9#2S^8ti!C05n3`zJygmV%)K;JAm{1u6!BcdiGnH~=b(g~mM#HG z+mlJa4kOcBNBa`W;13VV1-JhC%QqgKY;x7vK9wnxKLs)>;sk{osdbL|eu}^Z2}7%T zzSnt61b5p5__yAxVL>0BD8;CLZy0gV)v=52mt}Vimp%25kbD`oN92d8K+{w#c<1@y z>HD-9uiKBwnau4*j>_%&kLB54g&bYAAG2jaP~N}@IFzg$sJ^7^nS##;#d|z}M$eW+ zUC|9o89vUj3j@FaH4o3MYhsvT{a&hVP)Q|!sP^Y`R9Q2dQl|Cl7m2~mad3+$ZK60H zOkCys)uk|~gdTVSVc-%F6kIx+wVz}>+sezxO|HK_KRCAnQtik^f5L64)TMs@xn67t z+&J0dhnCpz-?YZDJ|R;NYHt@YR%P7r1Q9Qn6X1o+6#+#iLU>) zB2G9j{_a{Z1_gYT$)GRItGt~_ojZ6A4EZsTCAiWv=W%ipwXrk`?93y%`pMPJw<=>ROJ-yna8Tk zLk^Z+{Nl{O*287+S)G&VT;7BD14JXMTkw}i9$!rD7BstW=i(PTCmB}>5qDE*&QM@v zetp5f;dB=@sXFUJcxl9)?~GCLMi;+MrMKu@nI%UPK>gFr=vQvO9g=AWOvJLDcZOo{ zPsj~tSNh#KDzRC0#kMNROTrP6o#v4@N<0u^RGrtnH=I>17m$&=KGsaPV*?>2ogp0h zDZ$I+NC7e38uG|BWnTbeo@sKo5ma4jKRZ?{yV1w+{9xjG@kRSbF@svnAv%WJd++Us zKBzzcO>gppkUEwTj3ypd0xT#?ls0U3D|8EK{;KZeMq<05LhCg#2FSr%7Lrx&ws1RA1PX8>y7>v~yqmkjfyEGhEv!7hGMdV8{4D z`4{=_L{Ux#+eFTN=vn+^#w2|pm`BMmL!;MKZao|zhY?Tys_3>NG>Xjol0%GODDi@i zCIq-VV*lDCQnBx=?9C9&9 zrGVAcyh)_rh*WS#NPFisLmjc7&-QmI1>6InVI2F$934JCEiO{^ELIg1A5T^GB%CA|1|y(>MGQqLC=Qv3lT$ zo*AXR< z8v2R0%kBZR0ZlBMr@hE8ChxObNC(U^X}&mmQ~No|jJ-^F+P~XLj(c^pyi?tMvwV2j z8xkE4!}4#gh{v{J=IWtM&U4nFkye^w#pqz$!aW;w`P&QEQ}Gr+vH70#*8exYCiKg} zlSgejB1^@SFW1?!$ss8iB@gK-Z ztI-Ugw{q>;$zUi2A}nSL^3VgYk58+cM#ObX;j+;c6=i% ztNlz2Ogz$btpH&dFd9I!{(Ch~{E(A(Bt#YFS@TQ#*PGeMt zzIyA0%QaK|m?!1%JJ}V+LvAyeb%M*+fH`Y+Oso-vXK@F7;=>IznJ(KYS!;p!7JKef#`XWvw5rj0aHb^0fiI55rlFJtH+ zk^>a(brSn*>_q+@X~KIfZ+Q#MoM&TeO|p91s$bbDuG>BR&VJVsCj_%$WGsEWnmIYe zCkN&5v2<_X@>UY+NmXFL=^q(I@MjZ!t|;{e4TuZy3Mrm!73LtDa^+?n=MmZ$sduKR zQ?K|_Fyd%9Xh2#@vVzg^L~0#cGO6)=+%K%3-8^+H*&Tee6IKQiyMgn`n!}KG5;CMe! zKlIxyyD|OR8~#`0wi@%KwJ|Ov$SYs_@8IuZ2y52aq}yN)taqI~hjT&DMeX0=vrelE z9Z;FCFQ|O&iLqyYi^&_2%=I}t(3&ij;+nPc=&I5@1yLs2rSlo1&H;~Iw|ydLNhYOD zM>vC^mz}r%j^zC7jEi)lcC^hJg7^&N5ynB|!EVC~BC7a_=$z<|3+)9D9)B1L)r4RL%Xk`Zuy0)2#y-^OpNyC|Grx>Zfk; z(fdB7K}F8agW{Q)XnR$)ro-$FAUNMRTI_rn3RwU~STR-C+VD$BJG#bjzVv?z07AX* zM1z1;&{A7>&%N&-cD+PC#`O@#rP0*Vla$-e0-zcBopZyjWYC8?s1mz~{Yy&zHB-P3_a7LC?f z_Sa8GB-Y+m6;;wT5WFKXl=ni*5Nis}*KnUujZTXHCyjcM^iIRh|LuzSxH zUNaAKA2(M_Vn)4d~ZsE{D-VnRCr_^JXk^MQ(M&70ZtwL3F7=6F=~lb+m3I z%EO$2L%Y^krux0w$|5Xqa3>zdzWGIwPIQLml0GwjSsx=I-#z|Q7#!>=Fzak+%D*@c zwh_eII@2NO@_S;bbgmrgO@Ia0g=VZJQKA;se9q9JOcZ}MK19;vCp+7yErwR-gaWaP?4Kn&098`Qye}J;`_qRt z#g655O#+tBzETmASJwu|ix&I)SJ|AXM>{Tldu$+bRWOb4*Q2;WOILvsliNcWTaIgF zgD(vC?IBnG!fSjkCd5#$Iho=`(fosE2VP}F69&#s0Z=Lp)?Lk2pp7c)S2AvxVqi8-6(mpH9 zUzjOr^4gevRhS%CDcg;g;-X1cunp<5GKu7Lg8J~Ng}-Y)K`L*Mc1Xqe*Y6&$nRpkP zrSB%1JeV6LFel9*xonEKu=a*6+#dgBF*Ku~Hu|!zhE#)rORoLSlUZ1uTj?%m(#rF9 zXTNV9rHMF9cH@YqjteQf165HB`<_zO_idm+hGIO5h-8aMPdvhv3N7J<$5#3T-`H2=L_kzN zBT{%L9kJVM(|^?S^ww~?U)V|KWojV96D%|43$l)8*jJh7d&kzOM&T(AIyL;y_Cvz^ zB{~%)GLXzhk##)Sgb}U)N5+sh@x6;N+q7}#@7`R%d}6QpqHuh2PcVJ_ zZ!dPxh-SaTsH{Z`-SEG3l3VDNqAsjLbc;>Svyl!+g|w-b1uY3 zeT|Ibih!;L=9{_}mO1UZpS3A1YU_U>^HqM)Q?73+Z7pnsbctO~Bj6{N=HrqlrV3M` zBV#h3nz7ce_?6+9i0w0*F!p{;bLaJPXg;R>H9WzD;lq2qe4t_76q8xe($z7<~TsR6NslxyHxY~ zYGD;%Y3q#;cQvrfjz1tXQaaBmiS4kB2HIjpg7gg>9YO+NG z2b+>(I6MEV)#-9zDkIZXI6?P`s;@jo*E7HV>|$hA{?IKa!=?65=&p8m_1LbuU#rI1 z)!%G=8_tgn#YHB%>pyEa6hn7%HQ*zx&n*5FGx!b-ie<2)fjFnEJ0M5u47qjOLm(BEV#Zf} zM1OF66!iNKSlwTperA4e*ts}CXs?^qCaRMNbH7cp)xG0)oc5*{WEHaO@3fXHQzWAJ zu^$Hblb`5>tjJH_==bc5-u8P1IwW6Dp2r1jP&hJYWSE5`(4yRjcj4?9Uy058q_#G$ zBRtS`1C=3Tfwvfe=OJbxf=z1;^bDZ~VWSgG5K2*$GO1wV1b-un?lw^@50^+b>sE-9 zjl1_>T2RfDED9fWOV>=TJ;NFwIsr~%bh?NwwT8BKp_WM}FozD{s$t{>A0j&eB4eIz ztH?VE%I4dvVj)2{Km;P@>a+-m!xHSROc;PM!JOLz_k;sLG*2=Ph-~WJC~oYIP~43? z_#XxhcgDF8`z92Kdvv^R2XRw*Ztc z7l8&ma5Ov!-ye>L|MPe>FLkxscz0TT!ReXqLVd}#M5AD3<+YUk=;&p0 z-C4qz3SuM?}}gP=2X4bPks#6-n=32qBs08do$!|q(nUO5zW+YXu$^cXk_WzVkm7sT^~4oG*_>nxOa>` z`WXK7pkVzxTF^c&XqTyMh+)bpmw zl1WW{LjP~y0me!=uGY?_0=e3!^ovutGk%6WY@TQA?OF*Z8-*(A1m+fu-(>Gru89d$ z1JhIj>6jhZqO=Vb0auzJ!U}RO9a%ytBq$AbHobJ&?hfW#=nALg_nRnRI_s3pG~-pu_BqhaW6bnFGg7m!~zL`Mcq68_fiXDDVgK&fws zYI`iK-Cl~NUmfs#lVhFd4=$mukH=8?pcF@L_d_!!3YJ;tb@0+HYNM|7@UM{fAfsEU zeU{@f{8digdFEXl__dqN>HX%F;zIhRL%npvRhH=Jo+{kOQ}seDBK3@!T5`in==8^q z)ldPr>T{<_75w`1%w^xF^9+R3iDvo7JwE7^FC9jTi0v|=yu?QzFY*?89$iYkVFb^b zter(XTAjhyM-6oE364b6aNKFwG2K#r`^{^`%Pn|TIMgO{E!uuJ5At>vwaIv`Boe+v z!pXwZ^o*Wn?{3d}qkMEy=7t_DY|?cM$;{hG@4R2&)t3y{vQK{TH&OM+YzFn~d#CwJ zU1Z93PGah7ZE1n%TyDM9(xRy){&QH(J=qNSqOxjhM%2P*cj<9t=mL1v`Q#`dY}pw$ z-w;a1sa2%og?F$cVlyQ>TWh~@&fMKFiM%`4L1{A*L3u?GYD9L613F_=Ln&NG853wS z`z78r`CPeY3i=4D*&fBul6ZYL{>i8R{Ew9HH-7C~vZQ_|aH|OU5npi0-=DEj@L!Yv z`NZ>Lh9k7yf8L7K{tiSKJl)s!skdyre&?ILNf_-8YD-<|W$f`&-6(-`pTOS~7jQs$ z2QXjZ=@eB*=Pgn?o@#&R|7mgCKoG7y@}ZcdR}RNiIK4yn{gB1lvcaP^kSVHb!bFy>BK5TM3lE2ICw2FLY6K5w zp4vHcG8852^tyrQqa(qp?9&`ELh)=;^NPA4tIC3N-L@YcuTj2=h!A)moOebb>JB-m?O7kfj@D9Yw7U za`<$SX)|46CgirSPoCa88M-7tyw;!i_vZ50W3D3*mx^UYzG^a?3^XS^TfG6ocX#Dx zxDL0tTnBx!2weHv3cHsIYI0}c!)uIyd}vKcPp=I0jL?&(z&BKeTyH5~O%bN&xVaro zZKZ-wnnO-9CROsBuedTB)Ae7Q7|y+N*4mdcce|vQ_&fsRo;<`H?iT_7?o|i3uCjP~ z?$--#2bR7^Slp-YLy!DF?`_ta%81zo^G&9icqeZ3P?sfGDcP-88%NN%4lE0s>~)8d zNlIa4)_xl2fLEb|O+Sqz4+;WHgVo7@twZb-}zMx;94Qlh^sdckV{=BL?GfdYW6N^8?fC$cUExrP@Ezs<%w|-)^Yj z;T?aEOTO!+H^sI%ZHS-j3(90XYSlWpJ-Z*VYPQP_HdoG__k!p}b&GxM>6Iz{2=c0n zf-ihtX|&S2SB>8Qw5wW0Q;+#>9M`iI!Yog>$8YZPbkAF8KJa1{nhaXSB~k-tB%>>EflR;toO3eN8}9?(~M8|J5X{e$#a2D(>C?h zDh`-odDV)9DK`tnxu0(_Bo5-=bLollyZPjb>Z(B-wr`KLmN^XcNPQA;vck_>`u6y? zS!-*isMPmKS-6qF*RDcPok)5qc6aKBEl*A)>D~~Q3$)mQf$=0FI_~Un4zWwHNd62V z<6iBjdh=EINcbfs7s&m`y+xr;`F8EQQq5i;TiQ!s+6|d>M_k` zo=Jir>D?q}?kHxXW8wiYsw;H67nL^>;x@2u(Bd;Q%ro_dQ+yzx_cnhh zQ2xj6P&!?-u^l{6j~K2QVIo&_@rHe{6H#qtAIe+_TVMlSOkm?+ynj2qb|Jc z^Ib@F@~Mqc`=zHkZ!FyVveBE>(dHzY9g;aqe~)D#T#zE8W4;H4h4c)Q{TIw*Tk6xSZ zNsL98u#MfLf<7I3goaM=*ees9U~WbNzCUt$yl|G1W9Nb1={y%d1m^_|#x`~cqnNaq z`qYGK$r4v*5A3MjmKr(e1Jm z{RF4W`SgYdAq6TK`um=}D9%-1Q75c#u-Cc4h400Qb^dNp37XGg0Z451(?GALF+FQg z%u7@uroqV;ZRWiC-AFB5g<`I%B8FPwan?}r>OZG1#kK=nEdnH3wCV_nu7F;79DD;* zc71hmkk-UUcyx2c*wTaQ6IPAD0quXA7j)IErLRrhrcm_=1;dw2ul_^`ZVr22&@$ks z_3wn=A-zbpjwhA#4$gID-N5Cs^vNwT=A~1wXQQ$VTHN=!!CXDg4u>|ax||G|zr#w` zH&&ND>fP;l(lcgLrRNdFsv2UQpQWkYU#i*Ep zvg<+$LW|YC@T@cSwUPFgjQ6ig(|Y&7C-k7dKxRnsLl|{Hw$uA}e96GE*?})FiXaaL=p0MsATv5C=(CeQQmb z@(QJBj#DNhWM}3@OK#s#+_Bf`_J-z9=1+J&msp!IN{2VPZOY&~D%4EVSL`iil@!Zj zK1FiVG5f(p#6%dBtR^TbB!`r&B~RtJsc4MTd`yxBalkvO*TvYaeD3oNhOP7{O@|j| zxG0aNmKR=yPwxEy{Xw0dayw-#39IQ677agiekm^V>B5y~$oenk#3mW2P<@MM zd#NK`Y5DpmG0{(--_@zimYf_??>|~6V(7n$paeC#B$yu+D)~N+??bu2l7v zNGNR9EGQXpAxAJw*U_59#G|3i?j8E#(ZJ+;h`*TQ{qIgI3^5cFH?^$_60kk!|7Mb3+^LpQeoat5Mzw*A~2?&t#TYoz%Jr6Hg@s>1f<~Qbh!m7LeW&dO(EGgY@14 z1PC<{IA3u6_uglpbCDkxTxK%!%v0tK$9wmvhWUD7i6o|KSiPJ`mSC$xzvypj#Sb~DLwP;SXy0Fl>@ zQWk$4XpXrv=i$COZTS54IeA7I3--rTVUnapebXg-JEIymj&lwN*cB7a~_jWOXSA&b=UX ze}?X^-Xh01X7&EAot7MbEbh}&77rV(hC_5A`o_-wAFY=n+KFG@FiTmtD*0_-WV~t@ zyM2V{9_N|~?LQ6srIC$H6-x8Iplj+y*J181+_)fXmMxt;<~#8;hz>-dfwFwTf@xuRe0}DD=pl;#~t3` zI>;ioHp4QR!(n>U+$uk-<0HJ&AOP{xFlt3PxO{7$VF+U#mR3q765a|r43|0cAGyyB zl{)U#J}g?5tr1px2CS{U|FQq^hSZ5mf8F`(4Bv~?Rnz?CiGK5OV|z15d22`s>_PrG z%@g{!mXMkNnLEFjWa>1(i+JwKm>Ybx`ausUr!`oH6(n;s%XV!SNvFk!h64$Z*Hz~E zywl%A{73YkKO%_C!6~Yr=^|fAe{@t3*3ia>`>AYn@HFi^2-v1b)!9P1+|xK#FXP`S zsbq8eG}9zp__MKWcSj# zNTcel{JOg}U!>mQTh5mJld#>4H~En5Ss{m;Zh}G0)7nYe`)7A=@#$m3)P%WHch`UR z2>9n`13}(;M`AnJap=|_N@w93&-MlHx#xr_aQMNPzVs8+G|= ze~A}8FThKY=hjP4EyrcGQzXa#B9(6xzlG()j0D1K{O94OmHsNiu_}n)E7y^Sp_{D{ z7kldF)ta%F$Jg%Q)#_GWyP0q1#~djM3rE?0O-n{_=~}{BJ1qCk2w$sp8NROOL$0e= zJ!As+cAq>RbzUnmHSoD+$7jGNt_C5t$7evsfh`j#7ylRA=8G|aYy(|Q2Z(K-X-~Rb z%Y0X!>H+RuRBWr2bj5W4YE)v`3rYTM6~xxui%mSYxvnr~ZGUr7JfJJy|jzQc@F5wKb?sg(8@LTMb?WHTdo6BN`pM~#u1q4TC9@E?k>qJ?`bG) zwBPzTKN1)|yL$MMy+GM9oWNT*9Dc|kI9S$)Gd(8OqDv-Kd3+$#luKjTrwNvgfm62g z;ADT|3yw#kI{W6CP2TM)xhD6tMs2c>!1cOIyZ2IY&L@IJ@=u9;+09+a$+2z1o*BT| zW(FHu=L^Exwq!aY9)4S#+bDHXO%g?pKXcICYWDfHUfAE*HQ~E6(x4rh2|3KcH5zsn zSq)&x(tswv8fNpEONo$^Wxv6F_{%1d{VmD42zxR2hbnzfL{*=ca z=NV(VH2x&ox)J?XGU=#F+T@@*b-eH$EUSQ=&E-amI!$0AeVw;1_?^dz5&)#_f@9hJ zzx{RQFRRO+n?XwGgaVM2^rKKugX0~C^E^OcNG}g~1Zkek4s-QmzZCAs~R|B?c zFJoO2qLk;l-s|6)gl3j^T_YjYGqR6_x6(H6Ryi&cd$(e0RQDlH%3fOo z({9cseRwo5D|R(OLs;?XE;;|2@aH4qGGRdqxv4>($;|EvvN-ZrTJOXxbQN`vR}cj^ zV~h{wYIn?n;y`KvtBhC(54r`bq{uH0g&)1vm#P;P&#Ljt4~*%KA7=nzOYrup6!vzx zQ~1aZsk6UiZvd7ZWqf##Ys}}dF*@2u^-x!-q#SNRrPr42Won3BJC~cQ#@AAJOCiA! zCDm8AlPLE4=$7l98|!>Qnm#og!IuuA0JqcdfwcBhrS!q0Dth2!GTvT@A94>~Rpl^B zS4NA)ijsEA-jjO*-i3Z=xw*gZ?y|!5?2GgMGHFi&ihjsmN> zo&$KQgCP9weWa72HB8Qs;8{ldxK;C~jEgV6a@x47yb`QGtETx$Bs(_Z=~F_b+MGjz z?Q}s0Ve9Q0e&!1fKN+{3a$+ceF{+H8yGiCfFrjo)ke!1LoKb1wbv7ef%uz&OE0oE=nb7TTT0&q~HZh|@k>4Pn?KiiE zl}f&+>YAh*&uVs)Vi{Tu2SeX?s<-npS%>XP z&anvlScTVT=_c(qz6%Ho(t>DSdF5RGe=`oP4I|NFRNO)B%v2s2?93qJaLfZ!D>%1# zdl`C1N^-cKn9;dd9DKMw^?h@dqot=hKur_lV;V%J5Jzqbs~*{q_aiWds&WBc%Ed&{ z&&B(-pVWeSQC-B;or_d5*ciPpL+&fZ+^|#Im4i+DRZ-rIPwm`b#|*|^kgP~}R!|YI z&r>g)5@(x{H29*n#CA8RH_LJS14D&HcN|nB$;FSmcB8@B<;#X;Ar-wub2Wk&^ZDhv zwpWJtDB4u;BBka7tX+asA1c;ScxY(ptI>4zIS`?rLuFgD9*BFBIXPEbO8aB%$Q~HY zQ(sJBdNhdXgDF%8s$mlJZ{++?3)Y$;1kjXh{;+-I6YUk*_qW1#wB-TIXoA5$+*E4Z zPJPjFb7{WWt(RG5c{TLF4^k<%=^fR&et)3(QEP5lhtl9h$G-><(sqWo1_f&6?ag54 z$Hh0_r_Go+sGV`SvL?InZs$hu*kN$f13p`x$f61#`*y2{ zjaf@SNezX~H-?CjnY=we9DJ)nN-YitKBe@J@J$As8P+?ub7P?MDxRz0J?YETAeEuO zfec0RB;$gEPFb%O&UJ;+9-goZez{#z$-A$68#kFRs@xL5B^lj(iF`D=G&u*oz zxgQpimcqwO_D+_jG)PWWr;&rMTlGM@7Zz3RM-GI$nRQ%eEwF>$#SZi4L$$scn3rG$ zb8^rwo0UH2gxawPU+up(^O$kiKv@ zuIAH5>@`EL?>t^}-1=y66n!`{Ys1nqv?Jct5rd8q5;&6KTR-65WuIL`W(x3IVA)o) zYa_I}KMo^B+1;zZ)5gi{QK5W!(sH3f+XEOvOPJ*wRb(c%a z&Q&1q3!u;m8CIO?3S`@w9H)Ep>}o0cfWz%L_&ACYopbsecxPJ|2~?vkgR9=aQ(wXq zJMm7>jf$U!KY*BDZ7nH$NM4G!sOJI*yU$_1O`4Sgbx-Nj^;irt z3$zC=5>CTpFXmycayehzjZDK^ZJ0gyHrcFZAneFYdAn>{;*7YU|Dv$1+4R4#ZkSn# z%djPNwR@y?CU5C4uu3oTY#x#q5sMmjFny5W)nBlM?#fWwDvi5{h7dRQ$ktX2==Wt3wdZ`j>Fay7(+8DNL6lwIq8e zwJ?AUiYgG;x+W{^R;D8#?Jp0#=-1_$mZfE>^5%lXu8b~7zXkbKd5})1*_^`hN>ac7 zXY_+0t3~_qF=L>@S82I<$83)?|3&xai~XT{xBj6DaDSR_GRVl?yS$K}ZCvdm^1*Ij^>8Re8-0?g7CvOdb$bDvUbSI6SS%Ajul!)ateV6fJfJZoz*5F{(pp@c!?-m&XU1V1 z`_f#Z&W6abW*nMRbY;Sj^59gHwhNOL|K1}RF3*jhvvTnak!WGyJToH6K&y3fezywF z?#gLG|Cw-F)7m))37&8mTqd4Vy{AI7y9)54$h>B3_}#cZ?Tn4v87UEPm_+ z_{C+OJxk*FXQ}Z6DVDIHJ^m2?@WTA9F^;q^F{#iu11_VUeJ{rUW$L;T^J5*>s~*5_ zO@6%{PYQppkp+(y;@LSxUbH3Rkbb`b?oa0h>}rfxhA@S6L+x!jP}6*=qM`^8(- zVe8}F5^ucCP%-APpqAR09iITm4nSJ%T+x}b(I4t%sTjeZH%2vaULP*@%rA25@tFC?JToK?E=Y}S zvTyz-K(&K*8)KfOyXNd52~vx~C^C=|Fs}TA=;_fQ+&_7aQ>Ec7h&CFxc~SMY8SLF- zw?!S=S1`@hKE>+gAwym(Ne;uoK{gfU(Lu+*!i@G~(vGq&^H(qfAD{wQaZyXzht?|1 zpv@C40JM-?wtiP7ir?pU4lSc$E|o%GO0p$wsKxy{Pjb-98B)sEvCi5QO+EqlQoA(M zcglkgVnzR{`=ayrEAJk^kbGWI!7KXK|Ngg?r=Gu!E7gA4P95@1_6Fw2e8iz5<$H<( zR(!zoGOsICB9P?bM3`^fH&4%S6{H9S8yfPX}IBLO;;637)^H z{Eg{pFVC58Eo-!Vq&(={Z8ttd;T=tVQ2Yjmj1zvm(t1@ z^b0e6ZHT1cA$`NOQ4isv$=14v@I!%=@uS+!QZuz1!j$^ko8sAQELs{zExfp{7 zE7dW}{7&kLSXyM97x*uByEBD!^e2f%> zhdDFV%SDg3I>1#l)2f{FKgi-(Fqz5Ew*CFl72aGs{`(eQwImYlHO;c4<_ZTeQKw^~ z(8+3Eo!>VZ=8xoSDVsrUFJZaz$(u2o7r75b5VPAm-E<-ALRS&&edZv6t+u(eKT#&? zW507DU^djufuu`ZR62nsM}e8axf$yum5W&xTmf?=lTV=520!?p6;-a^sE?9m*AwtdCOC| zeO>E9g)|>FqD|ho>$c+Ow+3bS^iO+AYo?=!#ZJm%19bsjHQZAYZ<_rzThJK0hZ+SM z2V%7s15$DlLVOfys*Y*ng5QZ(0>8~W7w?6rsSNLEj90(Vt0Liem*&*oIp$3-jvQj{ z9Qlt1$((5E?hf*tJe^qLCcg69w+lCjY;dClUEM9S@gqjWb{H(9m|P>ffA~#w$~I$kU;dz5=+J&O0V+qHK&s{J&8~Czd>n?V zClw$$ymuAs1@_@!>m^WvGy~_hvo#n-_J3)F6DfXF!Wkq}%AAK=f|4tJR!ouXhIxUk z#Mqcj!8*>@!?$Q)7J}tYpbK&CLU5oF|8-^_QT7Q{@cI_|~8b3t{sSE&? zn;eVgaVmE_&CPtJ&DQd4Oco(eb%(`vpE{rAu=OLPi)rW(_0LK3eD0m!1mx30;;cRmg4Y3_Cq%m}bF@9p#a-z;H%mi~#dC&z;=mf7xC~ zdg=Ya$f(Wi`RHuSZg(d9D@i}B_Kl=)cctBkrQE^R=5#$&ABNc?E;P<>W<`Wcd`UqG z*blGc6u8``qZJPz6E*#`i~oPdj2&~OdcbEPF&z2PC1``T&u(hGr_}-WC3`Me*8o=a zVlHnI_;BY23;U1;Eeg4Y?l24mJUmTb{-%Uqo>E8O#ilS^6-wC=l`*JYGmz zT2a;PH47Ngc3s{RR6@^Vp4FrJm2tZY$CBQgoth;5sJ2?)rASK-tfsKXI5yC?OI&K~ zuG#9rXY~njm{!M)!U)(_z>pVZ*d8?F{Op9)jZ^DV+~*PBSdulj^jP+k>OCr#V2sQM ztmu-XYy|W@mKsKqrLv7Yel#Q;C7zv-QSv>hsCtIZOe)$jwDkPzLNgps@VK zr(qq(61LCgL=((ACzf~1?CE|Y@l{GA1Q0)=hxNG^oT3Qrdko}R884l)Jwso3Ri1gL zDM#-Yc{zZlPqwG>hdYsY63{b@rCnGIHF-^IBnA|)zoY{qnl6@#Rr~Mt?@&e{?>4Fq zcy=pT(_$_3Z+{Txv}JKF{!v+3R5YFsB*4I>%EvFC>UQMYNsAKK-26h^Iz&`G8BF>i zT;hEz7|YG-pPRdLJFyb}A}!O=XQ2x+RBCs{c~C9(qci-2FGA&yZA+1A+j@9x+w$A+ zT^QSyGWJk1XjcLJZ+9=LGXpelWmV?x_ijYlI)JRz=0@t4Nv-)UYLgJO zZp6fJy?fjkuE*6<_8=3jJil|nwA?T!P2pI zE?@YCEH#g9Xtl+gMQ5V6287tVaN9MnE%BuGKjuXEhk%hSEw976&SdG{#D=2oUUY(@ zTtIU!DTb(WLap%WsTKG#%a8}wwKt0}miPi~Ik*)_QMM=42HmSp!@Or(HP;B=CeA5Q z3&?1B;d+g5_l^{mS4Hm0(gp9cyHvDu2grhc*?j-CTy+ze?QrByusnNkQJ{(MN!rzb zI>P=G;S5klc}wsAyKFmmi3v0X)r7fU@F~e*g7>1g7NcS7hH(sa>|or1=c>(jj>Y1j ztv$?$(9~qszDUGFH$KR7A;9q-j6X`>u;bJvi>=$4wxow9c{FY%>asKGQG0(Idh{k3 z54m1SZEqhfzp?6Ahgt~t{&GceJFz)iQLiB7W}ivp{%Lz9!-J6mntPyS62pWP*^CuL zp`W>^rD*w%UzOG!;3qE?7hTV`Ob#t=4S2*9;f<(j0fJ)D1=n_qEX}h~f~ZEoGmU$O z$U8L4xNuD1S3d)CL6D_~xPW{sDg3*3Z4-2}YH@Ix-(z4~^(K`Zrt!`Y{ho5>kE^A8 zbn^QLY$v(~mQ~R$oqLi&-|&GASbsdWpS@N_*;Uz#B1-%WQbx3V(u-++*=-ej&?$DV zc@*z0aXD3uB%jXA(Lnh<@k__reD9hygAb3>P{|u8%LCfw;^2P=zzqABZGugV>Z(RACT!3EmDMe3UE+Lp1o(WGOK{f6o(L#BP! z-8oWpu9?@jZx0E&J#zarqtRC{&h*$`%xPVHtD6^*_Xq=fCfWcck2^*8EW(P5oHN(rNnja@rfrM&$X=(b zTd(pTt-pBFY+^w}GOLHrQZ%wBp`9C$2sWtCZsB#~d)I#QpO_G#4y`+$(YSseS=f^o zj^@QN)y9H2*{+?Qnywx9{M>cz=%3BBGtG&QmahE(c<|qLKD>}jwTmo^d2<$+lid%z zP&4F3~;SU{=(A9Mf z2S%osZ&t*P^^pX?sW|^*0>8wK-h=g##@ZJS|6&LCct0;}evKJ-&_wuX^QIKd{=OspEocrtrVnkUQ& z85BP~#9|}@MgRwvO>YYyp3I$lK1}YZIqCT@AxDv`a3hfeQzi@Z;cG9LVEjvV6>t8j zz2VlyuuQ&?(~{3e_D*a6a9W*U4Bo%_Q0k^03>vxRX7m(q_4TCjX|Splez_hPZB6+& ziTCVz7IofvenVm4H;t9Rk%X2K7WLvaKG=9m1lq^@O0cdmo=qSN7}U_L8@~lPWP5PN zk<tN$8d9CGLhijGotjcHECOX%Kx77RykAf z=+<9NkzGA6J2ox*$QEj#C`BmV2=0ALN(p+Em;JZn+1hfhk()kxtAU{kGmeG0GFj|+ zWBn?@sLj2h;29^`TC!Dr68PR&8+kvzzF?bYs7i??4BXNJLvhH9^Sc&GXl+uu(AT9@b_Jo@$@|v*{pb~e z1GwvLEGv%^{5z-}vJ5IeQK-LobuB&<_g6HZ^gUY|o%033KN6W?rFthm^&j*ZM~R<{ z+IzsXE#_gHu`x}PS6X?PxHKE)?J%x$<4LBV&m-IDOF|h4ejUKA8AVc>B%iQk@;hzM z`{G#*d%sDIJdHT1Iz%KgVk^%ps?tPtv9@&L<79qi%k>NHzvhQd?n|T6lxKF=R|#D3 z1P(=}pcQX2+VDivHj)omeww~^hS-=J*)9455-fb>Kk_4g^wSo1zu*$%NEP&)M$u}Q zA$#o$XicEcWahz(u>{`iuFq|0)(dbdhZ5}&6P-=9I~~4rUFgI0P8Xx^;;vME07beO zE|jn?ScB=#Qc{@+2Fq>V>|>@_m6ovt;OY9+FzBOg?bM0aqXtc=`{)DeK1$t1L5ZgA z=BQEJ|Khl91dB%l*}F(OWd*n|)48ld9 z++E0Ef6(w4c|qo2Qc%yV{y~Sr4_>07`zz8U$cE3uKzsDG9SSrNfJGFzWd^BRk*)DX z>H-sxQ=9bm?L{XhZi+mE>u~~vsdP3hJp(kvaK@p4XlC^|?t89nW5PoDTQ{ziB~!X7 znwx>{7%@xRR&Ug@hGgoNxcVs^neKoSSbia*^CClC3-ZQvc-JX4G_Byueb9#y{#6Jl z{-83-o9AXs6rTGa*d$Y+2#V%vyk>;(zVYWZshfNarB6IQhZSiH`zJaM_ng1Jk4jT;fC!eIhr-tjphzVIprBJD$8d}7(u5St5|<49}xH8ir|`cJPp zlVG|z2*#A$qg~|de6qkt^^1Z9K;wc`v~FfL-Wa&mBC9^>{3)cuIx6y*4z zfph>jHJFhL+O|P+Cxrx>J83IGL#K9(f?oZVC&Ln(v3|OGXX|dc$hR6;ISgByYjyx` zkGwkztDeKaIOVtZePns>Qe?HqcL;1DuT#(oX z^!&)2+FC#!X zG18T!o%lm%WnM8Wdt~KQ{lER`eJii2yB>AV<60{FBP@V<9a=CS0s7O$1`uV)eanDn zt6WtpMVwv@E5(a3m?I}Tnj?4&1UzV8kcHn-kzqy}P_`BAy5s|QGTlksWM01E_aJ|T zbBvB^5!GYE7j-kR3w|CAEbD#SAK`HLWztPzh;W+vJ#l^sF8KzwQgp4Bbae z4Buf2p<~QInj7dA{G2DTjh`z};|xw;iO@e^C(jU)@o;Uy^0B?+cv)`nKM*?}14E$1 zZ|me>nXIIDNj@bpYd0kiA%4Rnjd0T@Y>c^k{{y=^zjRpoI=k? z9%!zwRv-3-=sm~F&tu0N@oc2mm;l(VADx3ne&2WMTNturR?IMgy6N9Iak1<3uS&BK z+k1O^iIiMzTM;(s(3mmzq0*us|FmQGenK7tQc-Pa-oF|Bax@3miQ5R~)~-i2SVi*x z1(^E)+>Rlj)8D_5!47fZP&C|&XTX5broJV4MGgWoJoMfxRm5+FxC0P~Kf~)+H zC5aB5L-Edx4dcG5?w4(d>H;C_74g&wCGO+JKUO}8P#nWd)#_4dr*O3_A3z)^lg8)% zh%JYz=f%@Z9Iml@I1@?JCtlM`1-N6B*rz_AKKDg3II)s$2LY`r<;#7Xbt*s6ujL&5=y!91*94j3{@LU*xnsU0Z<5_Lvx!TFK983J-m^L6e`b zcDv$}qKk_XGJ4GOlW?wC0n-LSnK7l6`_?Zc3)&k-e^QLnHR(25EHEksJq&=*Rh!E` z2W&h75H}!3FSyZKUbB8o=vu`NMPCH?YAoR~{9xw8FMXhcX z(o7U4@f9%!aRThYH-r8WC|(Ig*XcUb-VXpJWD~iM!y*yrj`r8{ZMz0C(%z26YPGJ` zLL(eUIXxz?`C+Vn-c0xo=Xk>WoZ|aN)KyeVNR3p3#i=2UU0L>EZ?!l&w323vp)W0o zZGx&o)q^TjP5!7-TtL)O#B%s!EmJ&ngRN@+JM=Ro_VA6bS7g$W=$N%kP=}Ri(IW3q ziKirpv)f>Isf~%#v3ZRss%Fx_pu4-%bMyD=$N!=+H9;EFFcajV9#;&%{ogzk$R#`h zJ%C^qvFr)Og^$vpS>@66HyK5+{5q~M%^P%XlXkOMRq6|V>%ar_Y6swW?YgrIknddh zt|et%`Q3>-v-(X?6|0%nbp@+QR4$B=BPQeUGN4t4M0WL?N%5jIy2f}AQ(XB-LRCkf zpkO-#6Rm7K|E6eM8Ur~It_FGgti%kMCy)Tbk{|Xv4A%wEp;%r`R{(kz_s#+Rogo!7 zqS3Y=I{ct|`!}qw=z&(hwa0gB%plV08Ibh!XreL1_E*HlnGcQ$=3$YY#-}E1PrNgt z1MD^`SYap7Lj%aD`x!!j-o73c6x%o))r*P&gE<)PAr^`7%57=pi=t1M)!7wSz3c8P zGARY$VMGFUtxE^|#VWcBZKMoh?_bk){HrN1N<)czZeBFyF<-3rPtUh0xE;gfaN`tV?}Gp_ z!ox~*gJo^}8Uyf4Ev?+xVNjueGv^yOUpanrIN<=+=z3(rkeuNagE&Dc|C`>ALDJSeriool1Ips~*LV`L@Jux*9|8 zK?RGG!GP2~LfOjJHLp%E{AB-bb8rETJ5;3|7S|Mlk%UUC`zoo5_=}K0hxUToHMtd_ zRj}2&K#(#=uVpT*Zw%ekteSl9E5j(HJYQY%oOEkU#6qw2^1t+%kb7eoYYAfC2N`5Q z6=*VJSb>^inj5))-{GH0&!zi96XbrYxGB)n91v^Qco_Djby7tttVl@6^Io09GPdaK zdUHbScIFk?fSr(gBiNj2>3Hn}h>+37lbV~>{*rFy+{_50JVAusx5fH&Mg#$*!exGK zszGXkV~o~#MQ}09Ohq*(;8lvrXDc|H1K-arnk3m`2L_@QOVN+Emb4t4-_PNr-=mvU zD)M;=6uB%)^P`Fv8sSp?(`ozc-Zs(^qN%e9^T4HA*E;D<*3Yki;g=^GZd-kN z!~Q~|?jM=0xOT{OPPatbZ&8n`k^UX4z;=;QbC>)BV65U<_Pc2ULAC5d!q~Oy3oD}7 z^2(3o4BX4!CAO*OSHiwkY)^hM(b_os#JdN+!ceKgxEJ7jLG7d)7ZM}njOXy60gNhT z*`DqB*Hp+^ig4QjPIGLIZn6!sjoIF@H8(`Bs?qu|M4e>y@n?Bm8TKX+LeK85m?7j} z0&XqNAm~(fRRFC3o@qbfetl}A2Mbag3=c!H;U9%k{P|R?*B&Mo9SE70xSY!$yZWYV z)pQy9RqWVhHtHN4qVrKA{c-WLZtyulvAQzlr~e)H18-*LoL=&|bsX@U0YiQh&RNGU z4G>IG&G?`*gHzd~j94cEQv4UGS?`o_R}sqe`Pc>LizByPm;BiT$4Q#l{(luI&Ze6v$!SJG}P`?@{} z@@MZwgzfZzE~HiElhyFsOwZ_=E`Z&QaoIBEgp&d z(UvD{X)*Z}&}cWaZz}v5^`RFR;dxG~&lA~3S7TH^KSg;*+e*OhRo$10XV}dJ5=2Cw zTMNz9&12X3MoJeBSWfzv6V>C11>I5a*O|C8jSPW*Xbih!K69)+sLw=eTmFh4VKC=^ zE0dq@QE8%ewzJ<@YQ4SUI!3I?uw(k+_&}V=rUMLbjVQXJJzumpHLrANZ(r$anP>;E z2|GbHl>v+jhlOdrT?Z7zXeRiq=F?4s-B_m1sB81H`69-Hh6hDlOBI}>al$eU~&VM)Y#Gp z=V{+USPF_@X{?0iTkIf(g5iW0zecQC(QNpa?5H83!~2bbjhq#^z~F4C>`;ZlAnUS? zs1`S1o~KI91hNWCs9vWKsN0<#^!gHL5^5;?esnvQ%Tlx0Xhc5(A2Ti6|04S!t^SSq*wImN$s`g)Tu zakO=B&*1Fa(&v6q#4j2vmG*Ls0aX1Su~8fzoR~OY|LjEFyE+r2pwP-5yWO8iDVUBA ztL={T0Wy*U*S1$6Irj`E_9-@9V#BYabgB}rS}RxZY2YF7OZKU`5~dE;s-fA}P}3Ts z->e41m(ocaL8O;72QS&?&^+1fiiO$2;5>LmAW!`t&!XsC$-~CjCKaKynE`D=yFka( zLl~ZOy1(>GKA{jjIEU;|k%JwWV`(kGvJ;Ua`?2am)})z(iXt?ZWPPqYl@zp|)v*SU?h!XwfnSS%u zInig1Hfli~M(b5uhoAG+2v~#;dCU$X4flHrM8df?np~~3!F;aia7$_G&juJ>9gAHh zk>ss56OKfzC$23GtHi@lO&Ma-2U}LgZmsKtf`Z@kp@$l!>u*^m=)er9d}~X}b6{-) zgmT^(a71$|-@-{%zKMC`h%fRrjtLNjw)@V`t%KGGapc$^Fn!L6Fp%#|SI5;lKq}W! zd^gNH3%LB@6R3Im5Rk|W0ks|~ky#IB>iN z2ON5`Zt8ATrNX|Xt?bz%Q>9bI4+8CUKcgsK7e;qmJpydzE|}InjY&%nT)88}kJ!?H z>KI1{q&WH_q8-ii1Je#|)!Z3y9LN4MoA7bV-{qfxG895u$9KQq2QAMQ)|@lM>kvdp+tO12o_nSNYw zVQI-^rs$l$4b5wag}>g2cx0%4s5i;jZNdY2x^@I=~ z#O+nBB-fc|^gu4p{eU}*SoiU=Q^iy6LN%=U48hl?#SYDDqDSBdEVfdF`Gij5zFbxg zV8O33E)H0wag$P+DXrZ8+G@9#y8e0h@{q!OvxICfjJ03o7`%2GjpHxY-1Cg8bVIH$AiABFxDAXyTqj zfGw_g;fktDdijpu>l)`odb zOz*9?%SU@3(XY$|G%G#xgCQhTX)B08-F=SaR;PdJfqux!ulWc$^Wj zYavv}A7h-(*7!s~R`nm-MINpli2ZF-Gx87md}nN%lEtui9=}Xyy=>h@D`R+T9ATEw zXp$y8usqGev6twbe5v5}jW08AR7{?%DRj;5A=d);4w#%+Uc$akd$@;o#L2KIP12qW zwYee`vb8IFdpGIltc^fSev7mbtkfdPmQ8$}&Wdn;&m^tyE}@^infRPERceG?#Md=g zq{61{i*ppshc{ygP`}-WVYNcvXvj;~UVs9~box`f!k2d;t`Ije-_;fk#S(}bcu++8 z!kb}JiQR{H^+0*cHgWfS7@;TGM4ZvRTo z%4g`_@g;HV$65HJ-=nomTKQgwpgr2Eb>GRES>q`(Pv;S&Rxf$p@lMK8O;xn!&-qV@ zYS|yK1UGb{=6kZoTRff-5PkN!0I$An?D)t=Z;(!9X%cJi0I6#pvZ4cgJGPgH!SSnB zcU1Y#g1+)7*h_C$zXKGE66BoHZtS{;TtrZkjmjl|z6qTmOs8QwIh04%j`{DMLBexx}ACB@)*6w*m6nGJj%E^D!d7G7D z4R|DJ$~$A>g}d!(kvi7@0l90xAnW?SGfO~s2gLr=@~v7iMWBEdriVb4Y3&;AztHZPy8OG z>bASZ54oTY6AW%L@Mo#hAu!LOI*4bK$&Zqem}w7i)8AFg$chIh>H)Nn!qth6sx_i9DHy45B}o2)%+Np8=U@&2jn9)deLvQ857#SiU&PCT0R?O(!=tQPdw zOc=N^O|;ue8|N?k6-;h4P#kV3Wwj7r*{yCQ!lCl0tx&?f(-2of8JA!edLRNLH%_Ln z4#*Hf{%0GhejaW=FYdS-lGAw@{x#Lbe>vV^=tGi!^q-MC!ve5N`+za>5|>dW)7k)8 z=ifgvX`X{F@c%a_Nu9q`-j*74_+NKznk`exW@l6S2*0xzugRP1K?651PeE@NZu3AY zzyK%QWfnN1OI%pLMR(!|Jg(Lo@0xf6A7iN*(>VxwKm^C2H{t#`a-wa9mOil_t2w^i z8>UX^zw7*lHQx^^Jy4dnbL4}I&G)(k3#e!lRm^|o1n8s-L#*cP- zx7$hN^N*QfsIod)DxRhBdqr8~sL(#-}Wk)BYJ9p`RB zZ)yUXkO=aK#k$t+r8=2wEq4KFGL4BMbmkIB`}SjRUqvq&+(mjvnuS=D#|*2472Lm| zMR8pui{coud)f8dYzu7cxSAVl4GJOSm1mSgh}Ru%R$6m-DH8 z_SJr@HkLOn`flhtOK=g}IO0;6!BuXcD>w1|mttr>S38k*M{q{Hemz>Rd;fF5~Ew(6Z3d zlz+R}|1@d;yfGF)%^3Ww2e;WjFN0 z6|(j+GnV-xQWrT&*+|#Cfl2sqE5bcr=(2!glaj0l?_~PsID1 z{b9i1Om=W=CI$J9pfSdv&JEXt{8W;$pRM6xuJ$bAQZeJ1K2QmM32KaAs}ub31-bnW z0L$(-MHfl6w|t(v#-sU>BhvENX5oQF$HKyALZWpaM6R4EV5m$eE{A+L1q3Fv$-D=l zwpL}qYeIlX*48c4M)D&xSIh&*mzE*E82`1(0Lk#-IDvUvjH9uQUtC!y#|DMG8{ke+ z35tw3NG$2t8}gmnpYuH!0Ib^bE7?0^EE*(S0x!gN_71$;O92_t~ zyW{2HlK6QOMqX^239qo@qdHU@N7u@efe#k!&(A4xiM0ft*PeC|n!9K1bejjZZjHRC zJ_ZCpf*)WbAVnqO-W9F|(2NnKo~_6Cljp9@JiSlw{7_^a3CqZ1-t)h`CjMET%(*$_ z!@0JU5a1pu_!!iw$)aKh~X39-l$M^4QV}3YNCmk51+~zA=HX4!6RDsgV|t{^g@M#po=~2W}R;0EcL@ z{2R18UZ85f&G5SQq0!I}LaQpRyb!-?n=n6u83c3ir65wVkS7sUZH%S5jY!un|7mAC zNr$OK=wj?B@+aS+mGDJvC&b?QuwTuI{A0Gl;y{A+5b!?u?x_QsI}rVp$TVA?5ImAb zq2D#r*3TUC90mt6TC%NJPj;cg(!)a{%Y?Bc2Lwjwjwcx4Z^-3X8d6Zd)}$Cv zt0o`$eH+5VxxK{4sq&MriTg=QoA*s26C0<62vj*8ns--x!uV_OLt^dnIZYUx##prV z2@f;R&#n7r9#>fUO&`b!_yNKYsYbD5Vt%L71(yNH>Cr1z3bI7&;YU(j9{#B1)>LAT>fk zi2+LIq=pishct{HU4xByKEwO|KKJ=O&-s1M;qafwKQ6B8{eETNgPU(E@o(T!yngs~ z=t;oLgMo46%Bv>-m(^HKXpjcC7^@maxOSXoHtW+-@_W*F$64S4HY%6bKc2*3+hYFxd)pm5^ZShl zzAVQbTl+IL(FeI!c@ry2Q3qDXlFHT_mG3qUBj0v)=Dxm)QvA5Nz4LaFck`CT8OojD zT>y%J=62=^`&$a<-aUeC5sP>|SMqgMklmem!(`RvR*5;HZkoO~&=D+6#_amH?%dU0 z5MAqIcVDEvblF?}I_uTSEMGM>!`;4m!(q%O>_Z|wOGd)u5$B$$`Gs=Z&a>uu)(kCi z3SnTJ_1)L*SN{J4W&RI3fp;KMnovI=!VrCu#<4h*Pm;)1^gls_WbnF>R# zdAAD7RnnBB@UMU&!3(+$2|DI{b}wLS3@dF)Dv}spYjGC?7!l6vIj<=?a(yS3_e)`7 zNm5rR%}n6!UY)R1Rwv zQy2o?7i@S}#OppR95H)z;vClW-Y;jwkOer5vH&h72Vx!=H2QUn8;u3Q@+;0}5javHA;%n^9yN;KDd)=}-bJ)=tGTHG+!- z)4DE}aJ%i`vf%h8tWHPjV~v4;XGa{v+1Zi@=qR**<7-@urC)q0;r{w&DKYRtvz9*}t$%v(2#98WST!MNs)7p{bEZM-&IZECk z;GRqBt-B0jQ0BzC6IPDBzsSffS%}GF!;0TnIJaWHqLSkI`)b3`P614HPiO)+1^sx( zfs0~Sj}#s2VHy?98_ta;+BML81$xMro-tL+>hrl~A|yw;J?<$Ge>eQ*`Ww7a-pRFm zTSsPb5Qk^u^jm;WPwEHckG|Cd>NdF#Bq3Kfv*m0-&)tI7$^HRi^4#`*Al51SO7(pM(|2g(WTKYcNI$7q^e4N^ARP_mbm#v0Z zkAUwo5`33gK)iBx@Lc#8BiO|ct@Gt?s0OebU=qP4Ukdb(7Oal8nD1H@gQ^}JoRwR4 zw5?CKc}h$w)T4ic*%QK;&sLH%RlOMwX3r@5G zkQ~G|fma7dwyd=naNJb&b&Ez}JMCAe2=xU|&`IiwRhg%sG!W}j#kb5@dos1#UPn17 z0%qtG;PN*p-dUPh=YDnm0yekFb(T~|Jb;PDo@mb6saiI^B=%68CCQ(o_WC)|D1R+W z3|hZ+J^3O4JD2l%`+&!?g3w&wQkYXBn5h*USHw@$#X@CPsj;kShX5LF(ykXtDy{I+ z>;aTQLcTqa?&8OE)fHNEwYaXhE@y=?EHuQ{6^cgbV|L;~VvCqL`U`(;3fkDVFafL7 zTIFRZkpN}LL7SvF@Bo<%-az@z9bk^i=&hf(d35(8+8yz-ivg#34tHssCVO%C>dWMd zj;=s65vXR(;>YSFWXWn>Nj}L`U6crxa!5&ZwQNn4!8mem-}CqE^-EP>wrEV%Qm&i_Pb z{fFcKS0}rVp@3r^-AD2eUzIah6zpT<^RCK?_GL}(+_oz{66hvDrUR7!zZvQy?MiMN ztdF`TeWB;E(6eM3TKaW_J&%1NrFd3;|A^sCpygGUyEh@Kb<(Uhg)~%X*{Sr;;fQFk zg4c=--PMpTLEb)uG7at|f@GmXT;<9oiq+TcQIuS*?>zA=;NguOpL=9!(=bfJrhgE4((&+s2*+(5>K#$#7jV zZ^t7c*NhLz;zwA)Yg{=gV zU2Nf>Wk~?eQk^*+0L)+DLgEj#82}fwzt%MS^XOUymH}TBP4R4Vyt3mj3KmbVUJIW< zTzX|Yur3TLDVt;oLyP2>vbE}O`E^j*H5lXt*YUPBj2w|mSbD}o{+e%=w9IUgc<8I~sfR81PxpvUtW zaF-@EuY$7#LGN9f>}!jO<5;jUVnkjkgZ`X$f>Nzwk(27RPrw!RY3;@*`G76N+CVsi zJhJ^%!Gr#R@BPL5`2HQn@d79QS+2jdMEQH2zg}gK5i821k7;ym*|C9rM(i%v#^gR! zOqUmJ^nE`!Wtg$ZT^8?8PRIq#^~RV~r49A4p$<|8_+qAgA5rSgP2AwvnJVm@SsA_Y zw5x!#z-zF{f3g+aJk+`eUxEU(t8T+=ZUO1p5#nc92N_}TB2jGF9xHn)@ed- zYAh_%s1aU%vFD=k3Kea{60#h?MfPxUHBMqUc3he|gul>LcVy*a#hTM?Jex9~_0tp^ zQ6S4NDatvX;ewqCa|v>6!F}X{_JdDRClqL~_)D44v@z!eK7~S&7ycR;IC3oO9E|-m zGx1n!o!;n&T5~hvI$5vhbI@DRKo{zJK5@k zW86ODSZKYu^K3NR4r~A|c-nq4PR@oa$Ff{8zVj-7!$17N{v-CDu1EY2fAE>^U;{Ir z{)gJ;YQ&d6QQ2Ahb!d&-G(d|H1u74Djgm2B=QBHgQM(|8->K%Sc`d-R{Rq`6m$}P# zTZkUf=JVK*78Np79>A(mJ)Yhivc3Ou=@t5n*GErJR0{7@pRAufI^+tqAOQT0;!BFBICcbEy&pH6zrd+*_so_@_++n;rJQqT>b<=6A5aJSp z{P7E#;ds_U`Vxj7i;Drkx+9EWWEmfNI57qV&Y^|F6`Uo~5*( zqWd?EW*_ITw<-sdh!W)=^)bylFDk69X6*QaZ&T%j@Sg6X#ty^>8C5AO$p%Mi;7t@GH)AleD(BM1;l=;uAp^w5V zF=Za#_`XynbR@JbD&Z=9p3Z*W<)N_QzzJy{iQQ!CYk=`ZEu)p!P?Cw~=En6n%7aiA zuBRRPiZGjuo52J)0tt9sW%_YqvXAYeRPSZ~ucUj-xZ1i97;}g^;X)uTZpyF7>KJ+D z0oz^q#ITlGH^4tMV8&}>M-zo!GxX1C8- zavTSIQ6dcG4*8sx#meQ z|8p$xGsH$#|7n&o>pN%Lob%C(R;7{9CTEm;hr8YUfDlROW>wToR?#Uhk&)SYk9%=Z zMG>E11Kd^T(Ai&2bKpj7?qA@EAwP2(X!oWj)wLhwvW?`_p+vqaS>4tjTj3b_d8kjk zq|lxn9R$CWAfN>m{7$NPICMcE=urivdKV}YT}lw76_R_B`6C;G?>%+<7SuT~R#yL^pCcJ< z)T#i{HkcB)1}!WRnOsNl_sHB*Wz$5%8)@&z**J>>NE2@i%;;UrDmfN#%irkpmrCyT znk59mMc@`0LPk6P`X0f9!MFy-l3h^8h5UPY$ZpeEpV~3x@EJOpfpJz+@Tvqwhk@9Z zU;i8vX3!<^Zy5Lf22WSK)44&qSOV0qf|{Mv>|Vm(%w&-_l(1>O4N)lp<;%|{L2^3K z)iB-2(p3Vr@;zjl(I&E~X6OlZGdOxCn{~1?h-A{)Ro`z*Ok(s`uq*~mlI<^;1==~I zDkNwR0&dg4w{~6ZaFFB6S>AhoB+JHYai@;~XSJi=TYwVwe3(rBDL6Lj^`vo~`Ib-K zBtA=Ke7xbDzr=b*{w>pbe{HL`<0a0@SIj^qXt}>6Es=1|5Aw=AB)9q7cSK^FA}X+4 z^w>*5>S1;jA+VPsGHj;{6BZ`ZbKMmgyq>3e;Vi`X{M3)@q-)sWZVRxFgeS<{RixGQ z8)=N9E6wu2e^q)B$zWLg-POWdhMh`t|WNDvQBQCMcHiHJ;i6Ky$Cwzhx zW|hyq{HlCdb&YeNOH{PYkZNaqMuR%VyPY`kqUR0SjMw1WTGO4ec z72NU}+uihQw(n`gDL0?mHDk9wdWv+R*w^6EiD#|D2PP*UA$wI1XHBw{RvhAv5Cg|Q zI$5k)@$!_efHdqXvM1ZyxXN~)hDH1VIHZyd3jYJ{1Vl}_-1$$$*}r)XY+n2RnSTQM zOz3u1I<`&Ea|q>Y`jfOnn;!jicRGAX>kC|+%uY8yM9OIzVJeretC9k5yLE_k&YYSu z`u!X{9XpFRllOLJZkElwomi{OZYl6-60J^c?FZ$8UII%yq}^=Ja&%Ni)|JXg2fE61 zVj2F$0=ifDcL(Z`irQhb1PNlf>Y#EsJ>d-lg=goF?ojfX(aX)l_s~CXznfx)!_nbh3yM8@m7NIo)lLK+ifz8BVK6wZ|t47xMlid$xX)?Ky!`Wc-3Sw*ZQ zhoN-+g=$5#>E~g&rwFM-;|<5uta^|S2PkA$2*;%V;%+uA!5o77CON=Sb>em$!u8bV z8qmgG?sAGF{M}%g=)!E)hgHszQ;F`Tj!ZQk29UcgUhpi;Z$e1n@&LLVn_i)+HI9H0 z*Y5(&$aO@GyUz*H+&}AyOfKa_09{XzCGwlup-!Ej10`aw<5~$M6v`J~AL4g3%X_X^ zA$&|3Fgu{H)U>^BZ21Egvx@8wV{o1>_ufQKUl z0@!$CW*qDsyHlljm6@7a($2|di%9f-$nWNoImiU>i^qkuX%cK3Lv|lyY-16p0jvt!dJW;lMABXP*QOyr5niMfm zqUaD;o(bQ-Vua;=A3ORyo19ru_oS37?WvU_YpOYk8r!S#VC?V$>fYAP^iQK2n@9)N zJX4@XltpShPMPiXs)&&AC(?Z_z9lY<<=GIej+t;s1lfZ_OMo&yKJ=1lf92Eq7O zyhZt3nj@_RNTk$6OrY!wKbg8mB4uaG6?4SMtk3kCpCgv9IUtT_<--gWUY6b~EcIq? z{PgTHH@L6Vs zQWyRj9A6=5=53uNPhr6Di);(~t*%;);D~q72gz4Q95a9mG?+mQBZIOzaLg{X1r`3G zaMT#c&1GmKr#QHyjF%NI01ZOh|DK;X$jF1kQB{XH4)Z;ONQ!?gqeH}Dbpvw|*W z-d}e>3n`tQRa51(?$GH=P-R0){jX)@e-0};6HDJ}Kv?b(sKDFbX#T}e>do^D`-^U2 zrW!f~9ID@2d5%>-0@+wr0{Pk$cWD%h!Kdp{ExniN3@p6V`z)BGNCHpFr`@p-Li;C5 zD;W82Wk8S`xYFW-hG)d6jjBR z+)?>`+iVLgNY554$NP!{Xk)=s2;pCo89ZjW_j4JR?q2%#ybaLT z0Juuyl$hFxuR&TL2T>Z;S8ook5{SIP68?-0EsKHYj?ZojBAC85jhLdIHlgYj8s*Sw zYtv7BwIl&9;=BvQtloXgW63)Jz+t%vHfToxr;u4=b>Fi)W|F;mJ@-jPa81z_K~e*` z@)9_l_HaNGMr-x7Z~6hD+-tu>tRld}P>TeQ2Ho4%ZnKGc#$d1E&IDNOXLIjwE;apF zaj?D_ zt-W7Hoi~IPWlNZG%#F-#ErH-8GxC?D{|QEdd)KF%ZvQryn}ZBh`KlPeybca7k2|g! zem}1Hr{vLV;d3+u?&W;aYt-P_en z^>OBdV_I)VlT*?IS_ZbM#=A;XBtXY}FRcIZ!dBZ5IRlS%bE;Wv%%eX9M5-0Q32 zn$7jr0{(C)53e(~J&h44FUn@s>8}f_u5ycH+g{HX+H$vpTc;Cm4HU;jrj#V>SHR@i(ZU>yVh~xWybMAtzWZ?~Tj%R!apDU-&@{u1K4s`~d z%}M(MmOJbQ<)Gk)AzyY;wYFqOh zy4ng4tlr=2vIox+TrmdR;k2t6d+3ZL?9m-pw_!Qxq}J@8fIL6L-q6v?O{6G5&L{MN zRvpM`l_y7jeiNXb0=RPd^t1)Lj9hf>WAG5aZbeFGN#rGqFPd-BeSwnA7>KoHOjn%` zr&~_fy9)8Vb#J~e{=Yz7#Jch7?6)|9OBt*QXFuL$N@a{|IHP}r))?j=dH)1{Dszn- z7m2Xdw9ewC$SvCq=bX5TGTBJFM@+S2LU;B$qgc5u`UKv%=Hc2G4(qnm37m2Iz>rl0 z-a&01uK>N4tj3^+STNhIbgrrERyAt{+p!aCd@GZea)l9Nv7HT%vq8TKNAOPBBM~t# z;b^0~;&*R6xpcu^zQl;5uruO{{mhx^ONaMX&xK`Au6$56lS8or>bQV*Gt{|Qm zfWG(f+R<){jW*sNik${gVEO?#PtynMM*8~IxD`EJP(Ib6fiP{aW3~W2I4D^4TL#FY zR$jc~qB*WSkm0$rq+6v8W0UKN;p-Ij^$>ba!_$@?u?5won`0~b@%!VQGAEDM&@6)+ zEgCxgF>U)qSLyug;qj?D((ucNIY)=0pjrCb8GeAk8^lPIsyWrs7Jp2hMK_T9i20>^_(_q5qDoAw%N zR%b|dAD)}r-mqUsMrJB1QB$jnERD>GkaoKYwi~OmD!)sMWXgTh;0#U**b9{1p;r96 z0iM+{A?XHdQ&i)6=5sg(v#FEF|Dk3?2uP^0UQ=Uy#plt}aO(#8c%3~KZj4UsE6!v^ zqcA(Ot7D|pw@qqpeAlV6*umRCHW9HH1%kQ>bJ!6;omXrwTr&oGFFtw_Sv|Jec87XR z1RCx4=^W%f7~m!s!zw#nuskZyRy~Dy*LFE~J(CK>8 z@ucC1<*}-eQg0v}8OqZOu};Ex&PAr~S{ZK&2Rh;zE=&p<)?T4|+Z&cfd%)(y8GSA4 zA=Eq)&fX?q->)_C{_ds$+i|D-OgfItNiosF?K7Sa^?R1oj*fIa@4He{4R)_P+N2~l zmX2TRfR%YYa-{A_E1v;f%BY1&XeWwS z^vgs%k;Vq9ppGSf3oG7VN1o^ycd*1tB0Tq1z6G+H+l)L?Ym*`x)}X?N;XGmC>q2U zy>98bGhEPxM;sgvhCi@xcDLt-9qmdzOU%(};~{MMwU~o00Fk@QwPM+YfZ5c?V>zQ> z`;dp^nA0V6rH1duXYeI`Pu-Zm;W>;_O7y4BobZ_ameEnm zt<~&k6{;rzY%U3DnhobYV60{Idu6ddG)E>d2$_5J-&FqjpgYre+v|0Nuu@Om---VY zm|*%pBA!mZgEA#hB=@gC&QOfbdC@Z!9uC_73oQ|b+#b+N+(=N&b*-b_F-g9*Nx8>g zIue4BR_S!)k&ZwTEHx5`_98O&7erKz8MV$Ry~7(NaA)r|(zanmq+n5d-52Ugm$NHA z8*akirj)qzqc#%`u7#b`(y8{FJx(p`q;)tZ48{BJtZA-EVE4k#MWqh!PTmD=j#b)9 z>J{N19eP_7oIkt&C4?(ju9mNU=mt-BKixe+oFOI4E<~OS2uYVJ{RFyp-jVr{gG))< zX3V%l<0gDR^FD;6U`1RRt~0x_o#sFI#@(Lfi!65j{N}ys3_zKhy;NcSGB@_rUDKc0 zqT~dKb;LSXX5^I6Zkgm-msy|DWBga9I<^;Gnl!Na_QOWEz?tOUNe1)u^{nOICnZAG z8DJE=os|NXczE>$w`=8TEDA%y=Qj%m7et`35v*D+sH&ETOsjZioXUY`DUN*vO-ALK zzD)QR=a&4P>8Q+xH<%vzr3*(-SsPn1J`#bHdH_E!UYR}MRDcjCU4TwPr?+_?CXjX> z+$_v>2mKt!D_L0DHI1lN*c{+)kCdjZgp)#knU2+q_s-8yqo10@weNPlU7vK_YJ5yI zvAs!k;8gE{W6G<`qRn#+wh#5a^c|@~?NT>=XULaci7`!jdlB;}G}HNzLT8K9_6%S% z#f3$~C!1uKkTD_2SiT1#*r6M^J}$Jnt$D`#>u!9QqI`=$Y)^OO^l8v~B7HsndA z&pI2L@`Bee*>|BdBRH9>0l~Pos%&p}ulzJC*ng}W+k)8zIzVgU z|0p;!S)4q(t;M0;rDs2%Gs`1;BzH9&5c~EWT`{mHYrkRz)R64!M*h)u(hG|3G=gOR zzo2No$N%uJX3gR@nZ)&adRiN(Ma_s_s7`uWdEsr*qW>S$*G2yQRz7yEPs%3R`MOq% z{?I9wX8MC2P1gb}Cj8X`5a?QfIae)qhe{e(2m1}rHdBYBYt^ec%N%jbuu;#AW?~@J zdW&A?=)W57yk;|HFecIz@3A29kCzNRvpOJLdeL)c!ICdE^JYDy2`x4`;S7Zh_XM~HW1rXbjbyKKQ6J3IN( zW%+1_JB4gT0&5&9tz?ae_NdfjOhq^%HANC|ILq$VS+#j&?V81B#2GC} zzj?hZcG2Zel&J$F4}@A;#DFtlv*jBTe`TDHVOVNAkBN`u^!_Qs=5&|*oqH8Ie1pbQ z+wwW_Lk+PYcUBqT$CQgId9tAyj7|ZH)(Xw@{Uyb($CGXxD{SW~_ZVE)b&<)WG_>+g zxCriEmnL4FAZEG#E_*cpoxOJ=j|u03t%m=cdXNKw2bPywR@{Eq8JYZSpR6Tq+L{`6qZ%yk`KIaJQtH-!m%IJBy96pY zv+}#Cwms$`a@x0&zirr3{)_Zy`_FK#ougC&m=7TFQYOWpmw3T!*VmM6YUF!1e)#61 z+Kd==uQlmv3>WJ4$LwKCa1x=v(z0rG<(@WRlOl`3E=SPd6@n|?nGke#PXg>8P@{*~ z;RVPEp!*^p?3iHc21cqNQb#jc0$$)aU>b8RzoTqQt8`$&)hR`jtkbHv!pb&}*@?af zevQ!^j66~K&RSe5Rw;_K`X(}d^O z?e#Gb0<1;Z@IwzjCMVT`$WXAcro7y!hdb z{fK3D(YznMQCYyvY;D_jpTS)5jxU4LfTh&(lKSI;{_N9ON}0>EAJId2CnyZG$+`^s zTbc5D7hQP+cU%{pbuR${ia7FO3^Q)K0?r-4ykNrM6mV+6)zDZqx2s5YEuV!5Ca^Uu zUFseA8RSirNnW^iF0l@;R*UJIY>A)A%)+v%1ryX3)irDKW5LY+5F#6}59FV6L_6|# z6=gmFdMC}V_V2fo{4e?nOqc|t@O$oZ(f125ju|Yhq~mQMbpIBF=wL+-H2zuIfEjgc zKBk>)w0(~*R%-Run6CIq>F8Xw*<|y!s91O`q+rizsp)rcUuQy81&vBkdz&=EirL(B z%Y@tIYWGQHe+O9)aK|w7Z{4S?ulD{7qIoGTftuzHdW^w3MqL91{Z-1R<=CMP-YHv(gn`O?PLcN;W$bIz< zEUtc7R@7k3#+?(jx)XQr-MLkh{&rJ_q=916nRDVfQkruceDwo9KuMXdBC9vw?&L!& zhH+{Y{qThNX4p65JDk}9&rE%V;2<`Leh{)VkrB0)q%4bvA}%-P7e2d5f^Z`&7$kMg z7P*~2!gYZcjl9cd>~4IseIDYxovMD}3WPu!F|#8}PcI?XGOBvO zNg=-J8iSKoBqCxV&RJ{6=d_Gf`G$fKwkgW_@Gapph|>)&l==o0{M53~MH1rKi`8GM ze?o{USniYvS>2FT2QZfK%#%?kDNr-zR6^MRQ}5V;NXbSYrDOz`*fd{>GrNPeeTvBDzUm1I>gUQpXvSu^v5}Ioi%+X9~eO$Wgm>}81nD@w!gH}5nKA= z3eIozNAR!2{GUv$hx#>1aauvGB7WRE8>M^njnz?os}qd6krqZFeNBne6Q|xC-BpDGVvObtm@)l+ znqQLWH&|e~IHR3j9I0+S%Q>(d5~PqTx|9>n-qEZ5G7|XF7Xon2D{q|PX@i)Ab0&98 zgq`NMd(t2dE3lsrbGxZv)si2&)gyzD|JW0z$&SuK7n>X|)<0=sYt?%09c>h$%DoUD zWjr>Z=+BL2W>JH}m3mH)LrL=`0}7^JNLhHRun{9ycT~wPiOMNz!iZ+B@elvB6$j(jiAm^TxF zKGc*ZujR6#L#}HiA4qQKx)TGg0aR08(%SsVEjX=X z3Ug)-;E9#07r?S<&w*y(WmI3cj!8iVXd8lo8xm$e#rj;D ze+b~)8nOs-BPLzLHyTW5OY^;fY}9Qto3CQYJfZo43;?OGfZt^fJS!vMS$SQq-Z-Jp zBY{vziZm{H+TSNI6Ke-^8CxG;Ni)JfmCO-9C9>j{#IlXQXvQoC7Y%SjJH262frZx+ z`WpyK#3lmnR!hX%AK2TLuu`9$otcs<#t`XwHM8WTO#Vg_5*zJu zx0z4f4{@B<`U(B1TbSEth+^3Krb1?+>ssT!7(T)ml=gihK7ox-#Y*2N+;y%g3u1lM zHG9qf5sFXnz7fB&IC@T050JbA?fKevq&)CUq(V7Tkxcac1}Im8ZK+i`-*3gD{D#N< zS$;0MDi8l2m@Cs8wx94;r@#K%sN|`);aQvpV|Mw79bJ-x3h&_)w$mv0Fp$N>+~7?J19&5A1$G0w1pVkUUuG@7c^{I zF=iJ^C!BW|{a#mfQxtt3_1xLgmVG#&LSRN=(&Iq?v6e7dS1D`&Z1`vGM{yV*PW*W8Y*ywh@A0qx5w;dI zh6XB?ZAZD)#h-7?Bb@M~(9N*b+26SOQtvm3P|e#-MpqvW7Bsy$#z+Ps@M<*TXd9YTgrrT+S{1P&)H#ic)ou4pnb+Dp)d$zJGb`lZd zw0D9!VErphcD-~f+ItkLIQtfYjxb12eru>UUjVr2hYOCL^0p{-Ib-QF^X0_eSeVSl zKgXxCo7-dGXw*BZ046pf)x@`jOX=Z2dQhnRpAzQ6{b>LHWn$44PW!TzzZoCtV8+L_ zy&Xrr{RrcS`tb%nw$hdtGr4!#gNGYIIDgN7HP~%&Q{VPa`g)a)YyWp7)Bu+EVZq;p zFVTkrqc(a+f5#P-2ivgkfn73f(*lar5C7N#?Y*=ivXM?$2SIf4bGQyG$n-#2=!l=UkRGm&&(N zE;Rg((icV)5D@K99O*c2xQ$yuPgNSC2mj%?{^^G}^YaI=SJyQBH)LivHEG+iaa93) zKNk^v7wiycGa^q`gqK3}zsRWhTkgcET;@lIQae$V)KatN;tTigt&4$DM=c`HYeF}| z7Q1#vfTCZ`vTNmhvu^8yxw&rN#*m9<@p@88Zjf#N`U~oZ<*KS>cOd|8_QFrGIu3zi zV`E-$=1^J6x@pilTJrT`Yw@X@mkp%=Y{Q@gA*%FYb-D=1OeWYeKMkh320t>Xzmvcp z`tP@Q1Yt&E91dr9j{o@NGECOf(>MPQbae@Yt{{?CUXP$Y9?JvIDt-DqM~=6^s)AV5 z%Rja*7Qfl0KL2&!soxR;?0&hMln#m-nq8-Q?$JLtuV6~bgxtrCgNxNs8UT#Bh#!y} zzc~hRB{^7&l2*K?WFlW0u9iju-Lr=9oW(Bumfg5Zg5a*RzqppD{dg7}AEN&Dd7m;i z6L680nG*9`1Kzm;?99N+?PT@2maPJ~>A`0OBX=GljP=k*U8UOImxO!)@kCM@)faf? zdL;JB1);v9_3F7JuItY;w=TwvukPq;WsCh_IW>c*cr`WZu`3E*QU21RsBMms(GNC& zF8|Z?DzCNt$$MW^oU^HZRlLbos@Rk9(Cwm0CvI+pI-pl~Z}vxx7bUX;Ms5{LXnY@%^5DlyKgsLiA;}IYf+Fj=Isbd@QDix zjKdO#rb-lgEo&GAPZ=#rM1k$tU3sY7Jh@(I{j*$CTrS#*xkff=qdTVIE~bDPz`HLU zYMVHU`CAB&OU(YqOjoCH_X(aI}og%4_9I`EFT zd$LiAe$=>rumDkd{TCzvyrudFGMDsSa~gLKU6T0yb1%VVcnUl!VMWh|uhgbTX559A zy!D^SmH`_?_#z{Asg|a#!<3)6%uEu?C zyYn1fap>o4Y>zpuU`7q85wd+z<-utM4k7mfqYKM&V=Q7oNt}xcn<1Zns@0r+fW|L( z_S4<@#;=E`vWBO=Kf{`~Y+o7su{D%I{#kgExNgsB3@fLOZNs8>`mpoFIe_2zgrnR9 zU@aXvwcw(46ya(ttN5PE?w=&tEv1Ar5@Z;o}~jY-*`$65F@$ zWz~fEiX7UFnE$%upKpABb2#z;JvV7dam(tK>T3+tM!gKs29jA_I;ZB=-B`6YmvHot z&-z+NXrbFLw95Ub{e#rvri`}tr4m2L=f%NKwF0u4c=0hC-Ml$Wm~aVIJ-5wpc6WL? z7J}QIe)6&$D6^_iE6LU3Hz%>lF8|h7xuG?;9Xx`#C3HeO`N@kP5dCf$obf~1g+7KO z_FZfQM~9R zuesqHTt&!=$yH$q74Ld+1RYAyxpfXrVr?&eQ-FC(2=*z}WWunvN{+9$BR=bmnLa=n zww^e&43Q!hAy1)t_=y_IEssbxx9`#Lf^nMff2gCu~r6s9gG*?)6RyBER*o8AdA`O zah}yhE$zsVN64M8{h6RX_bvF7BuUS91Yu|uu)Be-ohn^iPEAd_?;0bSt|kh-gsEQE z@u|Ir`3O%IPA+msOrNoxYY!kO-mT`a(DK}2pXt&s@=tzW^x58eEbl>e5mG`h8zdAy zKTEiOjXlDaN{S;=>nGn;{_WTR->GDcp!Lx2v^U^08IhLmWLv$lj+&5rkV+IsL z9a;nHXGUdkPD|ufKNWo-cbxs}qo;PBE8j0P)HZ9T9`HiI`yhsV3!&UgJ&Z6d!|_!& zD+yARQ%}^jou|HV!^Q{7f>a<#lxxSLCP^HqzswJ?-@0s|#pPaEBN%=6?R_KW zM@8>*cY6&_h@8UMhA4RjA1s2r837DNYh7+zeV8Q4ft$A%U@!%Xy zZDt_?eM9+t2S;Xk^?=a~AspZ*OvCVF;r#5!IA~nXiEMhK&88MGqE;Jj9 zUiR60hW*gfv2}0RpR@i@8#BOKyBubd=xzd(Q3hP2qQ*J#@=2aU-Y5Q9-Nb+f)|OI| zNLZOZ6%(!EI=RH!Semde!Cm0>C#Gu`rrkkj2Gpggp`~E0zp8@Enm- z(v}H1HfI2@C;Yu0#Y6Q3h<_+Z&t=RM6Z~HKFZPqBxvSNZG`DvSuDx|V*8$%ixlfH} zKijUg?R9vk^9-RqLni*_p8v!VDj_SQLjdcWROLgGr&hRIKU3^x8C)U=&B%W?Je~`D`xE^=Wldm$* zTA{_P;AP@``(b+k~olKKR#QRUX)rBU6o_8}lq{rchq$>_hP+lsPz=x~irF zd76y9jK2;zte4m<8+&Y++++TDOXdUXPnd9dVB+Z~ILU^!L)|?uc~(o^Ka+GLh0{n! z#xzDgm$EUshkuAHTy3DHpWSY3_p956nM0i}JRh3<@kCcci60MTFOeTU4oDLhK~u$1JGhY>LfpueprP0%Fd1vjybHH-J%b zEP4R8uq26M0kux9sSX`pmyqS=s<(NN4Y_}H1R+>^2Xo%OzslHNvZu>EudP_Nv&Ub2 zSM?9MKsF$tK&ITiT>z?U0cCeh{zzf|%KoX!@<+s~dY_G87GSm*C_+a01sujOR318w z%r=1}&U-a#F_r)$)|))5+p7d_ZOTfMOa{n@Z$9nj5>dS@Q?+?=pA8QH;Zsd>NoL$8 z&tbyWdAq2kOFtHbYF!yzRrZ}wgXjFb-UdAtdFy`wBKUfc8O&fK4U=XaV_XQ$^Vw@E zWrJS^e?R=;h=DUdNWLIzvXWYPpOOnir4M-tZOpTmY0>nkLv6> zb^oEqULj%PPc8xAxr487xSY7OA+v{tP}(4d%sPblUCiOiCYCT|EkFAMx!_ zKO4wS`ybvJLM!Uy?lx=mG)X{RKOms}5j6vIGX?Cl`>?x{IW?n|n|K9Y;jfBXPZ#)x zmy(;V>$mCn=GmGmxA@6m7-h|s*y$_1lQ*nRUB+$sEn<%qy}}BY#yT9^IXt-1c({zz ze#VW$dt+udzX>d0X!Bc(T|{*vSGsNoZ~?S47GO?zy!HQ4dEa^<(g_U@_~1m{6? z=v{9bxpVxC$I9?Y|JB&Jn_MsSvE?8Qr~_G*)KDIqUsx-kk0yGV1Kpkd8jqVgAx7m0 z7*zf!T#GQk3VS*VF5*w7qv~YOOU!PBKbTtnCT~D4~;3POlpqp_HV(; z830AxkME}htc^!9>oR|DbqnkiSskWySQeeY>-GzpdI`JU|Cx)|1Y1)jbg&Cdk>B0D z5-OoZ;9n73y+(Q2_rg&G+p+dyYm<@e;I|JrZlF>N>}e*2`DS;CKXry1Zd%a3ZIT~> z#oXWxi>gRnM6tOmq&u&REg9pQ9<~V?3jj1&D>uRk3V0Y`7Na2W_*0n>Ymp4^)Vz%o z3uVti0dSYc;*f!SMJP&> z{9N#Bx3L{!r&{Z#AD!juxDWsAxKa5*G)X0RV-8$f?#+KdvD!AelBW|jR(T4)x>sgR znfVM~GisL!AlXtQ`QR)4^>1x<~Dr=$!sx zTB!{-w1%zK3){32{Z*rVh7{ust6aGf{RuGY#?ITI-4N^rn|mDOvi` zUFX_(0ShV)>7g`?%63jsa~>q5mZ>ERP}O=-&Ap8f6-I9(en$y~SH=2ksn<$FZA?e8&rdZZ)u*GRBigQeWe=YE^E;)Qs9EzyElpD4I4 zLAv*MHSf}D^`iDx>0{_SsyXv0oMcHqQ6xFPGpERCdy{r92meynQG0hz2+$f zhcj3qo3?;`nmo6=#Fpe*B6O_eb;_bu&Vr{m+8?G*Oe5WIj4si>#C^(gPctWtSOb!@ zTWn(Bzm*f1?;jo<#c^C$@E%j;o5&)LH5Tzt_pX7m_R~J_0vF<{ zeOZ8}gYnmtvIoX1Sbs4{1NBa!^{sMc1G9__33 zjJrwfCZa*`_(yX~aIS z`WI2Y=WiSeXd?ZOLl7i~{&UDL@gP1kKkII>V=t)J5~JTYgE0hLpBW;Ap#Hxj)`b=y z)TJ`!Rl-d31C4od*JoX{$B!YIAsO{Rk{ekm2;XMXTbQ(afj%cVJ^vgpWP(^9i`c^A z5pmjHZXc*YML?3>Q;jl5mBPEK z{N$2Jm|*oVBMImNaEars>EVqoB-VYa~gyH^5(=gtUe1Sv)(R=&J<6xm;PdW4}cyWliy{23j{ zFKY#Eu(6`VJ8s|xa~snWu2@T#t=;a89-}&w$C=B(CoA=vU%WwF|M@!JAKgdxvY2&p zDW9;=^a($Mdb}h>>zU4t257Bzfrxpl@95dAi;kG4+FI&}Ob`L}jd5V6>zIDVw+b&r# z8P{Yh^Xwk)rsjRtb0nmBw4<+QrSVEG50WxIZVWW@Y&%hefpcgMNbAysO$JtHqZjXH@r*g>o=cTclnNAv((c)wu3TerV8r-lYv2VBnC zWPm|`4x~@#E6)*1Pr)IiQuqJ|aD^)rGv((wsw0iSn+3`;Ay00A&~X?4F03DlC>mBX zbTGK>bbL{F$ki~ONwJ`11-7Ods^3u2J=(>4e;+|78~sHjIFLx5kiR=8i1TpokJ0FM zCQH&ioV@S;)UD&HcYe=3&Ak0D7}1|xDe(RLzcFnLa?Jk-$rxGgb|z#a|Brk0xkIHr zDg*m|4U$hcTE{Oeq=Sl?GB8{A-dSXFuG)#4X5W7pZ;;n}hfVq!{15oVPtUDdyqF1s zQXjF!fXl=r=|t>p8hluAM`*qTA4<)3<2y2X(Y8BG@V(CqTRJ%ORfczpj?XWhZ_;?! zpY7M3?mn&(gCb4@t7mpI?cUqhuVdcm`zqgS9uiONbd2j?i7EVEn`+bCv(w<2n+-1yQ>a)A*aA+3i62WdODoP zhMM(6lW@!*U?PMLmH*3)}K>WL@9t#{vJs|z}@*QR4nJ65ydii0Uc*K4vAazAEZ}P*#>QHyeL*95MxqOSN{?6^Y++JXN#EU6Q={77kBxJns7}j63 z(FXPpPG+w?c)k=2s&IrTn9omtY8G?5^XtGr*KZI{HJQV`?gYx4{w`E|QKNo_lEhXObRbLGWgGlI!(TzIa*83B9CuJ1ju>H@aRC%k zZDl6@AaQ~m6m_oKjDgc^q#9tN z{8UqBQJ_JGqip3r;-z#2r0Tq!E@JK zw>t22Fw(}Vp1!sJC53EfsF!K<#kJONN2&??j61|l6l#&g%mmKQZ+Auy?hWyzq@hvv z=jn8P)AoeR6N7~>{M1SL-r2_Z9;LLnJ}w^lG?0REOU+8yU~1dl zt8AO$s@VMIxsiYIq{|F1Mc97p=WmTY#6ENgU1I%%OO*Nk8&_( z$R{GXZ%rYtZ!EBv?{P2x9I&mch@MgWsJLULH<*6T49H@#jh$mh&Ij`X2R;=Sr!+lH z<`6#FX-MGk{Lt-F|Ab3g%!M^I-qji^jWi7Xdh|m`Yq55!yI=cbxfmaXm)V{Y`Qc@} zHzREuA};-mXmESc#K$7eZ7<>&!o96;zBoHG=;Cr^VhKJuJX`bh&7z$RjIvAh)DA=8 zA)0T#X8ah@W(F?thDe=IQXAzzkl4cXk53_F^>Z+5qmacH3ANtT?RTbajtfG!5&2II z3b)c_F?>GZR2N?b9ri|h!qOp-ukCG3h}-djb2Z;QyfWGJ#kL50xuxPxepvBcVO1|3nCHP3--+3-XgZ3AtpBz6hh1oGL8k{l{hdrTc3>m###j;u&?Ox0$M(zoz#H+eo=wCk zmGM@rcB*HKAY?Bka51}1SOCh$7x`bp%se{VUFQZ@g9o8`q)K6cz#y*t^)3GOSg?X{ zx&Nz^)y`1aarWpR4U0uQ$c;s3?`j5xI z07aHuPr69fy0iAkHQ0SB=r}%?lG03;LxpeDzgcq*cApNSQCEZL?5jcJV)^hfy^i?| zzL-HVq60CloImfkek88`XLmqz*PhSA_);w^s{M}NW`c5Xzy>=T#qJ06`cv#$6R44sxy$VnEdqat-)hz0{C{F$c9E(9jPjGdw;_N__12P_YtD*p#|J@}X2$ zX{$s>Oa-S}f5L6ezIu2IS&=m$+!rDhT9RZT2)&r!KIb7kJ)x2_BSD|Qs_G2xK8dE> za8pi+gxCwcYP;D_2u}#D<r z6N>HeQnbTw^W}R*tE$_MPc^%jM$~>MbPo95*|Rf4q0Zcag5l?9ZqF}J;V0R?a9rGw za%5#whG3r8umc7O(tz>|JM4HtrZx~a3}>s-tW?g69|`7hFk0!Ldw7b6wwfROb=mb% zRcm9PCa|p#7qf$6t@rfHCPjHD>3@}b4wFx@rX9`Q&X1vk+Q1DZ#>y_7v%3u9irlFF z=DH$tB-|~_=hn4a+n;7v4ZMM6><+%0QflDJ`S@QcA-WW*wPa*%WT*H4C^2h&1LrJoOq8m^lYL++T(mUvm zzfPCXF@jYSIRdBKQoF#n1fC?SkGkKw)&<}3NKG*vFj~vsc$sP(^4iaK?u4$v3&$%E zs7J7T%F64pXynl$`YYSFL&;&b@BCZ-Nnwo~dq1QUG4^3dKVt0Tka@&d?9hXVu{glq zzhybgS@_Y=M^c@)V69@Y;jvn!VwYnlxN2349l2`Ni))Y7Y8HF`l-*{qZR6Cw-J~ho0UpcTP#Q` zSE){QM_x*jD{{hL+!Oz>*-e~O9CfFC#iZ`9tA(LS(Lt-P)-|~CF%;3rLYLyXFftL# z2W;D$#<+1~Rjd!LgR1qISOVp)z6&>c)D7anG4|@#*fhAUo@a`+`Xf*bu&Ny*`r}}NdMd~*uq_A+b4+_Mw z?O3Ayy9%F8h-n4(d~!;;#>~z=!{Z(~02X)ukydXD0a>h-qVK?9wf$TOKmehl9~r^a ze>`>IUID%8j5xKA&;J{U5|lpzDyMsP^j6b&QgDi3e1;ujDsw)v5_SciB5deV>3Z)G z($TfJ_Q<+2J4F4|ayx4<>z3A0os=puj0A=Qb5>UpBdIHekDDkW zQf$xvYj5u`WtyFKgk?{F32{7BCmI92HW71r-Qbw0mX$Cf>77`9l+F|e>OB#ozK#{8 zh{t%9`4YG^>O5iVq#tXqM{%gqALK*E_5cmLHs}z=wYCtW25^!@Z-O6w7#w=?(ki%a z=1$;tfa|uLZ!LmR#;v5CQHz8K3yJ6mnRDEpaTt@R#>~R<_clw8Sx&pzOq4^8rqu!j zpyrBs3)S~$e(YeWYknb^k#g63ZVL70*l(d*B6`}5ErzN zvQ(C#JE86(P%0Dh!IPg6(+-_E_mh%!VoB3Nu0MCpqa3OvrpQEfyeFKE)3)8?*xP0A6tn(muKp+)#s$dfS>RKFpYgB?rOIu zu(+RJONfs}Q3iHi=m~5M7|u-UaI+uf`DEQpK0CujNN%hn@}Cdk!(AD{TaP-%bvrJM z8nZDuj`o0?KuG)S2nw!Y^!Y*r{>^9rA^9nJ%&-5|5%EW$kbyR7Q(X6Nav_cV(0`lj z(|!XxGF2e64SB z1T6gt;RbtPFfmSmVMA5sY75MKjl`%qsPXo9HG$0$Z3C18Tn{}ZP7!1C@xYIr;6goQl?U3 zQY&Akd@lWzk^rVQQJag=s(bucU|Q8)Jn{G2J_ioS=*$k8yax zo)>VS@eryfy;(?j90xT7RCTR1`z>ZKy0KIO^*5IdZI179#7L_#)1vKGs3Ku?UjIBr z#y<+8bT}rNUTU%(d|Rn5=fcD`QcZt?m#3c9pYOpuQ0X(q94@e zr7uMNxC``+XEivcr?3_@U{@CXG4}!e@u&{ZH^P_dlaF^faMf`)=^4fTir(DY+iVAh zD%019McTR!xH$rpSd2TbvU%#4k2d;>bUw&m#ynmfeai9{(y1 z%{a}#+JKqCp!*u?#mqF#j0pZ$+G!1T-JL(A67;?vu{@DTyhw2@B`x8IlH9wsbs&)c zFXHvjPB^}*45HBgcyLVrM9~L&gHs^IzqT#j$cpLMu?w`9P7B|ug_(XS8#|zXa5uda z1;*a&Nk*k8ysSW%g!>KOBS`svbMTv>{)q0END?aqUnx@Ui=I!vg?Isvi>&!HHrq>2 zjkpZW-USQ#Wu_*%wpDd2YBV+xn$LCa#n_i2-q&MaVN{S5Fa^#^bqa&t?a>$c=lkPL z(oFVd0(Pm989lJtHCb@c`ldSYOQG;Z(!6-@G0)=xy)G8XVEbFUQ7jFuB^Dc^4cNi0 zA_-Kdm9raJ8R(654_qY&ZQLV!hkf8%_qI^8qNc9|b3ly6G1)AK=yHUI1}>RlsXny4 z$rxoX^7q^yYr8rc?njx4j7wn!j6i)d>COc_OgL1;ad>IixEv5D;tLUMbX1c&d|THI zafA^0wxj4hmf2=kffj84rq}a46k8l;CNRA;p#2j@#SOdZ2|M8 zH%)+ZU-F*~i2!lFBJ#v$o9qZ*7L1LstF1*=cHi)Tni&aFM0voS>NHmjs7mC6N>Dy^W`~AJF>|>{zU{B% zKJbrYR~UL3Nq9M3J&Aa_UCL>^VKbg#;DXmqOf`und~}Q_{;ucm*`f3Gy=3P9V7&kyds)^-eqJjg;EC^B&ohPTjPCjO_u8&K6hrOvm(X690KG9x&I;o zzB7;jYo{97fBYraEQR4S`9}Y)#M}zkkt?9lBLnnW^kf(%mZ;@Ru~z;6iIX4<#S|kDSZB!>HN1N^$VYNN*~d;MYpzS0Z+Fv)CEVK9WnZ% zpUD@PDlvB}x*v6UO?_H=YuueK4|>uh`tdd!aCN^P<_n&^!NX-P5-U1)#ZH^$1<8Q3 zJCKo5c8_XjRqMl(Kf1*sJ9gMlEz`h72MlFoy!*6#w(SxHm&O+^4A%q~zmfUGR^K-f&IMO*xJnt|0xcyMS%cuQ9fC(bqh~ zWcTi6)p^u##SWe3l9X1F@-yv+fLnNZg#0h2vKh_J*kF?6FHXlYceBthT);W9R#JIM zh_eNCz<;T>hC6!?|GIrZYL~^9^0%w6@fa+kQ8VeQooT@(;H0 zj#y!U)XbSaO^KH|pP`FpfX8v_(ckLBCQHsqj%NzGmE-Cf%fO;pK4SI>w=JnQbLaM?{@MtvUpjS_2g^jqOTSf1fg zh_2l*WS9Tx&iEec2 zPBC)96?D#(<@`G_r$o0>{11wPk=X?1H8Ez&|AW*9A^zat1}qU*tzaB4BX(CLzvQ(zCO?iAb!l){G5|alT`~^n>8quhulT<#8K`y)c{8GZ%UN>; z*FMgZ(((Li#7TD7)|o8Lb>6GX!^Z0iimv^Hg}IN+U!?-%3f-wFUS#o%CDM8&(=#^- z2Ct?ise5VNoZWMp!jc5f-IqjW=#CxmV?|y$YaM04dUG+|ekkV_cQ;pR{4>+e*@{jw z3h+v<;ySVX)kDuYrBlUwA-IkzaQji)Uc;|i^sBGMkhLEZwVZJC0_c4jr+!;Y;uPv;Hp^Zaq zkSGY7HCN`nG_j2I|CD+Eq8BdNF~2QcuMod2kVu>bb0Abf6>jeTiY!d=0=1Y&9L+OM{=5){?6aHZ!JtFlRx@yZB44RVw8SARt zHMBfF>A}`@@jmb(l#m_0K230)bSlwS@IDq5;OW@eI}De|`^t`OlOxoo*j%gBs`!?k zR&G)sB$w=uT{afYr-v$Hdl@f)Yd4y?2ShH*fJ_XH@ePB+&5Oe01TcU}0AoJs#=HJ4 z|2FJJOnE?vL;<;@%YLIx;P-6qTeIWTVml!VOSE~ZzZvVC+N}3++Cf@wOU|^6YJFwA zZEl_cQNI@^oGXExsN%~yZvZsE7q1Oa!ei`s=X`KsPIT=Fcv9q2=hc%=Ti5pL-$t+p zv?e}-nSXYND;tcQLXHhixCOl^bS>{DhcbMP+Mus7pS6zTKGy^*CusvPI2jcrnU$Y) z#_8N4UEUMs-WPbznNvCKsI|&7n-|8DfvVfMZd@iBt^M-jI?o#*0jt_}tJ{tf`Sl*B znqWxat1OL|OH30S{vuuL7Qi`{iFvOoQS5=4%OgAWg{M0GN|5Kf!~>WV=+d-%a>*uu zQ+mN_NC7ia&|ag>vrFm_vNu|x_Rc58h0o;b@FtOgm=+Tfok;XXUkXjT-OCwuqe&wDb$tCA?@1?B$CU9oy|4=r?c7#zq zosmn4igcQpvaI%hD3_8P=`=rOS>vA}my#dpv<%io)0TB=9+tnfe&ARUZ*S(IChPZ# zIgsK9DsHO^PdaW{cweeJ0&wg0k(2M&&FFFHmfLX{`6NZD90Tl7S3a_4anKy{)VWnV`R*owAddRac)HBtyNk%Nv+#?&ePmgX-s_lgRH(nwI8)5KdAfce#M z1+pvfsK5Hq)!^(L$A2p2r3WW9w~V;N`tjvjd0cPrIBMH1IQ^sHOH{}gZ2}`M3MFjg z3pzpMop9qto=d!^?f@C4$giA770*{60fb+IF5aQy*aQpZXip{?X3ox8HOb4oMT;$y zyLaUZT-Lo`YDysQ)DIqK!7*dJU=BJ3jXRomc>x*i?9&r*xJBL;s!$!@E8?V{_G>BRdi)ynctfS_QqQe4M!CetxVFIgBBM$ggtPTHO}gfm=vJiY zWEL<@h%~L_{UOeL1&K5N6;}D*c+|f>#^xHgZkdE@Is$=E`s$8W>50l*CYwD{Df&7& z8u3wiZFtfNq=XH*3{W1efQmL;3Uk@YEWPZYflH!oS5)+1$~km-TKQT~pwbxqKIzd4 zLwCl|pD}c34E!!(+qSj4h&~9))EFQ+hFM>%vg=#nxaJ3xhaUJF7{hV;82EHrD3@>p zs6LDe+-c?@a!Q?3eXfC$>MJM zq6lDYG*N@OAD-!jg`cr#aWE<=cwAdORS!AqtF00bctGh6uQzR2@5b)8 z1ox9}1%=up7BFpo-O9z>>oJJIjVSx#vvYIPQL%R3`xH)l^TIvz)=xhs>h2p9W+}^c zck&K2@g~(Me-B|Rc;u+X*LrHMxmtNH-SLuaD~Wmu)j1uU*XP@wFOi>4BE5Q&XW@sr zKJt7LP|2N8#OTYjePB+L>f!g~Q5E#cNgWxESHC!ly~}gTN7UC&Ou~~bAp>TcN>*I= z>9cC#_wBu8V^C;5oOQ&$Ft>1JqF+;NI#@Giw%P0&efUYKzUj`=< zhEKs7DFEU@ru^cg{HilysE}mNP&JrWSafifCUezYYcL0?(Z#ybEj`{YFk&#@nw;~m zhj)X>NxYP<`5_PRIUUU5CB4v@vaIu0=uFm#XQ00qCI4SBN0uNo&a3E8rXYC9fhc&8 z*yVHxm;Y@fHRKfoGh_K`#Jqm;yGehzoa)P#pP#Q&dBoOB|9HNsD_?@Ti~RN*KBtxA zTt^IZmC-){?~R&x=Z4Q!9o68Fna5~Ew=uK8-M?&`K{H$uv$|ptefKt40r{$>2CQlB zw%B^lzZh}q$GLyfhoPL=pqVr%?nY*}%?=Zt_@KLA$8L1EcNp!#;-@xk1#CnPsMO(g z_#j2BuNMs)yg=mY=_x@2OKKJ8uD7`U`-yF1FCbaUt%|i_j4YJzZwX`zOpq-78rLX zgr3YC5O@A8+l*ONt8VWlyNz@YGos*8?~ys&b*wiRk5qY>t_dXWeE0_#G)Cp^$7vzM zCfu_MQOBv1U;?oNtdD&Atu!)ug7aiGLOn$;oLFz; z8P#2?bboN-50e?2v(P&%zow=;;c>5i2Nott=v7}DeKt!`uUoNzi!t&9WvyMgM^Qi3k&)nNM%m`eo86Uw%}!_ zwO{;{<>`yMgPadBXZ!p~XPrJwhdLhrBJa>@+B)Chu`bDSr%1|k+gUU<*IO!yv!_ow z3J-mJhZl=$=}-7ofl|Ff$Y<)AH;J9genLO+;G~W+<-JYkq)^U<)#G!QG^BpQHq6bt z3rmUym~g)e+p%EWxW*Y$t{45`;-ipJ^HCka5%O68!v=z22vY;dyIb%&ap10F4PTrf z|E3wUEp&ab{3ILZ?V5EJ$Z`{y#%AlxNnK!hYL*}zDwm?edC=Z0)szpQYFd1l9fsum zSPT9B#(RfD8E)s37tb?9Fc&wa%9IP>WH>Grj>2d6vYWYo@Dm&h1aobIT& zZ|L>*N!$Cn+EL8FV~gBbulR%ZEZ$59=R|aw>@Nx3Fb3E{{}H(O>>vyC)pI9~d;$(2 zTLE#*7hif;HUhU$KRL$V6O~dfiy}E7z@R7s1^0~98v+H>O&l^+dtt}H3 z$ZF_oOYG0<4}G6jHn;ffr$GRIdrjAv&=E%k!|sEZfjuN3!N5h-8X<8(^(>FnZoDcGoMp;5QyFZhClKZTt}Hii9c^2b8hIG z7Y8_>uw3O(uR*stP`9hTUzipACS}Z$z-?tvf$@bny~%OH}9GqR@-5w zHy*G!m_M>R!~@-JTc?=f&(jv1vMIkb&oqeTTuqvG>6I{J`xTBBTl!sk~vOTeaYI4Ef|o4i2^1|v71$6 zgLQlI@z`W`r0^P$lF2udoM{QO&n-JEPhh@pI(7swxh!_G{OV1=0mE!4ZE9f=G(^05Z?w)w1-=P3FkHZVovtXjpp2f7#Z zI*0v6Gvv?gCQQ2TUC=4FmBwZfdC_;Wr{Uz_=i%IS z|CadSOcg7g#~)}&PkN}ctMQ+&OE$0zS}Csxo`2`xI|^+$oH${*l(M4wyc9 zJg6{g5@ZTBdtgQVF2KK89ri;EFjcXC6Php3|MP7z;J2-+y>Vn!&Xg;Fkj?7PpB+|5 z{0075B!xX5cf`c_WMMt!U?VhOQC?|srQxvQ#r^nhYVu@RcgTI!wGw$wD0(Wl(W!7} zaD7%7trbih6b^UCdoHaf2d#>r$P@5JW}Uss^`7pK;e9e=J-9}-l>Ds3lY7?P$4OC> zh1x_#qgS=)-AI%Dt@Umgnb#Wi`9VRgta1TeWl95?#tFoX%$hO*F-6J*N!u4OE*!68 zdujgPQGCn^T;=Wq?p zU`-mFT|IUhf&2Nshhi98s5jg$u^Sbz8M_#quJ}}G=LT%e@H*jqu){D>lY1neo;34d zUiyH@#iC5e3k7*Sy~KN5W-^8c6%z-X%1>25qLGb&gc0|#LjqCG1F3WQQp|C`I!Obo zL)y9*V%1J;UqA(=_sV0>wG~pZuAzN3^5Y>#6(1AxtVB)m?(qZWbqVf@e!nwDXR#OJ zW~Vi`^+uX}j^I#WxKjNg0T@l@q3Yb(kDp`;2&v2fYC&VCYyjMSrQArKd>`P?`e1*E z={VpSFUj;fU?&&E!C;i?v;=a#uI4#cxYr%8<2sS>;JXfe#hp9e1~K6AyA#J{ zF&0Afm>%;JXhN+S=m>;tt?SXX8o`q*$V_?7Qck{*q~^VlbckslnPW<-y_GA>2CFMau1yGAQm>OI`<6 z7fPSR5_}$~-nJt!&%BNqmQlD~-97K~$|88wT}V&6)Kw~_?=*-)b|3Nj6=zV}E0GR) zEpC?7^6GG9Y^HLasOh5NO_@UTsRPk-aE<`iR`r*tTOTVoU7G##X$b`#eAiI7^69T; zZ_TP+ZVvpMzl_j11b7%yOJ>rZ%92&)YceqwAA%i(1?wst1hU4aQ%l=PEi1RrWJy~h z+6W)2E^gkcO+(M}Mp1P?LE5r``kb|iTRZoxfx8~P7hXopA(T^_v6C5uT20ZD(^VHX zF6Rg@Wx6_K_?kiOC0|9HVu|wF-;zW)oQRAuX{%IkuPpgqwkEe&1*^x8heUsZ6zyIU z5mj7c_cT{=jcMPTv92Z@0uC{mp0OW!f@h(z4iYv+3R{<~=rS>udve?G2|YNQN2O2k ze=R1e`Wn4q{9kBB$8v?s9hfP*>6^|yRJSE|HxwRM)vIy zY~A!4y#l{zU(Qdwj&L$ZIw$Mcc3FlHk1y3^z>^8q1e|vN<}7e`N1bif|Lh7~iW*1# zv^cDR3{5+R5yUthLH;_qa6y##Is;IZ+{x!gwi!MMx}9`9jjgUAp>QQZ#T-(fE7>)1 zS~P|yfOXxNZdUn`nYF_=|A@?;Z#UK+@cnx8Aeir*y2-PI;*jC42{V$x7meM^=)8|9 z8_=bIoqxJF(?y=c-`%c8E2_CnnW!niN9+sBCqq_+iG3SN_)%l2%JU?x>?V&`ui;Zy zLaW(4o~KgdD&isb7CY2=plT%0k{uI1s1B?$YC^gS<}pik$MMi7((d_Iyg=oN)x8`> zVWRZQ)*LKIuKu~e7?;;_!MDH5>whk#hB6CGWS1UTtV-C z!}1`gvnGOj@i=X7iVmJen}mt&mrSaR(?3t*lQ-ukB@^*#BBjLoM#Jv$3w7Jf8ex@) zt-MLC)Lo>kX+8bD3AdB&?(fOxc*@jzgfvR$&vo|R zb$no2-8`yM zLtgMOTpD8%@BmRCjf>ha_ZyBLzP)q&Y)cLIQCl{<=Y{Q}c^NAQ^G5ptOt!W{o=l@r z`y+AOr^g|J3RXLji*Mk9{iXvu*ZGYcyNRZ#_PL#F9qmp^bksw#T4p~=`yqB5uA+8d z7AQpyy;pf=1Guo1-{G6xk=?)cxm$+0+0rMa;?Pf7ZT-{uk#$s)x;T*XG1qvZmMkA@ zF0}OB6@t$`b>fY4!?oEoCT`Y$W)&aj>2#)En!H`OE!uxgysG^CfZ=uetHT#E#?TlO zSN^+6n`s}R-?g)#?@5gn+3`vd@$FYq59{q*OCcPNQ#VabO8rjeHGq=6Qw7AgC3Zg} z^n9wLJ1^iN>s;`I^KMJ_q5#yYc7Kl=F6>ryk1|e1`CYcV;KwLQ#UCJl9Ps;l54!O3 zY}g>^q(*ZK+XvJB9ht12WD8kj&w#+Q7B?bxml0aDbbeaxq`MfkX>zT8ccD=yWZF9%v9}%1 zi4J63kpcU{;Sz3v*!7>HYhrd!=dv4fyGE4jW*dXTkI8HLsm?0$b6TUnJ86 zexIK98i3VJ=1eZBz;tZjRM|!&KZJYLbSU*n^&(UUOf_5rQ*JBVTGlr|gd-Ge0vn$< z5-aVrXlWL~&J>sK-8@->rn}{%%})wHsn7TKI^+aXD5#F`82I$+WGIxL*N9gVLNhCK z01q<=gQDCaMr6Pw-2Yv%-Mp!}%5wfXTR^0V;h-v#sRn3AlmPev&|NDB`c)Gy`Q<#vFBG@Z0&Z_98KHn z>dGYWAIDL-KY^4VUBETPI@!;=T{D*TW;#q`cT*EGY%1_lo*Bq0UX8fZFHusWkhSx? zZ#6n2OSLnZ*am^V^fFArg-dPA;`?_qXR7h5rJ->O|C|7B9Z|&FFRH-PY`Km`?|sgrt;$gU zRlI)QvYEx#GzKdNz_yF6#^n|lSaC7Ra8|$gY&P(+WU6N@K>eemwi)34Bq~I0Gl42! z-GOQP(eaSFcgB+$b5U+<5BG-s z3WVcx_g3M4JY?F$#pl~PCezN0RxxYLeYx|Tbc}^3JmG()R;TqTyU>emfRhA2(S(Q0~E}%57drx1x)WSY*W}{jH zvFjV^q|nV{}Ew-TtCGLXUht{Yly)*PX=>oDEBh!UujjgiI=`AQo0 zNz7)LX}9>IOOiXhG@V(ZM{Zkvdy=>2g|`*F(ebjh85UxyHx#JO1XX^S1uAchS zpd<7}x;|v_ma=-04ZsuW3!_rc0oV1v3#$R--xKN2Q8up6Xvx1S>YiF_pi9dK)?NI` zH@a-4LuX$|*f;2=kS28ytL{Ae1Ca;>WzBBm`)W35*-`ZWI zfIjXQZoOLXQnf_o8S)z7$=s-C^rPC;9r-=_dXEX>UdJW;4yLg&z5s5oy7HltyAbb3 z_gG$a3B#qp>FX&mW12Qko9i1_$XXXh$sm238iI&h^cm5aCS$I!W8ObxE9E*KsVneE zjWvrkC4kN}XokKzVXAPg`#Nb18nCP$<4V#81ndc^t9q6%0)8cLVlB8T9G0Cgb{^sdZ? z%UN}2-0_Rf(ecFDpb0=A_QHeG72W~*r}hp9jb?&Z?j;|Y?h4b;Mhk`HMhO?i7kM$xH}O?r06CKo_NhLS+07vSjTgn zFmA-V&BywwM5fj^=R8rrKQr3CA>F-DbVSbPon(dN z2P*>sZSvA$$6(Pl-z75<#OP!fD>t8qQzr0-#NpTQl(^Zo69}H&0y2E!*<@HEV`?B8 zyaZ5sgjBZIYQPX0{T8Dca36!W#*l!tc&qIhMjaoz7|Jdt;8wd*F&Ss=Cb(KnNV#Uo z<;ipTUl(EycoF`mQOucKJzuWtZg^z1;G59ap9_&Yc>{`l(}&lZHBx?F&MFCx`@q3} zxn;2l-nVc4yJB?Zb_o5u1<(GJsC=m(aWi@xP1=+Yel-VgLQFZMhu`#@Z(&onhbFr- z97*voN>C#rX!%3f{=$F>bdRi}?M^}9H~J=V#(@Lt?j|8=qDxLI{@v?SiYCH#@V$!3 ze5jhY>cS6Vn5ho&UJ$u7E_ZKeHl90mXImv)e$0ck9%bz&fP!Q5pU35*_6>B3K25=c zR|j1k1q{`6Xr(YtzcKRj$(prMgQ3sHpNYV!r z_;eR<-Y7-DYXP$crE8?wk@wF{VitUC#L|FDXDgD{ijSrVJOYdy3D9w@KfC!2VR^+0 zzK*Iv(-!w)Rcpf(D;_`|OR}pzL`J>>$Aiax&n|e1?8OQ2C8|RXxc?Rd&MnM1uI+V} zgh+}#X!>~@J&Vfco|cU-gZkuYHD){&QT7aOQ8i7? zPMymBx&Khpb}yq$rXsRrsA6~alsg?*A1}2PoVmVgVreWbpS2BLGWxjd^f=bYd^hDg z{O5vg)-b_JX;~I)zgVfrj5)vz*SK_TcHn)?A=R9cBXJMQiFNhOfWSeZGj&d_w2sPuW=xA#ZVCg6KSuRm z>-yU5h0c!$t(7a#UP~7UtX54&E1(&r8aTqZ`ClF9DX{ZAuMf5bvOOcW53S4HX8GH3 z>bd{qpkr|I#eU-zy3-9k2x5r@cMyuUFqsjAQnB$PxHit>>z%8%GF-wU3u_%HGv@JJ zfBHvMVMxf(PP55xuhzBN`R9!r&=Hloz2_R?j^tzoFx`|I4r;^BY3}{19*P<{=u!O~a`&y0lI<&p@v~cKRhq>R9Z-P+a zgX-0qrR9@G1^l(5Hq(9$Ef5U%(@Ma&pWp?ERI=(_JM_NV42EL;E@|sf9fSS+V}J>N zDk*>V#K81{VZOslsXjL4=4Lc=CpN&^Cf(7-B!+ZY(Gl|DSrwqC>lRj-Rh9@>Y%RM> zdE;{ksMt+2!!8-ceX7u25mY`Rfi3iwib{zFo|Y>KiQ69NeH~ z!xpd?qN!z&^$b@zvZ);lW|NG*xOv^CTsmO9&TCVw)Nu`!$oVlEu+Z)AKj!}$mVT|; z;jR@punVnE*{qjo(YPu2QE4DREqPmZ+Y-3zERR$0IJkYi_{Mto7Z@8duAn_FIOE(1 z5&2;A6VUDasr}HrPinK*x>}ofv?S)%u*)@)x7A*OK*zLE?5?K!!ABpdiobO_Ong3E zM^%WrnGju!I+nDJ;8s2vn-8j`)9Xs^SCT)ObW0-+aU-cmd&am?jM;lW^918~wH_0Y z08iKN2Obk|F8B!Opv(;vYb-4gf2@DYtJkZa1gZUEV8?tv0T#6LA{a=b9W4am`(RFSldlT~vga`!c zYGK4YcrffUXtF6(KpDQ8#zrZ(A-%M)Qx4u6?pV19h#i<{0Awxb^i-NZWucqujsjbv zes#bO1}>^AOc>Np;{T!S&BLMG|NrqBLg!>jQDi+zN|q%1+G$Y{vdbEwi7}RJVNe|^ zYsDbTC?RBLY-5bX#8`@~gCPxBhryU(W_<5)&Ut^|pU?05UDxmT=iMLG<$ig-o{#mO zx_izrzzEUSb@qK3>8rJ$&z)<|6H3x$v8_{xdCtpDt1bhpmX!Q6A;02Zv|1VZezfd% z3Nl$VaSs!t+;-d+U6K_A6-tI-J9z{6K(Eu?=vAY$_$yv^%kot+J{PC&BRMj(Rx_yD zM?t!u%(kDaxQmUWSU)M_MhkYUhSuiRVYT@v-P|7^SPkUYA|=V)`frO3EOMH1pE$?0 zOyw3$ju40*xXXriRbB*h-iqVGcq5Q5IFB3NpZhaWM(-10`6Lz)o+z&buo{07Pk=^F z+=V91Zk0B);XDPC>6=vrKVXr$z*hx|doCUdljXqz9|~SedpKs31HqJXV^v+%y(Kda z>>#K`paxn4QRs-*x5BgZjJ}#}MjvLWKJ^@CfP!=}gEoA0i5@uBZ7k)4QWmc`RSFAx zmGlI+&U{X)(O;?7hTW!HDS{MeOCD3?4CU7U=sW*8W6|#f=lU$4)^1P)Vuz1{>H#!S z65CW-!lvBVXo9=B^b8=&eSh4d$X*_YQbKZpo1gmSgzK@4?hCz9n;%>t99ZTzHiAW6 zR3R7YS>az?D6G7vVtl;jsfw{^&3hGNv6{~+#u8DC7Zu|l=T%!N_71;i%DyBryEdTD z?;&n_cHKjmdj95tu<&erfUxm=?m>-{O}BrPDVwnyFof?=af84RG|yu49$l?pgq5tJ z*N*_rk5-@36p+>ppAU~q&kovId$Un505c|X5xXEr=Ceqn2-^s+h!AAUoI`s$j6rR1 z+zMH39F#mCI*l_Bm)sdM+YKvls2BdoIlZL@7xNJU`Ai=N@g|hHX1J~hjUKz*j|b;> zhuAGvDs=jrpI8cSdF3LVHL_vnyt-8sR`yWh^4bX4@A=X+>Sv>nTo*$q{-SvZ3fks8 z)#bgW4%w9D-imp51NAhp9M>FelyV>1klZq_ffL2Yq#YgAN!z&(Ay83rAk8jBL7xh+ zZ;Fq~7;x9QNq}v@-&NqT#ZyvOFzGnWl6iT;>XIL7*#Tm^mA~0iwc`IxXl=2ERy;8q z4j+Rh3#N5<)dwUWb*}?gwz*hQuDz6;fl>t{BAVb6lorzyK%h<9T_WgMD9`nbj zY$C=TdA%rdCRElwl9Wl_)J)aBO*sp%@d%oFN4W|9b(5oor7^=yqEj|PKp~)sm1)3l z{~tzfC_zkQ z&A&+reYnBv`C=8|Xxk$Vb}spn*3=R0aA47@w*Sy`t%Vv+l)wZnC8`^zjg|D=@u14r z*k$&1f3)$e$IQAf)X(q)^DFCw53Xf9k;QVGNKSvl7JqVB?^;EYK`^a#it+ewcoVh# zq6oMURkKjawk>wL32R=t%&c~oh&J-L57ZO7m#?AgMe~A%udj_Bbsi`V{;XZF`sfJzu&6?e?}Oh7eUISlAW-Ix{DW zCM9nHXm003tAP43Q1BNqaJn&_3&_>*f)2gu@{;dAXE+oYKhckWZe1@(BC(2ty&@Sk zJrj!1Mzo@(>Bzf;rqAd78YEoO>F;YVJ9b-ypM@>;Ih{_<+2yo5@F&NaveojR$SY2z zQqrgNxfKW&M0K$GYXgf&&b;9yMqrQQwVWgP+3&9m2+nf2IuSLKoX%tj>DC5QQ;7q6 zfBd-ewr<;~#hm}BGZ(0I>IeySit=3MlKhvsMbia zx{A<54II|%DF&m*=@$s3*_o#?!{snozgze*#=B{xtl`q`)Ks~w^g^`qoUDBl7F+x~ z??d6yGZ|wR>+2$)snyzWFj{3*iBU~Hz-^hkGmSh#moJqi9t<*WToKsqo3}d_S;Sgg z8uhw}LcV9zuI%Q|7F;N3(OcQjUD2%})hpkHIB)!7tyG+kn;DIqUq0Dg~6wMcR^+_+^8Uy~xisfuUnP439k zqBK`O%%t`^x*7)MKT!j~#mr>`(N%iellBmDb9e*G)TR8*_74ht!pvzah%*JPk-j}o zk#w3W!iNVDX>TXn&-IO6(2eTvLRnFdnnn@U9LSNAYk2abjs{0H)tbGfbXMEiJaP{f zxA!wMS&Vg^2Y0AreJ1kj9%%#aMO#u1d(2d1RaAsi*UX4JpJvhr{Fx&QG!_d2lSrC+ z^l1$}DJP&ztPcxqj|=7_GidtZdl$)Xxz{$FA559`hL?o7Y}vL3t^iZCY#|)8%Ok*R z5c&((-Va~jV5EO7BfNAM&|Qn3bf1|qDVJg|hZ>)*fw7Nku5#_5E^_qbyf@Y(^%q*3 z1xdV<*^Y>uW9M-z2lktpimr>fZMA)#sJ49UblxRmD$Gsn z*Fjg43wuKS!aF{2+D{QJ%+RIUw88xA8uzMRsmmfi*fj1a9A0|!*Sj|zOHBC}Te_@T zG}f^rF{qGf!Te>3%bGJ=lFuFY&rmQxy{uPBwB2cgKT@Eyn9{@7s%a7nb}|&;?tXj+ zbbfkhKubA#w5lh%ayP+46eL!8)h4|bKb!WjC;r52;_oRTof_!{(0kB%eTOhvs_+*= zpEu`phVpdL1+YOuyxG}vDdzH(RoFh6UdcphD?fWmK=g(I_7X34gjTa>zU)XR~XmVLxa zM{t|j0udj8&2Y($%}&q8Y8@6y!QLY6195flgfu~bSbkaq%-2H6h_y?ctrM<4JS`8+ z0alEE7-=Ck=muu(5TMcm{Lf4F%6Q@*`5s_g;?mcnx{fsUyty~L$cnx;RdDFOJHp2$ zDWuBZ2hLc#tbX|p01wy%@(2tAr~Tlw9SazeYGw?~FaS=N3a6{K4=YD}LX_&WQFMJo zD0!`91I4GTz43h}Q)fy~*MCqacAvg>(OXYzH;CFbj*Vh;&htl+*${oM%1oR!aEO%y zY=vwbKNm7=y(x!edACPVv!mQqXZEOgp+mQ>)5XNwKS}&|B@9hB+$E2U zo+Qpb(CIuArXM~MNwSPEo@g>zkskP5>4AKHOF!j&G3Zb1+jd)r9Z{shQv6W9E`HH# zTI8y;l{Mx$x=e}SyMsXGuhnb6*6mN;(ygEgfz2bMCMuFh>)ypKxk~HlH@0p@QkEV< zh-n-32y~Nj!5*tPlEV1;#O3R0w^zuYAd!Reeh&_-KKZ7{Z!b~nDdG(hF~C9)5rL0> z9IEY=uPU^_;CF9#M}|v+uAKzU1=iO`=7E5eJ>vwGzJBC>g1+-AMcYzjA&e{FSYyA| zS)#D}In2mLfcF!#f$udC%Ju&P4v~feI z4PdgLlr`lX`|1?GKTptu=*6gtgn1le<8W^cz16rZN{(a6@f$^-Po4D6c-usE8 z`dUvt$5%I_TZKg??o?;!<|%(o*q*HxzhEqPG=Hz60tps~d4|1`C*${$RMHwStJXeW z-Z(LR^6-(vt+RmsRun}&$$gf{`c@M=0(XsTGnPJm{^*C_CJqE}=l~ccYU>BFo-BOk zP88Y6avig@w>h>q?yB=ug2w-pr<0QuvtjrMQOZ5eNsgh(Ifs__rt++E((TK4^3z?k zBX$VH+Bi_CNOT-Wt)rU2p|!7ud&I@yyiQ_DIdCsT%!aUsqT00L^znmtKz?INDc{w~ z$N|?+Fx_?g(+k&SGJ+0j^d^U0H}5B$G9%br5`vU~pJZ;+VgS zE2?_8OnCi{2aXy2_P02wEu`MG8QCvSeMEWblCZKR6tziwLy-eDJPW`GoU@$Bo~NHx zhaR{EuABn(cQ}C=jVhC8|>7sd>o`5WF>(#OQRjT517Y`f9j5d@}LHH zD5ak<^USLp^{Ms|J7d?A!`#PbKU1E6#B3KScArEGe^(4!%$I5&H-h_z3wKbL&;gEa zlHO8?;Dr^M*M|g zh~j^HSN7R)fRb#|YIxCb?9Tq7W2_Vz?2Y;DCBt3Gtz0Ln?(g zDpq_5x~Ch|s_+tjVIcCxMEeNM*AA6Iins5~0A$^U6&>niRgVhZI*OL%BH2eD@1U|g z5tlvf?;(slGw&gcJ;&}L%;v(qv^)@{p2He=g_?;Ac%>S~1^oGKQpxf7+4kxw1#<5N zqQW+_wS|>2vj<;_Uv8)t*Tg@r(bdF1t#Q=E$8JPcCTJ1`h)0RXiDE<~qI52twCiCX zfROXbq_A4YZgr~pwc@Jbov^KE%NZu)t_ z>Jpd87h!jtN6tb!Ln8cr+lv=v~wUxIIv%uw-j9Mco! zxV5INH!sfD+C0DAeF#*DiFhH@KUZRpQ7tam#hxH^~gEX(k6#z;;X2%#q z`4DdbH!<+U->DbeZAh}Pr|okNKbi8-%z)h~o-Kk$WPL<>hsaW~ZYP!I zj{M+Fp>#X|I~Np@rjm->qY5m%N`i?mI;$P0{xjSDVI4uA{nRX*s|Dj73hH}(iBH?X-RB7Pss_kr-ki^1e}7$0B!DIul?JQ!?q#LZ1BQCuGxLp@H;-lnH)e$GN$Jgw#O*N}TcN6TnN__#P=xQEElx^D zcU7-K6ix=HOS4HzxqssWPxwY2w`yCaU|)})=QD5M50X@$WM}^D`O!+6YVIVJNSTiC zPpZcD#;!-mX!Oj%b+c6pQ77)1GWf>^=OIPis?!EBo}w=7EtGCdZNX zXH2vzkNPb_`m=`5S!7;uD(=ftv}Ft=rT@0pXSt=EC4 z7eWoEotzQwnLQ&O(t=3wq8`?kNDpH&HS(G{gphk&O#nntu+~q@y&aRM(!XoIdnWOR z4m|z?4t_#YLT&4%%X2k{B(y-sNWC#YI;s~2g?QFc4zqMxl>99lJ5oNDNi*tKO>o0% zh(l-O^gP4)qPKHNSgZ5aAT?OUZy=+WalvuuSl%yh$PYlHo?KqY4|LEdn0znRPw99= zJTTcyHb%?A((;F2ZYmf8fb6-R!|K9mkR+4KCD3^s#c))*s(H>e{$?ZR_z4iX7A;e! zD*yQf^q^#E#r-?T>cbj0c6F)Gn@%gceB=nlqXq^8V7S3Wm{qZ=bu;X$yS)VV$x%&TNRY)?K-P@Lfm^9Oe9b!u>=v2S$mTi6mcl4LN zy~(D!gjPOaba~RYCDAZipB~0hjr^H3*?>N|J!=~=Bz=n9N0Mkl8*fh{b%|4Dc%5LE zfZ>Jqnh;D#C}nOojxG4KS0FbZWQFww459P4VJ(cVc9*bkv(RFS!FsI=lw+`5W{Rs< z=j|TlP!x;?OOAY{ILT^lT@P#D+f7PO!dn|GB+SPBx16Kyz@Hmpw!yy$b!qqtOvB0V z==?V!)*I)a0S`{Y=)pI_2SACD5ux`IXZtmKL)r!y^^;Nke&2?OBBq!%&USCA?}@31 zsieC`JEqEwtP=l1&Al4k&2O#EObxi|Ly)cjD4k-jbxOg)32H`ogJ@3X9Fs}A8cG=c z?owmN6=L)y3*ZB@89vuw7JShXzjl_L<6hn1KK61q@q$Zw#DQpV8Y10&SpdX+b3FJM z#^Of!M76|V85&{cG&kU%39=$2+qZ_PoRZ+7%jZtlq@Ok0lKG`rRY<3iO>m0OL^zt> zD!wM!f;6SP8Ct8!W0(-)E&W;B0FdKUM>w@IQX|F6PuT7b_Tw&uaJS^rNJjds$uulLi${1s(+ zUF5Ayz%voG#M?iFZhLXFWYV$(#=TA~CDQG+i0;3SdXj3-8IDaDNmp*Q>rWEhe^@Sd zstX(I511xprAB&@R?bT7md(z+B3fac(kTa`BtRqbM4XTP!k|nec~ovts~xk!mb3NQ za&{d+P_nJxP;BeLhYtJN&7w}E><$;Z8? zaRo*2G4Tr9V{^)OvEr^lBioU{Jj!xmO=kH3x1tv7{~^)vW$ACZtq`n}`!$T`XYyW!xh$#^oN=S?FghcB*;I5VEkw1$=| z+fF{h1=$LccUb>_)ET~giSuy_n{H|aEERwXo@KBHw6mluo#4C#P$1Y9R@pe*=e z=Wj4mT1TD}x|GxU&yWsHJdy;3jvTxf+31mqI%#61MflFAB5tJ}o&5>#D94FYkr3Jd z9y6@a5N%Y=^#W$F_Dv7Ct{3xW<9m053iNf7icNOp$B0z0^6r~$Ey=iI`7^u|x2k9F z6K%ntX$e)2Q&AxxGcfcJXt#)SvSDSR0m{0;|GXsuEy(&E^xDg<*@mrdp9J;!=bJrG zyP9>Q1|*X6I^x-1F5Hdo5^Y3|Pyv1*d-3?`?LiUQq;aI8*x=mp4NtINOjBCaVe)n& z{5D4>7pMsR!O?kub+*;NwM))a+cS^0LF3@5DWqM{f}UHk|+`aSP_F8#HLe7C1mEzHs2YJ zW8ee@0FD}Y8gNJhI0F%Hpr6fHIJ9qVUMoBlEP%^t?f{*ZKAQL2=m9?tZE)_L@)L)D zKg^YYiiV^gs$>=At}k(mfLEhKK)TYB(gGO(ngxYp^*~Z7dsAkSSgd|Dl2l@_nW)Tn z+&OG)jqa^n&jSvXHpE+VDulU4^YAp$t5+08`Vyd1vP@f-&Cqb-CVD$yLvOvFS7c7d zty2#N3UHa5i#%0;dlI*J`IJF1p6VWUqzUkZ#ru^!s9)#DV zqEL?RnQ29j?D>(L(Y^8@^|Rk|J~6KeeJd~O7&C6!Ej?%MmkEuXBAHgD40Z= zL3MOJD+vqB#nE`FL?mSRT#g>D^*FhX*8^%}^} z!%mP?9;8w7M6WMUWb+O!f2Zowv_9c~yOL-g6e4d_<-A#Dy;#+1*{TiXHX!;76+4a* z=+D@-ly&d~@F6-{HJ(qs@Y4FgUDl~}<;q0x=AxNd|%zOn} zYMouZW50`XydH_g^2e3+P!qK;brm6=Oa;bCbfwRFslpXqNNLZE4FX*paOeNDq0@q$ z=E69dWfiZsz7si#st9J()RMLy3n24fnJF0%Kx@F4LjRN3@INUL4YHb!4P=90z463A zes{M6&2=&apul{hIwjTJBE3(*(#@fJHM>Ka@81q30%ZxJ+YQ!P>L*f_K_jYLDBbf0rE8=A7$_ zgp^Kr=;VLtEj9L)J+YA!;m)dz(%EDQR)t2ZD{Z$T67V^+{5Z=^$+(L58OJzoxiP=x z!#!xK{jA;@Wz2L46s2B++WRJ!tIDXUZwU=ueqJFC-(|u?SOAOx%+r}$%sByamHl)N zx0j7(O?#$npO3$1qH1`y{ZHFTXMn9qxIoArL&e2^JI>-BGeA7jPZ3@GPKx2eYNw!G z2FrXI@KH^W=BMGSN2Y&Dd{iOE0PmIzDP!uz;xZ96PK(D|KNLq5&j+1*X*=)bLiZkC z)r{BJ{gu=D_@n#BJVD;%Ej@!iRw66cDC-OUWbNid2d;6OZo1&B?)rt+EBGZ;w0BNY z*v%38?I8P=^dvsqImjEbhZ5DvBG0X#A9Fxso9)%$eHw)^F%pNXg?OU?bcqa=(pTG)lqmw4oz7t9uwh6CiP?abI}Yj!4-AV^B7Y-A zHlc0Px0finPM%@6QE*%E24(`piea%OTfaK146WTqU)<3cC zo2A8f5VkUZ=d($Wr)$kA4dyE9&HC=$d=A%`Ar7}$^|cF#e9hUB$O%|U6PhNJ;^1~| zDCnltZ6}QRYgWoJ^ev8G1^pbsuaTGZiIR6KNLmwhXbA}6y|y#VlA84_;5Fq1%vkZT z*dJwSw)zDh`K~y;SpWLbjL*5i15?JZxdR|m?1=Tiw+h-J*0_EVYbn&SP}jh;D-P}G zNs5@G41PttyCn+L>`q=PW?i7Xo7j}qWxaL#J7;mv(kgi$7X%!)`srRA2gCP|JF8t zFq`Dfa#nv}A@EX;YqUhf#w_x~Qm*PJ;G4m&?2kc?c!6h+Q#zY&95dJ^P;bc?aJo|Q zZgI1m=jBixnH;Wl#la^Hw@|N>BY*FEMb&*$`qSPAMLIfY`CIoRC#&6aD{rV*_2ctk z19la)b^Rbe7mg-E8&J|GPzL76(Cf4aobUs5XNP*D8t{_L_cCF&@p{Xg&ri0~cWMT{ zR94Rq#3NyYMKOldjFR<9kSC=0Egs=i?(t3){6GIozt*DucM*D#2prQ=$C zXo(@Mp0to6bXaKjTnInzDe%uxU#iA!M=WvzzY$bpeXZ=E1+O>(_-s7z{68a`-k6Xj zzl|1;#>F@|b&!#6ZW47=A*y$`Sm5;X{O^KLTR}4yZ1@6%Od8kU%mj`&>PP(Ot`L3tJz(g6 zN-emxff^0b&j&m?)MBy>O!HHm`)2|V4L^Y(po zQG(fp`vPd5AIQ*|M!-$8YY6w0;C!_Q-{HTrBF-yOw{^f_4owJ{4f)&&!V-~KE1r^? zwIOL`2>x~9*0t6fbo9f`5o*j0zmQk_bos1L<9XLIM?$_XnX3%@)9}^b9whhQ;+6zw z`YmnH_{PWZjSm+%@~Ny<_4A*NBj`6_RZwP1;= zP*nM)L8mT_=Vpr>ZM^Z9V(*q;$8>7SZLY!+2igkaacr#^? zl)5}BS8`mI85pyf?lQ{57S-Z z@mNmY%C!5uPRV5E<_{ph>mxtE$E3|OCY)b_lu45LpHEfL5^6$JX=y^|<{HJ9A0Y$w zz9+4eCRO1Kc6Fz~696gx1jd%8mp~0{xo<**^WQ!=vG0zkJdfJRnM?{h#Q`b_Yk){>Gu$~StI1g9L3TeO1DByPXJz_xrc&RXrD+g zbyi3cz(1-%Yv3dHwsCqx*j*`uM@&!eL4IS0?Ikp+6ZSk2=zEo|h($rcOD`%I+wUXJ z{;4-qI?G`S4!$}_vA;EYl_c5(39mN$e6ea}+Gfp$44TTGr3e2qE}!iN*#!l{m$yYU zx^^<~ysXn#X%8ZALN0#lOf7S1$3x=DyA>IaG5&=2BKEWEJ-9~TeaC%bkFR0i3;{P} zBl!BsiNwFjzYp9Eb;BId4*%166K@3omKOkWW`_vaH4}n>U7J0m3RNWk4y@OWDh~v; zB~t>1>J9wJ>|8kSe*}_%AtVcM^(Q;S7yJOzs|YoMKG+TrGQO$~nKL^8mJoFgTOFSH zE8MJ3w6fbs?$dO=tWYE-d%G=MYNm zy`VpHf0*p(zQjoq@O1aqKrz{-h?`^XYS*dqs z{RD~)eyz77b>`}0_l1i;`^(?$O&7ObWSCXJcl`PVB*o$DwOq~3fQjlwM+U)7Q)1Y8Kd95!O zu}z0^GEwc-UuhhFjdAbDo|UqHBQn;H%Ku_^1RM0yV5oK?vhW3cF{E$aa^1M3Ek8-S z;c#T@T-byaB1!ndVH5i#FAvlTv50Q=qegKw6ICi(&?3>X_J}`vkjM$O&t*)E3?Ph< z5Y_m|FIBiuto7i<{`!`rbYvE42$y|qTB6>GJ4R6|Ds5vSQo{Y<&IuaVvi5n6`}&ec z)7BT{tF}Er5rO(p;N7h4zwB*d)Sh2EpN5F0=D(2+!^A*dtlFnZKsrrtm3(k%0&y|c zC30)1Jtt&pY!d>W;JnTEaOB;-vdWIy0`YDj;8x7_2(U7T%>!#dCi{x1N>o`$(pjxk zVYcx|^)&9A|3b&iqF6OEy9V^CmI?%*+&6EaW+>#Ti;j;5)qtHBXaeX#T$pQV)M=#^ z-yNLS*G99g?MZv1n3*l92`%wva>7hwGZ98cM>2|GqVNs93JF$g2quCi2Me276L8*E zaPXz?H=;zXPY^{}Y}-8c{-F%tE8yN%_{LUnLUXSM+|tJcq%f*;D5B11{R6a&;&jyz ztzrOih-u`fjdm&<>yK4f8xd~ebhmrA>LeH~A0J~Vx7>>7PyFhmeXd2-L_Hr{6w9-$ zR9z1I`tCw;?CZhmrU>;4ns8WT_u`|v+?-_)QbMbX%P9~<;<0=w~jHN42O6hgFo40bT8&9)46{; zac=6Mbs68ZH@Gsl0u9L=7(Tu5y{IZ-C7astY9zBW^T9YW#cQ`m|LIDG?d}bb*(I}k z1SJE+ZuO{57#MAX3X$(0*-km|v&RBs744NNyySZE&u(6|A?Fm%X)Bn(&9JV1p&!k# z`)2-^C8mp|i?>uGd2|G~HZwn~T#UM+ODfVt5gUD$jfATBKAwgUqLt*~2(KTZp}G<$ zCFF?w9^-PxI9;=)h9(R6ct{(?pWDwgnQ(*MNAZt0=`}!>`AuJY$i8;;#uNO{|8uyU zAH+-`G>xW$Mx40$GE{8R|MkVo?|b2aXg6T}+>dty)=xG?p$1U5z~2Fla5r&f%r|AL zRI+y<^;cE3fcb;C+fEkP7Z}@}>IH14<^UsI0Mokts%?}z?Mpr8LiTQ5Jiug`u{OEd ze?w}9gbs2w$L*(eT*+tK2kUb#GTMLyE~|If+2HSF&wj?IT|-=zF=;Ca#ar+FHNRJ` z2-NIJZsBizd88S?4cfqXd3uFp!5HPC4|_mUsy-L$x-aC-S`zB45O`xJ)cPL=B_&9T zTaJB3##QYuw>u6>QBposvw-Va42xXPx!)&}KpI_(N0YVN;vT(N$SD0$qNFBGyp=8UA~n~kfVe}gK+EQ-*|+|(|9n#efro+KkdIYZ21n*8)wxvGMk zZRr2$r#hdNJP;NRdwJPpk6%22LmXV8gfeylJ)rPBc-O+O3u#|E@C$|<+3ic!l!@Wh+TQg)`aQWfBxfd$RRuP>R?-V+@2||d%M{`aIX(p$j2^?*jgIq! z>{M{9vEV+94`O)wCQ5B7RM+|QP;j}<&OpeM)<58s`pmY?_=|2j#cb22$G&NEbn!n& ztxEaRR8Ivh}1xY?WO%hbu_JKFcy%|lUv-kiMfo=u)W2X{HXPWh}rrMAaIM-?B(WmP4XZdFpq(D!8Yae zhV0~04*{mHjA}=I^VdjY67VTw4xcL&%R4Iek3zHk4}Hm>*lja$Sqi5LepGYKBFGfB zO<0i=9L*rWR)%ARqB)}VIu{^fVJ#*6D~Ac)dJ=eJqPugd;rqo7_s><|*Eh}RHzK41>3@O!u%MMzR>$9%Q!T#ghZk>u+JA9AcUUlUAoe3N9U@mx@=8Qi5&4*kP}& zHb#Vligms99I3>1ToUZ>>%Q3^hN%s)co41|e5{?h+=Bi2ZM%}_l|x{AlJ+}xzz6>a ziS-(+c5*uLy!9L4#snJLE~o@=@NYZ7T7nt?7E8|KpA6*RvN|A1u{|JcS&F?_b7+*_ z{QJ(N{yN_&_z#CQ0gO4|l6Ix~H6?|!gBPR{SmSp2%s4qRgvJ&Ffc3hSN}2g|PFYN! ztwwse>@@D@zfJd+jeydLkcj2wnINfAE%fs8E%tEJWJexdY57KbH;;}>nk1@557s@X zr+32Qjf6ocD2aSRZA+OR-wpgs3X&FIlF#=Ki1xkZ$WKdO%oq*+IHHQw^<#zZ5zSvV2BxMM^Nz@jC2#Sh_ZSl(f?gE4Ch4>fcd_ zw|-AGHaM1!my>0-1Y!s+9>IYL`KViOdJp}Sn5n?6+kt;CMc!Bzh^paOnBu07$))84^~C`xh-JVi z^f&!E8A6O~uN!gp2F+YY-`{VaV5<3|j2Z|)mkGel3r>~Gcdjj!H~ThFy3egRt#((; zti+VCyC?Ri6@bCm6YD9!AF)pmz=-~v7W<{rSw!${?(KYt*d(*LRo~=J0k$;5e|Oc73IIT| z30hhP8Q;o)0#ajFw4C3t&|77Y?ahTrFM`)up4BktRIoYd{P|J0d!Y|hACZjo+M1>5 z5c+)Td=Mm%A7sigVLDUZKJiM~AT3?D&Nwr@C}QO#>E?#kbDFW1Bng+}z( zw^A}0}r86dqzKsa@FWO(jb=B4cIVHgIpW1*6>s)5`~K6HHgj92!-|op_W`kKi{WCRxQ5p& z%ifgg8wvy5*StaE5wB}aHV=U2MXJn#6|@Rd2^d<{CnDJIm&0N`kV}Aor{7uSda+DF z=hv%+2yO|WhRbsQ>_CC6~d`-ax>Q9g||)XJmjXuK!!V^`CY(;B}k+`?`@;37fNKk@%)Q4ptz0 z;{f6$Ti#gV1fr;zD9F3hCni@^-M4o-VMXw}Hb}zjfLCV!6_9F-X8NUC!561VP_se) zpkUr2=p|<&!-6pgIa$zu-Q)hzYF0tDP@ElqxI|CMDiHb!>XSA_bePgH2G2&JpdSBq z=4-TzKXD=sJ%LISw%6Y7#dn9y<~hPs(?#ms&{to%lxf2k_GF05u$y7eF6i)g;C_%Y zP98Qz<_lHGdMo3MWdvN>Tu3>Hh_CN`5nGU3?|NV9M}R8pmR10GCmsn-=^)li+`M`6 zYwd*!jV@zmHW>SM!tnm^fsdxBnu;!br`>0{mTRD%D(z~}+E^g?JO*Gsbh3fW?mryJ z$~Vt!%jj}J%5YwNTD>#7Z_0}EUyIy-8ub3BwZ!QZ(9p;ZROa`Kl>XC{2E?~0gK=>i z%FXv^SvdVFb`2}5Z7J7-EVqi9pq2Tb;&gQ)1F2YX&KKGZ;^6$Y9$u4g!@Pabk=)WX z21ptg@FVBSg^vIJam&6%6>z%l7E*XY$2oxZ8-OettS_)Dv^FZmSdxY4j@-dj-MKE1~aF~ivIf>ULO>BT6*PQH@Zp%FKm@)uWGeuuJGMuEtXBNDdJg=mmHbVGIIzu=1HHL_ zAB91Y(*NNyVuMymh`Z=7!fLD6zCU-5mf5Pp;4xzsoc=s1#f&pzQr5hZ>18u3QhMI( zD0Powu){sZ@Tdrgw#$FC{uYPo7SNI`jqcA~&t%SZ#`Ncz3s-at85o386T z3zFgqi?(TVG&{+Il`V|98d1QTiVOW-r`v!0{&#q{TzAad^qHtT-JJUA>bgk~<8tKg z(U=09ALt{aD);%r)j>O;8+UV513$7o{i;>Sy%?S&#q_>va5T(jj;ZJ|u1pV=x`B%f zoGyE4!;*YS#lLOBZDLX>e^uKtBHx?suA+f*h}RF549?%$27qXAPT1fe1Y1)MzJ`k}w=~sa}a5Z=L7~7!}iJFY5_kL#lq3s%PEYeQf3B+$5XC zS#yueM53}}B6&zg3v_EMxLLgC_lUykS|UQu^@iBb8^>@2_2@Sq@EsF)egOO><;iJQ zqHfX+1ZYt+P~Cg8iy3?{i?JN|#uqYxyg6HSeE|M_t7zrc)hQ9!ME`f&d(6}Q$vM

ow(Zh7rx`Ti!S=7tg>h>CAEmxEaJz}vZ>d( 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%0AgZ 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 z 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%0DleBKTjiooA6a9#aG(sU*V_T{iHjleAbiis-Rl{ zgIDkCn3A=%bCYEU8|Ho5 zWXfA~hLV)FEQ|6fZHrozS>MnSBX-=`ifJKH{(zdB=St8uXa%*zbl!qu%!( zzfZDCTFy+-I?N?&+xj)v>)z%WE>hHDT4RHIp&yFkyYch>=+R<)cnULVK+59&T7VSr zdK;|FR5 z7`|&N*azVnbrXzeZJi8wpsk_K2Z7EApft(SKB}>c)s&}|d+v|=)nP)Jnj(s#DnXdS zEEwu)ZQUYE;!KjPQ)L~=u=e?2tQR7^wMC-N2&w3>Pt^NSr;qjpaARNp zL$9|Zuk(P1K-Tl!9#OusA0MZrwJmag-o_mXl?Sm+r15)rA9Wl2Uzx`AY5V#6_s{O> zJg)d{+{R*i1h1nJ%H!Wu$D4V1E_4pZxdPZpR@aeM;Hz#Doma}|?eN*i$A_5XoCNpB zx@NYDILG@zXRa%r`M4h2pdB1-qx*2qR~~?%7ZlCB&Ty?n+bP>ec=&-2KtLGhHB6!0 zmWanS4#B*RMyMaw=oBn#*}<|$qoNNS5^Y2@xLeCMaz642tUFGqoYM$?K6GND3^Z*z z@+dDGm{vWO7Soc`C~NV6E*^mKOa=S-U<}%5OoNEd^4Sl|01Ib=hj2iwbH)VR3!)7- zjwDLi9N>O}j%Pd=R38e0Ty}d+a#{B%c3PJa%aF)dafA~(yL%h1J)kye83y35eE>+fG~_i(`WUEJSspC8(C80{s2e9pO&%E0ed*33-; zvOo`ud1UfAe2@(F64q5xGBi#sS=VkjG^N za@5WE&|S8@G^KU4yS~r`GU|YAKSe!}^+!DP2Z@|@O5l1ZMRL|nTYD(#xxf#s*4b)Y z_cwkxlVT}H8hW&`M;uEWLrQ&+VanqaSEj%37*kZgpTbMxD@Pt%977oA=txTA9C2Jn zRazF;(ZzLIYT*&b8nNkVsUh&X@RJzsf_P*eVN6+^%cZHPG4hn7QVU&F7I_(15^Md9 zi_=UmQ3dIeM6LNOY)y-!jP3gv(iXsoUyV98$lE`2v-mwm@cmz}_4>c-n2pD=QjdF; z_iF;!#w@nW;NCH~~>z&;l2w+#S3CgH8 z0{8^HF3kN$m`M%~#AN$3fB>ch9{Q&i1aNx@2M-0Se6<8-+wz-uuqXS|P$p+Tn??Ym z3`g5heRNF%2kpV4Y%_X>Cd~vWAcET{;4%#~xG?TTe8?B0fG^JnpxAaqTM>PfXdgyf zF!8L0Z8R{z{WI>Pcu1?h3z!0!5*Y11iCOJURu5GhuR{_j61DXK7JL**c^{W6QgC&Der<3$`eXg~$qCEus z03xMu)CmFm(dlyFQ&d+(ol-s}>z$}yMxE7uV;!`Ow z{x7A=<#gm|GL7MAPq;mo?H9H&S{@z43fnGdXJOmSuXai9GxpWnBuI;P1>>BrFl-O> znXP>TGQE9%#I>|WPuFN#tY;cNJHJzFPschwhjA98@Ni7aF!H8kg*-Jn$9lRx2g^K9 zQ>n8W3{V9&05&72yF!0WL zSk!dOSv}FQv<zkmO} zA`fD$H}T8w8cS2+TD;?Uuyw%Oj~zdp=LYu=!5<$>uk$2Ap_K(!oUj(KzOWb{`(bB6 zp1c5QEIcxgrjtgx_M;14>Ac_=AN$1xj3w87@v5-t1*n$*pY6PUDx>eCeGX9p(h3UW zd|5y_ogE_}^C67|67xr4edKW#Y<|ZtM*}0CM4?B}5rjNJ6oh&L28AmM#n=wtE538< zh{2NkivJ`2H+2lDa9I<;d69MjjB_Q|I>~;AomIbiaF(P`oPkPcAi;s9*3ofL1u(?O zx&R(&@)w|^A(muG00&h7w+gl^*(aaUM(hC!;2g{I|t{2DbDEV~?L zTob@pqT^zeW?lYfX9gN3!6zWwAm1Wx7QjMbiM$;OV6O*D0$5W$XQv6$W^!B0Nq4F& z!aONB2iaM|SeA7+z(v0P7Ki$?fG99^qMc%2s6Phc z4b?BfEGsP}>-t(4b=9Oc?(5U&e&U?dmM!3?)7PdU%Y8ijgegz72b$Kb!*^XF-gz9C z=_L2{$dk{k9^C?@JI@iv#XcWRFs&N*lk4EoT36wZ5B}Df585c_SZC*Ntn+~$wgJsu*?Fvc z52Q2hM_BjFPwn9#+`BO1=vK()oIX2eeK4BVKiYu#kP_B86BOXXz;VCCGVi4%+lP2R zGvEK7VwrLo_vXZsxdO3_sjnrFyHHjgKy?Gn92NC}SZ6yC9r>8KBif1Jf@~{l1eod_ zSm%Re31)`^k_NL#jyey7LykNHk`O7A{jgiW2ja4BMVZ02p6Xt1>!Du8(Z{82HwffF zb-`1j4F{r*=(b#`N46PVP|rmD6C?Km&mf~VSQ6`MXZ6v5u2Z)-KIBWIMql zj{Q0qNGS=b<0!5^0D+Yw8Q%|y{6UOt{9uvBAJ7!l7zs&XJc(kCFn;$irLIRAbEGk( z8|7P{qI#CbeH5oev1PGEpGOp10yc4+@^}=+ePpo(V;fmqNh#T-ah1hyOu96N@Dz0f zvDb?nH7#FH1Cpv@PV=zu3rU3Q~e=NsUmZSY?`O61}W68E>c~H0sV6;Ek z*H~u1NCB)qN(@-(0{Dt+ZV-GZ3imLHV9MV~0JA-LW0$}b!MLA7`l7$J3SfkBzr}qQ z_vuLhS1f?Rt*8f}Zh(42!2*~P_+Y+b1fY+(PzCUQkn*<*;3j;%?mqFTN0HL*gL`5B zdDOimfTNBEB98UGXopFzsm`Z%+>G4^+Gdb|ibtK&?JQC1pL7*T)LjQ6uFK#6ay9D4 zBaw%wuB`P0;Z1Qh9_!_MIK6oikl&qk@A#|-9*Z#2OMZg=G5!g8nrNFgff~Sh)O9(R zI7UJ9JWPk<0f>KW#i@hrtbbFxQVl0Hbr@8<+yROW-8|tdV;d!Ix9) zLBpDhJe0sfiKvellDCN)yk%()J5=vmL zyV267fG$`9HX%55WVjK;hET%w6pe!bu6dAVavKA=+ef6Lu~iygtpS$Ax&-1dbXY_P82DPt>wv(W(%a5&&&v4&&=8ey9LUzK(M#n3T9j2OMIFIF0 zo}f+NjYjFmVrg;Pe$yJxrG;*+OWgWA@q+_6moO?MU~? z&;OLTah(v4=4cW(M|+^7u3dYIJMk;0utN{<`i01isN9ze`gU-hKzFUCll06c)c2ok6fC)T0M$;y%vlEOWR|2<9=}6Ft3W*DO ztHv|SWjCC&(X8pS)OhAPM*pA_7Z3bg)$yny3tW#Z@-)blw{<=4C7f#O264@e=wQ}E zNbP#L{oU_y<&?viKDB`Q!Wd5Ojd}w`MAki8!#u*SYb3)o!>+@ik+hP>F{W5JPx@v$9g+lnJ3@?gIKjs^FX z;Q_?w{v7B14EY!z%Ygd>$Ww{9@%VR;UXQW1*FG6H%ww;w+yr`q}FaR}jZO z3#_BOj5Z^eC|9E#y(h|N%pTxrxjDN)EZJsc*)2Fay3j{SM|qwzMm6I8(Atb_L&p6i zVOtSP-e+{L@eB^b{Rqprk9itN&-Q?O+iiCo>}^WCU;TF957CY+Q)BZUDye)6mT_;r z8SiP%5zBjS#q`){U*f&+nl8Jdwq>+8_vk?@gxR)ayYi+%DqnqV)B~bEK(4!~h5bI| zE22H=PI^gWykbZ*fS`@p!iKMLh&CtMo0qAbskUaeGcWAz%qEV{?|diV2xLAGCxPtO zQczSxJMyfvV_E8A8ig!SS5q6ZzY4?cM7$drpe|^6d(s68?J29H9`E`*>h`YhqfNqTY26;lb<8GIr>d?} ztI6V^i!g~|z1KK}al%o?)0EV0baBdJOJa>MhOC3UgCq_%$YPED6p(?HE(&9rQ&3A5 zck0MupwX!k#f@Lj_ZFwTT$+ZO!uSn2>J>|act~Uj(Zo`iIL?&#Az#p?YYOF>W{RNQ znsL7~i}C)9+-{J+_5aWHV-dg*_eUjw1HA`$NdV^*(Ery6;OyJrHLCV=_v1-3s0P}tPMF2zkZYO~GF5p=J zCxZZn@I3|r3_SXmtO;N|5d3Ndu==o@0M0&ezp8}&;Zer{%K}&un0@Q%Vdz#Mt^gcM zur7e*J-PsnI1uZs)0H;iu?yg+bFLA2V)?2C@B;E90R(Wav(B5_)%cdLY-a&%ud)&3 z2`q+}1Tc;z1aR{ru`V3OzBUP9ZQt|v^id)^tl!NjZ_i`gUr^KeIoLuombEc6xDtO$UY3yT37*<^0 zCimCA$D=8Ku}%Rzz5^Kei_P&%Y3S^!>55YxcNkTf+ZsM=`x&YE+x}wRjVi{s{YG5U z1aQgg{Pp|spb({z{7zK>CHOQL<>zV*A1^NSzXo-Rxor%2@ zAdY{02OZ1)w1=SpuIClbzi7bo+`3<&^VFk&{d72|d*;nhH$;hHh1od^3Cx?S8tW9k zaYL>07Y%tl3C;#QZp7Ic?5PtyY6lH>HRw|S^Jc#!fHgIUp8D?cw+UcA@tq@;ZbzdX zm5!YY;PwvS6u|8rz-XLvddx`xU%QjjP!Ic~dX8DVy1u#aAX%ui5!H^T@ zCw|(SPj_1Y$MT%>Q~W{%Hwjz?FdFXX^Bs~K1#m2z{AJ^Pg8+_-Y;VN(b+btTp8_m^ zbJ`pUV7;%(BLOLY6HYr;1TZV(x#T-qqLQv~5x`NAx77Ol36u0f*x>2%6l8uX)M3R< zQVop=G$`D-2&w@76qb;8(FozPbTUu?M;uUxLo`^{-j($!$zOm*POdiz$p(-GWQQUb z@5f=D46~smlwN3gIpA!N(%pq%1moK9)-!b39p$^!l4*UZgv&2waRj5SoTczp;LEoC7!~ zcwQ9h`QvvKv6G4-x1Vdk@5S|l3|wyw*DvWD&vP5=9)UZGTwNpRJk#h~bf&38%@UWi zMy;+rkKQ1scA<;Txv!oUpyMvE#O=5&(0h;gF1s@&a?v5Ek+_&XIY;5LEP}+8|9-K!A2u+QP#R6l+!0$>IQljQUH02SsaSAwYa6E z#Yi83_aS*b!xFX_Wt*~=jo~hC2jboX>U$J11?G+DR1VPb+(z88k-U$z(X}aQy{`8_ ziW>G*$791eNl^o|QAfQS^%T}~vwq9^uG0M)3*fpgK|Pg3y*8HZAwH9hEIz0>)SU$DZ2+^i zJcfGNlPkPyNkD#Py(}BFsE0w;P!K(aQI#55*??S1Sp^;|5=`r(&;piON1li!i1kNf zX%J`0N1l{`qd3idQ$2p(##`5VrJ~&p$!{0B@f%Y3_7{~N+z~AGA{9RsH-(-E;WuYW(=S z`nT=pq|RlmKT&{y_jNO*)%XBm68m@}u7$_)y7cwwYj^GX&Fk~gCI76d)|MpNtp&|qB~&h| zt;;qr+q#g>(e91%lWp{eFby|GMXOAugl0bi`VC5ZG|F<4>l~2)BA*^qM%y&*2Z`FE zv0m_l$Zn^)O{#kj?n4^A%+B7te|ZY+em|3B#+3f8eF~!eNx>ZO9$7{wH^IyYq4K@$ zl**nG8zYv`X&v|8gwtfl{d@22k(QE~a{1QVS9_u@>Q^B6H3*E$cB)4sbH*xg(_Xbn z@sM($X|AJPdYv9nMjO>4S#8#+mp~#%x;pT0$l0o*oeCh4ue>^eIMyiS%Q*5F4=i7) z*-5aB`V!VPtI1_eB(sfrVLqgc`WFOpK2*mxDjrS_+$QA%dC?99Y>%cy?$cPK?Wua= zH}DD$2$NWT{fx6#r}-hls8{MiLbWkb7e$?vQ&u-=eCi;KT?Yp3VaHg00n*qr+@Rf; z4*<71d5$)Ao!+nUA=!>&TP@lVYID?fOU_QjSIB%+vY3pr81FWQ9OKl~6vmoHw~sE) z5ym+!HGp)pG;X7diKH>5ou{J?xP05&QyOcOaTUhIBa4eX<}}oli4uyEjq6Yrzv<0_ zqVmm6Tn@5$g73WLJB+&kwImf8XB?mTEmn^OOXU{VMlY|YIn1~!cA39Q-{cLNE_?jG zxeS{0%`o7*oN-)u+}-xR9CsZ5^7~NkSMi%*3TRSB|Kgzm3t&s&`Yzy60P8^n zoNHYGYx-viU_I1;snmBm1+=DTmjIUh{U})$z-aepn}0h2oNa79G%W$#+SKgVscmXJ zG=kRI#4dm(e$w0=PU_1nG&88bED2yN@j!Ck+t?S2fjYP!RsoEAq}KzE{M{sgai5NRwq}RI{X69^1@IPAK%Ix9R2Oxi=PH`9N5$FStb|_`G*^oG4l00G?g0l$&3&dGSyLEHZxaoDB` z;Ob@QLjrlGZ2MY)TOI%r3=FOh-IMtMc8rN9@q~e4d-y2&sbk0`(v;~ ze)qk^I&ggJw_%>xE@=W7@tG!JTqyfDT>wA2dfmMb?py#%dW~u5IGXeDLjlv(QDxZC zH0_6BHdrD*w-1mv^SAv4+IGxSKVP4zf4(1R01e4 zo`5{@VjU+gPv#^}TAh>~T{L+y@uc2b09TxbWh(&ULS`X=!U4-jV|t?e$masY+X)mn zL*Wv6>j(_*j~8OyPZlmLu=pLEFB`vzBbh(qMKqQpOliw_(Hq!`A4dKf7S{UASpe6< z9Z#1x0UX=8vCTp%z5|X4jyKL9Hn8#A;arMy!{;E+9h`r0Gvj%8zpwzV(}O_(x6#14 zbYpu<0enb}?_(9fc=w(g-A5&W**Pxp+XV3KsC4K_Yzbg=xJ&-d0vH|hTM1w^s3m?~ z5kjR%({WM&XTy540G9m4lXqB0g{%r-G_Fx`J0B9biC~OMQ^l?|v}XZ)zAA(b3*cD) zR=$T)0$A^(WChbxe^~$nybria;BW0f0H5C1%`pk!BAYCrEPye6>|L2w;lgd~emnx&RiR3_gV=#Ba*KDuDHl8VTS}r2J(Ef@NaT z1aQIfmmLgTrtmBvzNT#wz)Rb70j$sHc@)-mTK0V?pX1ikmf4&)r$@#p+E}8Ir-q)= zl#Wrh3DTnB$796sBz8eYa zbL5MI#P#%bKEFWgaQcEqD^TcC>S9DL9$?TEcs_?Mae3bJfrlJ{OPQ-F^?*j)PH&YR;us;DVzz+?zIfk{25q2vZ>%R2u2^~< zbxhVJq7I2=sb{L*sXC(@E_zBg*3n>zx`;(=Z4{wy==X-Q?uI&0aDV1)^(>^Jo)t?s zDAAyG;}cS(3l}tapX9Q|ar$0}6UY>;d#YNdIsM6}SC2mRYyffk{OU*mnPkZ+xhhF& zVf6S@kVq++D4r6F&XkJai3kG=P={+g*CEOP!&p}7_2PiHp#vCTEQ8N|?t76IJR3a!B6x+gbjB&(ah2y@h|l3? zMIMKPXA^x^en#YJc>99lds@v0u>bl$^Z#xrFFxlPqR)Ol)&cg*-wof(-yx0@zPHk} z4bFq7zn8>*3E~1DW1J@nYdM2>{%-gkUR0Qr<6;nJNj;yFE#A@^!n(v)S&ux=0DOL? z<9hP-I9y{%yT)2vlm!{42!9q2Ms)PBM8qeLksjx==80$G`UJ7ghcuGMqpWGNJHjf5 zo+BJBy}(*L1a>Ujb_f?(=ArD1&uXF@ayx+JhLon{jxreXnh&cyp7J|5LZWPitd4bc zItJN(B~gas0UF}C$kWRDY*%}fGs2e76wJJTsBO;s4f-0m>_WNq;k14ihjky*gY(Fj z_q}M_vJIT~Mvq*EaOPCnDV`7BpEFMIp(jn1jTx~Hvds(8jA^jrJ`C=P^#tu;KI9y2 z+dCnZ-OeRU!0+0*p@fsAQultOedbiFZ>HJnYOF zucBRBK>L>MTEO;f)EUo@W#BsG*=Wylgq-S_n#%f|)fpU3rzxxXzGJ{qciC2D`?S9{ zgt8{uq9WgUjJk7edt$2U6v&W6u9E{z8|$g6(Uw%3QQ{cw#Lq_?A=`zY`RpK$*?tLH zyC~W>8flzRhG|43q?kuYVhLg95yu!=331Hns3G1U;8Ge>7E{nc)am`jcxUT7A&txE zVgu0!@%J{0AQKz&GF41#qkbOW-De$>JiC3 z4@TV~=#mV`m(bh9lF~5;%%SeWQJzt!q3?+L3uR@j8;t^uG~_{B_Yn;CLR&b&dh+0r zr=z`_pe|KF+yjVbyBKvT)Vl)IznTC>T`Staj7K=@Wr&Zk9x8M`)ZGdQGcNOG-u`{i zE{{0C?ISJQ>HxDOHpUwY=>DrI#hjH9cH!S1Vox&216S`X|uu-RnsDsvYf&B^eYqZ~-{T%oX_$Ct`g8~%5SR$P`KEXMd@ADP%Kzs-@z&<&cGtW=$3u*d1ox|w}+rF?&9**<9o%dQ- z-VWpKKVyBP0OqzCSIO-vYXaDvQ2>IJJ4EIPOLSp9KWIW<&Yf93Z<|6n)0p1YYrOwi zO^;*&>|xE$*M~VL411qdNF!Yb*axA1&raJLmB+{r0C<`o1K6A#+Py>`%g3;VOdH=>?uUH2FkLr1}4&JZ7Fu&+kT1 zh{bY{^SHQuf#aMgVAQ!r0IMO4b5I?@XyiT=%LEPKCVqo#2qV4i)T-d)j0ZF%}l%KQy2x%0spO6~_aDtI!e!r7t#U)Vz!<3?Y zA`e0%u;f@1z)_i#6p02h(K;%8ssLWhcRX464iY$)c%LODa1+7#9^fKxQ1Mg+G#b%o zcL97lWN=R5Wtsp^(6~M|Dz}CLIAszmz!boeO%lPA0M15t9c|b~AqJ>)Ljc$JMa=@( z;o3MiXrTLjQWC(iZX%3^fJpfZwiLi$ko1ej1waFTAQ~VQiN%RFYIIouOJrhQu#+HV zE}6usIuJyUPnaKAxE9a>!A=N;AyQl3kN5Z0_IysCU|N#f4BM5s2E=W_|MP&4&z#P< zK7F#|DR5&OO~KtIt@9xs0vEp<8;IFZ1dz6BC+WXIa@%&X_Ns*;G*$){)H@i8YyxwxEN0$>nUWEU3jQP z)7|$O4=yh6!9{t9&O?sAy;37l%;k7bUJ3fx>rncT`~ypInZm?*zdju(k* zI2%OV3;N6u8huNV%X`%=ZDX}he=QMLJyQw@`HKg6h{ zyYB76c1F`=cKjsr07Pyq@w77QeW+_EDPh~bGTnJehTC=-58-FHJw;##A`#NBOGc-8-#uIfq}Q>u zY;~R`EM+BJV?DypCRl%d0d6zJ&G>&~_~jq2UikjROFxV>iQyL_9eJM1CBiQtK0qG8 zxPrF@&O;W`Tb_u=XZUj}L*6N_hOr;+e*y2?+qCuE#@i`h>^s+=k9Ee!F?lxf0;DTG zh~wqosWQmoPpR)f_c*qrGfwMR_BOTdgVCOj_H!fdiG4lqrMSPc4=IRtG~fLm_h39Ug(M3ub_6vniVs+}96A8yaBU4^X=ujrO(M%dPFq_HwMF&T$~>9tqpdtql#S9BpVk zNX>`MuzryB8PspsP7WZCZ{Ca7CPlp`MY82F>PV;`@qLaQ-4(Gr9+XBKIqH5C$&|(zfedMkIwEFj5uCjR?PNR@2p~Ejj`5Im)Is%% zq~LtL5{Wa#q&U&Y<7oeWTMt094U8FR2-?5rtksVxkOSAFDUTs`vaU_pL-B)lEb8Zw z#uCSxW#<$=yorZ4J>ppHPK`Q7`@s)|s%;5b744F2o3M=-Z5BK{thP`eZS03=A;&)a zyT_9*jE`^AQd<;%;6ukz!nG->DTyWROdVOw_4mB5jWB*^N@I;IekVs4gC>Xr$zzN( z)(GRby!CBe8ZW?+#u#zTk;b4);|hgm3Q&wNZW1)(T3SlvDoz_4Mj}@UyHl#rT_mNi zr8Bo{pQU)f?||=B7{qVjQPun({eLH$1h7TC#jmD*9*=#Oy(4-LwH^ZK4+eAr>}kqP z8~q#Sl1HxN{Nlq10Ul6j0yxgWO#=8sAKp#?$NBy-_i@BE5Z6KL4=4hdpxuva2yJ^_ zQ+Pl-`*7MdX8|nSKK}v*a9peCPYNV}PtJZQ%#_syu+cz7UWR809DBZx_Iq zMtKVfYyo`v)z=dUV9Vb%0erpQ{o4dE%6;4ea4&%L#gg|231C3^8=#H7NdT*DeOI)# zF@qHZFqXJq_4c);Z|ClIFXa6&?vuuS(w(@6;+_hc00tJo53xVIvMhkbAhhUL9#b6Z z3{j`B7?ksfWwe(G>mci>pI<^01HkA4);7(9>Ugjq$|qXxi*>^D#1l9U_2S^FeC-1fKG9NcWR(w zWud`$MnZbb0yrAC7hZ;uz<63O1#nj6uzudfn*?x<1a1O2M*^QO`8x_=yh}s^SnqEt z0yx$wfk`xk2LT+7;jFMO3E;17A%G#FmIN>w&4U20@;9hc(ar)GvaCIonG6D$4eid> z0{BG9-fWCFCIPH?O~-3dh^fImJ=iROIqff&kdSPYNIqIbLQ+-PS#q$To7DftntCyuBY;qjB-R zWD40hhP5Hr;IXS=$z48OA4@j&VjZ0*khdC*TR=D%M&w4k1uh$c9E}^{G9s7f)Crvv z;+*m{%jQG~+%~=P3}h}Ejd{%m&eFBewxkBf)@D#rbis$6vVmSBnC&Tj&Ut5 zp}0*^%lyy3w8E%F%NGa~NvI!C)I8%+hmzliS*^!Yg6+85H5PkH+i^6-U}h!T$LKrS`_@<0v0(U{>EUilGu{*_oqdSZFY zaHM??d_VG*wD0B8|C_@v#{S3;a>?xk*0CS$D~WA^<7b?24m0kRAGh`AlR4b>6?vV% z=Jh`3ZIy=nvE9V;1o`kkdw)JI_$=XLt90y7`L&IXua70cHjInkGqIdDKHkqG9ls;u zkuSE>{&eoQYbVzmdAup9Gu`K7i$@seBF}%FmpV5gkVTF6HLE;gh{tCH4CgvQnCH09 z>)Zx;3BnOi!JT<`Uv^Vmm*qA3uT1|;=2mv z@wUM7n1VUVQI4R-ey{|Y?mR4SQy%l77?i^q$8z{ti0Btrk7J#pIm+x5$OLI*jHiT- zcz|>WWCM|`nHMl(`T4jv;l6`q%H$_Zz7IMjatCo8K9uyhL^4Lbw2swiqkF_M&}?Ap zJJ18)Xp=`6{Tso9Txv>ej#|e3Is0ueV!7S31N0r;|3I|S(YJ$kI_~@Ej7EKdoziNn zqumY|=ek5bm`#x!br3!{h7NA5C#tV#8f?~E&?dhN?Qhg=Gy|8WypHw60+}j#>`rp&N@dM-?&H1XkSwxbN!|P)D^Fc z_BACkUbhtWOK>^l@plE@cg*@Ii1sxlGG^L>1i2W}7^9A(PK&lQ>bb1zMjJbpc;7Lk z3Xo(`yV`YT2pK;dsp(pyp3U~M+s7VtY-xP@>a?uGTO9j6#~N+i+qq~fc(k$FvJ%F4 zfRw^G+bC|Aq8*A^hcwDq?IF!Fr8Z+7Weg~b4FsEI@kde^=g8tJ=zixz$E`l_!4$?2 zc^^n=%;|n5h$)E^%VWwxzrz@#MuRq$a2s8mP&mG0)kYYn`h@$X+MPfl+U98eoy|^>jIdgf8+cZ1u(?#F$!S5_6ZL-B*!FxA%D?d zqw9tJ0F=Kw6Ts|a!W8m&Fgx1qg8+`}cgF%a-+R850Oms|Y^!e)z>>a;0yxUD^H7Fi zzzF*fF>6*IRDzka0Qw!lMgg20lK@WH+XOJ$=owc9@Qr)#Y-}rl1Gml9K8N(ZSD?>$ z5Wu*n9d6*2MC_B!wm4r=6!$|+`P>CCrhl#i*gi&W@MQt~D8WcyaLZq!j8im)HJMjpiTK{&)m zIz+EtA(HEOaL((*56+c5$t-+3%16QMX{PgY>&Rf%k?_4T?qSGW)SWVp!Z*VH{eMxT$X=_LZy&VC|=X$5*Fq`?J6UW(LA zYp#g-1ott~_8&N3&o4ZfkMZ1J))z72H{vi2G(MZ>S1fhz;XF*|Q>b-Jf^Bo1o)E5Y z4&!{rInH`$!hG_ALwrL2$vo(@%J|nv0N3#A?s?$Rf0YDvhZxocGC_E?sp*FJ{^jRw zC~6Ojo~Hdv;`T4qz9ixc7Qk5Nb}fH`JejY4hq{mc+1MsOXUgw13t<0n_5V}4nN9?r zNcw@f50LRV$@Ko74C5rkNtWv_z;t3myb7P_SaO;shVujt#`wOEfxK|RP%r|lm$Z68 zaeq#0VWI6*05llqF!JEL#dpkYv>gO43gcM!`+y&dw8!Fe&^g-3f-3X2&eWs|UJGD+ zZZF^_P!K+$r9^V9Cn_+t4}M2}H{st2#}UVy1qg`Wk^;C9=SG}AcyGa>I7i#lPKR*= z6r%u+Mx}|HrQgHEsj->>#uHcS07t`9A~^6<%h}*W1Jr5z59RwA&Juav;I;+?>%kVphW{F(@} z0)r>o`bc1nDwCYJ8WkXnI!pLua}&Ul99LYUsYmfX4NBlDfD?{@qW}(KodP&2X%xUk z{_>r`m>LT-35*77pZW#UK=bK9R1mQ&QU{~<)PT+DpcB7m(=-7b711VuvE-fI2y(lz^ss~k<1Eu!J{i( zi3e5o4y*~_4jKrQz6+y1+3==d6na`)KtNLbQcQ{}fGvR`c9#WkHr^+yIE4guc>mlb=bjK9ljDqRGb-jWj>8+d){=&JQf{o9Oq- z-!Fd4KD{#JZjQiBD0BcMne$G zXbiRy17C}EbOa^rAo@BwiOyJkJ+2`)3i*y)GztU0mpkFe+_R%`2%?ebPANY4!6~B7 zr@-X{Aq9jzlK{#Ny}vDmE}ja`^2fNW>Z5YSchN8mC~*T${}({wq8wx=T@kq+5#k16 zZy5ISmW{&f97MT{ktfE|wn^M@2-0#9%bu>g(WU4`w1HrSzoZQb=Zw2byU027we`7 z+9igmKx_Ev=X0cNEG=dUMtupav(r9dC;krL`$LN?aJa?405L1+$`NP*B`u^xVsUGE zD`C;YEsc`om6R=lVg!<-NfL;c96k6_iltbGP_o3S5_XBUT?O$b!j?iN?5nZvdmh_Q^PGD+d$6M?PgNuz3{S@Tu&&{Qp7pG)5t47UOi7Ki1n0@-tSue zF}_PhQ9cNpOEkU;Kvz{rOAAe_9BQleFl~aGcKj5)0sDUDdK?A zv~1f2_1HMw!q$0=x2xZ=rq}pN&9j!beQ*3OJ%39tackR>at`p=jQAM(H(yFy+Rn5* z*niT$L#!iQ(;SZTWD%srw)|f*AD7-|ZqLuibe?~)&i~Q-F&Y0{()OJo?Bm+`NrT(Q ze%iU6`y1)!IZ(bCTo1Y?D8u9WSi|uU#SE8iYZ<^L%AhQVO4^9>xGZrw*2+ATg)R^4 zdZEi?m9G-vE`#x)O@NsTmIPkr}Y2b8Y-%}-;+x-+$`SG~_2ECItJ4w;0iRBDBQfqr3 z_xkLMXha-4DHHd1un#9`9dYanDs>XnQ_#Vkxb2Urtwpr$?~nQnI=(UE7dpqIUL=`} zrG)YUwB^~R&$?8!*MU0Xv%balyajT?dYS5J1hc8Iy>4lYx*yu^3iAQ(y-_a=_GCSg zuWsT4fTf+Db9`GH=S#L!>R!AUY9d%s4stM>}?W@}CHJG-V zBkH0q4cG?H_BiX@Y;!{x3%_!SK7dZe))`1EU&zOg#xtD2gcMEinM zQ-f%Ge2ML1NaJV=v)%jU)#pKL@9H5|wrQiSjRdRl8YDE&Z&{tgmKDZO4no#&ytpK^l@jFx!AsjYdogHCfI-dE(7?UeUxvd ziQhKbcX`zBZ&Rk@SmkKnB7hA?c2o8yDStHz{5@*|n7?BRV8h=%;S}Wo&xtl>|emc`CS0J-@pPG*963`uMx{%_a7|@U_8j}2R0ym zn*h#!EKvKo+JoD(0FLY4pbS8H;F@9qkbP9umHaIp~s1) zeb%zwlM$EDXW*WVWv(BNdpy8;8x0$2>g$K_g`IN@GO~CJx>k6x{LjMDnomv;N0B+7F;Q!2g zT>!fegvTu747TwxWa(>ENH>nC zWxhOc$X{4Hs3mSG9n=oRrSMEo&l4wbMIMUdOZGWLOuO3W}OP@)*V=T~N$on*`}9bWn)s;|8i>cfVu`0* z2=Gw= z@Z8LsS}ZAm(EvP*kw|gF%Z4G|^@~pL_LMQg6u}QgV=!)>28~2F6srIRxFNR&BW}{_ zWOv+tJh?^Tiw0vfC=-fbgPZ@I2laj=ObL=tAGdcXLI$7`fjG*6eMBO7Uy}?L4HyLs zZsZfmBODE!vI0-G>3xtGjV7*+hGnY^WyPpgmN424qksvgy6OTL@20#2jY~8#@f053 z$zd*&1g=v+L;hk4Rfn4x4lv!Sr+>lwk~A%AR0p+=deROT^{r9`e8YVAqg_}wgb+mpK|00~|QT|WqbrNwR+ zx_Z){(=7*IIZ5x%HFzpt=zR41b8)VEbS~fPQ)I5scRv&X{N7wly{ze%as8;lrzxM# zA$Sl2;F`o}ePE%>hdB~l=*Z&x*s=_|{Hkm6 z;goAv-^G)@SLai{QEquuE=T4@xyBAOfcN~Mv4@Vfn{H{-{!!#cIf-cjH4?X@cjICP zh7`E$=!>$MqeU?FV3g5!MtP0$JIZrUsobY6JfyP!E`TYO^MN3DFdn>{osS*gU&MiX zFr{+7`}Q#IW24aZ!%lZUVB(%v>Vuj_`H`rAMt!c}I#jQyM;L-PEBs5e(YCm6=en62 zNm%b9H`Xn3pGw%-j80~BNWVZ~YdHOJ6SwHV)+ktmIIml<&OG_Nu%NZ96_T?MtbOzu zMvEDD&ZDEgvz{)hh}{WwTa1WfJmo@9w|IbvfVj};z!V-4CRm5)Nt%d6e4$CoT&Eby zC0NSK^odPrHGU^pgbgApzl+oS-7Kak=pZvGrxaIZR)fOyC#x4DUt3SO-4BpQ+gH48 z6{MD$mXOMe?-bvK`_Ou&3BpJxzn5S=_oIFF{Zxj}FW+5hC7k-pt?P@;i}OuklJ-KW+|_IPNd{*aw^P z&)Yg&;|B6r_i%ilMBlgMS)iU*{M}O0GtK`m{?E3*3@13wN}sktet(zD`#t>j$X}27 zrr%(J;Tl;;AC60~e9U^@daW$NYrbDcc$h+xSY<~qZz3P*W=T<0qM_1yq3Qg<@*m-&tU2Fz(N^#WOcn?fG&>vz3ACoDh>|| z=^-QK)%}eR5e4-=$@}4R9jEajsFcirqo1+NQOi{tOB@S~SoXTXXl9Az=Qw)VBbX6x zBa`F)4;}^)W*s8?2mm^Pf%^uAPEGee1bkRL`*K*P$#tO7P3X(&bszL0A>0Hq>r8rh z-1RDsK+e%s=sy5MzW_Vv@c>@b*`nRgwm<8063D9W364mP`rzLEkO7bcs4E`OYoG!@ z4A^9Gz-g-uL<8!kXxF38igtZ0U6&=O+d^irU7utfm~~>b={YTGwB-YimP?u_4lrdk zWihZYjygKtbIf-gTNd-d?Tb~fr!3Y8W6sd!wmD=FMg(RX!S6K&ct{lOZnQDbw#H0b z994{msws&*yH>QL@vy4f(9zcMgRN*6vCYJ`liI;*cR>_?G1_MNkS*j{wrSCBtq%u} zviRexk5CY&yo;q|UdrMR=Ty{q2kZww%q4|j%3{337+_?v8Dw!zP0i_t6UfL}6jN4m zWN`}36vmXsDLo-Sn=~$?iz$a8iwBu1No-MESrfEx?pWk5<$ZHX+@*Af4W`8AwAc>k zcdOsmO9}4|C3yUA?SJL}Ei8X2dlQZN6*#8vNZ;eS{FMOyaGoD}zx8oAe*!*iFbQByd7kGR1hD%(2>L3}pQ3&i^+TYqK{JA( zzd zu=~@B0CpeTw(O_L0X3Aqdf%_*FGv5T@a446D5J@~0OfZV!0o{xyqiQjbrEb03YXT8L-&!}PPE1Ey@eel8bOuQ#Td_A^;@Rj^Uzq|V0-R>X! z#}PRQ`Uv#nCyaL-@7L)Cz~j$|7KRt-0@nhz3R_5B&3FRYTf&JYFv+lmZhJtDXj`Rs z$;*7+-t`gmQ_xqG?_BV<_#c`V$-WN%AO4K-J1D>FD;B^Fq)oWa!~T_;md8-XIf-?N z-t<0gTc_za8$etG0vNw-ZWka=mBxJcufsSGK&)HxN*G7Jl)?3!F*P3RgTHgWDwIpQ z^Dy2xt;DGgC^_8H5ym-QVV<78mM6Av%R&{pa#5Spg|07>j+8{&>*50ZSIH}1ph|3U zTo-l22J>ZSUq0P|cnaDF60Dav?I#O@_zVbOiQPD0_=k~>?}D@ldn#vq2c%)@-Fl$7 zO~Qg?3-H-k&IjF<^&0QA<@~~N+7{ul^1lR6Tr6uG$O~f-xI7_CII!gP#aGitbaCMV zSH3ZC-A{`{{zUta_`Dc95pPO9-cmV6s0d9;ke1Ix0R%9F-CYV2lFRXte9m zNCbGQnBl#edXx>uNdV`FUsQn5VOLl5rXRiSn_vW0IT5%K_$L<7M@gG7r>IhSXX1z zEDB&u3H=SRCV->TOaW{OjE3u1ivT{^0@$SZH97q**jfPN$>=T$Yr|JUvC|}QEG>Sk z0QU63Zd?${%|J4=i&2YTFbHANW$?hKJ8PqYCqdhUa^`1RKr(kcUPeN9JkF!oRfmK}=5jrMPfFY`caiIn-xRsoxq(sQSbhZ~b%CGQ zO|gsf2QUhCX14Y)Hj?XvNdaK4uM^>!|W zu14%?)b4lU+N?qsQ!jJcWk_9i97*UJPPKelPHPusg+}OJO`&VhNd=*+j;lV+GDhdt zX_i@@4MO)8mVxdplhBPaG9Q|O#I?-TNZgdUXt?F{e~2>>x-6?9a=8o+Na%W|2S427 zSsqySACkDGz>RwZ?jI1iYN%mdLRTD)dlT+YdT@y|SKuCIu^V7YWz^UB&{Hn`AXKXh zrNEsz{3u4}sPKnmJuTr34TanZ5c$Wca^?)dR%U!cex1a85d z%@VViZu3QUNUL)?mlU}#wy8Ri-a5iPMQA0Z?z14mnszih&0mCQMVi<9sIH1S>O1Rs zdgr`4`XL-dAE73Ye;BET@XHVkKU}@Q>3t<6AUq&Hm=t$2M#fOYJ{WP1CY zq;Dtr3h9K;eDMboNB(?ZNkZY1IL={$a7ruZSx--De9+`qe!c~f!vmIA5Pm7QFgnq~ ztrDTlP~KcmUiwi_f4Qw=AL8YbW}Kh2xHwL6e7%2cXBdun{}0@* zg%zjci~k|h5Qn@ajHN_-%J41lcKl!X9ZDLPIvxgbZJ*u_X%Xgm%lIJnWh{7K#P{as z#PN>(A|Ag3;wgvAXCbWXqM~zBn)5tvCcfX?orcBLpd7dE|;-? z%If@1F1LYYa(l3cWp!+akd0^X~>7jfnO$nEn1 zqdGf;M=3KOmihkm_8#^W!cWD0o1>3;FV_87%Y^rI<c^vC0l2Ny_Jl2Ee7|EqR1JoPwu4B9+3ZVYTnO;zTOdNMxz;_)(EC4L0IEkUr3egI06oDryfp1Jl4cY_VZqo;B%Li^-csgpsw#b>9L8!gDDcUTWlDfa1iLYUb_BWR) zvQA=~No^^$t#f2?ww?Vz?q|PH9@Gu|P;_mxvRxW&P|D(uOBN6BEk6FEP55~_>NXlQ zfh6>(V!gWj z5IXy1CIOuN5EQ^Tmmz?&e~1r7qyWY%#&GVF>|63HoY*(j`l}#;_0WX`aDROh`n*~{ zSPEeD9e4z=s$`_@#iF@8A0o=j8^Xay1aEfQ$Yv}^8i8#Xh^>eYrgI}TwV1oO6 zK19~;{|ILs#BEJeTo`_hfW8?VQyXmGrF7acXIgbf31r zFFvEDi|U*lcK@5>=6s#%YvC?yxC>xjh`KO`i!;NW%;%jTjsgsMdptV`X8{bnA8(WC zs^|)vYKUG;pR7Vda9@D&0tdE+cY?(&K-eO-#yidV{ljxTalUzdD|`Y{GA1o9PGHm0 zN*tIkpgFzgQ93V9<}0E%@W|V`59Uv>Zj_Gi;-@=mdhCaB9ZO%0`c?V>KC2S@aY3T| zQ9#x0x!%(si6sg$7K*tp;j4m;@77CHIQBxX!2i<6`!2rN)^+r#H^U zDu4k+FK>dn8M1*E4KR-gh5)Xhake7?99RHb{%$3JF$x$^5TpRc(_ecz1$0yh2pV+| z4Ps3IW5gNQfdIDb6%fF=eoGg?7y;+^QqBSxEDGSE;nxK)-np@r0LGKU7ha+#h)os0 zrV3yPq$+>eSY)N~LQNl&v?-vYa@i}Kn*^|)K1K!A@>c>Fl~{>ivsnO(K>&aK8L9aG7j)aq4k)a_H%JhT|MW z__Sz*d8%cDbNci+$4@`&9Cn`I+=s-)yRdORpo8VCbD~j}9WHn(*Af@_L5n7GaZLu8 zBCbl@i!KFMv?-VIt}@I5aOrnr$@k}8y}CTghs&>Y$I*4IJOOyuxJTqd;A+~t{vI_= zS&vbZ;+Niai+9#m24VYLUsnfj zm$-%k*Q0G;c$p)P`si7S+a_=mbX?;dk$7h+JEcDS4DICofi zB5#6pce*Ri>!JyS6tZn(S|Zti&V5tz1)924wDbuJ2#XHLU$0Ai2*gtim;ERX=`|c+ zJ>x2h$9^H7x=gZ&!n(f?1O~ztrLD)mYAA=2rF4+;$oVXAYuK#C$M%()4k-U15(&gw z4|h2iAdNCn;*Y`)d2@YC+#mm6|_e9IH5T?}qaV!(aj*OkL^zKz;{xYyz57>4C{vB}KeH>nj_4T~tvDAKNaGZqCQ{#sjhPb?r436V`?jAK3 z)4`mEvS1F+4C%P;150$v@Vb3n_d^Pdk98j3+{XJCDr1zUyv{S1I~9szl=qO{mfzS{ zOOLV|=?mzglvs~EBbK>@eD-^x zb40VnGV(+mmQRC-;|S%r$6GjK#tVd7d{BioM6=QC9bHCKE=PUCb&toM`5x;qkCyrj z-lxn_$=OlN^jxp7PXe96u0LTNJT6f8awo1v;Y6JbpiYMR8T(RtABOuW_*#tYe?os2 z>x9`~!9I&pf2?@MGWSau^h@9&L%wg*u z8kQsd{NOnI2Ox!tM8>;~-Cj96A4EmF=5&asK<%F1*7v)N*`{aPNo^}XH0y_G>wAn_ zJ3Yl29@6!LyclVTb~Q&BXIs(_7Q0P~CEBd@LFai&YKh|?L>Qy74Wv7TZ;tr2{FU&< zbk7xwUr+h`yYc%Suivo>;5z;D4h1l0CtDQ2!RNF*Y5~mtr6mE30SYOAv%l)71aMqi zP5%B{3gGOIWZ9Cl8))>e`Z6^eLKVR3@7!7dclw87{h=*=&Ulzb!{zCj7THTgx z62K_0QFeRguYGr8W=Zuo1I$RK<( zuEpbc((lB2b2B=|JkDTBYk9Dpmn7;W*?+Wz{gVZ-vGi@?x5dNH=zN$#9SBSNv+mJy znat^30C(m*LtNzV^0uG1y$@{y=Qhu8ha)egvg5Qp*7E`<#rs z_u;tClD;o^)*^r@ZIOwxHNx!z#d@zOk_dMZo6Ab>Yb`$0_!+q`OygYTuZ1gs{6&S8 z|LBwk+CN#=f7;ZO0krs%=6pQKGR-F)DJSbjuq{|hOL$?T;Atmf{4Yxfw(FVni3^Z@y=-iQk0NKcgYm1Te&d@Ce{8fbnGS z0Zs`eJo@ZFmQN@EJ(^F*C$YLLGbN?^%fP%Emy zjYCvqO%=eDz^?eR@{6geQUJRl85QMTX)Ysxldr4^;2h;yaK*fe#3q0ja7AC!1q+1P zFopEZk*EqwYElBD(NOt<8WN3p#4E!2&KbaIw4wpRX|)nId`km(k(9)rUP#jvM;(dW zSkEV3H9B|1@^<*2{67X3xmfpmaXx>7mtC3zj?z6*c#36@&K2WS%Z(hF>(Sj3yV;0J z{O;T;b=x``Ro{fj)q8XC@PW@q$y|tBG^lb^?wMNRJmv!qvBdkh3_3w@E#SJq`?5(~ zGnj7K4^rR(3r^n_*B%;Lmb#F+gpDh_OIOn^V=6dw)JW!buDBXgE=%fiiskI|;k$Di zDq}Dr*HbKGG%m^|j>tvB3d<7$RLe>h0J6-6mr$N{fOdW|S zB)|8vI%nNk%Vn3h#!?p}jD}H25W6q`Ai)SIkl~kvI-MLN8?_&!8!#G~`O zb$0)d9pvN{jCAc%^?N@+$9i_IQ@lzHG?WUyd#nyk{lfMh;XcTN`A*V+^F(H%rbe%Kjp1hmQ?XnC5k|Jg!#%g z4tFfCGCb^W+zwcTi7}4iC&DDsEF>-Om^as#SW5SIv`n7UC3!3Hosw66B;i=&=Itpa zBOgggDN(6yB`Qn2;r8(vDL?VQBYrV&;pGJDKL9_8yutTD9>*ETS_<11&TV473QW-U zm3cbxUCA6jf$!G-H+-JrW^{b;{UKw=G{pVj#~{MoPsSl{%ai{*{-2B!b6DSp0vcg{ zUIB6Z{o-=~|BpY8?+s$xRRWpr)es7I-cu& zsspm$2mKz2I!jAG2m06wsE^_`A9p{1rTRTI^=Ait8iu3CvOWyhPeCM%6~_8~loJrh zd{1SpI}EA8*PEcvB7p4JLvg%MQY5%Jp)`s5{q<4bhgiWBtDLC^%M`|LHvq_)+UH=A zgZ2g1V%#QO4il`$^fBI&1D5z)VPJ zgGGBR+GMBZtX~{u>~{WFJ<3>ZK8`Yu_F!!*QW&$H4q>deI@+RWQ?uQSc5E!`>{<|i znEscej6Z>CfvYgqI^^MpKhni9ry8a-*0jS*(%90H!kA*yQyXj9MjNLTeODc2T!e88 zr(hj?yfM{t zO7<>%C;5x1zzh5>AbktJ`%#Si&C$Pp_wUCbfbo0&|JnQVuFa0?x)anl>$SSOx?F?H zcDt*}V_TN3iIPZ~gG`Fz3=#w}6Elc8F(eZ6kN`3h2_P}g07*%f?RM#-ynTLqpB)kR zzR#NgDcP%6cmJ_hM4UJg_dfTzL&Vu}PWV3_1aPHVEYQSn$lre``v{8)u#2?)1KZ4E z^APzP+lCe@Oj}WGONunsc|{Zx0sOm708fVnIW({+y`zW$o`F39ObF=T=Xq&c+HnFH z8=M!JuOXnZ!j%BtV-jFS$UQJQ zhvp^mOR()%m49>!? zfo?x#imtVKfm8o&**PCyhd{y;xraJk3rejY9sG<;Zda1?bSzJ z=jg_Mw8z@teRyP-Ok9xQ|7I*$1N^7Lqrxn2;dTXaQIyFkn5v$5tEFg`m0B6=TqP>@G5 z@@_|66Tp+4B@OAjA#PW1-UY`8hFvFPWn(83iMF%}NecEdl`9=D3uOP5q2nf>KVgxr za{oaXS|_Mq%K|shk{>rI`5h#y8^bsBmYh{xKP-cY9kPi$l&N3ahE&}Wz&wPd)8{oF zx~_-BC9gi$moG1dmJcj_tFDjtK&O)TOUP~LW4=860x6w(i2&*F!rJIS;)3M`2#}*& z`RM^{{c+5$kGJrCPh$Nq1wDxMpva(J|C{dv--Ee7xhMU+V3;R`5VrANVbL2H_aS(} z@ceBsK~fm#`iOdO1%GrE!ik9!=#MdkuSj1eQg{d#Li`@`09GCX_*O%E0M`Iv#fAVT z6tqZS6TtRxg8*ib!972;7?jiiWrl!0L;yP+^dNwH&;tnlH1-P8py($@-}|8v zZ#^bs+Fw(lpni1pEs?(_fTuTb4a8W@Ti6i54BRw$g9HYU!0hqKUchrdU{Bt>0#K`b zA+4IY`f{aT`q~l#`WONHH4QYG*k#q>#FhYF_a6cfZ6SWO$7uo2%7OL>mM3t5{2+kk z0Suv6gXM+@V0i;C1aNzO2LIx>f2RiFTQV^N^OXS3B=Qg#;2Z6sDp`}jE94ct5W)or zVoe#~x%0GY3M@1y&#n6x+AYghl3CP@cK-uiFx_V)jr|Ni%dLlY(uyzO01 z_%aL&+*=U65WGy9vPZSNb(uiPTbHoQUm2_1!I#))3sSf7)tWd3nM7&Q#009IC7v}A zyY<}h?0Mp3QaAAAiIuZI)H9xE{kuQ>QN0Id*kz!JQ-Ki7Oqvv8z9voHJGUTD-Rt~r zs`u1S>pkW7SG~I+bvN*&DIN*D7dPOYNl4{}L*?DMS!i=}O`H^+p>QjEa#x7d4enzb43B*@{%H?g79ZU!V3@0KQ|JBNoZl?U`abqI(gwd?1f}m_rGv-~ zJSkx!^I%P6GTF&Q=V9%CYwr~dkOPlDU2@RI%8RoXf>h_}VpyVvdG zF8TDGbFe{v_9NrIjQJA~3BQN~0095=NklxfL?4+t>dfa#pgmg^;s;p!(7ks$J?sK7v($k4ZA_F#6oe2T9p& z&@n-4vT+iduc?mTp!!N780U2{Ld3>v6;kpnXnFKrc)7|iQ}1&c*HC%t>pTjU)$vOg z%=S~J-`x7nr_RUGZ>aR_+Gat1cgS6StIm0WiR(%WFTQ+9(DhT@DtBJ`RTf6OR|VIv zsPo>GP2`3wALm)^^q-*9*I~UDCV(fR4^(bQpMC)Cq%*HQ*WA}G^(6!Ok3_t;Yy;Qn z-rCja8ZTvjo3A+_Kg+pSO>zg8Z@_VaA&>qlGen3l*wj@Y8z9$ptMd|QpFZmRO2)Mu zeet`7u4R!QLh8Y@^?u%hcO1t!4v1%y&v{?+{#(Jj&~@wkIJ%M*o`13W;ho-PeIrUX z%cY<9^(re2Pi4Nb{Vf}^`VRB$4JjPxdtAp0&|L{(@Cs^?vCV{V zh7ZXRgz+qkr|HE&@4fJbp`6t+{aO_gmF%sIT5F?I>hQM?d+hNAX&#Ua@!? zXK&-cgldT7o!7C5SckI~N{$Rfmb~Qur-Ww?mi{gS$X=aWo#!NX|F8CrZgO`8b=j|3 z`}?-XuSnj%wUug%H4SI9nbCd;01v$#>(P z2Op`_Hh9}P3J;o}fK24O1i2dyB6bh#`r;_~K0SgC->S#t)oWWveb0pY#!+r!cM!n( z4qEo$qmaC98=)SX2zjOb{iJQTk&IMre7uB(Ui-DD@q~}-Z?4<)xnZvX4_6+HvT>XM zF4XTO;+pVC^Co<^7l$`pn?`I!U|kFr44oD91Jbrq_#1I5lvCgB%_RY!%Z30h+*7gu zok<2y3|^}432a^W6oywYWsN_qGjvB=;Cm|NZNIKFw#OU&u6;KT1jOY@fA$sPSa`r> z@*bnU`%Hh_`iB&k|4v95^7O&Az@lL_EK>;_f8Dc7GVEM*h8mS+$>2h)Dhg*YAU z8@_>)7KUsh4?p>R+w^-(U&lnJ&<~^_9b`O!Oa}bmkB6VOD@uQzIOKRiCKGxQjXwO+ z2*wMg^W(V4^ny8w0OmzlFUWogfe^s+15tfZU+s92ZV6!jUOkw4=<2^dKmh9=D69mq zjrk`Nz#;(_@2+@#iTpi40F!3lg_Qu-K0bFY1n>w8ZSY|i0jw2X$$@FC)Q z;QmklMc_S*m^g;a{3i`fCdt=CGJ6~)L^MS3|NhU7kia5On;d2WA(A-x))7<}(sh}1 zG$G8yLv>v~2(`^It)IHl|DvnO34WYYYhF}H? z!`%NF;6Iett|mZEb{upLV~(~Gzl`9o3P6(nJd(N8GNzsUGCv{xXU2X z#tFdl@b!(SZcTt7bP0h(=;aW({p=BX`CH%1Gg*_N@7Z%-tLm8yU2$cTxP)K+$&3cT zBD1qy=>MovLqyiChR>$lMjH z$HgRd4Zc}?k2EmXx6R)a*A2@Vpg}87rAP^&D36 zDS6~p-Pv;+$a{!X2;tdf>Qs-{k@vxkp?Sh2sL0*Ib0So$3?w_hAa$#J(Qo-6TY<>d zmW8O5{QOY}QQA5rDSb78Dk9b86{{QqclMEb2;7SUsoxsqBeNVbV-hQ`Y)O*yG4OBO z42U3T8OO^pML0C*gY;1QwOzwxMqy1Cs6JTQT^^hhAkX=%vPqU~0nuC62ZHLtBy~i5 zfz~rY!*$yMIV581uGiEAUXzdLm0Wq!)-hID2)Xpr?Lf%6r9OS9|Jfd0+F5_Av*?QC zOPg7jW9j!HOZ(QRE`+D`7X8bjbziO&?CMv7@p!&)vGQQZjTbM}xfGOd=r+%NWZAOFSDhHJWBSN-0W32WKcVOtOJy_cn*rS0y%+}<<3pSCzu ze@J$yZePEaQ_nRpLa67xLAuo~)U_E{<-ZA*XJXUexJD)0JSpK#;6uS4P@XTgoUj9UgoKp#T&xt3Smwf#x*wLA#t1(&M>CX{zXGJESI z7w}TXo7fA|7^BSmOPjiZ8u!d`lNY&t7S22cnd~tYdnRX3WO*Ss9_?~MRs;4)28<0K zYCK5T>XbW#^+1(3V@{0QkjF7@hd}QA5N+$Jv2ELcWQ&qb3Y!@Av9MyK*VlMlWA#oIF%56FUaT2UVtEr66qfp?+vG_M@SMAvFscp0Q9CR(gz=nv zcyCU;irZsP+r@bPqWKKOj^;J?FlNpp5RSU=?Iw?9vj8<``X)rN2;)M{t(a$JyBi28 z=3gwR{ffd+f8*%OUnRQI*F_qC`73{_dE6f}&+GXfP}HV^>s?kj70M|9yz#LP%o~mH+cUuvc+G zL~-yx{7*;!-G6VwI9|s8{ogZ*Y;u&;`4Gt~{xAQXG4tL}_x}tQ@-^hL!dMT&);fFQ zc7^v&Cco^_TcA#)Zo%QQC-Cldp7WY{5xq_J64F`F?+*Sa<9`Gu)PcNx3G)o;8^U+R z|MCw7h+mPvc>O})i^Mlp@^?=FX92)J=KrnqFaeCcg!`h2-+y_W0G5rZ7a@FJ0{Gwj zZr!8*jS1jHCd2NLg&QV*ZA;t|z}P6->UaWUUBb!QVIRDax}@ ze);A-RJuSm7;RToZ3^^hf_DKr0c|Arv61P#Xvg_r>v<$?Q{G~7AB~W|B7plEJYpxf zm6R2+3%G8b_qCek$oAKmencjBf5;vv=-N|GT_MLYQE%Qy{K`P-v@G(B4}x$pAP$Eh zvT=VbGU?K``xHrBP+z6Dmk$!Uk0)M^KAJNVqTBV>Y5nw9`3-@KPTGU+cT-Op;#lM{ za2@&~c+<`VaJTKcwM{&V?>be_RRiv7EV8w`T<0UKiD2MQE!)D6p z3y`u4GFZDD0Sqf08Esab^rQTO|C$7_iM_++ap9Kw4XQ50ZgfAB050Sv8mRgJU0!tD zP(sUs+@wwmLpCuUs><)%t`AorQg+Boj|WCKHmf-1N)GzmzZBG8A5Z9h=r4V)_;m?j zdGG32{o>cl=Q9Z4v~4-7VD1Yfr%k;iOLtEIdo_r!m;TdwX!y_guk(!Lew_qxdvevi zKMCNTs0;#lmH(y$aIezp4>tL~D*^zpKu^Dz)O!LSCV-LsT@b(`d>H&}2w)G4{@WA4 zgl`H7{Ob|G@&f+b5Wu}h&}R|AE4&ZuXA{8MQwSU&fHM#e(fcp{pX6&`E_q}oghK+0 z_^pBcN&rI&n;14S=oc{zNt%=iK|y4&FiBz&!jVJLmi{b5+?otl-6G4R1DRHzQoq3E z*|$mC((n2Zx_e?bzim(I;-UL5f4j+YR8G%=H2Xle!H(3*V|qjl(aC z)U9Vnr0#bOgYbsGZA@ma z`&mt78hGb6u`43?##_dF%Ea!ii!tZ+qnqlTru}mT@0)vby#sH){m%Bvg~)}#EmR(l z0};4cj3Wb*CoqKV|2g12-sG*vBlW(=Be%VB!M%LL`7VI^4iK@!-#@;w26=t!3Jj*_ z1Z0Q$7J*}vi<(e?M;?2!0C8*2+dgdZOPj!ca=$w(X;SWyloem z+P+{zt%=emPzxqj7lKv!wY-;KsCM+Rl)K+SpehYfi~c;`AbVd*8}xR4EXPxulC9@5 z`Yuc|wA&UYNjkwEqi4?tcz0r$x7<20)>CIAeK7U6Fsa$~r8f=u)8KDx+le^koIBmf z1M2HM2JzeZ5UR&?*YX~F{g$P#J*2;rZRMOt&L#PYNxUwyzE&b|3Xppyc8wP=G$BPD zpj@c{DMMYgAF`@{QSH*!5OJuwCcc`?iEi{vI#M>&=4BIw6R#b;6kJ^U?qikgrRryY ztd-abku}b(k>6y(sg5s_vC>gr=_?SM#z9h6`azW!ofluJH0K;#giJNuH+ru(EPD~c zv>-j|>4W^sCF^UlzedKZeXT4fRUZp!oBH5fleRhLxzayZ=MeC_B`>|`B0KlW8;ry$ur*^Y_ekVGEIIgm;C3U)1uFrqsHmPe=nd>%mc6F*>f$poN z3pg)btI}KG^FLJQ->K_D$}uf3MvL?9Q|Xc6;!?=p*svj6&X=PqdPWuk#7#QEGT5rp@`&wac+%o;~5o$JY!$maJIlk6l16DR&%Uv+Z*;e+vTt^ zIvN|qu|rfF4=7COt=L^4i`)Kk^X(>#MH&}wy!9>-BR~sCYpxMMrm#?+MW)x^MX|g{Z z@;70hA@vn`t+9!a76KUi%0K&;!~PQjc!YiaZ%qLAB8W) z`gsXppzR0mB;2zB@hdxu7R5IKe9s94F!u2KR=_F24Lx)M0bHqotsUF@Ap-bx;Ss^M z{rV<|6EN<31e6TBK18bQ`-VtVJZymoRTd~!dge)gbDD%*AwpK)BHLp&1aMIGGonU8 z1aQeAfYncx0rINPw@v7}&GE=X{sQux*SN_4a8?C?7Y5_KdF3>0N$hj&{byA_VP%(+>~2z^Bb<;V)J0_>l(Rnd3bE7?gvTo z7_{?%xi1i-wvhh1PFRky!K$-EUOFJ;uL$Cn`Q_6uE6HqB&kHHxp7T;vU%ZI=rRbMZ z^(&CK9`H2)Hrj^(=34nbsQKmt@LVBy62xH0AV2p6X5ge%vptadwy^BYQ~0wQ zc#VC4A+0nqGL8|z4HLhHCQCKIQ`na#flUB=Rp21ddcbIM%>=N*K^GWUI$YBV?}-XR z00V{EtwCzA5`96!^#*%#@Hhd?3f_ePW)Qs~L}ZZA!g!`?PvC_R7O6>jA%H~!GokBA zohElp_=X(Kgl{E;GXYpJCJ3zuylOOMCJ(btUbaF{E_yN<`8ZA^{inRjW_W9eUCz15 z+(ybKc1azoXoOzoIx^|4$?m^S=w+o|K~3nb6)U-$|C0au5B{h_FE0}p5xX^UF~R#~ z-!~$8zoN;DLok1}?zgXL<#+DK+^3%Gdw<=Kx+Zq<*!|8}UH;7uzbsGP!neOi_~jq; zs#W&X?Xb&N{Mf|qkHJ+kP=N95iqvIshgYnwUboq;|R1qS+FNlGZ?hw;oUK7T3 zAX^Z^Hl8hDdc>H-wLvppwpNyw%jjO3ObMD@9qO@dM+Wwk#f3#NSA z$0PI{xy9rdOCMT0tj zyblY}f8phe!r1`Xz^g~kzij9?%kwk8zsnawh=foH!LjHGAzK!d>?Lqa-l)6?vpS{; z*^)JZ16K0!#U_v3#)xc^Z^?Ik+IIU%$~9Wg$2O$598di$fPk9qUpqSY>gxm6tv;G8 z6d^}iWngl)+je{BAs`J%((^lP+Et$`p?bdB1SVKbtQv0!Ap`YWN822;%T+JX?qao5 zdG?>w<2*V-pJUE}{Lo7o^tm6CyL_SQ!RER)d=I2dKNBIw zQ$AnUCD(BxzjZG^0e#J;Y+kE_{cx>Ip5H>=3lSz%&vkChzPgTQE1Y1NpG9W(*V1wUP=?2l~y|L!&{i(DG>B>Wj>$-qC zZnooHf?V&&#j5>d-$a^ecg4ugc z_qau46ux&}$ffU}bo0FhmW}aBA!M@maCTo~ftrm^0*g2K2&35 zc_tTRzz>Eoz3o4b*lrcW?P_bXZ4JAep?QGj2Eg+K?_24G{deArorXoDcp5{5K#DL2 zVXsWjMYON+AdI~@72L=?=9W7ZfrxpJBB}MfNL$e`H-aqIyvZan2q6UQUEChVKbpv1 z#@I=|{e2e5JB5tO{-gkVh{91Xp2qSrF6_(;|MSuR0D-$81h2z3 z{{#0+yLj@7&~6W2&Zmjq8Csitd`<8Uk~aiz|JMJd@DK3tZP`EgM-aV+_kP}^y?!e% zuiwTXecRJJkF&6@!BJ+Z>%FAL>+u>p(axu39o zVFQy*%nK6mYL`Pr>?wb2JBrC)>~C8FSc@M90gP?0ojt02i~uf#0G1u4ZHc5jN3l2Z ze8mX`o8))&3_1mq0G==be04p)jVm4gIRvn`vcjHf#O6vgf)K!Kv;y8Ca@e`y7U8;^ zZfycMuubLqdKU$dz$SosZ`~z(@}2-*ZP6lq``t&LFwX!lVA-~1(>4LD_oj&72POf0 zpB?xn#{>6ch@=v*vtxU2yL)p6;v?#vjZFq;t;ty|Xq)~dfD5GhCUjXg8om?$R?KkD z02|E;>!lt7SPPa00o>$oFVdH-hyH{r(-s{tbf$cu``0m5?&DY9=lPfj;0M9bw~l_- zK^qm z?DV$;@cj?{%^+hBAP?*ch)*8o5V`xhq`_J@%F9Wux*Hv^=&cxfC&*W<#Oq!^ZT96A zYu!oU4;vo5T^7hUHl#24`m?Odi*2cEB;)}%*-E6UTsPqU2Hwl|<-IHqn;*nZlRp4I z@W#P@2HH@b{vMukp!O^D^6tJ@oz9~(JbW9}Z}Ys|K+AYh@xtpDn{)!{gben|QXi+z zv7m>&ulx8P>p#+DA%sBz&oAx|k-+tl%i@Uby@3~G58#^# z0nJAnBDjfPfzA9ON<#iFkk?#&_^;38gh2sbb*q;hcJ4enjFOgbD+cR76t+QC9ks0eyczer-l55AY92`Rya=b zw^!q8CFCT46&|?BUjQk|-mn7F}c8v_oGdLG1++~r&gCzAnwSzpZd=Oa% z{KhKxgl}68IqZqxKSMtHJJ1L1mp=CA0%_|M5_gCCUGmZup*vTcYSPhA9#Xdeu@0ET zCKcLqcM!Y$XZ^p~Th~YkF8=2~`l9#OjpyzNro2!VSNMBt*^hPWpyKf)tpl&i83g0^(V z{TT;oN|MjHp|>R& zts_u3`YO;?b=JjbJo+reP%TKd)sY_MfcmvA`KlX6X^th&H1u1i3Do_01#5ppmOcs_ z`P%=g6NCJL`jDqCzfyT*l@HJvC_Qv(qqZPqhx-X>K{)$xKAXHw*U+dp2*_-wIs_$_f=)<}`@79%^ za;FXV-SW<>+Ir{5uYog3wx2jzh(BU^BxWMJ)gKMs9^ZeE}jVkB(<2U9S>inq>sBfKPNZpFP+`7J=Z#LHYJ-CkbAMdd0ZE?vJ6@i@4cWYpole5s^;<-~VpFGkHFeczmGk`ZpZMAA{+GIw;pZ{L z`MyriKJNyh$^h9auXbCsUSUHDk1}Mg30*MyD@>ih<@9~LuJ!dU=G}d$enr3Eg)KR3 z@U7U(R=9p8k@xlMx6I$nq}5j6$b9Q({rEmEdIqv72kSRI3(V}DTw@~<$dfP*Q9R)g z*L(RI=6bCUu?(3!0cmXce*fe{c;eX!l?#v8xKpU{Y8EJhGf!u~!y#z8AHQ`Ot#Qof7THb{9PT;#EB7Un*aFqr3whajkIGwe~Q^zQUF|osV5*wXb}q z$trmlV>@a4Nfyyh8w$1)Lg7M)*>-}hWOx@RIvU}qYfk&eU;e6~P}Ex3Jjr709FTYr zc*5_0VJxB+SzL2(=Hc=Vm2JWc*0V?(JAujK8MP~sz=-Tcw6IAUPxAO5YY*EQq8ixq z*jR~U;U7&;WXd6z@t}1WYll-7+1h$5M9MB0gzb_~IP9U7@|7-mMc|;SwxsC-y z?uHN_WNrxZN&2#v^Zq()@lUp7Zy}++6ZV@(ZVLI_*IkSCW6P<0Y&WqPDK8t05&P4y zx%}H{uhL@rCVvClTiX6r_YS}|#=R5*7+VYX8Q$z7f3d^K#$qRpl>m;{?`q@2&hoV; zfQbx^F&J4eV6bs0VquF2;1xJ0 z8LM3;d;iLz3A+pqPqNLJ^c^9f1#c^A;&zz87ZM1n!f)#R2x6`YsGSUiFWU1^dzyCZU_H5Yk>)``wjS z!a4S%0CIQec72HE<8{U)iThh7qPPiU{l-GcAADpY`f4lUx4wOVI@KGH!r3cX(6w%~ zECe!bQ#T0Z)a8GnKBRA;|E}Z@nS(h-4%2Qg>;HcAaRN5&(&pEMIJ4&429T-lg!-Yg z%NJH67es$>OuKq8$lb<g45%NAB*}AxnYw*DV=3((C?K zSl4ywWAl&-C6nAQ@!5Xrff(q=N)@3E_-b2d;&(v$>CZax2KMiq#~EaM$?}kn|BHJi zsQ=Ag!A$@+@qibw$>7Tn!14rko)uKyPoYwIwb`=`5;(-KS7G4=Z1OjR2^b%7aEJiD z-N=WZ)nM$6sr_(zvJnD!kiY{-X7w^4+H?UXXX<$}RC}>u??g(HAUn3+i2>I*PuwEHxWMwR1 zqB98K_5#)bQ-jR~D*^l^2BaqczR(0Po}MCsJKWOr2(Cdb1KS0^mw|6Vgd=$khz+f@ z9YnB6OTa*ym6Y)g1_=$FFwv6?4jJ0Sa3N&yoP;^VQzm4Zl#M~X>qE9e!itEc&00Uu z?Ml~#Z|nT)16bO{8&{~ZLr>K?4??$pPyMzzsr016*JF~n!S5`2CZoE}fhHM{yQCp@ zJ>lTLw70H3b>*#F|2Lkx@z%A+t_j^h#IEkMns7kq)_uo4=rGI%q%M0mDa@K z21fy~$1Z#7Hn}TQUMt*h_dBM&a|y+K^X>Ics`MuI)2)ew!U*+B(%b8u#(rIS&+%U5 zy~hNC_aT!63@f}(JyED}NWw4IM1gOAJarkD@Lu*e4CI^1yPF6R{kW`2mnGipj(8y3ybF6M{Cz!Aa6y z2J*t4<4sHij-nR>_)_ zy#Oh@=t<|b1~U379iiKAfNaI(>l0ctM&X>(8g^6dB)9$`aXG&(&pv0H)QvEi7^g8{ zQ!hid;l3a}0rj&lhxP4zjNXMwrq*?Ya8+AhqZ}7`2-xWBcxpo)BfOyy%IK@F(%l&9 z7tpTy*14zel8c0e1dz-G@Jn46Y`k4XZa`ABH!9>n{|1*sAh;|-q+}u$$wOFF8LUKV z5Ry#gwf^O5UwsS`ZN(sY3L-B}dWe`&8_1u^H=;lCkZ_Pzr0DM3be%}4`fVU}I!+UW z$RLqSUV$pBZ;oMtX%K_RrEeV(cy<09$7G({(f80pz9Bx}?7mh)(Z2`1m#Kd>Izh>+ zpO@==O#+)RG_0@RKCbOjpFYT!j-Ybs&`b*^c z>sk(Q9s1ndzt72Vy`Vm;KL3Hri(IhG*Y&MN$<)TkJ?3lmmeTV|->Un|>Fn=K-|I>Z z>!**|mq7nJnXfU|s&%R^WUQVOl?}BU|4DvZ>D060XVY~&KNkdas9!MJ@w*LvbI4z{ z;aYTCe&eQ|RR2rbyMA*Fl~-8^V`R}!eZ2=OFVr)l_Z{!XsuSv1LbU_F7JYq64qoCN z*6&HRRU7yBVuSv39no>P^R8FB)W2C}w-s63P+z5|_qytlt@W-O?|uEQoJ({$F0%Rt zEb=W}Pd+5`Ugw3<@i(cU?@5)%_`%;7Qhjq(uH)ACEZ-jK)wfuwWY!D0obRZ=m-S8O zTiD-f5yJhg4_U0SR*%6%7ONiem^^r;_h0TYo%A4QksOTJZD> zFV`5-Br<98dsw&fbv*FobLVQ@N@SQVAc{p6Ys}mWBx`(3dZxzKGmLdYS3he!S>yLY zBI+bB5923lyx(}Z#`iJcKm1swkJX%^^1~Qj*b@()bDTc9_aW?g*g>%cu@xSnPi+s1 zEl6Ol(@-Qhp>09fd{`8leT)n8E`~Jjc~&4BjuzS8CTOvK&DS7}MG!TCY!71tLg_~f zVVo^{yeNO#V7}J`79jeXwgCE`J&dyz*EdBNPtW2JHn;G#4nb|3%CwwZ(VPby?yNqvJ(|#uW9>? zZBVgGO`8>nEyng3+hq9Prwy#`g)hV&^F`aydVzsMKey*^6TrhsgZr)W+<(3oZHxIz z+xZ+p&33@p1R;R26=FBE4YBU=f(T%2jaq2`!=pcM+am<9w#X{*?0gUM_lH0BR#`uu z_(45ej-=MOsw1j30gT<$jy1jbp66C!pW9wj<&^*q@w*bh*WG-pw)@kTe>dH(2n1SW za;qT%xZWQ(-G;5EJ%8J_3`F|&LVPdAZ@W#w-oPw!!EVEX{H^^)Q7=XOoVQG`g6dDG{3L&k)xMQ* z)Beq~J_PS*U+DvY{Md8YSobj2H?JY`SFrrD(6#2jAU}y>f&b^>l0Wo#{lEN|{$B=p zj1Km@l-r&sqz{$z9ZvZ-!*Nb3_uk~JR{m;0TckEmRQelEt}r>I9irRiE%{5?vX$f& z*SOK!)+em=faH%X*y@`Au7~i~A%IO8J&s@cm9CI}bU4QB-@kLV=Yc** z0P{d`-`72SIRZEX{*?gM{xiQe0Sx&&$rC=xCVhW10+%O;k#Er0u$b7PC~x(gPMqZ76IJIq-2o4BGtMaBKR8~=z)-O zq)b{&{5lN@e2f4tFsR&+zhEJNMGz`wk~0b5;14$hu)Tm+3<6lI9*yZ0oI$c-BG|<5 z20ggefV;`x$XyY+ zd(<@)sos-^OdwWh6=~y-#)M)LykD$Ig$Z7~cD(>V;e!AZia)j2u0k=_M1s}QAfCEH z-IER-WH5R7&i7e4YH05#NL?llA$G6CTbEGG&WqqJK=A$u&)uu99g~Hh*5sar8F=aQ zoL&tG8FZb=-D`h#vvA!_x70+z&w5B*k-42JU+;>WWN7%g2wjId<9$=WK*2kzz)H}p z4jn5)d6#Kozgd=|T z#fwuhX>Y_s6#{m8nYhk<_Hi2+3`MGvLgYf+o`-m~@li&_?n^{3^@SJCy&^!; zCcnxof7Jvi#Av0Hu*D$S81go%j`FKblE&y783b$fx3;A$<7*pWt1ifKvX|;AlhHP4 zL+-ZTcnMIylOH=q{Z5@<^`kQVEf}ON<*KJ&^+DYpC70d`5u?T=Y&q}ObbcmIFN4-K z=&vASIY#pW26**jL;UP_)&(YNEni^*_K>{ra@D=;JnbDuwaRtu>E+g_enJc?-{n;Y znU6PhAsLM~Toy@!{EZDU7SdIyeEJYUBXY#@=s-Bm@|z-VLjC{|z+DH1x1$K9)RA9E zu*f8@W9(7#z&h36rPfW~ltu7?CiyBq`bZteJA@pg@{`m9CKQjCCoU>|>*(So!}91C z>Rc|8*13-UUk$1Zq)S@pe%x234f2qQ)C*m{Pd;-A-~{pUSsv>TrCw zai3k5Uh+ozpVv2iRedn@>o?>W>v0;?1(I>xJ<>n^T&=9(HRSAYIL`g(W$=nI{-PW8*R?{m9Y@PFD^bp-!M z(${}bGNI+m{V%AWt|MR9W`(Xp{$KK=uI>ZSGM)|2P1l5e>pa#42^Z@B5|lpxwF&y! zZycc`Q@Pgy3cy&ohz99-Rgu44yKIvUWosCj{@pfU8TsoPRDaz80Ua) z$?Lr=q`u$J!y9_lISJ!w`2b%h+K+J&q(A#Gwg(Izaf?<81sX)C?T zuVJspVyyn=XB;#0UevYfP1IORu-@!1a_fx+W(9d5*Z7QdOCH->d6U-|aH|_4dg5h` zbv+J#smkQNP%-0Zg}Z(pviQZrc%GE;{Mn<&NgFSZqtv#`MS$w%5#)L>|XpRIs<5!5j`>+(v`?eq_Pm63RV5jAw~bWNYd3CdGCn~$j6J;q;eC> zYx#fMVK48ph})KFALRlv%7e`9`jx!a@f#s`2gxg9cS66Tk?ppS>G$he5V6hIBvIXb zt>!fhVhR|KfU2bLyPr42LY@F`*;I?J_2~PDGvhp4#VM}7XrB7Jr0eZeSn() z7TNo7r-m2xPXhSv2S5|R@JIk6m_`2ZFCu_#0}4z4*E{l*y@4nB3$W+grjL!t_J7;? zMPkYpR4MOc*^?fd1TZ8m1h7!=aJ|P(?j9z9yDYte`e-6pwkJTIdY9$Jo8w8}7zD6j z0+>|i+IbLScO`)7GvGJs7_CR!q(Qz*(p}}MGjy$@v*bhQhCtpEz?75U;1Rxqtp|~N ztbW4Z$5j@-r~0QJo~Qrk=t%Z=1l?n6x$cvLSnkO^j&X9x28Xmmbi2GEZdGpCsU1e0 z>o=tCrVs0{1n}CA2;jT!vj^~Hp$D~zTRecPIx48kk?e2!0B<4Cy;L=@H3k{m52ubpKLM*e3Wr?%S9ow-`O(Lejk?zLpnAd3@rz;mqVmgR zg+3HQ9&|`xLj-W0CvyEC{hx9j?R_@E{lxta3Cu@MxVQJ59H@_9VUoX12shRN{ag*o z$F>IbcbN!QNN7l4t;pgdJxO2@zk>kwO3|BY&@V5%pu-M{(5ZpI&u)eYzGHa&n*6Q7 zLO}zGn>?7n`)}ZeTO0;<8Gvk7miBI(J+zS65uK}|9ahJ$7>R)Az!wk0iFkYCV&HoU=zQ|Lk4G3!sf#w#I3?75hf(b>3gogYjO{ic<$3I*`2n!5!2Wi>(Lx@ZxByb4fEfL%U>IQqM z*durW<=>qvF}H|(Vy@cU0uuIk`vugujtJYF)5wz+ICuSqIeBB?zlMuS2q0Dldm@l) zGfCZCQ(adkid^^lAO0j@b*RYP`mZ|wCtvnt0gv5;WA+Ns_Sj{DQ1JdRf3DS`3dP(I zv0IZ{q3%5<2HdACR&W^RA2+FcVdwXleCuvOpZn>?V@y0^x1~=C`g7*b0%^`PruLw=-&QL%0+$Apq1Yyo(jIg)v z2)SIiy9WLqA9(CAh~0eG#I-p5VyGC1_0-2-<9y%|(*2jSiuYz?n$lGh*) zxr@i{*njLP!Y+sC#mF-aKNBw;&ArVg9J+4i1@c`Mxm$Um^4i-LolXPf@t_@e;euci zmvRBG3JhKg=_+s8N|kR6k`|H`(sjtln}8hzaAT0Hi|l!TajxY6*>f*a4z~TUe_aUJ z>6L3zSVS+x?ph~uwozrZ?K0^`x9dgpHu-AL)X%_$eR&dzkg_Wg8=`g+s5WYj`WQy3 zZ-^*Ox$+_{8*Xp;IOZl_=yn^Vzkd@OG?S$4ZIiyGAAzWq|y-F{=C73{(#}h%dN9hm32$U@SnQQ}=LpDu< zuXPKMRTqJdxrJovtLm%W#n;|m;J#kD^mYUNk}o(ebDtM4y)(+R^*Ocf3H__?^~%5T z&e1EcyZu@Rp-BD3H!5H01!R>9sqb|B#?*s4<{%bZrvAE}uAhk5s_Q;dUP)S@KJ=S> zeMf(9RDFPM>Ah0&SL&QO??Zi2Z+X|zrp`6+^&~BD&0Z}?jy`Zd(u;hLr`LIsC3-Bbxl=|?gHPB+{d&12FM3^ zmiOmK>T9yrWdTI`$hFzl?-2RW_d5oH`h1hQtG>=hvVQlGzeMW17P#n~s|=A|GF@lM zj1auD&hJ3gk(MmS&^JNve#=Y@S1Pz4r7QZoFv@*A9ka@Oo5uG9nc!~){X%@Bv*}ZH z)wYRXeIvN~8Z=HPa(Fr+h zg1GY5pv}L^#(NL>NvG`Wrc!liWX#xkr znC-;kJYb@jt$DWCdKk-Dpyrh#k8i}&*yOPY<7-V8UwMre{{QHz>uNsBR$th4nlP4a z2hU=NFsC!Jo9#GRz(0V8aqnMj!k8_)wxsb_YF@60ZC^8a%%c1i%oa|Ut^NJBJ_u?$M&84XCZ$B*?4xgINNgmy@_8?_XmXU z3hXy^GQd zJsCXY{oOnyA9>nxzvv!X+I6352fhH;xUqfxU8gSUs>vJT*x>%PXOp2W7pe%nDY?HrIYeWP|W*!X^d4bRbJ0ItAu#5<$45M-;w7(I92~$Utb8| zvEZTdj;WsKp`V+39~_7`Fl5P{L6r^ikihc`BnovLj&k4o!1fHqAg6FEi?F!W~(da=Z#G=E_e08i?1(1&+fDgfw62c5Ongreu z!aEXpgez`j(lSWYWne9WHDv1ok;9#z1ajl|7f5FER_Nns!c?hNZ!Yje%498&tn)zO zd~(1>ejuI zf&ZTszEzV^?kf<2cifK!?o-11{D2hv*rAv+!1vy|GrSMa$%fp;TbF0+2KIHi>F64f zyYbeo=dy7l#O|#O=x?uQy`JO7Eeztd@S~ppJAOVEh(PKpqCmYXZm$77WbPf6-pQ)X z8pPk(`1!r;sSBxVcz>&UpY`|vc(tZekZ;-jHJ}md-Km8{m1>YvDPW%v59IpYTZ6|3 z3R-0ujDfb{J-wc(LAZ@4!+@d?Zmi0;;YG%m1(AV-iF<58WW#IsSqNQH_PWh}x09?D zo^7nM_B2?_B5{}S$$^bdCUS!isGkjc)ehoy^`ZbvoyrA~xadlDvEe#-V}Nt7EOkNp zu;=ZHRc|ey?a;~zFKC#|#fbO91xVmURya=5qG#E*AJ@M~D&yhFm_%-+!`L{>7#d}u zjMogZLdqB@O@LM#wYS$y43wN(NM6b>Rlgx%ZTOsIrH?g@oNN6#^l3*uq^sI@Kj{my zv(odW57L*9Uu95bd$jU9te3LLQrh+T(w;Ip7tkx23DuG{e2z>EQatmMS@ay{#6^sT}Qd}Fkq{lVb9t&jAJMdE?PcF)>q#W@KB6F zUnJ}+RlexDkh;_8|7PhlF+f@U>|~2vb#-iq`At8R3zqKwYQ!TA_EH~OI+x)2a` ze&-7zWOPoQpG1c9DxMnkeDsZ3bCQ|$xy_3G>IG|)FWJJB-Q4Wf_q-Ilw2@zT3KhU!{Z$D9324*B~= zwFQwiE{=NVAr3EgS$XO^&F>SrNPX*Yz4UuU$aa6U)49|&dIMDZIzL^X(#tU?+_(Da zzUbfmrA>prH*L3gwRH5`hm1BQtK$bgzXtzH@~P8#?qxfS{udcIsm-dtZ?h@$KfPz! zo5rhe^8b~r{&UyATfdY4cwRFf)AujeP4&`AzXkd%=)WKZ=m)v}>Z74D?dlkBRvs+( zzxzhk&ko?(Nk2f((o&Xe!u=HbztTM{RNuLl((7_T|D}!%+%Dw!xF`2OzF?g1BJ;iO zK1aRY2UXX7sIJa+)*pv-QdYj-JG@5<>2vDTc}wPZ7YiOB(?j5<9NFlv{)ZsCsmlTk z*IAZ#tw?3P`z=>H-h=(#RwRP{4jcpT^nw@2G+KZCo@~Ag)i1=i+J+3z@2k8#l$+c( zsXWh7P`>1VQ14xr5a%MGtL!k@CWQ5!?fRFhPlerHFcwqw_dO&s@Nuo=_oDF@)0>6>huo3m7LsD!)L=n61VkA&^&u6n_4EjdO(>kFwCPJ&;w$;z2DuJdTW= z73ro4Wb)6Si>$#S%7PYC;$?jHT%`tMeTSkxTX`0MzHszp%_W|Ersfhoub>QR9LzZf z#4&RflgN)gRr8sKA`?CStU^)~irNcYJs%1=fQQ;N+S{N%jN}hLE}NU}k~KGz1IcL- zEO(#6p36MW_A2bYCX8cuVsUR4_=l^^mSj#7=liE}*@V8`C?t5W=?l zU-hT=Gh1?P%kkv>7yqgWUe2`%?`*+!kl?M~Dg5qq4w!^5_N2N_zsI$*ZEDzxzOW^H zg}UAVPj4;iZyOLP9^kg0v9NypLKoQ%%$vtD@m-`8P z^E=pqyf-%F?;wD`cZHxlp6@uRXraIDmfW|F-WKw=?(3fbFNy%N3+WkfBsbZFu%}j< zJYK)o+<;BUV0*4Wk=z!Wtvr4K#BbY)v|X2oUx1D1E-m^Oupd`?kO1b{$6f^K8;5|q zW2=tc`u-8l-URR|g?Jvoc66WZ68(YSYkb4$%Ht-4dk_gZ+WkzX() z+JbOk3$Tr@XhK-|wZ8I$1Q!3a)HU>-ho1ua=394z$PZu;z>v3uwKV}e$*ev33o?KZ z_T|D}|8iJ~*~=j({8_TkgMB;ln+tjpE^|Re0Bf*S{Yd5)m|kX$$TsroZ<4tXxc$Pb zI`Fv&;JOj5(`_MiwXz{Ma-rm4zDzOHmzsEyM(?_Ty{yVQr$*Xs z9;TKZL$&{P2;lM3BHwrj)C&Vpr?%aX+VWvg9rAg8fa|O4gB()hlpjP9z}&MzeX#BV ze8kpg;NF!0b_gGN%c;zOy9VCEB!InAv+_cHR0|3X-6Zgq0QL&be57x=9TK=c+z`N8 z)%kO;=nDCJYoQ5Xt?I=4w+8HZ0c)Uelf49$FKh-BD*;>x0n8quq=Woj1}s-y(;=Zn z{xaB~1TbNQCJF2na3O#h7_lGCx?1ie0@xv;?Oizt;O~Dv0{H7q0DI3>uPRL_=&ye> z#4ldK9v}*1z{teGUcgKsSX~&8(O@Nj*Kp7d2|ckVfEm!5{B=m^FLWx@0C*6>3rqw< z3L9e}t;q-zl!C}r2G$U;9&mfm?Sc2dEuDX>I&`Zo6B>|ykPGxbv3lNuF>vnz`|s=A zzoZoW-ZF?EWNr`W9TK~)gRTw4`6SQBpkBl-6E%~%(_6O&_&vC{hxRwLD)_4q`mF3M zXhkRgHUD}2-o7h)s)2mKz0EzYy>=mb zude&QCb=5GL+)zzCIfi()xBBIR6;Qa8noYXM?J%=)V#gY8m!mzOnUR3^;{S1soPc!0)`9*)r3uh z;AM4u@54oUx`|yvu4!d`d+R>hkoRt{xMx4zCos4?`=Y`!A0l`mZSl^H*Y5D#4VnAA zLoO#QoWjYS#cRMM?bCog%LuRBKtAfoSG~P+V>l{M4n)M3UK6q=a2q0bAyRi_?77HZ z?G)qHD@SnhKbnM2jOYLwh3UoSYE9*(nrsA_GVpB<#VO8lD3eWAxV84NLL8eCQV6c+ij#T zGIzEWWDrI7wIdUu&Z}JY6R#azsB=AEFtJ)drvS-IyY!hh!)vt-wIWsR2HRkf(k6myGji$kQ&Q1NCX!FqvwyguX-Cg0)Ze z%Q@4IzTT+32m#6_TBr-*x*j9)Nz%;nBnposWC(2}t8?5SNgh*y)d?(emr_0Zqyw(I~np3b!i!nN(?+6Bk!yKVLL+MDmq`szQw z(fvnm_}EQY7G9Iwd6SSnR-oUhcJKK(!J;FwbLkt5YgD>9=k!NE!6o|Y-*3=%+y9gq z9M9*}^=d!+R5@7sNL!r?dIOZX4*ZV7rrjb(m-14l?E6KK|RP>-&M<^xErno=Q2!d({q9pCM_h40O*7P~OYje*8X_ z_gLB-&`Y1r&(v7&U!S{>Yf#rp>Ds2RgE5~s_p{ZXdcf}u9kU5($$6ioT+sVSGQVTI z;KF&6^W>vb?>BkDuQI>){O*gq@&fNpm;K(ee%___rf*q8@4R{^;|IdB{2D^xC_)=J?-~eaPwbF8)qO_c9rnJz?42 zNsInv>&e1@FZloBR~Fku0pb|Kc-l0ub=Zc(B7WOru&>w_V;f7`VOTiN!us}#4IqxQ z-Brj`qPMYKmI&7clts`sQTyA!<8nx6=bNk@g!FM_i!QeA%5eb4R@z?CA$AkxO$6`i zL{PtJ$l@>n{;(YYuuaKs6kAf0>|C$LuonSrWnVJsD|-=p{>rx2|3kqxAxG%*!vDsf zn)J6_FZR4Y(|;W}qT6>I?iu2@9ROAWI13L#{(hSU36uu`jIFZnMHVjfwp};_*dgE= zk-w7w##VH#7C{j44O{6XeMwgWxEEE(el#O9@(g(o@I3*1=g|#Xph4aQ@J#~FK~4S! z*p%8yU=YCAo9{L*M*!bB2w;=HClkQ+9+B<5Qjx##Klb#+-n1ov&6gY_fa@JK-d_#z z0}nrTbgCnbdM{gSQf=q2cV9@+NdWV1^!qX4`?mzJ3Dn`7fIKAYsB@}(r+Md!$Xy9w z>|UFGTW5eib~5xDqo1z(ECM*k8RdeA+~!IWj#{$%eS_@nddnA}OCOa#1*$AtA9{t9 zg=#O<_h#f(K7dtT`3I^E7-jyiZm+y-jsA8KTAKfQ<&;*8c9Hde@A4DPD>+a4xd>q0 zZ>@{0`6#!uOnh9yI=Oe@=^Faxg65jAuR;J*ZaCU*6To%fgK$$T#6Ru`;7z@rqmt2o zAv)0$0gQ)F_BH+g6#{r)9v7_pJP0mkU(gl9z54%80B_2^$&IwzJWMS+hP9uD&u2bx zei8VA9xpBOjn6{>E383b62QI=x{j5O@Df~a{)fUE{`uaAE>8fP@ZAx>th)RS2w(`F zl>qjNOwvgJdnMOBHQ=s+Hw177;Dr0Y`xgSZL;656u@^98unFNFG!)oB;&KEqdx>rc z;OlQZ`bm?&tYG`e)je20Kmcn$U{-qmlzlI@1hBn-*#r1<5Wq|R@&xdT_5kj|en`N0 z0UO^Ead(%?TeC->$o?rf24d8X1r{}K!mnL?{f98E!Sh1P^RAGDS z9$;l~ymr4;gLNi=8muQYbKhU`+=bZHeb*s+3f!yq++~#}q0HNJ7h<>W{dmF$8lYE7 zxO4{RJU`ltr6#$V{K^AgUc26(3E;77uU&ih-*y-1XTG2iJnXfia61mU!~5dr_xZhX zSEYB~e@f)8$lg=+O@FZ7O9f5r8~VP~cSYZW{@#Sp%@zOw`|LhA24f7UJgCaT84pZ7 z7?mflj1LgItX_}TZj-!EKX>#f=#}n}xO>b5$4Taxs;Iu%GvK0vR2{bDxWaSB6~&Rb{%=?Pq~QQ$Rvm4-4Vce zB7k3q0LBRw16GJcuR4FT*B&-58X znxS%Z3L=1CUI}1Q=T(-0jkfgDz&Ho_E0D(!hhgru6A56GtZnR*!LOlmJWo=dFo_G{ zX;L*LFy1NhUU{`Zevq$_rx+#Q=(aAKJT);Y0=VQhRMN)Yy9zms9Fmr_${~;wO4wwp z`!_Ip(hsR+B5s9hr}N_2A!jR%0Tr2!X(DwPR{K~9L5YFaAt&FQbr^kP0EVFLvSn_& z8i| zl;3h*=k|8#m2B$Gb{zkew@NlJZLRL;M{V|dCsk; z|HRij*POCR;>J?up4Bn9c9dH`eds<>-q%O}#d4g{PhWHW-}E)EfA`CAS~m2AF6;Ql zDqoDU*~+Wkmm!L&L!7Szi$gId=U7}lfh7I@h~J?+l(#U#D^XORjfNy?^u$MIT+gk9c?ay_D;VuE_1yp^bENjDp^Wl=Tj@ zo^^P4=Kb0IRM~BVMP7If@A7`Pf)Ld&HzcoidY97oIL3s&2P+_cgZc*eo$t2lv&!_F zW9WPvv;XB>_)gY0Qs2SIt8dlOKcL*Q3oSRMUNHIq-%Y4j}dwtP-7I;myG^0R+x*h7>9Vg!#K!`$QXwOUckoKD`SZ)WE03!U*p4o zv8BdjT7<`ed1ZdRRg?@@g_d! zkkydK$et+>hC0OYQ)j)GF(fg0qvj}@&wv*i&a;Oxp2+NHe1`puYkqV_b1ddski~}P zVl_WI{lrrP%+&-!oz@(Vd0YU|AcH>!er#y6qZMjSc>if^W1c?(5jYS!_dB&M>>)*x z!kd`+Dsx!ovJOMdJQt5*JP#p@y+xVl!cQJ5+23^gz@)}{;ZHlV6i3PRABp&Nn>F9kfVwLM~cIy zflcV^vUOkw`s0816+`wAr`StE9{&Lz#{gT)7yh_XFRBk=O0=|WjiquR84=hf*%~6& z_=6^$3sv^kTA(AxwR6DlH2EA^wi!#m(o=s+xiOswO!Sf;5$md)Xm9);+p%zZSV&#~ zao&i1X+(OH4Xy2HTu(^&#<0N+@)u`-j{3Hcz5#Y5?0@q7#U=>(%YTdgsQzb1e#4IB zJomsLfaNHF9SJ*Rr$2Pq=R*YW4+}U7$irO(F!yEMqk{k@^z#kcVsE{#z3m>hrCSED z#ZChF_IgGD&kFV??7P5wek)pBl}-LO0o-1{D*;TDxZ7lZ`r8q}cdZ0)^GGIu7Y|^O zzzcjtbT{k^@8LJq+6)` z=O%#LUO2Goth!77^Ao`EHYIQJb_>_%_(QJt(fND?@Z_Gl{22r=I-f}Z2h|2HPxm(* z6XnLQMF8)xsn>HL!P>p$4l}M$$Lol zS;$ErlAQ>Cd~m3K!MI=t>NYsgUqU}4S3gVLAbMAzH}dla*#P-Tb$f7g*3BU@S7l?~ zxU>Fp7&r3TuCP7?+y!H9@spzd2m_fqw*pjFRhXd0=UX! zl}n|g%?>7j`~2$K0e@&rf{g1adHuH!oG#?QtNXD2du^^=_rDiQ)N@40)DXb+{P0|u z3^oBQs0@MQ5IiA(4VMYeDsMhQwcgVtP<@z12-nA0c|O!4g$r!huR(Paz;_z*AiS+f z;9i9Z3FZAEC|l-%HUx0eg2>+qkz5T3;CMG?z=HR0LO^RZTMcM{h~b9zyI?>b0$5;B z)Ly{L;G99!0HkjZ(luCb0{G9f0*?WE56-m8vj=Qhxkr8_2tx>a5bto%5W`>pCi~1J zB($*-zzGNKFhbMwG?;@>2K$Bvs-#VLdhpsraEQ@H2E2a^f!g^YYorV@3`uOFco{$! zC<`@+)=E^M0e9;l|Kd_t5D87c0{Jg*&MoKt$Ds2GpQPW`d6Bta{rcv*1i5BG2IAS< zhwK0KCgrEMuKz10Uw@_n`499Ti`Z2-o*InH8{A;!uLj_Q-0i(r1QWXePhF#lT^2MH z#^5`oZm+uZAlnF;o4r;vfo&*67T))_-__5jLovsDSNrMmTnjb8E_fi_xcB~gcRWz< z6MuslOe^1EyjVdwJa#o`hTNS*uSndQq- z3lxeBq)bS%$H}|=$m3ptF7I3sxzls^v1iW~Y@isc+eO|Q3A?;S6SsrFotPvp29a~# zrwbCd30)!O1#9`~7Z%UmCS?tmpB5q8MD3`H0jKjAaYXb^41V|d8z7~c-AKG6L%X+*18dBQ3^T8-e8^3h>GTD%+49gD|quU(4J_1A}wgi~MvSF+$7G zETgos<_+tNx;LsE;zGvy0^~yHrB5ngh_@_;eTCg!+Pe?Ph4&^(781dP#(UkD`;)#1 zjDT|Et&kz_H%xZyVN&;9=ifA$1F@9)K_0dI(&+E~I!>eH5OXWZBXX!xk!XdLh!a`| zvMDl=WwZ-uH}GM@{knaf-%_5abBAmTnFqP|PNQ`!|KRA=cR<%srcKaoslW8jhewy* z26djCZJw&-z8&L{OB9=)F5ss7QK@Nr81_D9yK^Yb|c zA2nQlO{v?FS6RQKWOdzje#ojXLHg+BcpRtl0cGlG*KJ>Wr(_N3t37E@?dmsQ5^@aM zmYm4XKWAyxQ{P$MU)JJd9%%OyGCFlJonmpa0FzP*BHM;QzSqbHQzt&;Oc* z51{1Wm3QiWRM3B}=RBZXI=tH?=lt9TsJ{AVfr0uhzGn|1ItD~G@9P|o{KZNGy-%y1-s8OMrN8Y@^{+S3@AtS+?Jm~u zw3j&FjMDEqz8$0?vLiz;*FfJH+Fh!4fO_PuJH9vd4T9*-w@&?CGRcizywU;Rt$fRL zEVawA!R}kTexJ#Aofc^68;-ouc}J6YOOUSmc-zNBugPk__`_qE(yKAi>V3^PMEz)- z;;{q^#ux`p)Hp|r-L~U2FU$i~20gy=81c;-Q_h8d!i7SOY1wvzGGkK4zbt%Y?5nYG zFNkD3e75wTr_A_1V{XADa>o5>B(na8hM4OezxXR&%Ee`wJfq_9@kJ5CZ*45ju%hkGc_MPUGu-w znh*B85RyQ1%f;SSunp714Rh3leZ9A!d97^CwuP}RnmvgZ!WfTY=FC6$f@t!PSGH%} zrMWgy?GhzR_N~J8*tTkZuIV${;~2X#m>}D1_4`+VfTQf3{m;z zuVW|q)1xnat!*h^oi-IOnz#K3GE{`<0@;L`M8<~WEwixqbSgN6GBzM0vSqt1E%qm0 zGC2=)-V6VyV}Kn1?5PWxyKxW@X+2?E(-)73W|xR|I=4Tm^Hlief;@T+*|)HJEzS|L zIW>mu>?>dEYt;CvN%lBqY&?Aj;ak_c()Idd^OIdkFzKuR4Z^n}JCkfpb|(0C{m3iXT~ z>c(3J6g{re5WpsU0b7LKadaaKC>DDZ&qZv&vP<2u+M~7vF!m`s9pQ9f`!idFVUG@e ze$NBK2>ndCo?kg1$PvMItJuWlRM>VaJ^$i>3`ZPjTUKGbFWL@2&}Dm;J~nLq*zh+t zeQf^HA>ZV0lcI56K!eqY$-GTnCozAlBb$<1ZmR#+d{1wP|x#~pr0=3@)ay9J+iMvAAx^(hQ0EhH~ zeSMYLTX^t5>LdTN>-Uguc%-^V+o55UIf-xqjG^KlEb{)epdq?_|;6EE}PkyB8 z`w#ccY+`aCW!2HHUW#?IX}|?p38d>j2Zp|pHX>Df^+ImithAV`E!G>G_9fe3sS}nu z@;sP&IIACYbw2ZfoDcRYGuA<+U-&$*?n|W{lT;sA0N?E z^-;xB*ziZUNuu`r^N0Cfug3bh_w%$jus_^hS$UiQ)}FvUNY08dg$C&XGbFGHV8fok zw;x^00J^|F!Qh(f@o+RD#$FUx_r9ee%Ot)#Q)vd9ds35usKd}W6pc}X_!_{<+qF^+X1n|)Qe-u_AE2H=Z-asVmq54E zMBq!*eMMl8;T4wCt_IV)dQBLRiG=RH0OvrMW%keI+?&V^5>m&L6vLC3Z;opcK;~*? zY)yKEzQ!hU=e7Sv4Y&uP%m4O02HE!L{?7OPA3NlC;!h8Kp2c1vc^A*^ z12u52v)6dM^7v)>8dh6Zgj@zCQ);hVk+%&Iy3Y`fjQw<5h6nG{rCT!9J>7Gkk_awJ6OV(b~RZM}6c2-(X3gjgNA@}h-6#kl0M z2w!BaM?U+@#xpi;kh!ffh}9UckfC?cV82`SfsrdZ^w9*c+HU%X)D4-tMF?8RSeNZ} z5rS4E?SjZw$S^lZP(T@Doe{5CW9o@;#q+cY+3alxM7WAzJ%rM4404wIB@C7r8%qb- z;zbKWn$GeB{W@=BrR$v^o-Zi_juTYb=jFV-UF$ebP3-#Iko7r`wv4j&ZLK_d!Ai8| z++%zlXrrzSxB@zL4q%bXdkIvZ_Fi>)v?;h;$59`Z-}FyA+D}Ykwm{mlWAzOg)fc(F z+ejw{i9sC(^2k#zgt)*!KfUCvt2%TB+CvoifQ|Iqys;rPniyGShmd0_kA7h#VnuF2 zmXHb`R=!X&c@lz>Lk10k41x#Uooo-2H+z}SAwIcih0YI1$DnRQ1~yV&Wdgd5kZsa~RD@(~LM^(ZKKi>l)dRJItZW%=R6Y)opz6nM z)UISYhtWPVw^2K_$+4W@_S0qhUoq-epl9S5v%O)$anX7A;|BS<_9D#<>ny1LjL2wX zaE!f7x=Z=eJ0Dk{l@{J;q)(NVek`o*gsRgqTK{s;wdm`ue&7E1=*@!4jg4;Oay?o|hQ{C)i=+t%6e?hv){mjkZnBPm9|1HnaimiP69JzkV1U-}ej1HtsYUugq zy@CE^p8pko7fyt*U$NFH&pWTM(c^uXcVZ*&NrAFtJ9%UCzK(8zvPj%L>b>mmh}#_N zD}=D}evb?FZO}Ibk{DFI^X@Ntqkp0ML09;|-rsy@s$K+e>spT#Qn$Wi1xHyZSrfkN zadfQc^WBro>BRbdu5Ycr@uefQe6!#xb@a12c$D{=U2?}1#Jp7W)LD{9K*P! zk#Wp~$67+hf;DDT1QeAScTGJl*3)j8N1K%f94S-6RF(ul$z&^NJK)()-rRXN}neB z5p%BRY97{rI9?at8lKBNq3w4djh|EcIP<|LYks)kQ5FU_JnwwE35O;$VuNE2i!G0G zr6PbH!G7AdUgpFP0_<$q*086|IrSYlOB9$}lR{bvJvWy}%yGmtW_$gbOIXc*n@#g%=wMRc9#BY0hdhg;Z zJF*yy(XZ52Qs4Rh6-VF2b98tZ|4@W+Aj0_D-xXvd`Sb5+>#7l&S_|c|v3#=~6R=Gg zB9OlZ89MDVB1(r1%3vEU5vkaJWCMawhJ5{s@+|K60)K2mlZ=fH#Irndzxd^&Kl*aZ zzl@xG>q?(I?M>`bZyVEu%GktY7yGL1VQqV&e%PUeCVK04?QL$8@O6|p!g=d@$+-Z+ z*LJAboq}%yNMG5Z_z&6^^<8fZhCRxTB|or@5z_Yxq7d2$h-CJIY*VTWV}mS7Tpgzuz0#>z8yAz}MG3d3~jjz#@KS%QdvmuRQ4; z_0eFF1h!y91aR!evK>PJ+o1^9@rXqjCVW?-7u;3P9k9LnL6`5t)(v0et;Ik{-Z)5w zM5w6(9 zV($-D5?Ajf>9I{&J30)TS)s}!-{naFLm+ql(I!~i=Jr|eF+t_kuH~E${Kcq;Xyv?3 z%qARjptgehkuLJCGq@goZrvB;uLxlABDAYK<C$b|kr&#A0G3ym+l2@~?lL!H_f5J|Y>Z|#ApeK14-o4_*x+ykh~5WwFR`3ni$UY||;26%)r zi1R8wdyE1|;1LqKy-ERuukg)pAN_lvyvu+=q>0U>M!bPT1d9l*LFm8xQ-PWF{~-jg_Sc2jW#F9rl}+sS{ld!J zgcAP=6S3S^++#apH{>n@W`!}oDSM?%Tz@km(VOUHMX}IC?;ZD;=*=Km&ssf$1+9b} z|D}+t*l~T{@ zYzW;ap3w^KGlfU1{1~JyVZpSz8{)Q!-DjTbw7qj{a*xOE1m)?Wi|4NNo@3uCi~~*Z zo_%Sv#}#{C1$&Yg&s}r~cNTKjq%NMhDdUaXMD1t5tKl(rn3&xIk~bjiay)R!BXhZl z+$LF{J3k5E5W6QqVU^n$V}ka$ac0U)0+X89b-ni_vrKx`kN3)j%ms^X6RpOqA4Dwu zQWtVIfW!qMc17AkzCx@zAFte%0FKdVppTt?v*+6Cr7HuMNL?`VCT}YbRCWkI?YOzI9pCbHKXtrIeLw&`IL#mu;$#zOXfO-(X2j=%BzoVuVYPuHvJjaiScYJL%^DZ zJzQ_2`jpE%vyb}n^3i_e-cbed}xTcnMB1& z*tA`Vla}pC%)OWCz&j8_69;7rhR&i#I>;Z+K{69j!KSa$*_1m!$|AE0bqx9p$rW8l zKa+XYMyO*%CwfcSWS|ieFy&PypxX#}CL-~@O2HsGCn2YPqQCF2>q17V{X3*v*^1ZS zqkr1=agdiR=b%1^%x%=Jk9QpDr_1y&kl*VBU8iHF|3cb~c81U8lLq-kuQ9HnfX?hM zWy#dvPWRpP+c;L9cr&PT0rR{*sblr;;26>``M|axkn6!Q-UOuwsLOHoy3)UlEXO-u zhisAOe09#-^P4)$HD2U-My9^=q#@49@3Gdc&(N&jK3nsdygV-Zyf5X~>m3!0_e>-2 zv=wXJs=JXd@5EWRyh9_?BAJ%=`;;`_0DT8qR|{JfIdJ&+%Gdi}sC>Q~oA1E#od83B zfIil~59tJ}9{5nmaYP8Wu8&XZ?;@a_g+s^tE^zGr9;VG!C*NMz`P)re<;ts0A@uzX z9(}03+wg7f?>@3QcIZAfnB#Yu>12&|B7O46$5@a0 zspF_Bv#n9Om1gWZ@%mA=@W^;Jq;u*cBZV*)7(;_D&xMg}ZIZD#V|7Db$dJU!*BBl2 z970in8q?#rz=BieF`5U}{3!D%5yR&zWsddoh_v+dbLWnpd9LPefVmv=xJm(A?TiJ# z0%bgm?QOj7X{@~Frg#?w@e^ZChFq zLf2$7I*T1keTAIvJhm-tWCe~VPu{8nI2$<6Irh2L`L1?2*{1rpiTEwZmd7=~hS$yq zc>2mKyTEk<-@?ncu4U{~*+y=VzTY?Li(N6cs_*>>d)1XkKY;k%k-sK@ohs^F2wyyX zSvVj-{1)UWbK{ZszQ&f?+v_#?i<8Yt02|n2Cvf1A9k-Ef#eRmZx1c?^bw9K4!SFU? zb?+Cvl_0j`ESk7)gl!l33$RBoknJieX;E~*@=w|f>op`{6O3P2Z37bvo+E%jVYYm;46EgOlU}@3~nPH^KSKwr31pqvU(|w^rLi2;8+lg^=dA z^Db?S{y=z9KUhVzA*ml`{HO%Gk|8yU;1&e-;wZ&3jc%Y62 zHu_z+Emxa;ePQxYTcX#1Q!-Y0NMY6K-XyIuDSTUDki>9Ae4nH<^BdGXJW%EP8XE#Q zb#?Dg0=Vl=Ab^7n=UDY7e;-qNkN_UxB_XLgodj?QEfc+ioc;eM0=O>HK^Yfscaeu~ zrLfU~OV z@0tL<6(C~}z<}Vk-V35q4H{}-D*{*~@Faji_5uz8EE1SO$RL25a2o`0Jb(*Jc}oD} znd$v6u7CvAe!zPI*jNc*23dmumPcrlhd=nS3E+hUz8nGUL9z+pIans`yvWQg0lcmx z+>*c^NC!g}luU!!3~B=neE(GW47kZl1}VGKvEIKw`fBL~YL@{q=s`RPf%`SiDd$#$ z`O&WR35lcMRrq=#9=j%bSuM#Rx~_rJ9z1{BPl08T+ z@V{!0-AXe+=03nv*WS7wB>&_Zle!^uMd)T=T=$?+gX6jY&LDQ82Dz2;?elkm!R>tK3jKZo>pMyB zD-F*4?#h6UiSX$jbjov=335%C!J{e@l8d@$J&As*!!T!cHpK07CUEVYTa)tQ@6Zii6@F({#@JjN!W%aS!x zF32bq`BJAn*Fe?B<8~0WLX*0xf8*%DAM?VmzD&r;7DETB%J6+odtAVwEAvXDzEA*rcw1u}Y%G!v# zCsTzs2uC&vRzTU_NH!2p{b|U?@C@-v`zkN>(^%d*mG|DGB^&s_z@Xi-LAI{-Loan9 zCrM}hBn8^I-}To0s6pNc@t1m)tKEiR82TYQTkjZV-5VkXP0}3K*<;o#G%XlJ%Or|S zaCV=KSyy;(!bDT)4C2k$x80ZBw#uz5a&xp#|FbNeAupV8J~`G#CYacRkfWURB!mdu z!tIPIzu!2f_sP*)?|)h#b^gsDI>?v&F^oQpH{YW@vX2Yt^FTYv8y{3TsCKF!$V+0Ux;Rvq)L_kZCuvgoMY z3HX3ETljkRG1T8uuXeLv>ye_@;5@o6#~J_8=Yo&D_Pv!YsNXrR`LX(KTh4jC=5I7o zo^szCC*2>TzMq{{e?C+FEN^7L0oLbzyaOP*>s)q(_iuu{qsF^3 zUr_yS$_wl{UHS11K%Vcwg7rI5fJ|11@1;DTe)FxGI&0e@@4i*8e7InpmD5$}U^Rc*$7n z*-t-v>PO~K+9iVsuCdgB%GOmo5z7-96NV%na)40IC#vpZ$`g0tf_ptwQlg4aEBh;J;NPh9? zY?mFX+Vd>W{c5f^P;*8W02iKSp>XDxT3F0>Km~=Q?vT}rHf2xZ$K+A$dF`10Le2;f z9Fx?Lms>%0yhpL&*-j^09dmPqn#EpcV3!*g=uYwwW3sI^QH*`< zwmVG_V^_n&l1O2<+-}@_+tH0}L({&j*wAjqmUfFsJx9;8Ed!Dm+nEXChU{hb5FLx( z!B4Ik#G**zwy6X-N!SK+#ej)SBI5nP_-=a|W6NpS4rW`A?O}n5Q|v)s{{{{Kb^>td z>S;T&9cd!OvTR{-jEEg-u{lY1X(#AdCaecaSH~UgtP|Uuy?g82JHni8RZWV2tAA(Z zy{9jsoPn>0t`Ck0eVu^ph;38Ez8HK@jtX3B98@OB3yDvNXW1}i&oUr>e=JY&gn7nk zf&Ut(1$+H^8@=hUAls^lUhWkZ7&x!UbU(XI(dulcwVf*w>VAeztAK~E>|9O!ngFi* z^-i`2tb6zld;4NjzU{92W%F{VXM6n0?sX4){BCVu0X8rk8-{a}Jn|nh0UXq8J4*Z+CC_331#*e z4goyCwHWZVQ$BrGIV7rOt)uJrWP1nyw!rMxvv=x1WCwr|eeAKj!+4QU<^vBF`KEr?W&xO(h%w3;$ ztBiA75c%5gS{|}~VEvMrdP8@4pxJyq1g^;4hE~q(%DiwTr`>|I_iy7ojd4vopO4cZ zfa^XoxGx!0)`zZ;P3#r=f)!AFBq53@*E4l5iz@~JT z0WaLa$Gb^juj29`l`znO2Cc{#1k}L5k&CR5TnJ!@--%_=+t7fp zN#G0+y&rIs!UYW=+Z%YG%3s%D^Z5S2dyJKcB8?f)8e>o#)Zlm}l1(Oultmv@xpco) zd1M}lf9vQ^8ylGh!8&lQoo!EsFvgdQYkK&(M=2;Bmqi~s{+4~G4JiP#N# z5X_!B0-=&>LZd-1D;_I#KICrQPZ|8yAop4ZyEW*Y_oh8{?X7D9*Tin!$K2QQ+P%9{ z!aSMS)d07i7vOz&3C;X~S2_XC>4N}(-DZ7-9*S&UG$W!)}OWMbF$jL*rif}c- zI?3I5)GlZeb|Pf13D-deFS^K0=2lwz@;<Er6a>u z6TUJ|Rcc)fTW{@1T^rDj8_S#z>AMoHK=l~YAZSZ}-9K&`=&HVu@PShfsw@K4{Y`lY z-Gwx5qo9aYk)O1ih=0L{qfO|xA$u69AvCQU19!+)5w0Z@ z=}8`0$_>>=|DEFmz#fx0D1CwQLM9ZZ=b!Ztk`4nOmK-d4?^Pe~RUaZg=wm?$k)ZVl z4(Sb9u#!5_>$)m$37?QYYaX46^;nRZ8{!8Y5mnu%h|slt%a^kH8FKU&tn$?DWraz; zg|Isb);o@^&f6bMgbHs%eUuKw>;}lXpY{5vo%>$fZ}E$x zcS=6-%hsh0sB^4i7}gnm?eS5yEzrk199zeqa)I)C{3_>~jeZvBcO);Mn|#VUooX|# zP1g+>`uRPoqkYS}F4yl6IOk(JX{+|ecvjI}>sx2k=h;bL)RoNevuxQa?>3E9eh~F+ z58d(nr%%f^eMRR4?2kF#QB`Lw?=8ylwytu#tjGIaGCZ&sFYKXr0xnl4Q7wZ3JoS4dQYm7vb|#=4CI<#`@PytFrMR#|_ag&~`S@vJ`}Ph^V$WQM-|OMWe{ zvd_Xg=70p=EsIlzTW3Rw-F?^K@0n!_>AV-DE!$rsPp+>S-QC3~UjGN;r+W6wU5MTt$=g^R z76M(Hwl@lR{Br%8{FS|{ZCr^`7rW*leMRQu_)=*TzBo0=>lfP>c2c&{YugtP;fte9 z!?rM-a=1T;ShqSj;LL+f*Y}bm*I@&j;huxx=unV@L*1{~$7~C$d-qD8r~f0{K3zX#`Og|7bhq+5sLi&1^rt>K*0$~R*6p^-`A8>e=U08B z?!_Ry+2{uub*-y>-Lpd4!0(yprGAjU8=w<3Z^$!I_rGMM^&CVu&&ecxr)*Q+JDM)f z*u+|Q=IFQTf&CkMEry^aog^^j715je$4T4I!b->~^YXySLh$@T=W$jNFmfV}z{`sCMg%LV~a7&_AHo4@iP z<)M25^6>3(Om}&}fL4s4*GRjNwLr3d$>imYSq5A@=! zlxyO_V5N2KLg*m(iX>lmu9ZB0>pluRSbVtdi{-;t&rX2XZ$Q}tM-LtyGPXXf_2Gr^ zWiQ|jwEBwu7q(!KIiQcYLwP{{j#Y}F1_CQ?Ve@|m1CYPB16GVNhzP-Eg#2Z&k&rhD zdjr@TMWIO`>lCsCGVcItkTb&JwD&KAAOI2gU3Rc7=%=f2QfNYnb`7#rkN`i zS7P?hkN!Pr)hh&bi03MQqx#CgSF0HV&X+;2(i-@7nmhyXb)_TN41fu36I5BmZilup z?5!KH((y+%iQvCs-OH0im9a+v}ORy#}mz+{1HaayNrhN2_>f2cBKN3x?j~`WDOu zIegf8r{+DxJ528u4XoxM58{@0jmuBfps-Q^v0D>T6Si9t_wi@8P-y0odsQ@(UM9On z_GL1;>xprQTob!BX%1@gOb9RGY$N3Z2%)=@wSkG;5V7PZ;cD{M_4dxKNj~+$D@SL6 zbSHuP+<8dbVD_W%$&GmD%Dc8n*|XXg%lSZi(n^LN1aIY|Q|XJjcVgvR~eWNZIa>y!L$!srrWVgS1Uu z$p;n!HeRrVkqq_(>skl4bX4H|=d>@7WIo8)l=Q@(vhP7ej80x&tv13npe? zr(LB+wQKCj*olt@2umCSQ=vag=5mPBS#JV$Ef?PV_(+5!Uay4^t0Gqm7}Q1BrtbZZ zCQ_$W{+ z>we#Uf0AWGACF7Pe7>7@ErZm1r({kI6K~et*QtJiWFJk0=uG+DB_BdhXfl=jyEz`` zLz|C{cM8Z-ejCt_^2iO9MRJCejLu2;W%WHlnf?UMgOu|qta?LV=lDw_IXjhRka8Fo<6@i zhGCs|bd2to@(%A+9niTT`(yz!9k)?sU(?F-`#3JYn`3kR)lcUygP{-BYg7M^?~Rso zEd3VWKL*#Z>V-8wVV$iWGTN_t#xIZFs#Jvj2|D9B&U3;4QgW~^eBfLqTl7a8p^nAx zTI%OBSI2MYTBF;~KhNrT#(5uf8}%{X6RyJ>TRM?R&+h~<$>d)&O1^;d8}AiJh54T2 z-TFo_>bqR;TD4P}eAic*_whzv!0UhN`#Ukpcsq|eNazKnw}$uDH>%|FknV3%bo0%b zbBac0KbQ8V5S!iY zB8edpo!+F-)N$DO=?&QCZnR^@AdgKN142|oTG~EWSiFuQj#u&%eD4ZuafWSiKW@S_ zgtGTMwp|WelkIfh{XzCY{?XB&W3THxK+pRl$2PSByWR=-E~)jt)5ql)vIo*P#CDyN zh}|F5xh^DkA`I&H3C^>Zv$rBM@bZ-%tgZ`D>teU$dU-ptEll*<9x7X?oE@f(boKa^ zabw0&8p+(YA@`Z@Pm-E-KI5fT_18xUVm&s`up z|57(d$tF0#Ab=M@-i|W)E@P9k!-XT~v2|LUGaz*3gz-50ms{siIc69lh^g!L>~p?4 zafDP(U+Gu&z=FMreQsc!*8l|WM9Ah9E5{Lgq|jx1BX`?wKk9b657v85sQjr%!L)G# z$?MvJa5MsX{h!1$Smdrq`OXWjGr1poYJqntXuX3xQp5j!>wy#W21Z{#p5?xGgvi%^ zMw>?6m*L&S3$;CX622gHk-5CT&w~wL$aA4*g*^Jmt1NWBpB=Yb^DYlQv&usCx8*Ar z{k5*-e+vQ_@7@r!pO4`Eta@-rXZML{<+2z{_{NX`VeUFbN!w;E=%nsM`Biq;HeKV^v{@Uwx#V;`Mu+ z0OrGv$K$>8Ll1f%Q*iU`H87}wfCrE!fC&M;lD~phmyzBvRw9b1Ya;l%n^>jBUcfbA zVF1H`W*O*sW!sHMS6_=f@an{YtFJw}QUvgIHHb2@dM*U;6(NAHWN!@yV^Uv+OMSX zgBr9m!2Mwj?0;ATUP3bexUTyK5WVu+uK$cd?X}l?01LqjYC^Hu3+HEbUo^pcU6Z?> zpcLv}V{a0rb^kekrvTqTAiqdnCN_Y3_?8-=-ct8C(7q&9*5qg*cr{SfV3g;`>?f@O@&T2G47yeuf*n54uB|^t+DtK@W6TH9S@XW{_5cy+_z@7cemF0p+9G z=jb_wvGU%#CU&)A`MDPzmRX^hYjR2mWrf1>L^WQ!2ITI!CU=bxzb1MK#q9hu1t!Pf z8HHK4x2;g+X9I}d$O|HPhgWYV+Y1R?d4>Igz#Vy$vj%0$o;&AbLi&aPexB9eA#NLI zn{-7M!q?%(mU1KHEFq1fGYQ()9M%kySMov=!YWt#(uFM zFL}x~65cUnETpf!XHC39%0k?(hR`jcTR_%ES+%e7Fw!Dh46h^9Fh=AyB*!2;jlyj_ z2IK{d${&yRgRqrxIb|EtC2yp>0VE`7eUqq=snl)jCI8@~iPi&emkxj=okZ%V1MxO= z{^O%}R3;x#rY%T2_v5-ncOfaJ>=#YKkT3m!w&<;hzR>0F7vMSg&PSk0p0sONUU{MV zSDND+B7Qz-LWc7ga`!pOvdXJJlV&FPkOev3EOXx0>$*{Py~)CTyFF5m{x1r@YBa&O z=!D4J!g@yOe!NA9JMi9G{$$C2T>XNQy(c+k*HM%Ob}yvL(s z48nYUR$9-`c(oOLj8X3T`F#1Fv8?+XeY;2Aq-g@ez-}yrIpZYh2 zl&Q~mCbHu&5nbP;`Yt6p!&oFFGTPs(kk)R4{`~f({Q%#|{>F+NuJ5+Kx#PQ==oGCh zq^hMpagDeDbkOgoedTU&?j-gg)p+r>8w$l}xu(wKV2f{XzL z>uo%kyFU4hM?EHOc>%I{Eyn|S4+!V6IC03)pPtGuORrGn3pEx7bG%;d&|zGyv3Jb} z1jhHJ$2@^~gXRe}Cny;n#mpVFl}iD_IP;;GY7U~PK+Jh+4)jvxUkqyg^HM|G+AvoG z=PF-#o;f7*LKX`%A8o=|iC?7hh#WpO2;w{M z#umt8_B9+Yi``lD&f<6MBDRkVr;h@5K6`_9l)qa{6oMOWwS&j?H`&e?``)#X#qD8? z*D0Q;KNX1XN0@5c@3OCP?09V11qr%>y>4;tNOV8%al8U&jw=V*I-FScvB>>=YtGSN1N5>7N{ZxB37aN2KnLe(L_PgH=idJ9$bE{PgHYl>(9A{I*KT zYrC>4%Qn{Gx_wP5y{4`Y5V3BXXrd$rY+Du^nnOI_>d?;E%nJ7Yt^Xyc|4Ggfki9ra zkjm?qw17<)YzSc6fw@1twHf7>RoT(-?$>>WO)bPPfZ$b#=QvJ~KlPAE;GehcdP4xW zosIigHnj&KdMDQ*zN2{)>}q&V-VgL_z)#dOLn=IG;t)F=>0?h1*v@bJ{)ULeE+>MM zx+Z|DJUnk7UkKPHXUP*?Z{R8HcGR1&h4>|MfWpvI_eAMn+XK{Bdb(t%(_VEZhhqoS zaiwSYxRU_p98&i%XnjE5w$JWSi$?wqb+JO+#;Y28FA9Z228T?3}L%0yNqkX-@ zLI86;qsO^8w6w3c>S&7|oQ=2}b30lj(|Usd=6{k-mqq^Kc!#Xzkj9ISiQy(|ThAo! zidiq4Eqw@)qf_^lPdakyvMKxeDB#e5Nt7oz$(Q#Z|-qm}$UL;!QM ztt4>B$U)lvEeK%k^V@YBoqkwUmxpU9AH-)6z`>^e0LDwIG1{I$0P6+#8xp`Ezk3rB zrmt}bV8C^s_N$%0A^)j2;dsPFqjzxu*u&^09U^2GH4VC34B!z5;bU?1aQLFm;|mt z8H2?Tz%?jS7-$BH8bng|K+dZUdyimN`ZejflE1?DngkYc%09tAlvgY%-oSrGT6F@1 z>-SQ&x3KpT?mPr>?}ux$7)-KQ;c%jx_K>;NAE2CY%bWu%7)O{IAR^a9c0w*YWX}SA zZ>1muV50`Lb&a@Y8PxvhN=RJ~VgX*f-gCw)KN+}g{y$QYyd9Q#5WF6!-f+upb^qLU z^t0O_c2}6(h2#yfYxMoe{klwIG@+?``;G=4@ps<$kdT##dS2@J5z))@#CN2gJ#7zA zso(MWZtzZTtnX{yUp&Y4P67-P9vJVN47U6p(L04fQxAYx5uA|BkB~lH14F<>vAudB zbsvM+WkM-<#<1h9zPCRmjhLEGiZL;Qvi9(p?r@)pvTHr4+CE7R$( zNnH`MFTWw6Z}bZH#+Cqf-=r8dF0dlLNmwA6JaPd>kdlksZ36h!CUMbiVs}r@9s}em zL@Q*i+JtO902yk~rR|$-#M#z6#lV9>2jfr6TPBh=sB(-%G89pN43NQ{f1`8?BMh<( zQ5cqt5Wpc^MYJk4iK~3K6CvE^HT2c?ZR;a19p&FDxx8)NpZg@GPwJ^F$RJjA>{DBK z1@BxL+pJG}?O}^C4qep&8}&lQUV0ln09gxZYhu=h!Zy@#JY<82oy09h#~2J18gaA_ z0c>*DpiK;$^f&uK9^>lkZ+~2EF@&a_jis(HR36~jJ3=QnR%0rL+ZcZ1m1K|FHu}bx zELn87Fi~6W7TCx=k?_Q>bDIGf(f2@ZKwiqQANhyDM z$kV6WOtc;9f%KT(#0L$2ug{~}e_Hs((oeztPJPwUzs_el zFP)p)tjD%K{aH7J=_F*)bADpBpTF7Q9EV<=t5A8JyX1Aur7W~g^wMU^{<3tcT_L~a zgF4R*s2j&Z*Zm$lmOz`O+`994q#UQOUw&(2*4O{9`(axTxQ^1Hyj*WRL-l|9e_iSq zoygW_E%HrUwX3}9{a>Yi(|^PN?W~`mUE0=jl4q;>9oXrw1n_#E?@|}=8|b&L1LQDd z_I$>FdGt;lLr|V~1;=)s`jl?^v-}v+U-}XHH*DZ{vcWqQ{aLT~lip2kKi=JouHOH7 zclSF?a@t7G?`XsC_bs}wg1;d%KfhDtKke@nGM6t4NM%Uk`c|*s$G6^RAyml*s?2v8 zJ?Vnz=37k~(8hg}f1Su0j0Xz#P_FW5hrDDB=@baFJ-nY)mvVGx{VKNyb95$F86mRc zJsm(4kNmOv8ry(%th4CMvY~Mh`9*iMYls}i8yTU82yqP1sWK1|TzI+0z9x@7=C!=W-!<00_(qNIwHTA} zc+D%S479kj#?luGjOiWr+H-`=6VBK8-Fq9qb@USCaHSB&3PW9Updd2lM$EY&ioJN2 z#j*kOt~YAFS#!=NiM5|`%?TBW>ZMm|&g*&aSmeyS`0T_}&!0bf^0{+IPd@vSQg4%V zuIBKCX9!09))4}-_d2HqIYh{AcKy*$ubK9;pI&!^ynLrEl<0^}`u24J3hUe+zt`v*nvgd! z@9P`#_lC;L^SAyJ{+9tretG@Y|HuCs`|h3mzc^435fV?|gn90*&`R(25WpgS>z=9m zM>s$LhXfV@T=yZETcb6av%wB0{^Sq=EWl-$OE^XVgKz-Y9f1A#oo!vAZFF(FfHYTObQU)OHZS4cQ5O432e(00t1v zD*?Qo-@|wp*SX7kSoP2OcXa)#JNt*^t!pw!U()2Mn|mD(+h$)Qg~>*y_Z0ldmH-AO z;p-ZAo1updHUFE4Ux41i_3&Q`)2Rmi!Rf%esIKy@cbEVUs6%IwVc)GbTLKtx-+`)M z?z72{SuUhs=`QUG4*(IsUDi9h>g(Q4KU&W{1Xp;JiNKvw-8lh67+wA!U^h6!#WJb?|9ybZ|Ty5R(F z(rzE(H}chsReDSR(vu9mdcZ`?`bIV(;<^Fk{Sf+LX&HU@19S{L)L<{`d>-~q{Q=}9 zAEGw-ywFoW3E-(0r0q%Yhk`y&Ab|Bd>%Xi2La1vFE=K?>6f^|zsfTOu76RCVHIO}k zCjs0a*!tiO0=P+FR{pU9aFAlbo&e^fUIV$ns{t1RxR3$g%}vDJq&-Nyn(W3~O#=Vy z*4vMMc8j5vfsnxR0Pev_4MY?Mx^V4H3|>qIUehG720j`5K>SwzYC-`sFp`V`;0=`; zkc}$=>{Wv%e+>q6HArJ6-cQ(D*89s+UZGWkfYp4Jh6FYt3^CfFXo4Ti{elSzvy#Jv zqH#!?grC8Sw#(m(x2;KI5yveH{``AC=r;De{d465j(0`%|HC?uCa0^t!{LP7{qfQF zuL!QxZ^|l3d+Ii!Th~FMm}?Nb4um~Gb;|Yh{v&|vZ9?AvlLx5e2|sfkWPS}s!8*7n z{5PS6veJ-n;WyoO$CxN^FWq+67OXVXUeyIiUgv!eGvNF=_cyCtHOS0!U?gmk_R>lTu=%MiMFz=9@ZLlB4X4FPO~thMK? zaPg8>ajyih@}>7ur6O-3U}>v-yl;&SF)KZYS(CUzm$_i@WO4w!+;DAP5xFHBZcu+6S;35X`fr=+oM-y zlehA+ZN03VhlEX?$l4fAM!w`Lr1y>pR1v%wWC~vCPnbEEF}hH{hESe_Dux>LNNu1I zF#abb(8pAVPoVfi{~w*Ea4^OeXYiFd*7Cv`j0*}T2J0y5CMVe$X8vJLzddupA_T14fv3igHV9@sPe|M z@MFtDz(Np6XCZ)1cs822fXINfQy(Quy@)*IqYZkHBR+@s(Qh4Kl7!>$5dDx+pxUNh z?W=6U3gW2I=k-1wn++3NU7zF9SG67BJg9HN>0Qz)>-Tbv8u~4DeAS^h+WB0NiPWt8 zB>K{C>rgHo!}WvwE4Y5bL}B$uzqA?ozc~63R9X1sFI}!WrJq*0kGYa+!1W;g(00Wt zoB0n8*3qB)S@Gc~e^vb#_+6AgE`6Z7=us{m($WJaVgGW1-=TKK2c-{rsPm_9^h;;x zmyXC?WCK-31~|@A_HlEr2Kv4}uHTTag^yMl?SEPA7JO94{HV?a_eE-w8<~&ezPUf))5k?e|4aHxe}e};Cqp8(>wLO!Xr9$0_Ex_-?fBD*P@yastp*&qCMzuk5J|Mh6etg@}1?| zxqe3rRhP&UCV=Z(Uh-^DkVRVdQ0{Mhee>UF#3OnQm2HAI`6hDFsXiQnyXw&kZ1nF+#sZ|<{ac}zA{5i zgLgC^iYKw>Q4qy%izJ3b&K}1BbFvq;c-M0{&0}kxdA8<~XKS7)kZ(Nq(yK?$)|~hm z=Emn5m4EidlAXO+^K|g?(K9udCVg59u?ahEJo!w``JXvgc(L*?96k2*i$`akA~nuD z2}#^|3NJ#)D0>bPR`%gD&m5h8%mkM0nb5jXGhwAV&z6GyUd#=Xg*tVtH z7jad-^WW^;l8YN~k=9yRIR` zyQ1dVPMZ+V$;;EX{vVUS^{cDewYKaoL){T{NBdtNsBw)qFG zgZ{ANm41MI54+y5?*-CZWR-uE#TrjHLgb3rg~)C1-jbW>t^CuK0?M)r0-ob0fI}!Z z0UY@xXeU;A>X4-#LfCymNTY+}$pn4lh$3f{9IGHwIloolx;PI3ETS3kp5b~`9_T!p zbPjQ>Yv0#Y(0{Oy$g-=}|ACE_|BJjpedPRS{l7sB_y0;+eL^@t3by}uIGPhVrH0Ao z0`hk138o#`ycO@y)i!Ld%XZ^|)*TQBHv5U48OZJ&f_TUlwEiBG;H@@=aEkVTM@DLh zQ*8bzT%=RboMZYXKk6E^8>qJ7vkLcBc_D!NqcIRdc3Le}m?Y-O;9-e7J~uB9 z)p`?y&4VW0rM$OdCBKxpnPEv!2NO=^?K24+pJ{o9_ZyblyzNn z9SmLHO7+61{QCchgyOzyga8I1fKwI;eCi>iKCr+9u*t9Sfeis%12UoVB7ikGGkG=$ zV9F3{fRA~9?DfGXBn zRLnI$tAS02g1#0KxY9uaGceNNsL>=asdOs;(;k=!O#o}4)&y|!T8-CaFl4dFPx1{B z!4Sg*>O=;wkTryw_!rJuUElDIz;Y@dHq>=$Y4~S+D+_=#0T=`zU}D7`d<|ur~%3A zJ)%9()V?8icu|4wtGb8oxclCD|J`$6-KR5bxhEBMZ)tf$7ml8O;e1UL&)4Lz0lB-D3np{D z0$HB7gidZ`MY0K9leHmog_5n1&H{A2()nVg4x{}1xmO*k8G=_{yiN2jFez(NcY{H` z8j;&W7NT|539WAe7t+7gNTLneWzpq zau_}9Mt{w#jIl~2EGSv^lR6AlYxw1O(5Ad%c-OuSDH~LoRE9J3kbPvG0-mzb7pYoh zldD~B16%SNyxXY$j_-TB13J>f(IDl6|fQ4|`^!tL{wn0CK^aAOTF6ECGZ2GJG$CRVnmNkljpwVI-88<|95@Pp_BZc^sY{*SEnTPgP4tjAM7Hni7kp6fxETj<5=IjdM_^JV>tFb$Tz6IU7)@}?-x>^Z;-!D`Nom2I`CoV(XDe`zi$)O zuD+qc=6k9#-`xXpeZN08L0sqN@Yl#p@=nwkqY+sMW1+?e32CjobSq!|3DRr1bUy7C{Vg?Y^8R{irePDT|=K zEEsE63J%pBg2uSU@HQ4q3LgRlv5Dk${A_}GF03qB>&I)@5p(8TU_Y<$d|@ruTtsu4 zWzJD$&xx4lP=2pd&wCQ8IuVgPw<<9AdiAZE^Vy>~&|=>OFXBO5^GCqqWufP*&!2zo z==qwz4%FQFxtd=OD5_Qy#Nh0Oqo?sIK6`%H4W7iC_&IwMKhZXa)tmV7r_UZe*05Kx zNvL=gkG)2p1dut;G+B&I#E@rR=VRN&9xdCpa7M`D`uiTnj(J*yF(G|zpEO|%8OMGH^+#uvD z-p3+mDT|~vSv$z)0;KY)Pq=GuZRR%Wul4tkZS7~b99>`MfWrhSSkKK~)3&Du{I>b~ zu(`$#Ye4YknsBWkd3_Cy5z@J#>z)BW z2k|@k8KLeOko!kltcj3ng6fgF$HZU2Wi0%K?#C?#LD;~KH*EY6mj?g=IZ4hfAZ{T! zNrMopLst1SJYO5UaP*j-wI)+V^lo)R7_TxB#HBCtH~9j60rj;*bb`o222ULmyraIc z=2K4lJ@VUiZ5Fw%W!DW|T|<-U+T*ydX`nW|YjpjMhn^^iG>#3n?Xes1pZPzX|83U| zuj4}WLmZ>`nBQgCeeIcC_spiRe(yE61jHqker(0&pWv799(Raqg}SbLasb)L`(7P@ zTwZk-y*+m}WYu5DVAs{NAU-K*dE2&?UkPAzN-o{;Tsd#_bGG*Ra2;=;+DM1zlIIbf zsZU?Ob?>Q1{)QL-^xowG$3R~XcIPK}*e4ll^b28uUkZD@-yHhke}~8g+?P)VI@Zgd ze5l@kF!d#C!Z3gO2KuuL^rt>sHg1F_cpKVRqV$BS4^b(PU+UDJ8;N{_`bHiE!*z$T z>P_f@>huuuuw9Pe-L%PryUG?hF96DU8Kj;SC#nA|ge)GQefOijmXzzo3&b(#`vK(I zldp9Aw~yBS^2nnaI048j$SlG>-}extFXS&Iu*u+iAAD%Y5)L|HpEba$GRR)Qg2-Sa zB=Cxah0ezucrTE`-8C?%0f57RK>W@@LI_|65?W1$7cfL{4KOkwxv@j|IxKVsDG({Y0)|rQUU&U&F&RAxzq35yGJ5 zD;X?87&7>(tBGQLPt_j_c-VVhakKL>?+!DK9J=oWoYtDbLgZ?Z1Ul6K7h1|&6LA^ft#wA27d#O`x7p;}4Z znpi#8=m{2+E|IypzVIyis*{=&~}t%JI$x@r)e? z5gA9?paNd6vWzPBo((Y@lGQMg`U>8*BcdeWeD<%O$$NV`7$Nwx>ZU<2dsG#t;q zSHtlzG6%>%2BinuD>laIK@0;tm`XP4ql;m?5uFL~^hc-lq|32X_ZNc7T^G;4wf&a(_=_WXbN*sMmDe^Rl8`N=hlpa; zb$RsH2;aR@nSz&Y@BhsqPOQ5urL4!=AU@hI-1& z`R_rSkL%dL=U2b)FDB&08?^pMznZd-fA!Z#pVTz~I-in#Qhfy<*KbPymx-Rw_&NSEU*ZR(!jzEqwzt>b*_Y~&N_yY;xw zd{6iq=YRRQemk(tdaA4YX>*L0b8cy`=Ov)c(5?SrIZjC8;gP*-t7jOLj=iS~(V@NW zJ<8Qj)pWnqhSKN(iQ#AnD4V~z1z)t>-c!m<=qyje=i`(JJRp0ZdduW zAJtbMdPnPe_*fGq%lokUx0kpv-<9+Dim0&Y>u4x1Nr7l5B&mT zmz5Zne5rSTmW3#e{up0WKI0D`tJ2mTeS&UdQaL)M-(#C`E;Y_dnJpr$|BFuDCXn7z z7NQ5LeTZY#)p$)_&vk6zHt3eD#$AIv?t0qU8yQkKfEb<-iCp8u)$@4bqv5?Qh){+E zt}$)Afj5Nlo;0>hp2(oaw24q-eB^O>CK0Y78~x9 zvWI4yEVc=pTO*!v=um9_rwCI$y^dwaY+wt*5dhpFve9--6UQs=7rYgi5nJVIw{&P@ zBjKtO{um7VWn(gv&u#YerEEMP zk6wsgK_os7Mi9NWJ;V8o?LMn~Z>0`DZg1avAB=Ne{qOw$1CI*a6D%kY`3skF+Qd?b zD)SNZzJd!-_~r$%(GS~vlZdkQi*$sfoTM%!>q=T~LH$|jomoiQ5T!%b`7E@MGYHQS z9{P~B1=S-LUQ~KUdd{m%U!dCrlv&83@bHz-@z?qll2gCabA*8UT`k-96Abx^wZ3)I zKi4nURc-tFA=f_0!g^g(XQ*8N4SEVa%{v8~>}8<;x&K>ZdK3E{G%;m$5422P-;LZW z0C_yfRbOosUbmP0D5Zo{>;9{Je8k-t>kj=Ht`|wD`jT;xMRd5o4VvVge{{=&DszK~z^(oss`FS0;CT2xRC*zReN&|` z-%!U0VBOSpekGI6F|^(edT2U5g!!OUc_n~rPyxKcqaNtA;o)2!P#~Rt(Ded9w&Vr9 z45lY=FyhzqQi&`tnds>l6YRy2ysl+m8?HnC6Xm&{_1~Igulq%07WbraA_4pmgc#nx zq;xbS%iVDI-)gOUXzfEhFu@CMdE z3i21+geP!8dsCQby#8lROyUu&RdEh;A|jZOC^z~ zyz1Pq;oLYM|BkEpUHWbHd*!t|J$2=+djkY-$X#DQ4@M!{YoJ+q4=BBQFnjD~r691! zE}>x@9!8$Kbq_%5W`V%)+zq(57!U?ESiD>JpBEsIcQ|tfgWTH?yb!zfZg1qnVz8gN zNnR7ZJVU%UOzfVn=MhpjMDHVyCw;00A@vORVB$1`o+fo4e};jY5ds&l-N&9~aMrTk zXBSUh24$1_2@>HN{Ng=Yx4+{AA7+FglX_Re)4odV^W z>?tiw64#!(+E2G8hbuuF&)vY`m@5yN3u!Ce)Fmu4^4A(Bcdg&$)KP8{H$VnC3wbLU zX-#6Y@>wLWWbwq^B6Y4ex$89KZ=s1?k+(gWHYULbat5V6NrgvaAH^#WxG-ATThpq=Fra=DEPYba%O<3T$-WJSoXn02a$ z++Fb&vMofQk~TudnsjZs@)%SiZ-Yq_uXANSWa>oP43y4rcpld{%(rhs0|=lozFhC+d7xu4Bj(AE8P&Y z5VFywT*#hzA$=3-7(?QQm_@H-TdXqjDSs-MfVDyMZIy!#(}*Fp(n-EnD&wl_Y?v)M z_y7YeM%nd7o;1kL~837Ty9UKrC#1j$UXs;2UT7@WcT{R zO9}#(bcfYoE~9zt4Z?K?>B+F3Ha4yg13iZPmPx)b@Ix?|i$D zm5*cUFGScO{Az8}WFn;Ez<;!?<;UB%-eq)%axjQ$@}tZ*Wz9F%Z`20S{mUaQ$dOLI zbq^;6D`}IbVO4y^L7t8t|8 z!4~pRJ|=52xM446($2FuaV>Yf3FI0(Q$O%=jnPY9qqD7J>~Ed4Q+dHGf22I~ z1W0Ck8bb;j-e-9wkt^R@!f3(jx>y!0vWuX~165|<;`22J6clngfFy3Y>Igr*3p>4( zvo|qb#RE0Z70B28n*E9ue!Ax8;CU8s*WBLdaMbKu{KCrvW6`GL@d+~OD4;_0g$D_9)TP^22euF)zZ;{OV_lE2>;R_xRxo(2} z!74Z5%XK1xB&h2bVt(41JHPNfgZnA0_C2^4b0nQ#{?~9DljCSxIUGbGq?C!Xx?gm! zR6e$Uf%22K)33Jswgbu*sQVD|vI)$(M%`6E1e&uqxsNz@J*ZvJV@dO^0mCmQ#aaEE}TZEuF-h5 zb-j#LCN#;rVvxU8uQqF4zax%^pk8GBzm=}o5Wp*6(=gXlx&XdL_T%Lq>UR+^H)Kd} z@J_*2e*^leW4Y}6(tH{BZ-X*=$jGL-h+UU7NX8cw?^df-w*uS)offu`wmxMt%MDZ#M zhA#P(lV4>EIPp>L7trPE*B|`3p?(U>#SEhb*D41yN&R|Ied4tG2Co*i@F4njaHufc{xKx?3* zK@3FV9N36ZWaXMxw3z_bO1M2lNY0Qf3csRI&=cPO0_iAA)w>UoXV%*qg5~$=ufeZ~^6y8moMd=nPC_C*?JSnA|81^-UQc{l=_cV-}*WS*O~BfIkGMO`sh=E{D0cj1!?!6beu_S zq5q$bKK+Y{(MALx?cBFeGPk#m+Wh4L%F=cIladV*QrMOuJU)>+%saRwrbK6*;|z5Jf;L-LjtXp{5TZ${Q_ zx9tP>J>>emb)O3T|A4;dkWbyTJxNx5)G@$D-sdjt|17ckBQn8l&`rJD)HUO`QXaBKWDD&5y_QMqogqZ-_ZrBtq}T72)J>cuUomy&yV~-U z2HtiefvSOH{#80q}-rh-yhQCkK=<~evhHsdyMP5SKr66 z?|XeW0iMMxxjer2d(^iXXrY(J5qztw586cD8 zr|uyl*{HELpnk!Y5T>57vd7DBLL%?#rPCmv@2#+)m-ZuLYSsJXxhd%fgC4l{=$ z5|NNO)lxo)b&l3Vv58~md^^&(^4goY=8Wf=KQ81k3ytMfTsYTIzUHwiLn`Be%);lI z2fq~bJX&+9a?VW#3a4=T|E72oFMtx<Ep;gP2Ytq`L1 zo(Du2$F4?Q^4Sl0EsLyOWRSMNHo66|!4`(ScEKce3zeUtwhehv4}|E&qZbcfKpEmZ zw&VwG+pFuAFwQfaGaQeJcyl!i@D_YzMx+?%|sy3bAhLIjKBQk&+Bmit-=e^hyS z8!KPXbK<%zdQkg*|AjCP$*X6pq4H9@k8j z$ctf-tt72TU1W`8MDGEtFPMEfvXk^b3!5K1Kpp+ez7FdxKxed>#O}QKJM_wzfy?PE zvUv2`Q@2s_5W7J2qytU9)J>tyv(Yb|?E9d-AJkXhc*kDEt*i;Y<*}4Qn%{tWO^ZJHAv?VApONFc&sLpYzsURfga3pjkq5D zKa_0$f9XTm}DE4w1kRcn;q&R(sve zAi$V|h)OkJ*$zs`Yw)4L$lX;29*iW6N>;QD;&CA(0Up2!l>#6w1@g#lau{Om2OJC{ znEhzIC+*mq7K9M4I&{D!iNTFWS6y@6(bd=9pmxZvy7qb@#4Dt*$yWn!+jtZo!e}Qw zh}$M_<)!Po752`pbH>BDa9!m=Ja*XwWP*?|xi+^S-FPeHuER0kRM!*lYJoD>`*st$ z+H1G|i|o}L=s(r!zx!(NS_4DD_X6RV*)Lk5b~FI=0)o3wO?V$_?m;7i>hZp;dpY}z z>piFUO1(?^IauE(;55&S&?N5@PamCm@|lTx&d$_?AbVdhQDD;W#It9G$Des#7$j{C zc%FQ&24Vtv6S%`87Z47qVb5KMMpC}8lD1kE3!xiS`8Z))SoYk7tkvGSc;+@KJ8%I4 z*Cg&-k=w*Bz=Ky_ytFkazfkFmFE`oSJBW9KhKxAKDYOyWlW!s~AdgQOkg ztBGBE=uSd*MaWoTUoJqz9?Ap4BZCcDOF1%yN1g=hAX*oMm<_SI(F+kv{fa@t9!EkN zCqF|LFL-;Bukwr?br?K8Y%+EsXsbMk*HJ$KfjY|aq;37KlL2PrU5=q<53lf_#vjYw zPM)zA}Q|)Q=#*l`pAVCUh#;Xpw9Ve#Dz?qVJKZrd)HY{gehcd z8*T?$FXZdS12)8}u=KIyL$t<_oMRx9cNB(h8Kj$#1u=k2e?p#EC0`+$n%a-iCRzpgf* zWGm8s^jqg)Or6wi&S4<>g}(wNliq)+WB-?yMW^dj-?EfqdRB=m`g8>u=J1Tsk>k?rlFG&d=ww>jt{buKrlLk$1={v%KC9 zCC{_%w#Y2!eY3uoc#r&|LEi5qzh{idEYG_!kWRgu$3hR4>-{IB{qoKgmOe$C*SRe3 zaV;w8dM}3ITvK-a_zh}1%Q^n&Ysd`BTC~H$8-e^5uCMcN==(OlV}-64ny41>T;IP* zJR92x6ipNd@mdBg%a|b~^D47^=EwMCmF=rmV+tn>1s+E`yXy$0RZf_81E`q1+4XyclmGn$^zwCyhTLj4dxcq4MZ2 zZ8ik+hc&Ji$R8?q8)P*;27_E~j0iTuDv$m`NEetJWYMI@I*n?mV8G!$w=M z-Pq)@(e_#Fv8O@y)!f=;hfQm-ZN;HXd_>#6zzlC}8!h|Yu6ev8-O{6zAKM~>+axAKIz4sw| z^xpGe$rY8-{EUe9f(hTcCbDHeHXNJQ>pJi#Tt(Z(3&@f;2LP2oYQK=Q{xjL)pDvIG zeeLplE*yg^s-Lt$?x|L<%8WPa`C2eHK=d zIQf)U?ByYn_XvS35;$_*V@3#KBkjl^=a1A!V_zTcD5SB7<6}B-UR^iz{LV5Wiw(VG z&6N#ec)=is#X(IzF7o6Jp0`Q~Q7trA$@7@HO}%vv62v^uXP$rne)Mld>IU_K@XOF- zZ(fWci3jqI63xXK%X7kQx*7ArmQHTQ&g%xJeyQshdoW4fJP<7(vVtC%k`*9-Ro@TMi4Wj{=&X7}2D#e< zh7Fn=2GVP}_7T;&EXP2n;RkhsYiR=A_k==g^FLPJ@zfi80$6+hK2rC&$u<*jkZ=qz zoQnJ{=wnT}Qhmf5`Opg*2ryvqpuq!(5WsWA7^~S5)|ZuJ4k2=%QUNk}5W-uMktKbG`)#ZM=3va8JU! zezV}~lKpi*1|CiCjouh*`oaH%SXw8^ZSG_Ofjf zSAeW-!ghH0o`0oeuN=Mfa;4~8grJ=Wp&PGTdE}CBsIG}yk-4gOn|RZ@KKa+0+=b+I zyO6mddLeN`-Z~B5Jlcd?E|}PzI*_>{YzN|b`?g?`b|rE_6T+jMNiDGKB75B)g!L0% zc_nYPZ&T@*ylqg&s_c-t1w3dad&7CjQdfAb+D$LpLd%i8CcJ-)ybUqC$`ht|qbJW- z%P+mvXuS}#le{&&uWai`uL)SeM5<+-*B-Rn)$t*0r6+`lO+Q=6Yc@bn#udvqq%9y{ zm|=?du)*e-oHkA7irg)oVFXeg@-`Ax-8=7pDx_?3*X_21EPCiK#4K$wNP*UQcLCv$ z->teWej%jYT8DuwMzyIk4QE@T)@h7rs^9ArOxil7F2wDq`=lW~@{2LC%EQyO%6q7u z{Jy>oljK9}0+Y18Z{eqtP#s2Fq1zVR&T{lblQ*3YL%i_UOa5}e=wIm|FDwt4 z5kh0?7$QcL&bCJCqqEAZp9c9!o*1dy>V&k}5;q}qhA!p548hf8QI$hviTqKz>U7^q zr%Yw_wbzdON~Zouldt;!u&>|BIG>p}#`%z6aI9WBd!XC-Rd1v3{|J0qzw^`1>wn|7 zm(DL5w8{TE`Ndk2G$!--Ok}X?JU)x(GIH9C za@Cm>o(uaZk1=A9v7*M4HI^)y#+|`3{)8x=`itJ8vqEED#x3qWIGdW;pCd%^5@#*Zg9HtgboEK+S0eR=H4fCp?uK z$hIEGCYA9prak2mj=JV@V-Mt-qZuZO_hhpO;BB9MVk?7p0PK5QkV6|hNbGFlM2vfc(*hjHUD$M0o@DGGWlvQK9%$Qd z%i@s>5)m?XVUkD(T1Frn&`FThi%rwc}b~lg>eEA-|^_e zU9=OF`GE;+CCUJr0q=;Gn1R zf)K*skwz8?NXC8D^&*9v?0vXl;I$2>&jLTLpf=r31Z!U0f#lYe{=U8tmR$KocLI4G zLs;5%{YKUoP>{}&=UmqMLjHj9N0iC?=Ki$Zt|H0S1@r$u)t$=bWD}Vg zK@;?dRv;lEKuAIYAvysP5)wTbP4?$jecLq}8|F6WURxsK-dj~4#^dg0=DyZmdo}L< zPV>osB+C4Qe~Y*c07hGH8vV2D4Z^mBKF?6_>8hN(aqvbf9Rt96(~Y|P)$aKC_{KIs zjbxvImG=Hn9Jl3)ppAbgf7qhcrKNn!Rc$L36#l>cKmY3J z|MEZn5-K?Re`m&RW!uKaOk6xptNXG{oZJ7`lH&f#V3(P?^s(;e!t!tMxBRXC?uNPq zywC>f{@t&9l(w>V33va=U>D{8{8hx`nd>NK{0|6teH1f9(EIC0j{d%~cYpQI>weG% zyp_2N=_*A{^<^2B2XSIK9P|uZkI+hvleSRKt&s~-jCuYgo zO~&qXg1Ae{)a3*V69;AL@)%|w(+t~lm>dxN68OFl1@sc^Qmms-?7W&ZAonFqz+T1# z>SZh-BEer~=VF2JDz8u-AXmV)Ww1+i_O4Dpu6lmIysOx62xU0TLD@glk74Om}P-nmZ=lcR(x#Rqm)^vEwZm;YEkSX zmtmU#n7&Jfw+(br&vDDK&kSBdUdILImYqi-Q?L=-?m;ibdrQfNQXrQ1w;ldKUTOGQ z63P;|8qyYgr7B*wQbX9QH&k}4;un<7)$WRio%hNL#0`i|Y@n-Dn4hmvaB zQef^OWh_Hn>O+It53=!7;1)hZT-c^6?kcnZE}?2|PO+|b=>yv6b6fpc&juG{DEslz z)gfhCK-tJz_SKK_X4yK*j~Nr%kc*!iaTurj);OCDI@BA=a^p{J+Y>kak~RfPXg828 zzp_^f=nCqx%*JHwX(QIzw-#-Ns{`h0^K)slF{&|KH-!Dd8@I4U$`axcmdO-iEaQ3; zc#YS#^3ToVDZ^QeD{;els}*y+PGIXSDb^Y9&1%X=h(ZN-qZ>Tp7V^e-*-+O8`ArHo zYWVkYkv8dTGrpw^wru*>Mt*JjHvlQSv*~QRA+b#$VUW@NrZNU~z$frAG=VAGe4GVu z45b>{z_tL^&JKO5w)+HTP3US!#1ef4lZL%jzJg7g_EbH-0NY9ZO9q6;?b0pic8T?} zH@utv@@<93Oke2JTVHP!TjIBVyk_(hI4Tyl0V%h!Rv_kQx9(eC-uKwM$N#M4`n`>& z?bFiqKTx+_2I#gO&x6`Of5l7iQ;5BZwv@hK(N}S7r=Io{ZC|-QpL^=9dVX%_^-Y^T zKS#k{y>@=Smis(Z)nD(G1OEP>ZnPdN|1-y-toKO%pP$}F90mV`vh)AFQT5e(sve^s zXY|o?$ar`U+J@M?CW`ZOHw>rNxXbQw*K6svwZ^mdvAj6I?ex*>$nTAAx`AJVmvndsBa&C zE86&d&3OGj)Y$&5V1505MDgh{3ugCo+KK%?jPSd|-@sqAU*av`So#70XY;Px!9{_*et*2Sgm#}2$oEaP z31|0!HWw^7>)l7BPpJC>ZwvSO`BFe|-E0T1s^3{1QIpyT}qs!i$uyU2E_gDeIMKVi0Wa_ z_XHtxt9${ye7`T~JM8N3&&c{L<@;nvHpHQBF6Zx_J~n}eSa&!i?;aR zQggi0V}!sp4(~^t@iZpl8vy4^NMBY3e=U9i@m`QmN&YgcFC?n^NNDTJZ%9CN#PbVN zw%outF?;a~mZ~Jk7p_|+9*guny*CKH%Pd=L;$@Y?{GM~pyye_+)A_Md(&5Ulba4S;!13zgl5m>nzt z?0d=n70SO9{QbvL9S1Go`74PqR4_OyDEyZb2>%U_I{w?E|M6GL8G7(Qmq z{v~|$7i4AshOdA5H%I@2z!;?gZD8^LRQ><)m(>4M3}X}5S;zv-KAO581J6fwmVCbT z-2d`#{amTP`rE%d`s=^@d*~mI{yK11P#03>ZUNnYETJyQj@R|?33ge>>;3otOu+k_ zqhI~{5&RDyMQLdN5Bgv7UL244YQ9Gv!+U^$_qPzM ze^>dtZ+&mziyfao!Q2S%YkdYz@%``5gRZoDzOs1P=9PAkvUW9r<`s3Qt9=@iZyxVs zz{|<@_Bdt;ldKmpS)mAVWup(11wvnC?Uvt124NC~i4f&XUDnISD@n09con6DiPWov zy|2Lry^Mtdvv>({Pg4ZAj6ZY!=rxptx6ax(ya^v6EPc{D2DOMki+%>Xh%33zMM-hcnG1-8 zUWW*O1%L&3Df$`DeulsD3F@N$7W$%GaJN7(>IT5?>KNv8Z(Xvm$fL60WBoi9fbpvy zy@SOdfi3EhfG`%4hPEYvVAxf@hc;!qG-E6N0<&{#fvQa1cQ0G;J0q8+<9TG(1?r-; zfxqt((!O`}_GOB&mRC~0hlR7{y6v6Cs~9h)ouy0g%SCtrT=)rWlhsQ=tNTh_rcfvR zz4XD+MYJVCS&DT6*ef3z$U?Mp>~}At4LjTI*G2+#)e3NJzwEXVx?V(i@x8POZ42DO zcd6_v{-XtDS(jM9adhP>eZw!sX8RS4f0=QL^>`BiGvhW8_R4ia+yc4Uh(QdLjNU6B zd{_WCy5SNw!(fi_vB7QP1YQfI(x;>FKB)~U!eRPR-w5^`X*c4t5ykRaRGAj=nkcUHz23ftdHNql_@_+RS5}F^05y9N9mSUzs0xOvS=K z`+d-2rmkb%A2x0>7SJVtWyXmzYCiq~w$Iy65$ImO@dd<^w%P!Vc%ML&ONbf3G@Gam zUh7_k3(l@sZ4RpsGi;}gV|rX4Rml=!Uv3&}7W= zu8ru*gjF1*jM(yhgvXZ@hp|4le8lKis6*QP<`Kw@iybzKfTJmws+joyXlhB55 z!9UunE>&OD8`7cQr|9=dD>gh|J_m^Xs87&OqD}I+?6Xuc)z&!iF}}olfMNq;$d6U9 zQ~hYWU(Yvx2Yg?__7!Yw6P^l=-aopDy2WuE|0(-xyo!N7N1bBqX9L9Eq^*4NQ@6gc zzWV0qbIAQsr`V<){#M0JF-E%M@-y_kS^cGYEdSlsr}!HkkH@=Xu`aP)ecL9%hCavQ z>+eomPlm8cCbBTYCl>cG8oFhsMt50Chdr_5YWj?{$900!;DQ$a~fAch>zrWuN)? z$<98*?{P35$39dY&8g3Rz;$M2t@ zFn-hhTVMU8^&3gwI#!$gI1jkx{(20=6aZ#?PTSD9(3*c3>Pk70V`KC45sc0ltm~pR zv@tLFpky%3+dQEBtmZ7557{oMjd=y8944Q1eR8GbPU%Kj1u+bx0TOX}(GDi}@vwvaUHO?VQ)XkNNTYm=8yp9~10) zK3wxn%{fu0P``TJ;yjn}oM&IbV<<~mb8*kFuTV8-mcQoYxo`62F;6GR^<16n0jxV% zDh_=GhCfC;1z%|ombG?yA9X0;SOA#!K<539@fZ^N2{5D1EaJ=6hwG2TN?d1^1c2Ya zUTY-wqn#PZOBeC@g38tZA|9K^R1*we)Ozp(tkJLrOdQ4}5PpXx#$#zXjPV=XKZ5Odvpab*|_5@VfBP#k~6^?#&2 zgLk;E;G?H0-p1+d+uX}2Abf!$EavHBwsX%y$52DBP<8)eg5#IZF{}8((W^X`T9BA~ zLcGY|dp!-{cyD8Y;{tUAWQ1naX_f^8UoO>A)B#<}I)7!>L zLgS~Nd-dqa=K`c&vbcXnAVmQ5Ozks6Pf<_5c*N5%pFm05<4?VC^eFTs+lV#TDd-Xy zLvX{o+J-US-y>uWFCZg;P5aMKSP9}h2KS`BA03%F&`+_Bv7g`xf8Lva>{;*auNdzC zKX+sna7sWt`{CRpC&<#@DoF1AbG{zjJM@vw-d87x(-FbX6Ye6OKE@T$RTlS)tQP>* z-s5Q{jTiu1j8pu}r;kqQe>q_;fv=_gM(OpHSc3S7nY;wCy6-j1(-`BmGpf67v2O6Y zl1KR7djWc}^up`BO&s2nl0oqcxqty8;Pn_D=Y`knu?rFt44-;+iSf=h-hpF*Y5X0k zN3<;w@cOlgw*F`W;b&iRrgJ1njMuI2c|4TQ$zIP80v8CL;Fejz^am7E?bHAKv_3~0 zKs@SEfUlr0-yik9d5T%#dQagqDe=7nJIVmyK-*?MwDbL`m@#hr{5-=S(Cdps1~is9 z4&KKS`xz!jdc5*K!Q;&F8A)dG0>A;q`26ED5{X4IMxV36%7)C;!rxHxvs+9`kXWbh z^7Cq`5AFJ1D264wMMj`;_jd=Eao05IN*Pb>&G|XcQ4&r;$Z-oM?%vc8v*dK?&VL14<+u7tq_eH zf~y3=f6emmWcw?$+s1f7Wr)BTF7$Z*O2rjcM5#|yk(|QK5LqM@_mjU zC+XCS_`&24rzcnZ@pQ(nk7s5U@ALSfrJln?S0#lBSni|CtX=)!Yf^;?3?@>tqaN5R z;0wKk$<)i3#SYEUW-RJ6Z|TR7ZWMUM+os4W>545cPYeBi6iJuw(n^y z5MIMVAv#mpwOmLr)0W_tbpqel1%M4<30RZ8n=IOZUBOx1Gly}8vxdDa19WQ~i1BX- z${Mns706`?JAH~L=w<9XXdBu}vcsmf0kAT6(SD=GQ|4~PpVi~|vG|y85acqeH+BJF zlvsS7?cgO*m5xxq}MqD^D zP7BDZXj6zO3Ht8h1AuwF6&2un;SyzVOF5Ib0C1!$qS*%v+;^Fgd-dp@%M`(FW%OQg zMz8DFut=W5;u>*+zJj@Id$Fx!ma(8F%#|PQchP?53Kr*7KriAO>T+>USW9pV5ymQW zR||gjV@7V;*X_qbKUbLxsv=(Zwyl1F!jz6lt{BA$!lEDgYBPgy_9}#O){|+w0I;Ra z5p8&sU!o0uiN__=mNqv=DA;6&A2tDCZo+(saR`CA83UV-fupKTA7kOC2x--i@sc;3 zu6$t44BS52PBO5)2EXmK0R=ge7B(pNM@tq0Ho^Pck3ZGsTb>Wc(T1Gl4Lfh9-LyXb?C5>;VazqcTlf?UJIg>|Zwzu%kR`K8 zsGCRce{!=n60Hx*&LbCJ{ZiKkW^J%Gko9Kf4Q-r4 zwJGZj)hY*^HMC_cO4>A5^+jD9zVLlS(bq90)-kU7m)cj4@nL1^a%1>oJ_ic6k4qm_ zsf=E3Bu@Z5q|IysTHa$7WoJrh0~+lJwiY+LAEE$YZtgp43w9^~IQP*c0RHrI!;O!* zajzKIwTaI-m(i!6-z_oL@F9>wF#-i8#;`1#!3ah8dgtgf^a=2_?Q7YjFAaSj1b_*P zlF@1KL*PVUgt}rO0V>2Y{wwsOs(<`9OY|*p{(Fs5wumD0Cu{F|yj|E8S;3>CvZEZH_7jh*#RZ&7LUZy}sCr2LG~6{SIH zflH0E`bPn`UzGehRo~Hn`Ju1AZGC|lDKWBHpO?NMfUWTozX8B^@m#7MzhEsS_*r6H zfbkdbQT|`r{yF?#FebLr1^`QmncBurA73Z=XurevkJYcE`XxT^FP83SfAtyaKKY-Z zPW$J03~Kf9dW`A#4%Eb|I<5oe_;&2fBc^8|3AmX`z#Q=-+vv;_uhIR)0WSW zWBA^+ul*W_p9S`-IE_m`kdd`gZcaB8ZOgqO#{QAzLkEMa=tOu+f2f*k-lXp{qDo($M$;c^%#i9_ba8ocr8Av zwruPt&`ZI;5q%hgzf&dsCaPS(_lDr_9sslL-_DI109Tv8bL@jU6?8vyDgDN8 z+L#B_T%pB_v#4o1VE-s{meTc|IPP@{a}AZ#&$$xjGS@jD;yj0Qrq2kCSDSMs`aeM5 z4-mfqFl?y%BD zkPirohcbT^ROTGE;s|{+C)L~+eoAv<%#j6gH3zRbbNMsBwj7h#eLWXxZUn#JaRJ_* z+m|LB768^dgJZc)aqY6|E(L(G29dPJ!DB&+g|9_l_0ff`S}WP^4C9I!Hi2ENc_j34 zws3?s9YuSMr?sPOSRZ1%cd*9m>|q{5eT{&)BsdJgP9>X|CrI(gX=Va%j-7@GjW1x` zD}W5Y1>2>i97+8q*39#M#pkd#Z()5-2?)PkV#e^>guvW?Fc8+hLfr<+F_(^BM_p1D zG5025d+XxSYZq!S|rC0+C$G}@H+rn!Ijq9H5lE)l1Fca(LnT<-hjI9CE7?p^m@ zb@6~F!Ue{jeB}M^vHwk*gmLm%7?XR79aH=8gxo%+nP7}{?=e300{ndL=tHP0fID6X zLEXym<#ElFVzf8u>{7#d??ZAw(x8~948AV->084Qrk=t7k-*YW_=Q(3C8EIQy~)?{ zKSxOs!V1I^;<8Q~{`aT{029D6qZKf7RpPh~u#@#}JG~yX1bhN9=RlW_7!PZN^%FH}IEm z*C5ya*kzmIKS+J8Tp7f1*%p)>{$+FjTxld=8GplF%IyZgr3rtfe$()WVafg#w>cuC z?E2xr50=IHR_d!aX2tH*9}wB<3<$|PpY|3o}t@ZU}V?D#2;|2HY?aW%GVc#ed)guCTe1~Y}a zGIi^3(YC~ZGIu3Usywk`S=qa~g3fgUUf+usCH#F{;+=g`JD^clt$w8g^ZEEY58P@cmAh9dNR z18oA^CC9sO0bJU#AUgM!W7LjdJ2&f$<6;VnCQ1O8W!2AOk!5J>w(IFfFiUL#aA)-r z`Uc(-*0$c0e4G^80kzOu?-IUR%EB$XL;%bz-Hna9A`t*Po7cX#P^Tu`&C$zC1hv;B zwgqMhaAjkiS-Z*HrBD~-EuR4Hl8;#??5w!gPZNgvGKZ4Dh4}z>?Ln0t{ zZhlDI9N~tE+K3^972qwQZGakaLx;fC;MO2_ZNdo9-naqTpR8TQ!X_wNW6{p+TK3VV z4eK|UZQ#uwKi1N<54|C!tb)!Ew7R**qPU5rO{vdN@;+?@v9_~5H_p^9 zB@2Re-ph^BMjSIXplrzL{%`OZ0Ndw#(|uum%niHrgPj?>9alm<*&x=JC1;f=3k7`x zcXbT&CtnVb%NWAk+MuMku?Y#NR;)zZXH(o@g?)%1ck8bW)dH-FD>&P6uv@j63lYo` zw9>E5-!D+7Xj7c)%(U$`)EmR)YZ%LocC6+?(jzwz6s= z0o^aWasG?+IZMKU$hKrysa=48;8oJ5zCptrE08w6jzRo_Am~eR3_c!hjDd}rf9;FV zCLl?_fFi?D!{3HSu?sdWO)w@nbO&~d(29P>5pboAm}F84Y!P}9o>6Q=9`BoD;BWT* zw7?)CWk8%&eOcDy3pNQbmG~I2yY9HgVLF zR@T2oeZp3>@6v`k>=xqkcMh@77wXGChNxenFExGgvk%8DF;>br)$hx%m%jLVJXYd& z;^XGACG=6h1HMhYA9v~IUA!*zsb2j#)>Q1!>`Q$K{}&j;LJXffOWNhL@;7;m#80ib z*aD)dKx{sLkHhEfIK}F{z}OmNsC_3$?|;SN|HL-lTk-Kd&2oYI?RfM3?)N-xOL?Cf zM04Cc&U#-?_4}UBM{++uN5-(vd=9KL4&y;7Wj|xTsqYil8(i}-X~*kf(SF|-sMPD!-(~v#Jgz|H)bm}a3vN(G^s%%b zamsea_hr;$FxGwY7!OoEzx6!w81A2A)C2cvbF3dH{Q`h#n`1PfhF>u|_3sRS4^g%c zzeSthODHE)>@Qe~^!rYDOrh<#`mOHY>lM#7PswPF-)#9ZN7&5;G**q*;v6EeH5ZWW zL1O%D2VAFK7r(J|9dnDgR~^!k)dIv2)+Z9zA&hA` zrd55Z?K+9#+G(tx2#vYsVksYN*Q~6=_A-F3dbPba#9EXW2vq_~tPDROk z7waNstXY#e+?qDl(`Jc2Z(*&g`xV!*)4o93YLE;YeFDi?qx<6PYt9tLI-X^NV`dd! zDmz4IeD>lcf#6(JevaUnHttE3P4KwH)5{2mok@)P`FA!F7$z(ZFy299LA^81>|~wr z`1I=+j+|*sfOqbwvx*7o&`##&3(VH!epu~^Q37VKB>U3)W>hkc35B06(Dhs^aI;i< zbb+G0of`M>1ViEP`>mdOr6uS^*!28MM>;+kb?ph3&5+r4+ji>M$bDFEAceN}(P^*j zUGFnO+GFH%^Zp}!1hoQne2#>?y%)*9g}@wtkM<(h-^{rWc3-nUV_(jQmN$p2M1iL!USpeAJSNEzW%$2{O?^(Prcyb`?e6JAl z3Ia0|nBx0~ado75`sh6sU)j{p?>DzS7Gd&Me9x7p4PswGXFhLA5O}Zg9#wn2Kdpe` zleFHyhx`)&2M8}2D(_<^B%ayEiIESV1qt;%0A5=5UnXBLFah$^1i*pD0l=%h1;7(5 z2LR8uY~yp|wm&zAWLS)`!>Q6Y%qm<c;qFk!vR>_jS-Vdeq!Nf2&=PzuzX58s$4BWg@EjoBOP2sw&nt5K@BV>VxhxmhWrnV@bpJ800U_@rzRxZs zp!*w3;C)I*aX;q&%@F@bg!s9iGa;{zXvX)Qq>SFD@f~2e%WPhKKj5>i`)Kg<$j=!+ zZ}{Bu{ls=Y+j_6-{m%EZ%l?7E`!pHsl&+Yo2^Q~(vF^9a30CBZ6~+5yXkvvQX8*{$ zz9zGVy17d7WddDDb=p|RV6K-h2-RX}_(3j;K79lS0FQX%s zA!qN}COdS7AhsmfOTCFjLEtU>Md?G3OJG|NHn3M}`>^da!7WR|S;}qH3294e%QhhG zkdA34gk@VGw(J*Br%nPOUbYEt17Qhk30HYU@<)<@FI6$j z0B{DbrTdW$o9=bXcG;!tCDs`ufLk%zIPwNhjemu+HUiV5SN-Z*%4PhZ_p9oQmhlu8q#WWFJrWweTKAAcuPtj zZxlk@NK}R`ON?LHC)cYjdv8c`bCPWmqv^>@e2k}fwc$wLGjJ8RlmKo>4WwHKT*ZW?igmq&M{UjVhRjVot1cp_3}rG zSrEqHb%2>WXtQ5w#!`YXUm5xc?h+7(Rq8-&>ym*^vLyp7<8y<_?OsI(zIwqi#A zv|F@E?%R(C@$b*yp#FK@vDcV-+Zdrk4GV1ZTchjvA_GM?e{Q0 zx9%JHIqUO`Huc3_ytnn(>Bn(c!mc>{4S0T3KL*8k^|P;IYAk=Rz(#PKHeMfp=fuXb zsRG0YlC-)Dnp+4vj0_qXh) z?HF+Wvb3{jZlQTW<{}SL<|7S^s~rUdKU7~~J_H@~VeV8gILBmbj;6N7`t?zAPM3L| zfiXq!%ef#yvL)CIA5Vp$42NB+%{k{zfywhiMT*(Qt>I^V^` z({W0H&(pTKFtb4M^lNU9$L74B7kCm18ziGnp?(M&TjjrwGNLVgApv2XQdE6V8YWk} zZC-OJuC!T;O^BR2w1>mFm{)5+tpm6A+-^tN!B=^~GS;(Li*EEDeJqC%D`9=i+Z$=E zT*ppl-E3be02zAgGS}+wOMTSz71#)gDcaHIeTwBnyl>Y;U6llgsR59w+^d*?SRxR9 z+dz2U)=GN2G;GW;_PvSMz7cQnfC>fpOX9K36i1+18Q5rw!+Pys-Di zC><9}h$c{W#(Qq1Ep*#T*{zJz{v7Hr6NJ7lfEsCk??r;*f~bON0j>tH&bUSUg{76P zOmQC({a$#jY#48phP#Ag-fQHkfl@vG0=ckd50WLMy+_4y53=?idED^mOR>FDZ+b;lD#0ZGTH-%@%-0u(SE;89frUG#nX0J zE34QF=w0v6<=ZQ4 zmFfY^1jBewTYmpWR4Tw*?SlZAV`-n?9Kc)) zu{{R+LCM-@TQS88$PVD+k<(%c06I20QYV92+}9@aTiTCE(WZx8l=o`>M~(Ua25u&hb|E zZ~fy}9PRaHcoy{*fv*)1%({Ut-Xw&i4PJ)|zEXm@QP~1k4Y&9vt~YGSF{K8%Q+d<7 zuRjQm-^W?IdVP3&b<>Qu&tv&-5ddacex||;)|LGKnE;socSAlN{oJ2}Cwv5SvOpjC zElb1S2Ef!~(BlS*1j7GB!TwKZ>lkQe0<#VgN(KPuC}=9cH*iy#t88~xF#QC;j*I?I zaMYQ?>zHU}!JQGxYeA&m29D|MTPco}&75U&?zX$FT5=)t`fUuZ{N~FGk>% zdYq7H(go#8J5SJG8 z#{^$WERRO!amZ*B=B9t*&lb2nDD-Qc;CCjiVXQK83%)ud7wrJrg0zCT0=&lot%0uV z0k*mV7UR81!KRE{EPf;b-KYSr`dh4D81S~?u8v`*oN4Q<+yb(^f;YN|1sa7|39-!Z z4XmY4P?u%J(jIVoOz<%am-Pj84RQl>H(9x;=W1iYTa}Kp0&XiF5};+-N{nT2i+X8h z>n3B@5Et!h&id_p=ax-JGgnODEJX-xu*#MP!k`P4>iz%0c!V|t@w`B*1-_0enG*jRv8!1o3f*lIv)035MRImRHiHf5yr z-M5!~{G6r!gt+ku+8W|!6NuReZD+kUd!*WI>de{FguDi_jI**KMzFeIEjPSs(@X7A z`>7R^O}A{QQ64jPZo;7~8Pb-tNk?E?_RqMfSFyBxR${*>u(mb>*^iJ`5|CwSB@=f7 z+#8>BBl32MZA-@<7qIma$gVqvb;}tuwVBy*5jRD-sk)@BUcuhLTyEIxMFflkMxi>$y+{m?dT3x!!%K8G~`9ilr~vdmWc?WOuxvP(dEq z?;`%LGw2$ULJfvW0xpD4^id5~qKYL@4TNExHjFQTRO3v*vw+V6I~4nEpjqPaSO!~+ zFZjeZp0D~~974MQ$2>N53vst#yHzldHjZr@$1%X8ZdEyTOYx}RTL9I7aKs$&35w}C zRa=kE664W!?>p%W^l4kE|Bh)sM&RNF(ep^7? z-+lW2qfdT}gZ5`p#?5zSjgjw3Wh=8!`b!+c%41Bwo<}r&HLiYB1dZ7@zb7LO>gQL# zC-XOg{TJ*u{GPu%@(=O1FPX=J$Y@Wv?7l4hTSyzTll@z4=)2%DV)VQ1SjE#{lCLhT z^6&lei@P>Lf5BROT?|lbTbqO^^&Z>zEe{77VVrCo_;G%q4ZSbws}|P9!ugVJ^C~?75Ip?HXTx z&S7f~>{yfyj1$j#&8Jg`0+)45l(NY#$V}MGI^k{!Yk-ExjL~B_#&KRBc>Tb20yBfX zZtz8-9>W>S2E1BN1S|_2Z>6~FwWd;?z@?4Co7rSKw{c-TO8D} zR?G#xiY0_DAJ>t}2+q zKru>Y4>Lx#l8&XmY%nZcT6JX*6B28G0ye_piv+`$OWZ%HJ(IRo8+rrciD(lT^SEh( zV%@`-^$VAJPsxb|1jY**Gpm@;nEO+GuVU?yc~6YcZofCy$5IPA)_xka0e1w*kl>%P zj}0oP1n9JfH>AD3vliM+>@Z06-k;!E_Ww$qWh;4qFxkqMfvpoq4A}zVm}nv~TUTxO z&-2M+xXtHPAg}toJde z@Y?5;LAGbYiuWG9SD8J`*HEXjmnpb=hI^QZg}9H&J<3-j#q#0-*Co6Mrsn%2dKqI& ztmi$1wzG&S+f~#<+MeX!!sCeVMgHGnXWKRj zHs7Zk?=y<;g^CFrHZ-R29;q1JuNdOR5P457P@L@Iyf+DoqXmPNea|-3S;Kgb`+ml+ zmQWW&epO0lae%Pz56*UM&Vbj&5)|xPIJ||$JTki5&r`!sUPb0bezgO~s_UM^@K@ZF z0CC9~!7msDi?4;v8UE7dTS!91_c{?1`itK@{`5Vib-L zc;gHSlGd9kZ?bK>Vn+P&H*M^P{f>#&SP}hw<%Q~7%@2>`IOcdfJm;D9n=3GA7yRYx zrT-6K>-t~e|6n-G{~zzcjQ7G5Pead0k9G#|Qv$<}sx$}|WP}8NpJ8vsY} z3jja*xK&xIxi|2ye(fyaU%_rDZ20>R|NQvT-~Z+@=+UFU|MepPra)Q05KFY7&K`yc zhm{p9sA_nudj|`~LIlH%k(gObAs!MK{>S)ibEYxJ974?B6WpS2gK9p`KN3X4Ca8;& z&#eIVukbhM$mJ6MuE=1QnbCaB2+;AGvXuDR`t{}O%-37+9c^Xo>SC55{9hh>s*YsV z|IeT|-wXU7Q%~rB?f?Ii&pdbZq{>qk>iz!V`)RzV=6mfK{7^g#vGf&sZu7_&{b=Dw zDDosJ8k0W$Q1S<}ei$XRIT6ay%bfi9m=jJ6*oLnrJeh!MGFmoGh%n(;6BJKUG6~|9 zY?>I=q{ow-QbF3D91ZdQyF6-{P*z9uR0b~Lt1@r}YkjX50o{swP3<8}$j?eX5}EhA z)je-DiMMj4r;bdP?V^rS?)%^N7=*XBoqL-Q*D#k**BQJ7v^x>n3fx9mR6rBL%J$9` zN$t}4i)d4_8_pWg621n|z9(O2-=3s8E?Gw>qfNjo6~r~jMO*%rbvrX}17D?rxeacy z(29J#GF7qkPjLaa5f*U-v$d#;V&?+S_t7=bm1J9s%Bd_WS>J=(V>ZHBO2Bs28`PGV ziR+BrKw8uZbV~xVuuH5%$;M4v$9NT_?ZtPs?OR#6fw%&^Y+pY~UfAzpt!ykyn~j3# z#t_>DCj-Lw%CFv|_XY&25bjC_DT-fUbFz#76Hiy1IhnKs&3 zUG}-DI>%G|@JR=O9TMSK;1LyIwo#y3N&W5(`zB`RL;W`Vw^65-9qs#;>eBb6 zw3pPU;?rm9Ho>NR=ugomd)YW{_y1mF-TDUgZ(yg`9@>o6F-wYxedk;4AEd9onPR^& zHWXjR>h{k673=srzS@te#~I_%KWyq(wg;(S|J^w99T?+KoF8l7*IK^v->b*m#ak6O z{>E*8YyD5ZD_deAzE%-qQBEk`e=nu6s5Rd0z-WFh>OGx!zwc<9<1N3&%6pKp7;h`| zffjV9Y_r_{k})H$A20US7*{dXu6Xqwj~n&4vFS0E;#Z7Hd|zw?+x&i+_QaQO^PNXq z#jdt9@|n3DXx`&ijD+tyeYZ}V#P3h~BF0QrT=@i@Sx>*j$-cB8G$ApCx?(v_wW0O6 zv2PV%y|trVzcrNnI|Vkk>bGxeJD|=~Ubf@E=dk0qKHC1q*BFZR9Kv%1v=0e!fzfOe zG7D5^K2md%sm**P%B>oBi-pW{3MhAbilDjSvD=2vQTZA!mz{0innF<7qRn;8*9eIz zg5e=T<=M{h(*n$xL+ZZD)%HD>cdB^9@nRR2L~;KPbJ>DZyo|eJHK3XdhsiYd6=ko}-QZ(l$8mb>2>a#=TBtTfn$fYtAe0ueR2ry_UtA zH8D`u!ArHKo*KZICuRK-9m`0@dS0r%gB&#-NG!mt82Xu2y!IzL>-b&kO^V>SE^6mR z@Z1B@QPkRRslAzt+@~3PH4$P6hFfnN7-z4Ez&QI?y^mFUSOmqqe=z~Fpz$xz+5qPaET;K97z;EnD($Dc4K3ZvW-;r6- z0fdINjPdjEV;k-Y@Z$M<57YaT*|VgLM>%W1QhwACBO&h9lJ_?mTXwuA(L7zSlTx^E z$u|8EZzV^d%RNh-FnEr2?qM=n<$~md6y9d8BwylJzwC?Z;(@Yn6J5Ax%Ex#8)pK~B zl%AWPANNrC|IWUw#dd_hlfrX1B*tqa`L$b$zb-^jM)8vExhR4EJKAH*|J1RJ$^Y}1 z@c)$N`v`sG_y3*tWjjfM#j9;VtP2YuUszDkSbO2Fdv84A-nf+uA1uS=zObR}$D#6S zJEQot)BrguKpa0WnpiLydZ9FJ)2HL8Umglfp2xZ`z${n{8?%OWMD=ry*#P6g9mL9- zgTdB`kc>Od*2upEfOV{M=~03$maV6yM;<2_PRz5gMJx8P=*fb;1i)zLIOxZyKwC;N zj4jv-=_u9shmzTvep3x;87G^^5{#uy_8MDbl#j5Nec9F+jHevKaW`X21iA%iRS zwc3QRvRfW6P}XtVzm1TQ0MgRfgu03+pmaY;kK=ma?E=7Cp!>wL&*PsA3GCXh7`-X* zCSaSf>=P&~JGFqUW6K7u_R<8n3y869xoyR^m*1#$<->?~9WnZVu*4W$XJ7YOF~>g~ z$@-PlAF+JidJPQIeM~n0w+4W}#p^7){{I2Me1D@Xb;c;)=gJPI3>+zfUrHIlk1-S2 z*{1@)rDO;T0zdxS0fU(l%%h5(HB1odK0Yp*?OzcRt1Li_Qa1KuW-;}fCj^ZJT?JVU zk$tSRK`f7#CQP=kpfO_q;Wv*S{au0OWF~72mNiD?tmOi^81GkOykGqq&mCj_ll~U` z{diu~KcgRTgiF z^)&$_+{KSHf2d3OQ6%Ke#EU=Tne6DtUXue)7(IzNS(y~gNzCRdwwmNLpdE3!I+Bx~ zu9tZ1GVh0Lz)NWB?Ax;!Xfyofy>cD1V6fmW?FDoLd2=t^*mwkxHDY9U8DJaW8!eE_ zy5r|@%@gV-BX|Go}! z1Bn?3+(c?f3)|XULfr5>Q^F#=4Zzh#6UrNEM{GwGD~MbEg15}(*ot;b^^q~l4LoLo zZ0=pVw@pAh+qD_U4MT%m)CZ)UI=CshQy<$nwBHa7$ep%LM$YbjvD9{BHd-69-uPu{ zc{4Y@_!IN>5sx!&#lP8PW|q_a6M-!uuc7ONvs1KlvpaRi1(Z^2Lw&!g9@`kZZPgFs zeTg!fV{pTr?PU*`U67$6ZDqVk@u^<^wlO2{TT5ddRv_u^odjA2col?={UqUeEZH{4 zQypVTvJvd?@uL;L{MNL$?ibK1ssH_9-^A>EPypOl8jta17woM1K@sX1>}6cp8?Y`B ztU7i8z`g463>B;XE$S3(w}%=$QX?i(%mKSpwmaYaXnk8{>L>Wu7-d(?h@J`8FTPnWCh`s%^9k6f2zWzV@J+O=CW8m+Z ze-jlTZ79v>@FV`8jKLT+4sBntpTt-`#u|hDw&U!?F-E)JTdYTD-$Ho{<5L<(kG*_} z4WK>Nx0TNVd^{1*n`Mdq`P=Sz_h~V1>Q)JLW-M!N z!Me2O8;7JhOl2DPyrnab?Uw?FQBMZ6;BxsEAZES9y0qq8%LY}Sk0_p$g881?nAepu z_uGhoctGRab2;Gn2Ir9h#hGVL4R|bojCt&AA6CKRjqE!HizV&!tsq!j^|U7pUaJ0(vWiE0A1lZ_);@&9gvK*VIrR-R zE-8yyb*|yuW|p$=p=^20SM|W(vL9PB5(>Ax-c(Fw3@1KoR;^phX8YEswQyhDJOFX6 zx3_EckXa;7uyNyJ+C1qLkJ3=FF1U*#LQ#1 zqsl_gy^aMI1r*UfGvM%9>fF)GrMVv{`x(MjOE8dtQ1z(bAw?KSaqsaA_Z``f5OT!` zz;bMq%2HK4#$kKJ$p&9+9OKn7ULU*6@#uTQz*hU51D5-5F&y<6=e?&nluX{&xX+2w zke9$0HuRP4y!SbI%ecOc+fBjsNSJG$gfhw^@k5x97b;6+^pDGv} zXiSw&fAduSrfU1BY5wi?_wV+7t#wgBUT6I;`1|3^959S_LEp{2 zzpG@NvWE$PsQ_ehF0wE2u3}!~U-6$J=OWJ_BeTyjCD{JrH@|)MAOP-m0T;I`qn9dQ z;skyNH`;hEfs~3knnZLW(C8tv-aP|NQ8a2E~v4R`(S)2(}1`1(qw; zAemXkgu(@o75lhFn_?`DRdLKZPA0A(wBW6umjJV#lb@rWC!aerbRT^R&krS^x9%Cv zznjAALOssx>H3~|3SvezUehUE$U*UcpwEmyPpmsj*V(!JAEu0WEW*=xuS8Eh@BjVN zc%Sf!n`aw{By4&Xnas_P*0MD%4g1HOo7Q8*C0>GsUm)_F?#S0PiA-F~R zt;@8#eSwRYDZ*QpSl~#g2e@Y8W1yS*lJ4t+I335tc=Q#Rh28i3VTnc5xF?V#uv-f) zEX<;{P}^$yx$xtn&SS#X0M`pX9amKfti32*KL%?reE`2iSZhc->kVzOKy@ark5N`% z-YXZ2*vnW1w{&GR;&Y@j?{^Ek7rs~ob3sgTG2Dx4E{@k?I`@0>LVTyq0^IE^;+ehc z%|_MG=eOavKGJc>k%2A63|!vt*6s3tal1F=cr2if2K*d# z^!r#oNMqbN`l#WoH~6yo$E=S}VV5wDvv1++>{<7*)}~`@-hd>aom#-PH!FwDc4or( zet!bB7>Cm4>DXA!rf6@vvaYc#X1Q|XclOanFw2O2GzN9QHjN!;a0-$R>XTQ+XmXXF09v^LS%UNIcg zN3=%i>v-C7jH`5apP~A#>^zRvN7C9Z=s|E<_QbQ^;0S$hQyfoYLds12R`8P`=?-;& zNq`8pWGWJls4bsulpdde<{Q}gm@W6e13$$+s^jq__S0B=p3#iYV@=iLrOn5j+S^f| zP)=YjF@$ij^D*=He@np*aSZtdR1u>#`>;;!>eX+n8T;eW-EV)gzWJ$b?UR46pYS}E z*ssSJW5uqRy?tl{yuK^ zm^EIvA1J)8ke(m=;P1SH$G9`byYrpx+kO=L`nAaGaTk53?DKmk@4@A#4<-K|$Yc2V zZ2r%T{qASH?-0}PWA|PC*@j)uKkuQ$u=LpTF&sNoad$XY#)EFdb{lQVd?`(Y6-9jJ!9XXagamu*=27RG*thxJYO!Z&3 zW4edm38~`vSQ7iJw&C&++wjl!8pAsF8|>5n>&ez~>l9{ae4(3Jz$nn*@NrGRXxTFi< zP;xHy2_Dn;bcVg=RPudkr4Q#{xkzpue~lOk^E=GrI5*T>5jM6nXWRhe5`i&qt)V$3 z+DjaV^V2B<=FU1UEt|pdF@FQ)la*Kj=n0E?jCJmbT;lQ8$wp@1>9c>$%Q=7N1)3Ds z0-eoVZA0P+_5#k!24VdmVO=2@jI~GuW%(Fm<-{PuWM?B+pOUhWxn`miXJ~v4CFT1l z4^_+p$cR^oHJs|`S8F@3?*>e!vPM)JYe?QYM;bAuoED{Z=yk+WT#qWtc(+c?niRfi z*IF2B=Bw28Pqp?n7)A+kJ?%BMZI@%K^*Cd>zR!A}Yjb8JueJNfu;1A11zdXny8B=K zs80Vv-|Qb~4}rENof6hC*#KE}W)WXTn@3giB6Y+G7IXhZ`yk%y(0&TVeHOxEUO-Rr zgfv3qceyWPn=jsnlwDjG`qv)Ngv5un_L_VPvD`+ibm8*R**B?61(vI12J!{p-&hG2 zZ@#OnV}WFpf{#?eNoKC{m}2hz(QX)N@R_|qLgiNwLwVn@d}qn5R&c;0d^uVqUR9sd`+ z-UPt1q0UlZxS+fCo6m5+neg8LnBYHpFDVa>%33*)65=bcJT8rTc_$C z#m_UVm_C+)#_@-Tk(HI;U%>cf0$^qU8{``58py08p`TWUBky;rj9x-riE)mhXbaF4 zlr0gM5gZc)6SUIy2yF$@3`bYL*03A+R9Wo_X9JG~Y6*#?>XUw>-D4*f^*(yJW6Sp> zg?63?HR}=~Apv6P=@-zqKyE``1FK}2It~&TM*Oo8+7tdlIr>@m?yY`lE4#PiDEbM1 z4S?5uZUuocJ^^rS$@={*C7T zKJasc&p=6^nGzwVLFZFPzkcGWqu)RTz&x_p*}%?v)qRB3F1wC3HV~EsR|!%fLfuEJ zj#xrqXUr0~!lyR-C9BpTRz3n->M?^{16=}R_e*9jp)Mc8g1^Q!(Dk^M;kLoI^_wU0 z{ejoyH+X%1tukQO^?Wzze%^SUsr8vWW#M(_=OUjeUDQzjkN!XMy@CIs;4a$yKhOXF zGx);H6*Yvt&%U@acA1r{FKK=u;|o?2;Ki4{w665w7kwW$q55lmHIc7CT0b(AQRI)_Qm)wYRebBmSSsKALFbRWuM8`(&51!K51L3snW$jW0lfxsqQd*+ zT9~+?q+LGrp=}Rur*yB~(H6ulph^YUvZUX3mgtK*r9QKt?wt#jofBSZ`Xu<@u>ybv zaLdp7%Ea}(bPa&5zQ3+OFDB#?e7e%}%FzW#^~7jW&&fT;dl$Ndm`m>+y#*WZldH^K zf!wX$M2z7s`pUMhHYMcM(aVzI@7q_F0(S#!8{BFEQ$pKtmhA$#Cy5XiW%{zN`{ov` zef#SBUNq$@-C9(|FJaL|y)zbJv27M+C0`kQ!{gDWMcoZwHO%|$ViCyu73rQug1Kzl zwmmX=t6Y^l>y#F$IpPXpTZ>S{X#vcIaKx*ise-smS@5C`8Sd6%oAsU8#|!aNVxe`6 zm)ioo701k4EwpQqu54Lofn3C3(Lcei#G}Y+(}3VsSDDKOUuEbD=F-ni2q{1|8y0Rm z3wHwA&wW4IPYhbQL191Pt^u!0=+n{x+lQZi4iW6~-nPr`Oj`ont!{7w2R>c7pLVG? zbV{<_3ms`RGW4b&;OE9T2&+Oo8` z`8AJFR-HC(;7MN>v@N0j8SE0qa%S!D!#+0%7r?b&nJKlAxOCqjmz$7nyC<7AMYTc6 zO-)D}oZ0X+gk9hjw%P#AhHFFJ@)O_&;7(syj8lEomm9hoCm1vA4x;V6wHJq`OhU zoAzN0w&M@n*$DQ2EGhj~e?7nUW4vz((N`BI_RY9a zCp0{!8T-@G*WdlzimiR$&|hL3{RltrM&A_pM17-SSIpi&HT?G|wC{cMFQ{Ae-}?@A zD)Bq1AJuWym+?c1+1sTaYxzCSh@p-BHO7d`IiQdXHG{oBn*Rdar35 zjyJ}sKK&Sq9V$Qn4yoGt`}8-W?f0hp5CX3_tJ{bZNRF*ugZVf3Iq~zfK2rwK{9N+8 zf&EdJ>T}&~OP|>qlb`uq0FduPf#umpV{h95y|(!|&)E3;JB}A~1S;3#_iO-p{JU;AEFanteSLxkd^+m7?JhS* zSZA&hp`S9HIroqb$M1pgx)<}btvQqLf6O_O%XLrWiq)LUZ9-vzVfL^2moJFp9L-9M z=X#m{#ZKGF^2LC@_|FhI;{0^435d5cP&UM!fLVPC?ox*UGL=|oFdv4*5h3x1m~-FI z-21ryL(JDH`c*F&>{E8o2hzHL5)6)*flToz>t(+#2)tcid{Cm#(AX02g+73t5`5-b z2J0TJmFQzxG9do)=zWw_!{&%K*}cXRFfM5f-XmFSKCS_|-Xj#oTCddWLDnU&|I$`W z={>A7-xJW~Iuz?osMoYvhcc#ZE2dTJU9N%E2kTQ`=uF>&#g5D4t#!1Hq#kQ^oql!Q z>*uVydD2!++u}voTDP0?0=;#t*Z~|-PH5gukpYXWaK1mIANRaq4#O&hDzK+|z$ltb25&%zvt9>c%Gpz&y*xsR?dhh7m z+wUE{@s_iUb*r(rE#1EuHf9qW96RfnWipYM-fasIw>fl5N0W7sAjj*S`4gqQ@Ih=&YBtyeIne7Y@N#gxr48OQ1q z4BsrVPAFR$yl1(`$$ikV7wW%b+0I!d`;{1k_|q;mh2mVd=ZbE*VK<` zKn&qIP=v#JPH&VHxBg~5AN-vy+5K8A2>hl%utZ?2z2PCg#(JIk+Hxq+vJAUvf-|eHeqXkDY#Pz~0wUf6ZCO9KVyCPQ%`UpGSb#J~*?9*$zbZZ4Co` zxo-~9R(06}h9QDt9xqPt%eId>r+m65r9FE3Uxl3zxca?tdSws`3@5Xg;J5emOR)3a z#kzm-%Y?#}Mf?)M@M+1(VJr(0zxevmv($jZ%nsH)i3x>^Gbl@V$Zcm3v;7o-aPtg^ z?SSJ`3mPkHxOD7DX&poDI**qAi$@Lu;01PB59A{7Y5>e^y(bd4vU{n9zYqbbO4S2^ zInMAC1ffo_rX!)@*I3n;Wy99$Gl6br3CjNb&^Au0aR`4K0K?t@xMRyl8y}O3Z`K8O z3mOh^ONiw$=qrDXIpZXPS+)geX}1K1H4gh5;QD^P#{uvY&oGmf8NL`}2Y>~0VQ(O; zaUj-9PYnRvwt{I307nM1Q?v)d3eJwJ3<7F9mSf9S!1q*%khdhLTlS{~gk67<5LjcZ zad@SJVpzxXkl>SD8h=BnK_SN?0M2W||404L1b_8^a3(j84A%di@6Qr5)>#tvKBmvg z769w>fs&t`dJn3*QY9VXiZFEq+cP#b-fTyC|v0s(gfXymkb= zk06eAik|}>i>{;5;q&{O?^pjX_189nY9F}gtm|Xupq4A?TR=26@0DO^AzGKO>8NGSY9=${*>Di z>yRhTTX}+Q2?Uqjb*d)c1%Ww9_dR!0uQp=NYvLZL3meL}D8%GgW?dOdHQ0quaMzI6 z#}8qFAh^rL1g}12-SSb%t~0~8GjE4@^=ia67e0i$0>Fg4gt!CR#7>0*)f5E1rr(UvQKbLFoWZr04;=yl)sKg6Oti*X7IX9;zJ zT>@Sn4U>dMB|0-G@l=K5-ILR^%*Vq9X~U{_+yC(NuZh+F;M{{-Wsud;ZPp{opA zZZx>QL_iw_&VH#jf$m42pbZ%evwo}eMS)q^DE6bR;sto)$Ky=sE7fL=AZ_cGH*m5s zLmS56J#neIIYasWx85Z3W)Ry8>PlY(*0P*gx!g!f95;_7GbQRuj@BaXGU#~I2QaB)QxEOMxvpv6~EfG zk+^h!WxD8|wj2X(NEtOzZG1{)(*~)4Yr)y__vR_aCyf2_>w6o`J_4|JBl|z6I9_k! za%{%ZhjF!G%uHF<9TOSoX5-jdvs(cCO_i26nv)^LaoInrO>J&OOJz$O)SKBQ*BRq} z0lK^&r|!wgO>-#OtlCJIk0orS-h`*pN50*rKOW}}e9BB!=B<6R-C3)Io@H;9T~ISX zqmG@G*eCvq>3Z7;RSab9XWKqO5=!c9jwR@l|`@UwwavdI|0O-~UePzI(xbpJI&SqA{)>52AncYqgF2Vm~kj z`hOk8&M_nPgRRE9i+cWlfuyV(?m9+)uT<@dON_?Q{~_^H?6)3+Ky>qbzR&-arA3?V zW9*9O829kLm-;d3ug7By$AQ1a=aByNX>9xSdW^^CxVBr0jTl${#IJV7aLhf7ufKs} zTQP~F+}3Bf`up#Rf3Ng+EWb1K9a4RB0folo_X)=>o9eIy$m?@n|Brl6`14<}lD`jT zJ4dB&V_oO>Nc{TVVO)(N2uz!VIF$ZwGBggL)pr%eK73xNQ_PB{UndW!&$gd^9#icC zzdau9_xO9T>T2VApX%S0*`B{U1i!GQpU2ut8OVsGbkAq}=G~6ys|@Aa`kl2FJf>*F z@96#Y8*F=gBc|lvcs!n-r4((47_vvlu7J)D3ff(yk z+A(jV{WEFJ{ip?vb32aMSW=u%8q9ib>G|cygvJ|vEd@L~{vOH&lR3A|{PrW3h&d+q zg+4-^M_9KspDvY+b7;=Pb5wQDt4o=ubAJCJ=JkfZn6K-?PWRzj!T{L7*Sb@}x}nqn znCl9yNeGW&$9hEB#ag$(R`NQEYb5w7^tsM;j@C(EHURFdVaC8OP@MG(VY7rj@X3$$ z(*^+ZIZ+&w(6{W0(b~_kty=%>+XBF73kGA|xEI&BdjQP3Z~241(2PkxLub?}Ud)X3 z?^P)9SAbY;KL*#;Ev~s~D`_pQjAN{|(GEn8uB3k5(yf!YPA~EHOS#CLx&rmyLhVBc z9K*i$C2IeIHtumi>F;ByOWgA)Fl@2?!O_JlA4>0B=KjkEM+C!fU8W3#4T{kwAf^wx zP#5@XkEo8KwyqvsxOfdh$$F%{ruUS1piJTHQsaOLPt-C8WR_l^jR&+T+xIR1O38YdaT>Q6hL19TR8 zozID|80x=$yhdm6ck}P00)P#K@%I#Hca|{p26T3(_~hpvGV6Yw(ms6#V#zkdedz2> zpH`Ok0>-D$qD`HF7=!xD=( z@dUt~QH(kPG68UdV(2d(dE)7N1XTpU%KTMn7^SS;C!alf{0Ty@=Nft$029soYH)gc|<7K(XKUZ)gC_b^tJ6M+&d^lX}hbe=q=klK(rtXX|tD*c13a zvR$78-yay_amLJa#b+q@#by>g?TjZ{h7@B*gzMr6JEQ=pLr3l zm)~!`Kmm0MueHjZ^8aA{sTcSqMdANfM>0S2BCl5Q|DE;7M>F%w)ETqm<}e7=&3KXf@pML&eJ zp}slF1j-Mr+N|RT+E>SM(zC>g1SbZ(!pt(zwXG%%n2bo7hz#*KlT6sGOaw1!vM9)k zatnY9#uD648z!i4yu-Q`06d|tMSvSs%th2MVv_nUCaD#79%6Q`GIR-eQ#Q1v?>#}; zc?`2B&$j7mON=`KaE@6{W-cXwOBL|-aX*OBWS#eqA*6NPS99iSPmlA~6~1vAZcL~#YPd%?rc25DcQF251#<8z%CYTJPxWBW&ys2zV=ybEVZ@3 zBk;Ad=rgRfZ1duf3(xnokc3e8Vit?k>sV+)1hu-S60ck?X)#Otb;=9fEPj0zv~3N4 z%O}-hIL9O(7Z>APydw^aWr=p!A|CU_MSG4y=ED8@r#Fvu)N(c!B*#&Lwx3zo2gto% zZEhSS8~4M{zG%oQ3CezP^bu^<)=&7#O^J_Muzz-2Kz1W-n3OhlZ=wjWYD|{2RqPkH zj|gO0PHAK3b8h^g4$b@F?)9-CtVJMeC>tCuOjV4>rtPQF ziV@(g`q#0Q*mj1gr8ve%^b^2*TT*e~-4tqn&k^gp7fF_rL#r1KImOpiZTI(2nvu>l?Jc!QZxhywzV25$$_; zTm!{9PPJnjqWv4{$3Gn1qiU@5vm8gi{{~AoisNW3KaRB@$M&yVw$DBu7xpn;1LK`E zw&GBiR-gNN4^S1?v0LeX)UQ{KlX%%MM#U&jeviGL1O693qJ(JUWAp#?4Pw8^W1uZD zj<&QZ`m6svjwRdlFY$5PPW_0nqG{j9^D*Xgk$?5m-vb+!zUeQqE^(YCw!c=r;_<%Z z=Z2qYf8MHpNskqK#zdW&(Y9Oq+{3QVVSN{sWG> z?7#nBll1-PlFE1Niph7b<8twhzvuZ~Tm7b;S=5qa99N<(zd2C)9Q$oKsU2JWu1N)c z7XYpcj3C_y8Zqm*d;a!SKZX#jND0Y!#c|lVK{BM_LB} zuZ&~b7VMS3VR6~gZaakMv22_>(_Y!foV&9e?c6tc!eC_&3Q*#YT5e##^nJnS7qeHescEMyQfOu-c-a`sl<~o|~34b>l>-y{iP`Ma< z-L?tkhpVmq1nyD1&pLhU-o-j`toAtsg{%GU)e`I1J{r2=+f#9`rNnVuH!PO8H={Om zZC!xxQ`fk+V@NDe3<(-vzJ_-8l4_p_QnElL6uc>j{Ql9~@5098sS6^%$?_t60>Rnu z8v9}d#jqveVI5OV)xH{HblbDHYrm}kvoeo|Xd`4MR5n<4Ch}R7tkb4_!P-yk{YA#a zmO9J8Q?$>#X$3HA?-8ZU;n& z{yu_o0bq>t#sI`)pSbsnp|*1j)eV5pyiqV&AlWf&69RAcrO%ZFfJ;^H`w|lzpXF(k z=b<{45_V+|Gr5Uk9byKt`a*06_$sTIVx7V`Y!fOQ`f_hQ^>a?F(ti7!ok{%4Yi~ef zPhMIO*}!=1-xDg!*ZcY0{~tQd(tTFuF(L8FDCX&&r&y=R6kvNEw&&?1{AHVPn8!>* z1j2o6bl3&sXqV4S<2fERjW#od1Aqy9dDL`(F`;t6a76yWIMy2wLrXT zd4QvU*kr&8%0dl+R2Dqi*j9bPTZ2+T-Dl8;CH(SX48i1rzYhYyIr>>`md5~a+EcdA zu}%iS6rta?U+RIfJ$C(FX&c}sbGO>1?n4nQKDz+0j(%2*p(Ej=V$hxdSlPdO04&({ zqNPk=`C1=C0y4rf*=Dp{-k16+i zTA9uGd#Cb#^=D!n%Z&FD#rLeUInUqkPsFgA~<0MX34q|eXdy~kP1ghd89G{@SB9c7b)8$))5!*o9x^LeWw-xmeAMnv>Vv&MX(#W?a8(>c+t*8 zJb?EdPQZEmPmTb>Wd1Eq>LuGGPU<Hru1QVg`B`m12fQm2BR`>szea0e; zeXnwi8s{Vt>N>-ALEZ=H+I1{617`(jw{>ORA|_e6gt|FWYs$wc!zU=~1#a%cqoORB?G3ixdROn^%OOu);9Jg*Sfg5H|})))2*_&R1I0bPsj z4FF~v;=OOJ6)OPDY}%W=s(#6k7Iunl*}X}k%@S>%xUOT6VJE=-_;W&5g4wc{7{A)A z^GIZiHr}_aVQT?f3vGc|ZYCk_%iC2Nx;B7Cn@1=6_+;A`0EV5hfw&N}B$91Q7#kov z>&nW7I!jmL#u{|%p5d)BYtdGnw)@geLEVa#pIIRG@m{!}W312bmUv%Vl@$XuxJ5n6 zvCD14SX~$VWuI?KtStuZE4YZWvKBn@DiFm6G^#01{i9}%`09P#mnZ`RY6jWFyFP(d+?b&Q?o z12t%6slN};MUU^;3Bv?0d(0({(*Stqd#DVN+y^lc%Iu@eBJk8M-vyQ{Nrw0sb4c}$Ea0L*xac9#*`U-$TUeiWYDy^YF;=Pv-O zxEk|7?ERl=42}N>y#|4?06;!?D~IgRL_TFwqmc>YrgjT z|J9}+RQ6+IX1t8GkD)!|qRqdHpK*Q${kf!{{XAB~TG^M_HUO?R-sAlI(WdtlKWn?s zKR>7IF=`CO6y()sxa#=K@w+JYWOwU(hQ0>CjPvJA$84AModn-~34RJT*4J35&+k2c zSFGwbDc#o^Wy#<1C=V&WE0lg~V5{GY?e7jAhxe9-J@5?oVZL%q<@-YZ znh&vrG=IX}Y69RKcfG{g(p)vdc%L2zkv3-vD*-eRa(47*m`DsaW)3TkQPZ9SS zh1e-VV`eZ1_U1xI0baE^ZzgmeVqcbwEn8b&2YcZ0>gh^$)RDxp6a4nQNe(Xyf`wrH{6bY&Rs1KDvoG zsBP#o@0%RJ9PoUdnjpDs@lUwC5qw<32_$3v$Tj4YGMTj&rAD1=*INH(4b1f|?{93# zTvaL(T7%Q}0KG?{Pk?Ykru=oRlWA@>Fi9hni=Q?4G zZC;%2{fn-v&Ha!GfIm9AsJ#!=OP3Ir{Sew&a^EE@TSxk zLVb;g7(G{y(a(b=+f?7j`CUDym0|6DTPke>^Py2#wKB02$fqNf3 zfY|ld5c3-0a06h7`{}O}_HrM64}k4U#&Ay1bi3d$#ro^KonqO!ug|^vg2g;e+DA$o z2pa0$?69&8%PoU}gX-iL7h_z$F6UQ#oS#l{b!f$|$A8G-V4L z09$4n-4^2r03O@}B1EP=Kv{Jt$#1L&00$OZ1jB~IfAPp~pS`CnUMK)K;K(rPxd&>( z-wA!E-_Vutml?IFKVvA>U{{YbRrZ2aiYr*P=||fHz)}1gI9q)cW3aV=?`#Lyvdt_< z#52>e;|dBY`?13ve~uN)ozTfA>|p#gxaD82S6l$68ms@Jnjd^+iUwt1nM~ zG3pEU6-!{Ze6mCNVyFB?%r9(w`SXjMU;by#3;6ccLHzN+4^6}$o%!R%AE*8S8%hk1 zHHluWl0T+8-h|+nKe+r6W~p|5z}FA-1iE|a$6xXUqCs!2VABM_6NyY#8UQ2S*}U{~ zqGD-6li2bL_6h(mou@L%YlvHuz_QUVP^&nqz;Aq;SPGLwW$_x)67~}4`aUU34SE@; zSkzAxC%CTrSZ35OQJDOWtlfa#6V(%EPpSie1$6^Q;{)*9ECQ5OKl0#C;;Pq;hOZ7dq6W|pqN z?p&1CLe`5}FJz~fVQWZBK)ayrVZpCH&}Svarw%bgH}JRP(AR(${y0T$2UeGZMYENQm9h`v=r-*V!83+Ix}=F)+4mP zgl-YmZe_sB4I#uyUny1_Op)4&FIZcB=@)brq`iA|Q>qw(So$E=1ArZ0D*x8T%{G(` zZSVP5sbdw*j||y$d@<-^|X10&b^mjeS6jy&L#z*t?bO3jh=H9#F+GdzS!r zzrlIyE>s(x&a(9esW)0#AA&D{Hk+udHCG$(dN$Z8!qxa$r=JQqO`qtypAU*qS7Lprk2e)`t!!4=OMFcFzyFt( z;N`Aw`x7s5EQ~t<>oJx8?)SfI>A7v<#$zR>eXNf*A&o!{0ZyQeODXmt_G>5^XgEax zMWHSLnAjf{kc*EQqlzi}6d{%1rQ-6u*oHXXh|?G~j$y6s50su`!7H>g)&z4B+Zu1Q zQ3`~zFUOE=^q=iR_SB(oe!|}=n751Fx2LABpX2mfhLw&pV1+%fkbv+f*aRxk9(`j^ zpKh1t7y`huMX>$+N2~m?`*lVgzHdshr(a@!9%HCpG3cwmsbfx3`dZ)oWZf&ZkM+`o z$a*e$ZK(j)Kq$Ym1^x;ECr+{3xV_!)t>IUDX!eo+VdIr=A2b3x<)=RjxqYwjdCeD`~S z+`ga=^Qk$%%KXdFI5x()%{~hPv$Q<_GXTz!*9OCZ$Ce>6?f31^993H5sXyYV1(&U4 z9TN&O8`&AloIjV!KQDfiVrM-*j1d6L({pIs%b&eY1A2xJ@Q8*8hgaX|trigxJg1y+1*z-uk#9u%7V|kJsuu+jaU5; z?_;<#HlGVcf8yb1yFju^JzvUkg1je*e!^t!?{Y7f^-F8-H*wnEt$Ox~QP(ltJH0Nw z>#XNe+CDL|z%Svk_MW*vUEo-I)PcaFX5=^qfh z2gFo-*5WJzz&ZNa$3H)_;M0@LJhW};**gB#(lOCG9@-K#uKpfl)g=K{h+wK@c(ql4 zt2N`7eL>ru?SW$*?`JTZasj_&(gyNUvNgDc)Q2|1G{M~1%I-1k@3@LteG9q~v@w3y zFZHxHf=%%9xuwqXr8-Nv>ZJvD3Hy%Q0)S;JaB2_?8?$Lk6Rc7j*eey(70g}s2EYWi zg0#aY_?w$o+h-fbm(sSLDP^pAvuyhFyjtB4ezg7iA*K`vZV4OOrIUBi7U zFgWiMyti^8M89`=R5Fy~#cj)bl)frcj}ptrEa^Qm#P?Z4Qury zT=x7ZN1Gr20}7zc#Dc)rSIUjaM#XTV!bw%P;alQl$MVF>iraC(IWydDbMnvUQWO+mmz2us1-LaQ6~nZGqbfaFfm3ZRqmV1#vfh3hMTvqM$E9 ztja7>2xdzGx*KRa{j?7S&hm=c+~@XcT}kVE{20XU;jJ=q%hxfby?rY8020uhz%~Fk z8unc6>-*w<-Z0l!C6^A_KKWet+Kp@*i%u?bOAE}dtD_fqwHoZ6AjJ{lMp!6+sAHFN z^zv@Zin&42|GCR`WOHC`{9ep&wSca&cnNh`(#Lo~ULLdTqn77!%h{NiS`ZgfoAQQ- zH%F>{i;%UzEbI+-*_IDNoB^)upP_EC4k1S1w%YSvxHoH~hnqWVW61Hn;UvL6qz$dA z^QgN(*)N!FD;c~_FgrKHHlQ`&bpv15rkgj{?yuvKDcTcTamS(T&bRB|n}O2wbAzxH zzcviHQJD5thP4k-L0f@aw4ITg%~nfUwFPbidiOC?*^JF5s@ntNX0sLwxOH~WkDGeh zOW819YB<~SCbLx==Y*mZ>pL}=O-yf?mz|sOU9U3rK+(1#mM~%?+MsOg7mPKq{aKpv z4K$#Jx@`aOyH-HR>=$3hLk&aHCz_z5{f04=fJnva@p>F8afzuu6&r2iR(u1cA^PwC z_(vKed);^za#))6P zf0?iK=o7*JZE0g4{%FRn=gpXC#Y}DcZnd|6tFj(@D33Sm)3%Rm-%fs?vd)t6OTXlQ zc*sB1G2=ZVU)A$I-}rah!0l2l0O;lCEyP9h)P%LF0rg~KKGS~=~zd&8^ z_<$x{_L0=XPao!n5`6M=9vjI%`j1#=D_aeO)n33kfOrp#A81EEW)XjeIXB@jZ4HPi z_!c-$7Bc4bg2fcu3;1fBAsuUtH9!O6&LFl7lcyijTBU?BCG?|jWgQy|%U1QJ#N1s_ zdDl-WEDgE_6@Als0Pcjm7Q71w9z+WPm)0Ku5D0!3u{rzbxEN2xD1b3 zH#E+L$Q{FDtR(~GWk)-ZSL<(s;jFbO17!Gkk`_!~3JCL1w2{BGG*di?cq?J7i^??Y11%*-Wp>cpPfp7L%jzePWQXsST zb6mIY!z10E3#CqZE9I75@+W54CLGrB(^KasMm{ z5=xHX{uuYvt|I=LkE%vYCtD;NxsIx)Hb9v%-0!PBK*3_^>d`sqykf2i8gt)}FjjT? zSZA5~6rt=pgtG>>=PxpbkAugry~WrBgfAjas>jIwC*nQ+lAy50XKdLOpS@H*X89#P zkFig?m;46BgvSKJXHX_vxb5XrJA1{bZ<2tZGo`tIyb-gC-{hY3IxSNB(kOdRntRj% zzpSfm1qd4;yRLokI@!{Yn0jl8U^x5b4T=eUBLd^MB)1D1Qw@dTmo6Co&KSs<#I={t zdiMLXzYjGahD{~8KyiZj#0FC>9r*a(AR zPo{9PXaCO8i{iS&%Gy$-V zw0+W=;FW3sOvqb$d?<0#*08IjdyVdWw8?G-(6;{s8QP6D`w^x=hI=pQ@dAl?RPF}8 z3cwP+S%QM`v9A6@igDbst-AXx_}dV86SMcjHtnoKPd@Xaz@;-fVcP*f3qAtflH2I} zJjw>T%fFzm%T0!FwV!<6fHv?pz_wLDk=dfu0=rZ26W*c}xUITG_{c0$iEV?)Dc&zu zdJ#T~XPlP;c>{z!{_OXv{#IuM*YkZ2e_yFzPl)f2r%KGK&i_cN_aNUh{{KK|Q+j{V zrX#uy`7<7U$vCDx|3i&Q|Imc;3))&bs$1pKdJX;h^0nsw!mnvyZe{CkM7Ud$|Mbx_ zgt_DDk@ZEyD^1oH&2wctHT=GcWeapS!WUS7K~nW4+h4Z$GM!)U`tq)u#>bYd-KoBs zh(H%VN)qb)Vc6IpLSAL?La*{_CjM~ohpyBhHyS^lo2#z$WBaZ^EPs4s-~T8F*7l@e zrv|v3U}&=74BND&is2+glO@JL=Nsx8-1g*VOmyN8%(CdlggtnY0P6^~{q6t6x8SKVZQeSA=1Z;g@mA=wZlU2)EyeW6OOt{NB z;jV3L+h)Ma<9Y~f6>}MrZHSQ9M>bPipiB76`^!vtOUYO8H$az4#%{8CTVp{XKWyE` z;$jbTC(u>aEWz&HPy0|ZZUt^{SXvy>r*X4V zX_;AD!a|u)_aoFJ#&n;GQFbo&v%cpzb-o)aasztp0fxLCpGE4eUj|6v1 ztgFpUiMqPo8NGzLcaAdeH-@s=GokI;`1#u4wc7M8s9M>!s7JP=&OW6Tzq83s$jVK%09My;!QP@> zagNdBFlMI-YiD2kzC}BlezZ&7w_t4hatw3nHbL#z0lU7Zu5259f0PUxW#b}#pKUuK ztl}hYu$C%LlC3sWYZKLddH+C^uulctW;1uz(_Z3c@m9=y>TF&4vk~pOH@YLoOSEr% zQ8vTf7Wn*@@zD3{n9q3+N@dz2PSCXg=mMdzQ|)Ive)|GP_u7oJgD3HKeEB*aa@HIk zL&v9IFXc11p*^u*Lw=0d0(iFVettFXHqK*i?OO$8eeNp;+!;4*-=dVtcSz}*ejC5qTM4kuKC}^P7I>R|)|gvO`-F!J zMlPGcVA`l31AZg+nCKrd`#y6VfmuS-@=@QSO)bD`O?#emKkwm}{dfO{GTM)0|925$ zHoo*PC1&$KQcN_)8k+X?T+oKT|J}cD>>59hJ+xjE|KIs~1!nj27;zn6S~kbz`S*LN z+WYr}W4DsM-b07Q|7pEswg0duE~^|TL2k5718-=|W>p|AS3FJhl4ZTv&WWN1N>OsceZy@CNk$N^%$DN^!T)I+fvPQX6yvKi3!}Dpx7X}=3%tA z*tU)LR(6JQ&G%4mVZJ7?jJchUp=P<}fCj{Cz9~QFu@U^rQZ6+-u5moiB^)kztZ^JC zVeCV|_GYQ$#sB%ab+w^_J3CXUOy1z-X_?k$~XNL z)8g7=`1i0_Hjdfa`URQyHmrf7WFXIDsi{p{8OH^RD?ax?7WBm$O-EVNC%a?!G9<=& z@qpbK#FZi3B_z~RSfd6UyN$ArsP_8Vc1dgM+gNw|-o}E&bFB>p6o2q> ziFK^qebh9?^?TVlhT;r~34X7!ju@Tl#Wwd2P)ev926O*`rS}x?T_h+jD7-R@-PV2>vxm!{y){X&*r(z#qgYwRiKXq5 zCAh5E#B)y$vCvy3-uw7X>8g*fzQp}P!&buIoa%R8f}K8yKEq*W?#6cE67QuMXXehp~vB4AP$f5=EbG+?3WnYG>#vKZ9?CS(;38s%kS*>YFV;Pzd7Tt~`7R-D=}eW`JI*+LEH(F>FK|!VVq5#tv`1`@y=_5b-G8| zR~b(5(rX65${;Qv9PNRzATMNa95|e$vuZaCUck6@nyjOE2inXW?(AXtcjB?rQh+g` z?*hN+@AerTKiwKII7)xk|Kianp1t>*Ck6n1^4X(bqfY(iw-W*v=!G@_xWKQZqiGk^ zr8XJBPg~A-wBk$K+Cy8GJKuukAyVZ3BKSW%CZPt)qSeem5dSEMO}z8ql~G!J@(GF#x==6#y1|ta>D}e@a&Oyy z?eKR)>wmD6EZf`{SNFzc)-CLPTsF(7?1s%O@tAx(#_|84=R$DH*V>TU06niO+ISrT zwGS!BGEdk$vvl*i1nw@t%W~BXau?8jpibAh_oaN{9g>e&@E4}PcnNve)jPE1ScoV` zO{^b)Wozjs_V@wO4-I}WB(`1W{S0)Rg;ZBQ@hA=c&{f?s#LbVUZ|=Wr{UcghV0RCA z*^Z|DxCDE7WJ*l{bj2Dc4w(>01i6+VE#nlM$qj5hQK5#tpl<_P0bQ2S0=@F>{isiv zD`8@k37s=<3*eTGQq|>SnR>NX%$$%K)Ka#i9?6agu<9tI&g3<~ zRc0>BKw7rT*7x0wjsD8ejV8FgLXb=4D$s(rQbS!V3RDgy9!mQ?X$x^%SXAt@aye(Fn58z5Wt zq4?96^>sX>f$oB~ZqvRtHQCN)DpYO5*dL^fLmA#KZ8mPDs*ep zEB7G(Q?!S|vmWT3_FfH*DYg%3#!Trq*8cUI&);zP_}gBkj;$_j;)Z%Ia6p<CeD>ure6T?G0}IxPXL^Y=Qd!t+K#DAlfm$JM;JWOz&v?0L2CgFGZ#*^{Nb5!M0)hpm~RT#B8bnd=U; zqpT^`#iNwhCRVLos_ym8T=YFYg)5y6(AhRMrb^R zb>BuiNX&I)GK~$EQyzfHi1E79?ao5p2)5l()H%vJ{trKczaeqJ@RA|0K`__lYh6F= zrR#Onw6cNch216E851p-%(C_opuP>%$2W)Ile|x{K=HQiQ_0pI$MOA=+B1R8M^X<+ zOnqo@%xvO5(XHgYAnqd_*Ok(=CA)aF3lxuiDjq)_cx->|Zv_lj-Fsf!HuuVsIh^|% zYtL;e0J-+zmXG~DFbIZS_ctyn+juDZeg?UQzl6C2#mPFRc!YICpXwF+AO$d62ET7z z#`B00Lvid~-$3gNmp&*UT!K%+xY5CkWhv0ub%SH>@uE#t+G|w54FFKnP%xEEUE!9%L2Xv zz{4J!#rE5V!N+vL31Mf*2GE|6xInP8j}3?AEBn#{$~k_z0W;fT7mHcE#QPRQETv)` zTQJNzYy`$UjymACd5Qfi-g5HX0?0F&Zi+`yOX4z)VafJiJo@Cb_a1q&j(Ua&a(|7| z0GPIC`xx7UBEUtT{e4UYjmw|9z;XElV4V@Xfb7Z=KJ1Sspxyd>-`+r7O7Y#E^-@9J zfYb?Stq~i4$$bL;Vw*5<#xDERjM>B$oYiCS`IU~1r8wBAvUQf|PJ)*O5~Bqchje5! zWdKSL?7DrOS-MeRE@CM`$_01>e)kH*r3faUreF)G6tE?nEE!@hpebL$Ohe#O+g?M= z=}o*vo23j_fnYoy#X6L~As{^9SFpCEHbHUeNveDSz_VY+7U-q&xKHD8lBKNItu&vT zVD?6~J^RA?d;B-~bqd(so*lp16Z%eoo1+IFCSIMwFRmAOl}gUkFPn}{z?anmysPdn zOJ6bLD{uHEIzewiTz+w*J#R3-;O zZA^eT*)o{DR++kKzkl=&>#*f0<-{%c%X{Vq;tp6FWzvZHUMmKZ&#EgMSM8;DDcUPT zSN``niM1N|YI2K-@C3T7mjZ1KaM^ZD+e>?pYhhv^!A@wa$v)xjA!#8nVo>G^(}ugL zr@a@CE*i%dZ5JZPwFkA57CHy&5*9usfm+zI0NO5&%3o4j3ogV{T&$^0JF|HqLES0Z zsI{nT3EXZMkFA@8wSl-?giaCIGAoy`*KOMZad#j$_rsMcn^s_UC-?}@=q5Wi zV$258N;78bb2ja_(%g{h3|cCH_mB;0_zG<{)*wONQ4ffXZX@0sc$PQ+)`lHrkef}x z6&py)`kj)X?E}RAiF0h=?UH~j9xDKMZe%JR^^L9C`*G5DsyAYlsY8{Iwo+oIHvS#B z%{_9rHfJmJS89M(qozg_7;2`+v@uire%@`%qtH%l#7l zxK&_8+Xx;Ix3>pq*#GA%0O*ho#hlb{LZjK<>tX)rdqKawo&8Q$`nX@&S>J2)IjBQ@ z4k^zI^#*|_`2S@4Nio!fta{Qf@<>R4>R>!=^< z_v0V_vo+iMxL=|NJq{KBUV0s7JO8&oL-}m{lFvsp`|S0gxaphzL$?2K=udgfd+(& zo9#mdg8KrcfMF>0&F??$`E7>?grfzIYYf^oXBfVnHe<)Ovp-0h|2(AaITG5X*bXW4 zEGkfUN--6ed7NHEmF!?;%@@YcQ?Dj%#zIHOq#_C9K^dtr=n4Kx0DU(!TGElN3h)>^32> zf%1aIYVW{s1Ljf#;nsG2zR4KIntTh3%U()0v7j$uv1A|X>mu<5k11UUF1a0W-1`uM z!{t-mn((;yEeaB=jq=*ZHznM$dlK&?_)UJU>JI@%F9)@xX)Dk zPMuNwzCo~I@D?ObpOif>ieNZu8{=#vJdWB{duY)XmEwgh{tK0z`y_aUhTi351uZotcUJF*(Y8gc>-dzbzkQ9j+j}jJ!Y1vGwyA}VF6+& zCrm2K_^s&ON`e}D<=h8vVC=nfg5(K_UBW&T|AN83h2m27>Y;|ja}WQWqd?yzdY!Dd z*74B=fEyeW_M%i~am54#f(BO>9t{3}J~JL@~owcIosv0pV#A z2!?G7i+46?3y2-V^3g`Y~Iu%-S4+xt~7w}qp~?h8N#qVPKaBv z0lulzXBpV;f$!3aQ~#4hP;8vqw%HE4}(*T4KL?!}e)oAyb1 zZrgrnJp4M|xio#w9v$uH0w$BGO6_3fPRj1xwRJz;g1v#j2DX){OF%m`fvzAfNLGaV3Y@bk8!fTa` zT*6xk^t73czJa(7UT6W=_ngi?CCwW75|dxTUmPn2gO#-PjCvF?nQ}y4qXmKD?NS zY9f1;lhvh5??JRnm>f@_o3?D8KyShBQYP4}9|F0a(3kx~PV8fwb%@6`(;vZ4h>K<$d6)?MOg0i&TFI9hvM<_SQrS2Q7MuxX*lkWJ&A8g-H+~AA$ zwjYjik3II?-g7T9Xx$%o*Z_7f#P#vYl~o(xgt8i=>hkSXv8^4bJ#HVHv*pW1Z`9eh zrG~nr&Me$$193}+udA(NjRRnL1aj)rz6Y&@s3+L0-KIa}jd{j-yu@w$AMf{2<@nYE zN4V~@*cw)xWIv#pk^3-B;Ir4En3MYLf$fB`Q-}S8XS?1+S)arb@xPZb~U z7d~cQqeI_Ahcu7-KBh6wNxn_H>J5ee4^%*KzT+Ph^FS5om1cYI-^Jd82%T9*v9}5Y zPe42&@vL_oA#kZ-@3b*CcFr5BKKpg-oL`(|AKK4HIQKcRjk@PhDCvvXp1z?uFPn3< zNHGk7%zXaj%7<eitaZU;)&qK-iF`ox6+9L+#@b{ftXGmux!FlafXn(@l#)ie&!|wcN0LBHHrvc2|bMgu}jPaW3fB z-cIfD^u_*=_Kx1SF0+J<`%afWAPD~0`%oWH+x;quds}ngt01w|HpbdE!Li!ZfWd1& ztwcZ^p)L3;IP7*rTkGmp>cf4%(QZIY`>0!MzcGM#!s51R50mwMe~+Q#swK1;bLGR` zI13mD1h29En1;uJ!Pl(bhxNWJ;cv&VU0^tI6BJv^w$*~h6!(w=g9V7+v6NvXbx#0PrfU$EEn8J-n3& zb%%1SbG3bJ^EkfwS%O*u-s&&gk^pP~@W{l~@yaLzYMm9j1GYLYc-hiNM+igoZ!&mC z`~tugOPCAM_H>JF%NeH&_6GQF+X0j>l?a3jjKV%McB7{Sa?wZaR~55BFKp<$GH+Ku z`_Z?c>;$<1waMsxR$$c9O|1nz3v!Nr3w+i+X&V6hUbPm-b_~x#XFcUJ5gwBw02Yje zZ6o>%;06*)tg|0gK4%ycFni1iYy)t0?_4||!dd&5PL=)C%V*R_?Mm^VI`wkt6|^@B z^mUxC4)MA22D*g1XYobzhR&~NRxW|>D=2mT{aM(C7PPe{%#BV%uQ4mP#3P!iX^RMV zPoGC!U*7zZe@lApO@5)TY~Ez+=1c#~1&j5wZ`mhR-7t58T*`o#_53)oe(oLn*yr3k z)B?NbFIua;2e`3a!4I$HI)7CC!)p72xfd>t{?+dL=9Xr>`y}($Klqv;=$;w2b8^A* zZQhH6_vFBYB3fYA;C6e3o1ty);o5{ofG=lFp+=n2Fu9c zmt$O`xCjumCDetT64Z^nc(^KITwYm9Xp05M`=6j67Ze3vud!W<&G*W2UD85k$uSrM z3!BZ+O1*GmeJ+Bs*kW0}T3ES{Bc{q8?#X5B|VZ?X}@GG=DTs?ANg z`<9^Vw_|e@n>scN)O;4oV({?BkFz)<({#y@xnTaTs51#V;R~ zG5Or&le|ePHJpW=_s7i`k?g-)Z638;AeZ;j)jf6zWLw;vMLEE%pl|9`E|}_)_q^48 zZ&7C!ZhX=GpSh7e?cOl=26x#QGbMX%=u@mizLzXjV0F~h*2X(G;|sd7U&c5%&bGhC zsF+A#qKS))pJxIr5@mzG|F-x=;$l2GU*dWG7(=H9)@ar+EP2lLqAMm+S z`**CneNc&)*dE%)q3qA~?8kP0mY1#jONqqeBqnH1JATXSD}!aOxxCIAfVut9SC0E^NWhr) zKE`^^f*otVsg0j-Sw~qL76%}An?6WDIqOoaFK7HGSWA8a+b68UKiA31H2!kbOY;^( z6B-K^tIQhwHriO5bKOp%enac|bz%06y=vW0<#aAe_cE^ig%3Z!CCytn#m2aeo%;|i z?qPhXGJ6!)Bkgf;e*-a$<(@^difjL4?Spu4L>a{&yZn%KNJmV6l0B5#huJG|SaRFh z!z`f>Z%Wrngv#7E(q2=N1g=*?0mXL7dsUwvUB1qJE{OYG+51A9(*9Tby{8u6rP>=4 zNTyilUYhpcYLBk=$GlHx*xOK8;$9s}#ed{|z`$VL-`GB76hquk%)Vgu4d0P!ud!@z z>nLj4%C9}i4+M3!UkTd+&}a{7e=@4^C?0LiaS3_bhM4SuzKzGD-oj%90DI5Xk1Me* z6+BkVahRO`+`r}hkrzmIJGM6kks;mZc-7C(`xsyHy^I5o1%2Q3-m~|i4Um&f?0xIf z#VZAoSuY6+zb8#leD*C%V3>8<6iZk<_u;wszJ_WpP9v5_m|9Hag^>aYncS0DMvZC+b|*s-)h11J*!>tt56e-QwlnZWB9X9Hk@*$IH- ze>?z}^}yd!`=DO}fT_oxLJ7_I1$}n__!-N`Jx6SxBtl%2{|5o!c@(qmy9>YcoPqBz z1;BkoGyUuXH2|)5z;NGdwgK=ou+(3ngK$fUX4JD+PJ^JnH#GFCfMl zyN0*8_X~qjvrP z0G{{LrF>7_fZhdr<=@#1b4R_}2EPmJ%0Gbc1i+MmFKs6PU_xC?5Viog`~`Xgg9&-x zCiE55rDmPNga?z6OrqXp8}@w`uiLi0!--TTRRO@LQ=C{`!bC~;7^#UAl?hpnli6HZ z*xEs;M`7Yjz`M!V<-J{4 zYGQ4WyC&PLf8xnFCgqxZw;dwf{g_bqrm}KX>bRhtDl1na=uJIsEFuDcef23841%|{ zm{1!F4=qfv=s=qb87^P~cO@-kSg(Z%r%o3{0o%S%--E(-0sDVf}PFBD3|X6BEVf64hFb4 z3*@%4X+e-%wlBZ7zM$Bq&@cAh7(qV)T$I!ohzS7JCQOy{c;)!ES-NGvOB*+P)}{^X z3;x!IQ1zA2CfMbMkT<1Rmdc)S41l>YWz9@ogWVsF?pCR~U@k;ptBtYRB)eC@mp+tV ze>*nmWFH%F<&)6%eQ+zb?1>HB-SqjcHUYmoK?PwOxE=z)g0hw%@o2a37!80M*jmo2 zWy#IYQZj8z8~ez_?LLevXuIGq#CAd6skQlA^`EQ;yycJGzFpR9!PMixwQL1#H}Lk) zkl|{H8|-}CgKo>~I4!l0^|Beb8sMls>QQVDvbS$ME@7=e zD{YYCCTt3PI!OejCX|7$DSYOF&b_9y7) zKN3U|0-}vR)Q<#$6%#+T`Yv0f{v*EY7*7E6j|P_QFF?B0dTxnZj|q*x*Rk$%NQ^%| zzQ+roWqmc5F? zJ)ilyx&L1M+Vb_u`(X6js9xV_KStUC?(4nI`a|@4#7)7LabrvS#~B9+oQ^n&;F%@u zdtVga&fhS0FT_dv_Owk+e`!AEgZcyj2cRB{qsAB$qR#mA-|J!ihv}rp+uIMtQ-ruD z*{N^w+wl#4kJ1jrwQn06>33_V^rHxT@9DRBjkWRXcm1$Bj`h-^I6cN3ixBsF%q6Hm zU8o@}+cS2??Ao!l_WdE+8tBr;$E9YUDaN9tjzQlk#$@iN`B>S9ZO$FzkF9;2HKn|VqiHX#OySZ1z$*6uSaWxj0?c(EWX|O^ zho`@6=m!3+ z-@}*}))xFN06gz+%ypUoFF`N`|Mmjl_*PrD<;mI;>%Y!ShCYMOS}>UHIgZz)hQZDh zUhC$7-`FIqcc(s~Dz0I%*5X{3^8#!_VZvXE*~DJc@71tZYk6zg?pUmIzu*h&#^(mg zRQ3`AexvPPg!d`5hj9~r$aP429R|VI8N>aL2Ebb>rbO`j;U}@9=cHXb*s$yixmr@>jidQG14{7XT*QrR|Umi@lc^NE`UukF$G> zhR>xyYwlzESZip2;dfxuxCMWyz-S4+x33ULTLIE0D6l1-Gdc$9dP;(;4xt__nr-k1B=fQ4p&yOwd&`TRUEM$d%&=5 z$u2%Q%Qy-EUOHyu-n{^DbXjE}vTYL%TZYIB47Z)x#PYem$s8UcI2JtSk<=&!i<3RP z(*_&|45tmfat<00n1FbJV{7>f02BDiw*$a+wDbl5%Z^fvr}`HFW@6u8Ji>bb6YvuD zLR$b_*}nw6rFkFUhQy4EANKaQ2!2=l@nZn^Wbi8${IxR1$pCnP-9H5Ym#Tgu08ZRa z6W|ikE||M~Cj#Kuh8WubxMHZl+b2&!^u=HGzQ1gs?gs1*+s^*1GJKhhTkv-;LEF*+ z08DKFFzd7h=DtiYO3=%`1fvCaq31_^iCM3fvV4bVGf0IGay<$(J-ex&deu4}XW8dE z$2(EG=R#1skC|i4Fz{||tr28K_ zqWM*7e1U9_U!JnPp=}hHJM=of%r;`?E=uZ{kJ42*1ib{l_(Go27xY#Fwgq+1zMU^_ zf7!qB4ok$mL!n)^fZm9Zcfs9NKVMq5KwoF_x<1=mm}>>{+SdS=(vR!}y%c_cFTaN$ zY)D|2Z7M(11$!Ij7Tl#`+qL_6=ClcQF%gJ-Jac9B2JFg~tla?Jlv`cm#Hs28z%!$l zKHqECQf4nFPX&Axhe?lZoKzJ6<`sUiL33g#*!#h1Yf^drqoXSXx|}Eq=tiDkZUAuE z1a>!*R$ldJZQ6voX>;-`(U&@;tX;|wH%ImOxE@TJY3JmelWqE0)`XlHx_!Kl>_ddT zpWHlBMy@9K6xsy4QrVP|i^TvX!29{php_AFQYqus*`~tKkW!jc}B{YPwZbGp;oA>U~7hj=`k~V@{X598T z1#ly0*QD67MLOmk1?e>DR zmhE3^!@?Q22EV2Bsm%**V6dbOe%oqOWB}dUP#|tLORVptWaMfirfdSehop_0lf(@n z!`jH8mYYsnyR^5f{i8R(DAu{rrECb)Ap+bSqt{@T8)~Jy?DtKKmVcOZNM&V(H7=ffxr`@2FfxEb_-fCEmj%pw4)t~+ztIE_9ADivl{>Od8A0Sn} zjve-{@Ab$3gb26x_GSC=Uk7v@;8lIm{(*3EB?B z{ylcaO^tXcWAE+Ou>V`B$ECJo9v`5`vp_pl#_6d7qn`$3^ zgTBRg{fz%}v;o5WP42dR{M}DnL*D3+twhLs$exU3`Z-5=kUXbwy!!0?4^zWmK2|-R zAa7~LwuWCK_?`6!spf6c0ox{vSaV3*rsmwy^UL8!A1ZTDLEi$uuGjpSbK?`W^>=2l z;4sTEr>^>5J)a--R?XEnv9Q@*^Z5HejXrY>^a(V^nqniYBlg+IZC6RCJiv0R0CB-y z*0Yx3g{ze9J5~IlEMcv=zN%8|uO%NrO&H8Nq>FJ!?457nFL11NBK?NIQmys0PJ|4Q z4SH|h!Fm*ZmaXg&)~q?5icmP~S)O>chrSzOt-RLb3mjWsXMb`FYjg^0ZNuRRF~@Aq z6qd3_(EZDfbwAaBIB~3VKO*+co&&|biaKRX`x@Tc@O}p3q3m^R_Dv4hTHJ3TB&MHn zwFi?unj0)XS?%oEd>{o1-zr=7dT6s)4sRG53uLNI<}J`%)K-1xmEp`KD56xh8qYk9kNN4SsYL+Slb|Y+PJ?+o3n}I zSG{5~p4#u1$|rp=H0|hfNv91CQ2hRa!7bV%w3Q{y5^5mbx~@bSLEu(p3rhsUC@cGz z5O`$~Geejv8{;?G!^E1vLJz<2|I1BhADMo7HZaabG>9L1md zv=am?gLuH=35fSH7+yYSBC}jjnC*2`_0~t05Kgdx!aGeSAsfm)B&G<7PoJA`IBhG( zPQP;Qf1s?frij0Hz3a7uZ!c z?}%|`@H5tv(6J2PvO-sT>(FukdKV%P)o!zcda3 zUV_|NKd6)7?g5=4%-tzh%Pbq~)>(Xcp2e4^_3l;yy+izB&X@JJZivh5-9EaxYzDeZ z$DwY)+|sh`fo@blm-S0m@Z-3Et{`tInYx|1OR!5@f!<{7vV2>@kMI?=r)YZ*Kk8Ej zYXfc@>aq=8ym}3jiQ{lLIt+GgcSdiZE+!~af!mU@b!VIR&_$d?A0{!r-!9wmVZx+) z@J4KJ#EBisp#^j~5rn^CE{~nz#L_@llgP9sPcS>PSF+7;*OS$#uW+30hPwrFrQKxs zqsX>Qm_2DO;9HaH_GPkN8NIp!Gci*&nP1wsp$T*g@EYWDae;-w-adRS+LDQjMM*TF z?#5Sb0bDG4qGagy!Yd1^q0NFyF<7vb3~z_BsC$@i)N`~{XZf;T3rjC933!L#C&YC& z?>3`1&{iP!R*7I1rDf2Y3|+xoX6#0?W1%g@kNQyHF7+i#F31COdByiwkhii>hX`6{ zyX{!$OZ0cY0b>WS-RSOwv6P|jv>6PS)NjP!gP&qtsW(0DIjh!LxRqgBWv;jnxJ^dx z$uKuD)$UE6Qro>56hN!Zr4sA$@8#H^Rv&G8c>`5} zFJl&PMVsXhmh3ZDF;@B<7h->)P~U@CC}V5<=~H%XX=5J%_Lz9A@;Y*vx~EOeZQS%f zPz1J}VQU@q|1_jHL)g?O9F1?vpm%2*eF8P7ZLh%8efwehrF|QOLTxL}xb}^BsxwXr zLU+EY8MldLy(IfdBG?h!nf85q%8(=N2~jup0=D~@jsEq&tV8yy|AaA)K{EP>4*98o zyOY{e@mYp@Cu9%Ez}8x?^K!gP7QM^58#$A>GlX}08rkQVfOy%mcY^w7(RNQI?EqrcVNd(I z_H-ie`>eejCIVznXlcS?%D4IoM7DDKuR!5-#I*OKxQ7)vW7tZ@Fzr`AcAYX1_Q`kJ zPwV|ND|SkIbvb4lN}@(|$R-^E#@s`U%0^Hd+rB=>o8vSD);=U`weLu^Ey{SK&jQ4y zoo~Y7#56!IZL)^|%r9wlR~KcE!@aVyJ*%pZ-W->==UL95KDXF~RT$ zM-%w69*9gOQ~0=6yg~6+@uxn04TuX0Z*_9^@V*@&Y)$*tCpfJ7VhaJmQ{fTQwui(N z6WMrQ;{}D&-rFg|U}Y7T1d0a`R@N|LbnG-$c7xyniKm!lj55G?@BfQOpM36~K<-Wr zc%R&600+iWgu9PE`OMLyPe3f6ex~p7%Q9m7w^7_|oBV7O$`ba@n807#4Q*qyeI4ISpEUul;(63_+Z`+IAnsmtSp#eacaYqlHkp1UxVEZhr*x+Ox}*Ul0CzA2wTZryvg zrGA9F3*4S4ed)2Z&f-hXXZ1tyQE#9w!LE{ESGu%SU5Vo(n&BthEgQe233&6x%`f}& z`qICIl5*R+ypfM+E{Hqo%FHG76$qy7>NZ<9F#)=?DSLMTU1#quxJx+8QVP(eP+!@( zw!MQ`0^13C1$(bj_<`0BzGDJxDcy^=z^&lzHP|8c(UHwVI<^^hW$0p3(30(gBWB|& zb62ny6CTOnHdm}Q$SqyI`cd8QgOe-@c1(CA+A&$$_}Siw6FQUycsG!j;w0@lCR+t` zm5r+`-SStvbpw-2iZN16MycI|bT4P?qF%~9c5|OyO^P+~EqwwTr7YbNGkB}s6KX+R z%ki|Y$@yNol5;bm-@;xUBcw$@3GL$xiD8#-E`kY)IEQgu}e@J?ci+ zvO@&B4SOlXHL#_yaNV>c^b_30g7;9C?u5Gyg#%-UcwF)=3JYukRb}Ls3}p{U;B{zc zzlDXqq|Ji(+&-wz&i$@otbwevb*-`=>$iYzVD3CNZ3}Ui2ypLInR|3K%w?H+Yi-ip zK`gb}L*Kac(aPTR*+AMMZ3+?ere3mtZAg9n?a!6@;EgZUb!@Zit==G8B9Q(1J8rOf zlWqFqmm0WMeS+A7aSsyXAdT_+1Nz-MUK#ECkwC7MSlbJ}4hWn2J;Z+VGqu32H#kQ; z6yHPjFD`RDGBy1Hz?{~qdDj+@}`PtouG{bZdKcar^(W^CeB{>T3+p)Fhfj_u!bY#i1{yT_}z z7Ht)?hpS8f%aXn7_@8LJf5UU5U^_N8Y`@=$c8~dAs&9Su7#w$uA?0;wJA`(gkNU#) zAU!;0jrTA3n-%fP?zLiAw~qTBF2+w_yZ2Au z)WiIHeUIM{>bu{$Jju@seZK$W0>e`Vx%eGD;M*(Em)hD1ef>KgI2;f>fpALC3*7!C z3e^3RweQPzH0==QKl`@D`mk?&JN?Lclk4{i1Rn&<3`&eS4d=hsSrTjAWm{w-itu zc-%f-JczmIn(vl9ZK$E}No~%dlS#~a+jjM#o}Z68#q8nO_p!fBwQfi@@}H#L`ebAi zTdZ5XuF1ORpt6qo-Vzjsm^IvMu;a=Fw_m_NkEEXKHQTaIta{dmkWYsi%KDY-S)CNc z3}W7|*f5x&SYo>}gAIiv17WG_SZ_znES|Ok$V*tWM_6-D1vu~Rhk)@Xx9>>PJ|S`2 z*iLzZ2!~hZu=hds+TNyW)~j6^!@kHKf_H>!JE+=@RQ7e9DvH zvTwvTRKAUk`h-IK*neW#fS7FoVoSid?A!yJpjfKY@UmytQsRT9y*2K)@&3fR9h#Fb zc#E{YOP)sO% z3=B^=oc7*M1q7pB5+p7VY$(jzWTG9FuL1E{Y8@}#z!;_PD{LSfAM1bd=u-i}gt>nv z0516ZU;zBA#JV)bXaHQtJU@Xp6#z_tD}MlR9nDO@I|1+$%;e>Lc%P;0KMsHiW({nA zs}gP9gO|{kBH*o3G62@ScMIx13;^3-@qZ2grszNQs-%qHDaGsn@Qap?Yu*E3W#*nf zdiDj1b%NW<#D#bqGXXF`Zo^yxT(wyygV&H(pcnO1uUOAR&y`qzfzY$T40rs^}MraPaDL( z_&V$q{A|ls^?=uDr{>s^{WbpUZ+7e)Yn|o3hr7r91h;{^eGlGEn;&4uv>0<9eItDM zeN_n|?%UEC!d%+kEV!#I-T2-moGT_>yvVF23}n0=u2T8(Z3hx|fg6;R}(< zm!<(P>hz&~zQ8Q&gu3SgaaqTgv9fsU_+@4Fw)_PzV9PIa$zuup>T06*;Ja+0zkx4w z$Rs*h>PouwO$T0o`Qku54Y}C*)=9CCJAxe~9{mwKKB9fL2E^LkrlJSl2i=j;^3>aS}8pMx5w$AJm~M?_=VntNdy*RTDBQ{d7EY z`#4d<1h0j@oX}xXNUaH=byX8SUR~%b3^`HcwJGS93Vpb;an0%wnd%x%&FuVsZOSHG} zmvW!LUfo-_+gMx#=<@!$EiXK@I7z1NkTQ5{fzlba0<~W)z{@uK!)DNnMN@%W3$djM zfDLz1)>XG!Xnl!A8uVE~UV&ODi?D{gu~oeKpe>loGW8)H#f--z0QT|B1hvl8U0~O7 zOU~4#I3{CO1~1}KZ>5cet1@=zO4B1RBb`eUmhEB!x~2JEGnaXW#lfNeqB$eFua zKkLc5ov}G~x%DrOQ9SB<#dnenb{ANs*73EZsP-AV~_SnE4Knz zh=ODt|60#FDlKw*P8yvjqFU!%kp^w*4#K{r|hbrN{qWXUO`o z8WL9A?C>=&p?_1Fd1 zfBsj4@YsKfD&CL#zxb6vK^tRP}y~NwLXe}_b0l->QppJgjSClR$g{{^f4S7pibL{V9JYh1GSk@Z? zd;OC&lCp=tsWp+-JrsP(5_Sf0E{HW0HW=pGO=~l*(`sFowOiJZYt82idDq&~>qV7X zKNRxqz^;h1LE>Yhqs%O&`Z|Ow=b{DW=xX>Qhh{ z>t=~S8D*cSg&5j%58}_z?lQVX5e(lgOh7@PYHz5gIT_b%?Ny$tSa z)ZRv*FZW1t@w!3rSACT9N1qcK8y;(qr22ex6ZV@0c>{X6Uz7V3Q?YZurf!$zM=X@R&ek>fcK|qWIRKf;_=LX%$_8GvQ0>Efb(3_YB!&jkewy$HUE#0SBAh|rXhOZF}>bqtg`X zQh@Nex6!7(>eL%=9lci2H$G+&|HY$EJ$sLU_mL-`fee8kBb22I_*!n~IOrVJthgQQ zrC((!N#opAFoW_0AL>J`~+-Nz%EO|UuWzt3GgxobsoE{qn9hbeS*K~Yd9MS zykKtZ7VVL33;0UUzdQs#RdG)=@Pz_%1#Ss#_Zkp)NIpSaXy-H7-Dddqam}o&eY$PW zqD}zZDu^2ZJfSY-Bb%A28yo6~YYE`;h~}l-kC*i=*e!^=(V3$cU$tI1CY~l~&t8Hvo5v_VRTuGPYb!F#7X8~Z|i?;zTvw4~A%UIaiCj9l4cT0UW9{XWZ)$LMG(g<{^8=TOg zO#qBiN6@t5-%bj<-I=`6&6;Rh4SNG{$7FS@@;AsW5$-nNjqE#~$xC?xo(XnC-DuyI zc2|88_I7!@&bBlF3{8dk}$Wjcm-(-#2VN#7K?mo^;NqT|M4&2I>wM< z-^!a3$79!qg*Pkus&{Q>u)a1r3~nQDl63qrxlcAsyrD9c4Vs;5lP2xCsl$yQDluvk z^pSJN0;C6RL*A%A zZa+!$-m@FkrvFJtCjSyOz&+rL_AzO1MIds>ep~^s?qdnsqBP8mD)!$Egba()-(yIy z3zQAN>sEY!nhYETNr%mHdjiY=O4)`s_KMxdPj%mZEbCD0)WgQ5PI_LyM4Nv9`M+6d z%QosK34MMylrc1R)qCvWKWLw-7(KsX-#q71Y`;hxW3NMT50L=x0m=U-j4KGu67PqN zXq$1+&!vt1gnqNFSkx)`@R$Maj^q2R+Ry~7`HZf|TefKPnQyztP9}86Ml+s|DQ$hN zU7us^KSKe#QxEb7vZkF2S*C9({ruf}-2Y&u-_-O698a6&-U_0wev_)HA z`Ul1)V|i-%{yYWjMzKB2f06=l*Sv>z*W){+JpkU@muNd+7tAH><@|B$yElOENm<1W zcv*7pnfgu#?K=RRwrmn@QG9ED9mw0TmwuKd*`UB=U5qJ}AM^edTXX%a2k0AhW+5B? zjx-!GSzOw#RgTL5*lQixYCXiYQSMJ15hAa3lO-S5Tm^rr{d%p}W(9zCvF!lC zTralD)@wx7*BVm5xYnJr!M9Fxa(l&M{W{jOx-eOQcS!&l>tCtb(TXb=oVcNY<46}= z3jh-k(|;f9erE!2Gl$Do${qmg$rRR!V7F_Jp=^f5qpo&hxR+7No(KHi56PZKd~WkX z`BvFB_BuH&8O5C~oOWzCOWey59JZYhxZyEXp!mbm+!I>%1%#vPg2Jem?|Ny)c>gIG z#tns`2EXaY`X{9Ui%(KAh&QUlia_LmVAY`gY^LF2=+f5G1ciIX8rtxV(C4UH`W z;RT7eaM&UgCI}7~zM}R5#sS3^vxgTf4g^kyaPBdDD2v!SLv51jX7;cF@XQ!CAYN@k zVng7I(reNAWE1anu8xjIJ#g3n_^D@)B0}9qOS%_t>9K;i)_}JHxTVAoA7Son%ObLaN&q*!%Pgr`;~V+j{9Wl&>8{ukpf}or-WOTEI#m!i;Fm`(Q_A8kou)m$H&imC*T*C?!Diko%^A?rSJxkM9g@JbqdC-o=*zZ%}^rt#veWf7uY);>+h8zJ#cN+jGp!m1t+X z{In6~N(8u9r1K+VclBj#f!xa8Rh?g&62Dm4x9SAB(hlNA__7YLeUo3}(t^0HOR4jS zW@qqj0B?jJ1A$((2i!&bZ9!iD;Pm}<33_L{;H@EVV%86uz%G6iFY+oWh~+wNdC5R` z`5M;Z$ChG@;jck0@2}ha--iuqs2jbHc-glg*D%-MHuftKCKk%(CA<~jMOh-GeXn!{ z6BeU%@SY~FQ@47I@S zA#LF8A;8P45zBWF;8wkTpMGvg3&qbXBsY+^Cd`SGc%`MTwp5)Nh0Z zLBm}wFc#QtxC?!{Qv=>!yc|$n*{XUif|9x03nkjJK&pBcRD!-c(Qj~DHpEIJ=H^$+ zKjG~Hz6E{DFF30OpM7kn520;JiLvDu(A5Id<%4t!i%vmZELtNkV!g2K1vJ!)<61QD zGkgtctsL7Gcq^a$Yr)@(`nLJ%Z)fhVID=wt3}oYAyIGLUgu|jg+W89h_9jO*G_pyO zOx^gkX~O$%E#KNWDIfb))^5hRt4*1;5ukQpxCvasJuIwC(zRuoVAa~P7zW~_yTR&M7 z&Ni$)WJ`PK5P02-eO2dubag*n!_{n}ru|E_&)f}QjelSNB|02$z`Fsi4-)!Fs85i( z_f7cP`a=nI_u1Nx#j5Vjb_3dNJ9W2@OZMU0X1pHO9*!Q0u>vnv{LlZ!Oy6i5o3R2^ z)h8LbQ;I2j>eDtPz|`XzUdmQ>LnvqRHoRls8ZYsIQTv$bkMEfNa{xrem-fCE+ru{c zvi^tv{9h95277q?vi+gQu>PR<<64h9Rbz~}V`9vH-2WPNNY9bBi0$qdl|8E1-$VN`ShG**zyIGBeTd;}K4bd%MD?697TbULPsEnwmsqcu z8f%TY;(nJH)g!i}vf+QY5p8-tjyW{8U;i}@-v{e4th_(k#`f^Xmbzl6W=z_{pRsz( z;Y(jZ$qrn*FA4(=OZI-u3cD4ZdSz8=ud7=Q(EE-hVgkrC64!tKYCe z$%LL#Tzy~h`_oy=+t_@k&+q;}NAo*-+WR-AbnG_=^_fK+|5ghG&-#OGxi7r61;o?G z_OzwFx7&v~fHdoCj?#0L1Ga4@G3Pk(tvOG$2f`2XEiK@?=3e&2{vaI(!qdBVU+73x^o+GbJ<0aV(5-WRHbt`jo`jSPgbwJ11 zCx6xkiILWtqWzTC7+8}u7*2f%Yni(d+ETUSSB&gY!C{_a#1d;O#%OKCI@em=w$k3N z$woVw$Rkcbc&rfvhb68P?_-@vY5iDh%UXA)&t@%3C6;T|vDVERHy1DG0_LoNy*75a z)f&V7mQNsMp|zhtP@MgQz+(GmyZ0BM4Hzzc3Y+#k zZm+$NT=brc<<|*l5Zk$!Ub63F#uOZ8ws10r8y3s<)$*}aW-)DBDRa28h_f#wU`!t& z@=fm}84BMz`tWlKZAfj|D@I`XmiD8xXQeu9m0cWI9EfZ{jFR^yW}EwCwGU>W{mL@_ zgrN9~0?3vDa`xKjGX$pCCLqoc(`)a}b|rEU_ z#MXkrhQ#3p=Pxq5m@<1T|d|d#0|1IZr$X>`>2;a9; z07KS#E@UoN^GXCm@KXGG`+xtz&Nt9@fh)NiTQNiI+BJNe<^Ur1&8V?F1Tc==f>|qd zt^K<}Q?3Dn16RUsUvzqrm+Pq;v^7=~MUh-1l60{E$6fZ#h zeju!W2(iP?LIAt)O#uwatK5gay|M(bWbnHm8IZLpYy+&^Jp^fMZICk8#p`?EBWqg> zeb(4DTo8M`R^>_nyR^l}v>RMXUj%KFxX0`tmT%F_?U!Q}u0HaO^IQOflP+^1a#f4A z!E+<$g!qNr#j(g<|MsqLy^NazZy?9YYTQ_*OYw^vOWcgOGFMVpG00uW+GtDADxLxu z0+$juNTC}*;#yrwTwKeJN6$FiYT4=_dtCru+?+UNH)h;~1KxCTqo$~Z*oCN-xW#H+ zh+LfG;+OJP#LC@M_8=HJ$?I4f4+g6h5V=^1s|O7w?gV`g_e}Y%C*SWJTw4rs18lDHhCaIn(kFSvLO$B@3n2T~WWHXw2@U%Nvnc5P55p-XHa zmTgE`4&-p2;vsBrLD;J1_U4M^u;mN~e~3pO(zb2Oj6vo7&1DQOv30YAtzF}))u4@f zZOhCY+J=i@$X~+-to+SL#zW*{fXqQMxbJ*ogKl7h<`lNvj>o^v>#_c~Ik{?=GB+sg zl(u(_*rJ)gU5d8ha@Sr;^n#K7cnPW43kl#h%yD$F8=!6HVoPO-SAckn`3nKm<>rg3gCN>ox6;?{N+~7c#&hSoh$A>v7CYJ zm{CWOTjVXapF-UOY|m_cuG$6GR}3$s`VHp?kL+cYt9dQ{)Zw?2Qr>>Xt(pP)+GdOK zsObdoQwZC(trx+|Ic0784RG{b0DD|HO#n##Qt;X}9@+ICbNl75cw}4s5UoVgHsd%7 z&r8(mySiqZ8fs9BwsIb0U$M`zRogeQm0R=;P11nJSh1@-+T99X z$k{d-cRV%G+n( zSUta~+g93s`fa%;>b|ve5Hs=`(a*`kI9J;$6Kp;BwNLofxN2E%eaX=d$k!0CRmkSG zhx7beO{z9rw$@tTR@v#}4p#XH^d)OKp&Qriw^1$vmbK2mXQw- zM;ft_g6rBbCdxTs&%XbBzrN>4)H!zT9~{L-0bD2V1>^Q}(8e~X zE+ZgPL#UQopjf5LcjrP(`1L4RS^)1go-;e_?)*=?Lk9y+QtwNA_`}2JF z%WqD^DF-1)P{;YOx_T$gk#e$4k&7Xj^ zyX)cH0{VZ%&x|&&VaIwd+Fl=jKO76~dT4v>PjO80@8&uE@5P@TF~3%+{mI%Di!o<4 z{O>FJSs&ff+~MfB>c-j%zKk=U24#tmDezxE7yrUA_kbxb^XTZO`PTECz~?IeYGt8mn=q z$>A7-SR2RBz6Cb+`J;_}Vm#tG^ec!pVXPQv64}r5bJ31*oLygII^|sgqm7u;ww!i8 z{n|iXIlup02V&TkI>wJ7ep3KjzR6^Zv8IeeNz{e_{*+_jIu7=6GjdPA`19te)jcie zYh0b6&c?_TzSi#qu#K^?3Yl$=^R11(&PCqFTk|@qq$bnziz`IerSGn;0(%!R*$hC7TdN-r&&26gz z+L4QQLa)WqaWO1VWABP1e20WAwmjZ1`7RkS9(DKy<0k>$VeLGB_qBK0ik(O7-5E#} z3%(}@wcQc55Wn~FPL6kTzNe#YF~pgR<3oU7<_7j|{_y$cu7Nl|_ry7d5Xgq+FZc`L zoNw^H<{lj6to{MEq{iF?<}0EW{Rg56U~EB+ZKWZ2Z$C6RpJMTQj@LL8#+LVQ3_I-O zc>f8x0V3xsiV^d6FN-x-^pJU-j~pei#hEiw6k8mU_}aY(-j1I`$$Z=TkiK_90GD|x z;S%}5=IUL{X`!~oe6a(Bu}fo$K#fxG;9GJ+;mQig&`;kPyZ^ z-6hQLVZKkX8+RRx375%t>}Y6iQCzcYT)VTm5a1JXRV4c-*i5e8inuEtvYHsc17O$A8aoRhi2c~FBz70!v2ojJI1k``Z+qX5=jlv7 zK5?OO65<$6B?R&*%hR>EG8a048XM*hLL$tMGkqB7h-udjZ^5 z?K-XRD{@`pO5mzbvCHrC_5xU9R{|J)Z%gp{3SRy;2aa|a2hOjw1vw^2*u6LxT5|JyZY$Z?4d_ z2i6Ez<(9Tc!Ha%A5Mx!YJ#ZmyMg7JuSLNC{61v)E8ToVeusm-Majn+XHq4Z^b{@#p zw+0^c7a)5neNm6N4Gt)Eog8ck%lRr@YXfUT+WK$5*#IcWK@0{zg-ZmoHo!p1j+M)0 z1usRe9r;}lfB_m-*$%J{c@FL{ptC-Ot>>>Mp3jxI#Ns@*furLw%3NzZ7Ps@S--5ig zHU^@GOI-|LJIIxc{{ zhUc>0Vj+3)-CfW7%N@VV8|Ztykhwjmbph;>cTE86h4gcaSBYEMC4gP<&IE81!4km! z0^S6$OJ2#}CV>5gz6oIKCVYh>4V#j3J7ZmAd}D-G~!S`rsJtsMTZ;Cxmcr(B*P6=});r zx5hJ8U>_4*-NaX!gsLJpI55yPaOYB`zb0vD*hep|QOJ~?8w zmi4Inwpw351{#K!Yd@`kYRpYN;caE`>ROBic2?{yNrevVy}!sIV4jyAzH8Yz0v z=TUV*oR4;sVG>2wrZg_~wI*WI^9H`7`25ZDzgUcttjRtJQVBAE_L#5KoFjSL$6Gye zAu@@@ASWX>QpIS>(UM=(0o3Nt6Qz#-J6L}Zz*WYkT&0k-qg_*UKg-DLs$c$$wWh1n z^{lO*sdy8%4&wZ|=vx~s&S5kw|7|P!*=Qd~ z02}zl1IOb0-#h9G{`d0p2;=w}{@=2Gc8}-Lmiz_G;lFKRHB$jxV-=lO|4jnLMRyMJ zM%TyD+uDvgQGLKX+kTGMhu1zL_&8hz5qF(d#c?B9mG&$@rXeT^Bx|tUDW$} zecmAV$Dfup3F_?mm9p1jlF!>|&$rpLuEy#!QQ%qK`gp#!XR_yQOi)DganHSS2( zRsoDU^d*3GuFG3U+zMiiDu62zyxx}FT?*iaYL+>QV;wbCECQJ0Jqch#GFLp0a{&8x zP8+8RuYLBF#0GGNsmghSo-YH%3cDqOEyTmDg?R^wSNnr!+CV&I=Gj8v}fw%4bcf{(zJ=H!A ztc`bb$J+SC>_^rH`9AOQd&ofs58MS1yO6_=>}WIrT=5!hJ*}0+{5~;`MF30cBJT4j zkF9Ne%ToZW#$wqvZjr}{@22)N=5C%)2(vma@8^MxjMr6yvjYU zAnu5{!5+*X-r<4~{{$T78iNqQDSdDHd}eE7jx+j3FNkk%E`aN8?$keBhxt*<*VV?9 z!am=s`B=`$hAgfNaJZ{t$UCX&@gyvbkd8(J*n^U_*H>??^q z=WtHjYIwY8ISOE}?P`*1zIZAZL3zAxNnHi73u54Hev246)EJb%7q3{`a_3w8)P>8I zySzDZ-lc9uD~XXiKFOy5K6i;=k=Swi1&8AI+{NZ6247L*&4)-3U)&sl3_evzIqWP~ z6FYJ;hXbxM4z&HW1Th6L+OfLWR}R}bl*OPqBJkS(`rRL%LCjVGJmdfUk2eAc+c&ND zO^dtSl>p9Fy%BREi#iv;Snd1oua5%QN%;#Xd0hZQ`f4Sw1n|G(x+!iYfL-+d2VxYv z-v1qA69Ej-`=+&H`)1$P*~PAEelOWe;TvSX31Dp5{JNbFQUF8pRsjt8`%cK*nE+M} z^7mbrz<)rE#nJDCE{+hmA%Ka5a1pzz$I4&G-ztEeSn>P8VG3Yi& zNZyYN7Q@P3$zQJWJ+gVLkdikAupJLU>H^Q@md+qn{zAY?07C}*cFz#N$JPZf<*kcd z)pPizopTZ{bM`l z_>GRJY4W!TU>uL0@}quRwxKbBKyFnaW00S4f6t}p+;l^d{xd67C-YL5oMjiXS z5qh2i*kZV`Qrtr7;>KHUq`oaPfbg}OG-Dxu&)SWgF&v$R0OoHM70GLP3Sr3JbM|n- z3SAsQdElI}JgEYh4=uxL1Xt?@{N^rJ zOv!8QhUD(8%|$x`uEezmyA!K+t$oo32)=q30}6=UIh4B?q};GJuyZciIs9!m4se{y zR!5P`K~up7Hdn6Opeo40QjqdD1TN39{#6@r0S?F@bp;1#61Y10zzs);ShTO*3Mp%Y zIv!)d=)XC5Z*$#_KH$V}DMI2}JD}8!S_ojoxN6ss==GJljt^-4dX%+T!5e+Xtj`z* z$oLIQ42&Utag6>g%ipqVNdTwp1Wxa?iN{wikQD1u^2*4;BKLFaDS$7_mI+(3ZFbk#8$_G070QLMMDn z`>DZIw_h5uau*XbngDrQQ*SKdY(lX6;-tLswSPK2zk zhjtaIi@HLUuN1CUFUbj6+vm~8IgYOH^?q&-Vk6u0Us+rz=BsZV*4WR=6}0iQQ}XIM z?EBC88p4+o(ZKqcaQ@EP0}!++fJ4}7GTCda&(*teeoS05{)5Ab>;itKCe@MSk=Xel z@|BdUKem;%E%vJ)e{#A>dV|uy;*tkm-=u-!2f=^tU-DY{X8@K@xoYqn)JmYBR&4?a z>mpVn#>EZID9L7I%p?)S_)M2{saW*2Fc`Uof1v z5Wv5-yi2oa|NJ*=1N56<^qRkIzW?R#ITz<;-hRH-cVhWh`!^u0rjxz+_Ywa_1g=y2USt3EIwC&SvOa3MK8`Ji zKUWIiUr<{Z&d2@g&%gZIVBYQ{)&>g!yh8qx$`JGWvVm*jKBvCr2;2C@8Qp^;W^Eub ztY<;qSVz32EWBvo@-g)rphO*cC3HpYw9FF;xhYtFX z$eP2+`53g-w_^(61lvy=_nuPXDh}D}^G1Gc%H?~AKS}{iAq?>=5W8bF#*Mpvohp8X z%U`c=eHXhkwE7tHV~TO>>DyQ^5!b!_Xexj?$95aC7}7Xo?=3%a@dm-1ALjC~V)&j@ zRu=a{81smCeK)`=e}Uz|m77?ga>pgH1aAoAOE>OW8%zZ7O$Q5Me6_IVP%%$>Hw190 zzovyZI67E?EVzpJY7xFMXX|sj5wr6zVi8ZsU~WTgv2)jM`jK&;7j~iC#IOV~=cldD zBhJTlF5jZig)qja|0s@ewEDA`1cdHQA_06B*T!`zgE41rH5XkHrvSG8Y3uWNvCYG4 zUY%{6i&~?J-Yc6^5yy48a4X`ckqg;7gK`+Gh+Vevh}wU*X^M6(Mwkf9Gmm2wn$rHz@*G z-|8i3W99B2-b-QY5;(*!1#SWTkhZ|T-3u{`Rl6Z|i~Rk)wS7ge)r7=--TDIG=cUM{ z(Dj=7Endi8id{%w^ii9!SkW7`Z{Qof61knc4bf{yuHdyczuimG+t)$*@>{$Vz}nu~ z+K|784pRW9;H?7q{lNNfadqzD%{$0J@IvG!i2KpyFKQum0|?%byy9JmTz#+Ca@>ZQ zQWyA^&lI{4z#(@X>m$b1xh{EK{04}BjPLRu^Hsja2RK6NLiz%=L+JX7T$i_w*L`pl zZOPsllE3&Kudn(g$BO(t4vFjgtuuB!Vkastc6*uIBe4r8Zd3lYxHxM0qY%0F4_x2m zO#vJ*ce)8*m%r_1gBl86VK=5@r|o7}@cr;xO(%eH(?ea}0C97So9J2H1pUV8!q#rM z{H+^(;N1nUwsdA2d8@-so8JHsy1Adb+Q;lcz-=ced;uN|_>CcZU_k!jH;-@x@v!0d zb?uzRs^55E)mZ!fuFG4l?#0&35qBYs7#^06KVYvr_TXbb1+YIbo5VFNpV$NWf<1U0 zJ;?FEhupO`^L7r7F^J%Am|X|@tuu?07?c#a!k2>*3{)@x!EdaEw5>2U5x|zqtyb_G zbQnNM=0f12&w*8J%fi^b&DER!n|vCaN%ZCl-x@=`;iA_Efc(ZT`j+>23>rBQjFq}o z0HYtEUTqh=v2qtc+yeChL~gVtYtilmFk&{a=5JM^CSn+D-?$I?>*)N20FE{VFbD6- zV^EKQd>lEbhs<>-cOiT65)tr)A_TD4#S4U>$n}>MwEZO{UQ#4=BhMF_$Ajz*k(=^0 zK@2k3g)sUqbs=Z*5;ewL*fs&&aG~33bPeEnfj(C9+Djno9K1~4&lgL7d91RRt9W@% zygc%y5igMFBaT=|TD;&U{xZvRLf+zK*lVzTR;|Uk$k|J@wfh`ilI=yBBDV?O5eZ zPo%J4g)iDMxk4hIlRC(u4`QMvYYktKi-{pj;5a;o6GR5c3tq<*WVMJuWgnAb0KMU-UuhzVggRWR`pfLV#O_DDPJjk z)&42_8H;n&-z8cJ&uevRO8~dF*sawGaQfUJO|g|HGhHV z!qL$=%N4b)Myq<&hp3WNbXi!>LoH&4ju3BI>x}K0ER_KMz7xQ9w00Acje5O2H_qoZ ztX)xjgxBXa99>@`RHQJCe*H7lI-TF;E9G2WtNvV2>luq0^?7de6I?g0EfmjOP~+V- zM8+j;5rbG2x|aQa6d?XXv?W+m_#&UzadZyrQ4@7l$mY*SyZo6{U-LLO|9*uZaEv4*GMw=dHy>u{l4uv{Fyyw z_l1n9)?@Yjkyc~(F`!>kv7fD9a2e4(sP!GRA%7La{oDmF;&u-Qyq|iGd0r=CaZj%T zSTVxumA>(f)lul;IS?_OU$4`NUlGp^J;QVjUC*U%|Lk+(8EMpW{drpRcy9NC7tdlH zRfqnUz@F{CLb#3@8cq6+__)N!CQ)y3o!^9Qs}mB#-nQ`;4C7re_61@ivwR(2k2Qef@kx7xV|>0B*qA-u8T8)3_XV`O ze$-ieq`jwjJys~^DrJj5!7sC-9X$C$gv7-!rz%(8i|YH4-kqKp*k(EfFwR4ry?^ys z4R%h7cQU=ZDeuzQ-uEJ(b$qw8IF5K<45`~~5glUJcZCY9&ZV;I`@XLZ#=GcOe1FCJ z>|=}J7nbWguijT{jB%b5xiO#b>UzJ1^i@plcsJMkcee4Kt-R;(E)N0BcY26lt_rsP zBRhg8m^-i<07OH&C-6^ra^JP|N=kZ*tkpTAjG&=|2Tsx)!z7t@M4s&d`A&XrA z=jviC){p?UI)L-_{o$zq=6oW~X>A<+({Pw~v^eJ^eeTj_u=Rm*0df?=MG{}M{zWZ* z;e09<#MpHL)&tdJ4ivY7MSKA#N%>J&OQN0fHzchCacfxHSN-~Td0hgd*7KCPA#!tNuf#2o z431i?>_v<#cvWZpKLq)0UT(|mVwWp&A#_9VN(R6F?uRLRedR8`*Xu`pvlnug0{DGV zR`NpZ=6226#u;+Afjp(I<=&#CjW#6jA*ab(&?GS7_jn;}u}T-R*M;vp6rE*Q(|;Gn zM+->DkZz;~sFXB_lz`x$90LSY1hx@U(%p@KgrI;ZF>;L2D%~hKV#EmPfpk54UhVa+ z-*ugHzW05f&*35Hn5T}T59KOx5TZJB@c^NaAlKJRzq21$=+c5!$>5b^hO-@n_{W2F-xnvk5hU6aw$PBP25fU8Gy%&iJf!Dr^9v^Ye>5pNLWgj>}kUj2gm>n4p6 zx%Q3ePWmR0*9Yl+H2&g^yiUu-C&x<4S=ZY!F>K1>r@^UbZLW5~R6?0uD|-xKo08=-zgmefphP83P{f9WEO$~*ks$el~ zhrjmNYY=9pnS{w;)8B6+Z7VQt92XL#$AOP>vZg44beRc7)qMnRd>&}UU^H@ z&$WHZxk#58E;F!@T3=zA6bYgzPHl}gKe_-+{*eDq5GL+Vdm+oh3Dg zXIv}+Ip9~g2=NP1Z~X5)XEHcr23Y}aGLlr7&!vOpaH?OAL92supC6Tiw0YKKuPJbG zERR>L{X)svJ@6!XWH|UU!9rlC74eo1BejfZoMd^_-xc?jF{9{s`#rbJH7BoV1*O#U z(y9>#v-R``VNajGFn{aJ0_%RYXG|KTXV&e~(sPkZ-Vk|i&Q zWH(G%v`#y>jB#w>0P_Z6>Fm?x$nCGre89j^BpW?8ciHG-X6nslz5nC zn`uS9kE2?JJ7wQiVFXEKoC%udEmy(w6kqAGJ>_DoY)1tu}{yG#DhS z6%*-w@T}xT&-LczGk_8xeL{u5VjsiXv(dI^&UTTQNvs*-kiQ^I}X`I z{N0$^=2J7h9cu2mtEXwwy-XKEd3MCPhAFJAo;*)bP98U>4M|~Vs-zQ?ogDQtknm#N z7=02j#NrYtzBVeqGW|1z!zk%R5&JzyyNxdYK7nX8_{32Ms_2v2%B|taxev5#-8!kT zx6o1NS^|<1(sQ^`c}_M!BU`}Ss1O%i#dABH{vM=p7wzA6tK89>I6YLDG3_ifX?|YO z@#6ZS?*on!`jew_-o+2a>WH8?NK4te%iBdq5}dcBYf44DSzb`ZUqNY1>WCW6Xx@8T zjVhH2_3v|WDx(-LdL9YJiIa_^o?hVYEbAK_)Q(~mB&P{SI3%ld-lNDjeAC? z>Y}sv+4+EfJFur%J=zb7ubq0U79g7K8bDJ}PhPTH2}zqTSbM44yq6w-Ed2+XUx;j@=;iSc!73pia; zQB~*IKlp|``q;|}z%IzB*%w7`*dqWk75;8Pm0~@uB&%t^6p3Yq-abEhd<-1ni`nNp zxsQ|C;?}yj5PNAS;}(=4zTSlM=8X(H^`Kof|K-m)^v6E$Z(j=z=~IN}oFXd(R1{w& zc|9gdJbG04BrUPMyQ=!bFLdd<31@E^Cz%!Kr$Hf4*UNbzs}g;K%tq<<=f*pZ(kG%m z`)u_6fL-DecYVi7wyFHWZZD3%&IY7R!va0ZFGoZP!dcvk`5R~#Y!;t&ES@te!DxAC z>GhfZC;HE_VFmgnGTIZJKC=`k;iK2Ud6XYvwz%P5dq94Kwr&ajBIq27jU76~=YDB$Y21|sg ze|@sIe6F}pyUgKrm@Sl&_hg;(hHQ{%Xcx@YVK?-l*Za6eiKxNYu63nTfNh2-bI!0Z zM$l(@o4P-AjepUc)}opr2>0{NSVW10&wQMpO(8n+VVc3Xd<@cl#DWQh*#Sc#p&Qhv zJFz}d9+Zy%YG+0jn*cW{^zBSUJFVz*6t+#f_Hv&uROeiY${u=|kKNlPt$~lXiiO?_ zc=KyFe|K|Ev4e?UK8MPlLOfua%pLr(f~AeIxw<35tgZa$gopRN7S0qvk=fCS>B2B} zwyPZJjI;n&U=Ifdl(G4s-oJnR)u{x6N#oOvja&M`_sLvB5vuht`d#nesz<*-u%H?%=l*; z#by^&udM>{0Hl44jTwpm@=L+?*;697T|b6qxRgS8P`KCim2fDZ%dX`XWDk>&W!tr5 zNd^^(*}b}=u|JIJUeT^%YP(^)^AF0u)S)49VCt;X_Q+F+5R&y~_+_wpU`q9GB_3!y zIYTX}kto%-y9TWAu2;1yk^B@yqI31t`_2;ckF()zO)Bhiw`zA4vT*8#JvT5mE{gq> zGBu~9lOcmEcOo{9e$Dln^I^#YqaOP@AxDx}kL{)$+($?m36lmjJ$yn>U|i1{v02cS zWHb_ew)^e;+uza4G;!}aDoD!1p2_BN*Z+tlYN=fa@Yj#!?39+3Lkk7~igeVs)0xr8 z3b&4mM1HyZ(@QRkJ9FOcC`?$jW{-oZMQs(a-;)q>oTI7Vj}(`bX%p;n*Mm+cS&>o$ z4ojHaY{7Z_wKC3hujkbB9<^nLf6CF!@SPV$+j(xw?q+aBd7wM?vhWuO1j4^?Au~FXM=o*rk;@@!GE*;=&PjEEHrS_#6J2N}!+X?_Z0V&0WCUc|hHL7YB zf7G8<#82*#9&G${I8p66N?i@WpiU4JS8e-oi?^2BC4i?K`(A4*Ci{MVcK=Qd2k#YM zago)y)Y~l@h=%O8oyK+heLD6!6>TE{x73*dR%3Jf{;IV0E{?8VFOt<9i<>_LcIHUA zAKFxOUxig)(BQ?TtJP~SXJ3nk()?50kRjN}*9qrzQ$>xPl3!~z{felT-019CY8$_q zKbte&$RCXW9Q#y02lVkO%Cz+xpIdgSF&%v29{Gh?6U#u zF3W)HZ9;%0<3ES?8FWBZLVg6kzGF|d zVw%#rqDaRMmCQju**gmqTQ`Ku1u`UajnnGwc-1f3j?9Ih+f;8TOU2EbY-G#C4Ef{a zVk82EYEclm;wdtj(g&V0@ZI_NbLf!oWxme|(3y521r!Nk6X=ODPwkW;ypj*NvjNe} zJwGKV9rT@s*1U{(ymM~hN&%+CWgMa6?u61G=w*rJ0wsqTX(SViN2_F+vcUv!QmJ=O z3Jf@A@R_@*ztpKWaK^uD1uw2%ZJ&tfrAf!5BWD?HGnk&q%09AegNnf4)uQ?T1E5T?~V@g z5_mX#1XgH7V9I8Dj2#{?U0*{#r*_DauqB-MG11hvG@*^g#31_t9P;jq4X#Pup2wi0 z=q}jJ*HkY2*ir-uU0lyS7&bBH4!6XOJD$QYfZhWM1E9hEew`GHNM7#Xv#R@u-(<)( zf_uyT`+^2BAQT>hhO?NCi!FLQfA07*Dgq0_3&Tq;Y-Wz%f2OjyVkoaoZ-NZ(#pxKL3OFrkErZ! z{UFL=HruBHBQ~u$huTw})YZ0@aZXU6tJKiVZ|DYPYmqKDt^a!F8I|}@G>Z1>i z=uk|iB)ukAOm;0Ydghtm+G*mfSzIUiW}-i2-b3w2t9U0EZ4E^A{KABaBTp7 z7TGP1+2njDSKy0~#OgKIVF?PK0(ePRa&BwKq*v6niVFO+D?5_^oJ((>Z!Z6 zTqP68Bi*E3!002c7lP9pkR)gV#X|l29g+9KEn{S|)s}}UHTcki>6LMm%{6NWlMIzz zw=ziZ4bYOyU8X{z$IvCg=Q_9A)Rz_PDC~SYoA}dLl2*`jx=-dT`9|a0K6#*;WgJgr zV2tRYypVfPuZEfvY<=9~W-!ZlOlspvOIrewu49~ITgBh&yL0*x!ht#st{K!$+1pq)|4{S4Jh2*rI=40nWcR4A#$Bf0LI;b;JK@?QCV^A;j{Tz)g!RO~1Itf)Uk7 z_dARCZ1ij}^gknyEXX50VjZivdwipXGAgc00qtdEOhis_C{wJ%l4(=?%M+n6gZ6|d z0C~J!2bc6|Cx+MQK(3~=q2xdgrj&D8!rWfkgmg^)PcfKEieS-7ZGoSG)z-m5Ba;a2 zz_o*%{kZcv^@;>(!H^1v~1JwRlxCs-guz`M*U9Md=MWUQ(@y z#X#sqM8i202@7yTy>?0GCl5w#E$*VUt#baL+Sjj`ngBXqP|FFugtP3?LDYW<#0lYU zaD&-TR;B$WQuBEXdIoBAk-39nbJzKEVd+OA4U?b_63*|Bon_c== z%Sr0b0r_WJkXtDIhJyK-=?W&P^9Ii}Xs~|a>%B@Imb0M1>uHQJBsoj!f;}N$LoB2= zS+vLIStX$Rc41ja9{J(gLSmp|1a?XC{)kPyjjr_=Z2ex#W&?Z3ou!v!Dv!>VoICVz zmMV_ZyD!&d;=uw!)oFA!t|aljT1jA-L`}@A<=?R?x@0_ci7|bzB)I$Dt8>hAN9u3@ zc6cdB*d(0hDef}1Fd{Qs(%bmS#d%S$lQl*)SIR*b$o0oXHAn%c|3|FtX~MHeyxclDf0{RaL(19nkQ~J7 z&~DD5RloI`?6ToRe1aPwD_dkF(BnzO`H~)e5D>}OVfd3kC@7M&USJ-8WD{Iun}Cn{ zJvnWO=Zyo48v~F8j}KKyBFvSfV}z;PA*obwe1b9Fbk-T~H!cBfi+nwDkZr}e8ij1_ zdT%SMA>vxV+`I+!*yf#DY2USoz)S5!eTtl)EFlu1t)z2U(ZCz6P)*pU7e9Nq^UEP! z5I+wRtvK@Op32d~MDU8XNSXDFID8OuD6m~>c7{~z1hX=^;tO=w*$eVtbsVUeFWk5- zZC=Z$86^`|nZ;gcFqNxklrO?pe9Y%^?5JzIpLpVW&N!bvJslF<1~q=VB$WIDF)-cF z`>%D%1CQA-^p%qBbeKa+PdUeqN2VBa`ikcVq>y=CiA)EvyN zUJpmg%CshxKHBRghYk@=#VG47=NkXbn|}M~yM)A7JQLweW#N*;^yu2?=!_i34=Nl= zr_X}6ADV1;aMeBB+u|YB#bVYK)SPMvbk8wt!fcCf(sz}j({zS)&41yw9a5s91_99> zbFvR?9eCHIFhpJqA^f!o0$Ws%E!<^2CZ>V^cLn$Ly!4Fl}v_$wLH<|k@&jo2P=4he(nZo1NCPir55c#Pwr3{l5X*sur}UeTIM*u%S(< zjKv)-ZXM8)Y@(4Eo$mc3cGpdg9=_ZP2_tD>zIY1Q?&nM?o;NOP{cDEYD9!zNi_J(G z)~9-;V7rQ#(GTcj=5E&24Q3e&wIRH#h|$pB3$L+=jD>RBCy5 zUAV^6(vnA2z!wy?(WLpG@yo=8XTLuF(?p|LE&GXey-}?MSb`+ z;(B{|jQXUvMcj`O0)^b3?n5v)V1QMH9Ay~zQhB9S;Z%*+&+!+`y-~R+sl>^)PI>fii~EXtVyP;3#oyC3h%=N;2pIxUyZLI5RH+!|9V~~% z(Un(-ocmw94GhE zdSapzAlWSn9Zap`s&3HE$u`;7*S~s4+-P~!>d)EKiC>V$45*W zoRHZJMv>INJ5q4picoUFcF1jioRRMOC*p5OglB#pQ<(Wb%`+G6>S^_xEgtWTA7{Nr zvjIId^Zi~xKP}zwuFwv?CqppqvYoF)ffd9Pvq^)_U`Yz#Zs2OeLQbgp(F*x=qh0&& z1?8ZGwN6YsO?`&E&1&U>)2Q{`2?7zhcbI^}=Se$F8E!eyF8pnw)ADx%<(pLBIkLTC zaTVrqv*jJYHmexeL^?$Q3c%O=WB@;sM_1%?yJRDs_=lI2|QUx|0*zF=d6OAjU0U$8HxEN<@V*>jisSZHm=@pvoUU(hR z?XDt41P86V8?OMbzkeidt#P=o_@33<@}X-DhW4uw6Gz@vhW3 zjoKqYfIK!uuF&#|sRugt#-p-I}6ifyOf8f|q-=Ye5n_gokaT!;A805B_*=Dn_{k)YJ zS6NuJXO)3+Q`;Yhb8W~1gkT9$w&p@!wUYH09wV!xp}o9*c@t1&WVU^H`{eT-eGKEj zUdvGH(0%|T_>sYgXF9KoYao$lNWPKV9le*g$p{BNziq*I6O{GS5N5>S`dZ_ zv4T5|^K#`iK_-GP-{3!nR{b{LwUQKO$*%3mVM4whIL%GXT!J>_zeHMI&y~RJT4Y%z zgxy+NPdlz_C;80hkR3huZNP{W<8#W42^F)-sa);(zToGsj~(g?GWN8LnD7Imsp&rkftzCcXEo zQ0Zpp_>EJ0-3GRHU@W5N^+YptXoRdjP^EhP4gS_NxS&SzG(PQJ)pc%R+7}<8le$ep zj$pDg+K+<0U0iBI>cWXI1@zt;qoz?89ss-tj#P})cNrt5e8 z5zM`7R)w|c2A>DnwxVUUIqS_=Q+BeIdpH%dG`PJ@cpO=)_|0$g_DLEte2nD3@&`dh zG7N?v$i*)!5`g?!9AOOw-Cd3I6~rqRI+V7Q%b7p1n1Ha)SHv8*ql;Wq4)s1sQ0;Jq zCx{Dy0iH~;5GFS!2r7yD8-LDq(O^*WXwvS6wE($!!+8IMS6F0*TB))Wc#P7d>@xz+XtcGEYj-ZGfx9Es6T*(FSG%K*Kk z+t^q~m583bbek7aee>tqGz3RhO|5sAzCM`BeuQS$pN^|L9cDyzcJ*S!Tg6Q##nDLo zNew;@Ss<4k-ROf{ooBb80|zY~L5&Hk2A`GzUML;<6~be?{lZfA;t}uqXQ{>3UH6g4>tFTq zI@XDWVd6{PbN*~zG0DmIb z&S@OzWj3hV;!C7POu&1kRQ8fR8IM%M92Gbzf{1vWWS66OqsoYzGJe=}Q^zGV4$hkq zB{n_*c@A~dpL6+Lb8QoT=@Rq+8|8LE)AH_r#TN^x?YkVh_f?6TfX#ei8oH45+D&SG z+ojzpiZdA8sz1S!rS%E%jKvwhIm&I_XT$;+_xfXR1=|z2eD7x_>!jg7bjl z0iwYqUEa#^l6f3vhvBfvY7al0U*$o!zHQv%Pfb8!C~mSGqP8w(_d62wO1h})!#uR& zJ!H>?u$RK?qcx+s_y9x{NB~7tyhHz2m~KJ15*N~yg9*W0-c-^wl*^Mz!Cw1ExE*|@I^d8$2g@6b%+i>5 zwEclj59J|I-bXO`cg6GnJSMb?2J8T6r5-6j0;H8(F!-7;qMeCOw1^@LvvV5m8>ezN z!}cP1iEqpE)M#~`6S27#5ulXW6c#BJQZHe?4KhD@z4M92hSwV^{qsj6ijrJSFLr^_ za$NkruT1Dq^+EEtycBM%UN(nfQVrqqmzf;|*GgusT2ShepCV&Rt?|d3?Ru^VldvD( z$(x|53B?IE9u_m9=qZbH1FHlLul~=4Bta*aIpnj69!uPr%4G1)Y`QO&4Wj;G$E##v zPb&2nzXOtem^zc90En5vXCfg9JG-RrWZ~Jp!XbrSX;Sv&wih;w@0EX0VTaBKU&dQA z;NOBM$Eh{E1R4j4njVAyP{acwj)oW#JizdkUd@SPn?*vE4JLJ#g z7{)T66g;!4;2`AK(Q}@2Y^A#iV}g4RRGAvo(LQ^1>vk4^+ZE?88PoT+hz%Tf3Eb|p6-3YK75m)4Xbx{L4$Wm?vvTr^%>6@CdIt^&B$72| z=JC3haP$Jx42bU9?W$HUU|U7diR^^?$kZGkG8f;#$ua@HQQ>a0!PWaFmoSvh7uV43>= zV5-mWJ$|FSZ}$1}?TOO)HokRZs+n<)1Jcr!MT`P=s&K>4S%Q1Ks7D|Dx`=ZiG1~%t zD(xdEtU-`Fw$BSsWx3JJXd!bAM5EVE+I4!048==s?{E8F1%OXquA~X|dbcAT@X2J2 z&>btjP%Uv*0ErTB{<|=DyHX2?u}m1o$Toh^I4JLk-lElKX}#q2Z(&uFE}Xl3{gS!) zp%2wkU}0n6gdQNF;5W*2aaG5Ea67T~jX{6K+5OOQp5=3Auf;FJ+Ry2MO^j!6^O*j2 z!5us%G)}BJ-d&4;pp+OgDoE!!cj3`JSLw3iD@}mo-W|nZzRzEO=F060Znc_AMXP-E zuZ^Z&zGrr$PpBQsmpK{R8_SJU_VnqfFDyS@9AUKx@}7CVQt5SGfv>?yuaupt1*O?8 zi}V+8wCn1UYL&cup=^5>DrRC*qzCQuo==G+P8d4Pm{HogVHb&$XjrVRo#K$>w^VP~az_{M~lbUMLQwEkJX zIfp=F}Dw|`9d(U`<8s^0}6XHJ8FLe>j)vU1v)u6Gp|4L=P6A^ao2~dS8b&GI(cgD z-Fq)97(k)eIyS%6po8W0VJ*UTI(cd{UkDaA0NIcnY||R^{d_q^F``sUnDyns+=LBz zZ*1BO(uSpTKdrc{d%w1{%WUVDqdAE~-nwN$ix~h+lgwjzMZ%fFNv#*~z#r=X3WZR~ zpHnxO9Z|wohxY$*E3Fk>%RG@rc$LT5DsAPpUVx<9HwHN!XGUhX3HgWp<0<&Q=E0#~ zmUsYRi30G^_54MdypFNeNT-W!c0CB5@`=>4ZJSfYe^D{YtZ73|WX;{)(vT2kzT;Jxr* z!39GSXbax{lDJ`aU2E1=HoZ*{=I~~BU3*73TV8|H{~@yR3A}HSxzi$i)8agVrFBDU zE=du#4su=1Rj~CQv7>f(jJZOtqAkB~S9k}!pWUXTo2pA;&qiB+4;T*yg+x%!{3>G* z55RL6d5m;(pls%C>ti4j9+QYkh20<1cZfLY{+IwZ#1_H6eXlroe^`fIeJEKgU(9U& ziDG^WPO#*%II!+e|LjUaok~1IF8PxTWWI+f6450}G;1YlAKn)CmK=o^c)+gA3m_zO zvIa{IOI_H-mi-a{sKQ4yv?}N!`Fn18Zc>v%Vg>VE7w>&2tzg>%c?O6;gi>3WuVue} zy;?vqYF*%Qs&Utopr#x=IxJ<4nx+tnCs1bcSMm|Me{pQ*T;JTEQ%jS#?aU$_q ziGVlklU-Qx+TGb<-_0MDqmv-tTg50(<@D~WMQwV|8f4bzz&oz2e)rqy+I1C@ogA9l z`LJHUDTH(1OJPcQxxME1GJJ>dN7aeX@MTeN>}362m22BO;}>H_4ff8naUMk2!AajZ z?x5E?aaLh|fZ0n@Sq052PgyC9IZ*vT?&EgQVN}}$`+OGKrek37iFjbuHO?U52RUQQ z6DjPJxvi{1@GGgKaH&(!d*I=T>mbpf5W}DzC4Gel<;dV9y2m1?sT0>%7_l#37}S=} zc~8X1#ZIQ%V}dm0aI0eP2wn-lulC@R+90Lwtd$$k?05W0!6Iu!U=`kEh*;0EVf$E} z3bP+f`~1}F^VGlTyzcU`(tM;V<1sqw;eA;lopZ3TwBpOzNnZ1sc41R5P47-e^E}>Y zy*as$;88duDkVV2hj@!6~v8 zax;vHz4bogLcw5x**et~=y;rXq@?*~@&ogYlxwoHqk~c0^u_W7J@Eqg4 z@x>|;jj?bu2Yc1e=&pxI;+;3j;a9T^72g^^)f*c^Q@mw;)OlfV@cW6(Em1?O!HJhb za~`)zxnl3UgBO39Ra^-!c2!-p0T4*63}Uj=(P&9I;FA@&A{tMv6X~I{k9oMCqPD8I zy{Xu{A@+S#e`4w5+}YHpQopQQyvUmhK+nUFJ{dcQN&-aYtOubp;Lo|bq??-HF+kVX zecm(O1nTsjNDjWS!6nYK=l*lZKF1`t_gD;2#?6C9Y8^2)%ooTcN2uMtNSx#g??C3hRJOIs=-{=W%=Qg`E3v545Fr4yhH{PD|V;?BMhU9{^;I&6tjOR4Ir>cbp2k zm535^)rl=zzMfMp&DdHipI3&qPb!1n`4_HgT(!$Eb^4BvzW?WFOJ$jStm*Zft_rk{ zY^1cunm4aq+YA*bwh#aNGt4#AMrIlKS?-C{`tCm~*>Hd5{zV3*81b06(K!#1j({l< zsKHxcKgfH$tY?6%w(oJ|R-yRH+0ZJqNglH?8qi8f`EU24>d3+SyW-iQZ0RrU-& zDpB~7V$)~q5cCOn9W|4rXam9!F}%oE?0QNxgkEKxws};tKbgl$%|>@Vr%Gulh))Wj zRy8wg2LNvW={?c-@7~aEakXQqyM$An4@?Gn-VAM^e%Zwigaxi(IY8pkwZu6#bOaoU zLrx4zKp})|o`2pH<7ufuz`f9STKpoq4_^xSWeC8&qu|p^-5Omz2tr~o_&!5^&<4Xn)}t!eq#IZ{pB1bOIb2AD%z@&&H^ z6bg53JAsGzU0OkEsnhbrz4(0lTbLWaKo{KXIbN?3;4Q@9M@Mt5E**GVx4A2$e`)f( zuvLzBo5{f(KRBT&v+5)r+m)SZ53Na+fJ*o02q$CkT34T>8Ux8e-ZXb???5Ui3~dfC zQ17)!J1$?k4ZF2c(}EF1M0Y=K2Qp)~yUmBW9hII)34t86Z^V*WTIie3gyCf12L^zE z0-OYn5Rx+bXMX=Bc#aGa;%gC9HBmZr&8B(Ul(5wImgBYCqv{?DP%LpYaY^WDz&z!Tkuc6 z0v*K`hK@y5s?;yD4)X<708XHJLhr}hm!8jmn#*@mj;sosr^MCNO^*%O-C4}&q5QP% zEn*D5du-hw&~xMA8K)`;TT5s9ZLu=#F-u*$-Lbs<07wix(86`WnMpmTlgnz89tIDR zf)xaM6iVRpvBdMwMyw0Q4E4Z*?nu}?o4;2g_DerU(Py@>KFNcxZvIPi@=aI6Z~zXz z)kOcA_RyTz;yC^uv}K)~8vt;S=iz^<4{_(B6Iaf(8FNAIh37?c!%k|N9eTwHKF6lT zUyN4uw!sQNY$@#VM8p2xmPS=Eyg!k1F6~!@4c(Uyrlo44qPIs_TO!pkl0JBRXR z(4rw1mvh$ObjbEEi^KN440Q~`ewig#K3&PNm#q%T%l^sQ%O5%yzewK@tGDA>R7PaO z!RAnt4Ibo$kr+5c{E&U5i$hOMhn~=qm(gM1pa&z8p1eMU9Vrs98r@2EIze?=Y}9x} zF=wu$m>A|gq2Bc+8A*?1`=-_BAPv9f_YMkpO(E{F&!JqmI6eSb7laA)Ky&@O^ye)< zP}9FyyhtIQSVEaI<&&tg7-Hg^-%nrK!2-1rB_Q*E1m`WYmA=`g))g7c;HuSQ%~4a; zE(rZ$#~8!*q%xTvp*=!XH5H_c^AeI;Au8P+d$U6w5XT}*_g35ktPKmzKDXV>dQ4LB z4k)8*oj}rO6CNCE_l(_dF2$R$1ra(L+O;SB@<(tZ!zrhb3qymqgHv`B3uA3Pf#N#O zaZXs%W3*&^j1z5Q%U zZOJ7{XraxN19IPIBNT+yvx)tlX4E(fME6@4*6eD-tB!NkZf0=XxquUP`i&dXIF2Ho zjM1ET>!jXmI0KX0@D!Y$J7#(U>I0 zz3pG`I)RZf-+qlpKK^_qPBP6b+h}a~FQidm^N_-6cV7{q`l;YW2&`&2uxq;zT}7wT4lAps^a`f6;w)biXD}8&&6Xk9&d*srIURA za?#O-SmZ{Y+MmPh;ya%TZmuRDHmMqTR1(h=w)jOWU7XY$c!c-RkvnLv#>$*zIESMr z)gNtNsB$moJUQPSjg}mAaj<&65ye8LGTi znM4;B0&ZIC=M5DK60e`X|0yoXLuVYk22YZAnCI%SvFcr?7TzZc-KXM<9JjcB(5`$w`GJCJCK8}{HaenGf&qw_-aps1z2COim;~l$Zed$~J{d;@! zW4Zzz)qsB$!`V<-C)Q(YNPRYS<~jW1KJ<$TXKrR$nHX#LA3JytGnr~KA_*%_ek(6D zW3QXzqTJS1eW1eVn#@K-1cHaSskp1Q?VbKA;GDVh>4)BX2Fpq->6Tc!Ea@y|qqM-b ze!Fnh*dv9MkYPN#($i;qMUp2!$35fC5SBNGRhhqbZQP`GW%qbsCH0%_iky2t|L-Cl z1Yac6_b~VIMFiE_97{07Xqj;1zujBgyNi9_e7xo*#`x2@<76M+dX$L882;V%%=$95 zl11omJ$Y5vN>q!d%B&AgkLjDQ%;7ApaX8qjH{UqN6;UgRgSJ%B0b!}d2+DB=lCrp1 zVS9cx13$5jNi?>Jh|6r6CqFC<^4;BFyQaJl8DXA?c=c5kXJkQCfTjYt7?3$&do2c z2B159x+A}enMM))leC@3d1=GKDI(OEd7((NdO<{c$2Jt$5vO9`?Bf|TVb*l4)MB>M z7~{bEow{Z{dllk0fn-XM*$JX+OYQ z@T%GR19|Czxip)PEyPZ{5{*#m4UZLjxxZtcUnUa+ZSB>B^?N8YtYA)sxsS)|S+Uv$ zmh6`wtnH$9Ek#_02cNI)&iGQ!36p3f1RxBrhDYMql{{NEcqGU(E$oQ1C(hCz&!Tg1 zoSwWwZZ)iV1msGHr`{mt%WbdYJ<@DsY9sGfJx^^;L7*ui1HNaTWNWwQOaN9~VXkJ_c*p6c|+ z0{Ow=!-ubt6pA5H7uYaN{Vm94uSoaXh(qEkmgrW+vSVPKUCO(}rg$pxTX0r@kZxDI zLnEcr^P|je;?s9BT~Dp@y~S}y+W_1V%`RsDQ-M*?NjUpat_FbO{7OnDWzI{@llEdR zZRk~7ut_DZMMgU*oAU|iUXLW_;C)ooRbq6Sj0_IrN9#urLo2#mR{4GFq5hrC=_1-& zMzbaY`0Z5!@)NPT88kL?#ar1XHF3s%Igz~o7^(OXW)x$otQ%8;XrDL5S4 zALGPoHE8FZl9-Wh%=2EV`s&^f*`22t_2jNY5bTmP5e}?12BVnr9r{&v<1fFZcnlmc zoL7e^Qk)=JQWAA&_u-Efij1)w!1hfmI-H1@T2A6`x zA+PtO`-X{NXtAw_{*om_z9w5F^XtknPGkDuvMM&%0|Jga6#z2LCRQlfO~jh4Jg(12 zsn8M42Nj=Ior(s%IBY*}=gPwwj)R?~%uiM}#r;Ssw~`dhuh!-L$61+MV&vcsulCCU zJ^I+GQ}_vCDf4(A|5!9|P|UW-tQq7suA_26-^v%l=g#Ldd#Z3b6YtOGLl_C;u_>M7 z!R0@x^TX!f0MS_lK zqpG{#aiie>Pfd+`5L^;`fI=jqdQVdGR8Rq|KA-&UWkIiKP((4GkC1zJZ3eByRTkS^ z85eAnz+31eBD`L(e}J*(r(fxxN;cZ7CQ0UpO_y}a@&>lVU2dx1-yCY9a}nq z49R&z!#SJ683k&D`WP9U9P-o^`d-*vY4xgk-Z=IScfzPzJtB9KR8g!o0_OV!KGV(m za4$-F%rHS-VD0WgUtkMqwcgtV4*pehU!fI@Q5d7Io^M7se09^>A9H9(#i+-@@P(@HGxMDD*Uc3v+$8+Y^d+I0jp6{Kc1pyhsCuhmK8Pil1 z!A|4XWT?N3MFk?pp!bujELa(V?!4q56R^KsJHA^`K%aQ599sNlB~bu;2hWLmR19%l zlBA+JYphkfVMK~G^KyoD(A1!y=~EtY1Z~G@Wl&rX0Im0ux?0sMP}j z*+@}$4P6^xiv~-RTQ7BFo8Vd2kdQI+DGQpo7E^W*q#ByDcE{rEqH!n_b)reqVCF@& zP!u;S{H~?lMGe)coyCV&((BfDppSYG-8qa=nrl$!`w3D)?(J=! zHv`iPbPMns6s+i_$?NGn9T$~c%~kMl0NX97a}d?7QE+!Q+k^k>iEE&w2!?9GmS9X9 za{Jp%?B-6hkwKG24+R)&?X!*=jUy*9+=eIqdC%9`KT=mNYRqk$o~5&9lo-C{SV1x{ z<%Csx{!mOFnRfa%-Gxld2S`rzo0tll$i7sX(x3mL!qPdg8hhbMD;%{QSzoQZB~rlA zL6AoykBvhFETbye%n!^J6DFIk<86TTlB!1EPzqj5?p%!~*lw`h?lDUXS^uEbGdu=M zLG^)vlMSnWuVCFsqy{pZKnRE$aXaT>?%@bF)Y#93#Y}hkO8~wi$DG*JtmYyey<>r{ zu)H&8#jQ*`lif#f-6qKw{7t}Q?$h#qpGd310%06g&5YY!HTO40Js*1H6I)&zI|i@$ zOT~&N@_7hF>J5$3Z##l0z|RsMqe#Y56hAR{M&)O`zfimcdCvt-DU^NqqA-{KV?4!6 z9W2XvnC<2AjYhic_561N8p_q7iPGUV(Hg8>XBn(wZZfwddPvq9i{A+yb zO0aLQ@N=fo9+ znA&)!br(x}Kl*xJEX<>;al(xL1^>g8bKIqqA?*fnu?D^GH8{8agcB&O?e@eAM<5l$ z&+v7}Qc(vVn9WrkNkpSOm>IjA?Od;^r{PR-E7aOlWrFSOj7_>Pp^}F3CYZ{E8!Hm9 zehYoO2Aw9*lhX38<;XQvU_2j#jSaO*e3$e$*(u+cKbUt)%b|c$_pW~4STw;>4y*tO zYj65|ktgKwpGn`WU-~b463ByCS}3-anZTx15ZvckymmjL&|N$m0g>+KsXxfZE+u_v zCtqoQ<%PR@5@9n==;TrJvWrQ@CDqk9n%c|H2OnCPQG6j@m#_J21BSweb`KO#&g6XF zeD8wt)|lK30IT_Qv;j7ZKxkk>HdvtyK>kU9aE@R)t@Xng^nvfk;xWlUwsec|(}UWF zdA~#?$oZd+i+|=gL{Tj?KRE3Zy9JtfZr@7wvWy&Wevww?|3h7i~HxzX!GFdJ2zv7$UuSAsV!PO9Y20F zVNU3BGH32>lf>Iy_I?6Cnxi4c4S#Xf;esnS@!k6$Q|JB8=KKEP*tPelO^qs|+S;3{ z)zWGSBB&ItAS4xgS8K0QTC=*;P6=Ygj7{}z)rw8+y~p?Y{Pz6=9CGA1azD>~U9Z=9 zj+ByH5&nwq^T~8qJov*^?h$o8rCyW@xv}S5M=9+eROD=EZ~r%-%i|B&7k2!;7iYy@ z7tewJKyYLxD_P>~E($qtc3|e7*&P*hBPxi}#=YYTrY}@q*cEx{tqv9n&jwK+ZVy%a zhM7DM$+H`vsT5rCPpbQUP?9P8HjHc{>cl|=vPYZ=E%Mp0YCe=;Yr4^BJ~~cRHZ*?D zMPG-%}J>*e@QYhcc=zn#h%W!!!WT#=8vkUsqa+@51P;;)@uo`UoaKW=p z=SG^W@=T~_EZox2uS+L{E{}ym^SKm`N~-8!ZguA%iX)zS7xe_2lDb;g(E{?L*}ZT_ zsbHO0tzVz2YC4_>F* z9cLMwJm6S!RAk`kN9PaO!f=u?QEqePqjd~nxzR(V2 z?60HVqgM~Km6~HP8#Gh*iym))5O7Cd6&;51!s>xo#hrES^O!i+^s+PIayu$8O{A{S3#_5KOnW=(>#<`P`Wd+ zS(v+%vOIi+8STt{;#kIU9>D+ihcnf+Nvu5_agktu)lTWDGmsZSG{De0xIft#=oY`I zc%6M%&vjtEF{F4lKKvztqH>~R3^K*!JfDC&&u?r)l+sPvK;{wq^9>T-%RAOVYbKyI zZfc9CRJRLstNswb^we_g$!`W%%42z`w&N5>auatD0C5PR!0x~emH>F555VZV>f)>Yo@~hH!bW#zS4{($G3^0D}>N5^1E!) z8{#@t@}R5?t__3H)3g~KJt|G$cfoR@LBaBl%(o5x?L~VtrR-%`uPF$~ll<12=RxSq z%Z=xiLH+-=m(8Q|a9Zq5)W^!e5Z0njx2X8N5 zwc^ry@d)wIvJi4w{`-w1vXq`lSm+30c&QFiG7w*FD;cV@F9(GVedSx~rnJ8|b zr$1Aw{|pO%SDnXQ`R+}*Nclv+DZ7!Jsl9E!t9r?3za5-HnwLGd(_SH89AXyp!9`Y> z*tswAqqs?ni``S9x<`7u5)* zkozKmQkaRIh*q#aK3qv`Ga$}7L3>yCH+@36K%O-JZI?#B{XLSwda@E zBmu|tTG~)#FJn21`=+4dXfvh{Yd)&XAi6{%xqI5_@N zkS?`u+p8rHDsrW!!`@b{XGT-!8;m`ONVy54P8jWE^3L}=L_fV%_L57<_%{*p zVD5tz!_CIL0G@nVYp9MJbW(hak(CWl*!=mr*%vyeL}-oGY4I4J`AQSPFJMrq3;6?~ z`2K`wJVM^)nk(OFGqkF7YMdE<_?dA|%v%;hvG^1tb&%H`ysua~$lJ6`<6-n{C-MSEX@ z{xgCj`s~@sN+M}8D2@lEKZd!(9XR`|ipEQxwWh+Vt*GhIPidVZ-~9^H6VAeNfiuKw zxeX{P&lFVrL{h}=try!1`@;H?_qXBad6m&$FaBceI4cwsdz5aIDaIb%dsRmfHGw5? zW!~<#dLk)Y^m}79nC`FI(CcODPk_xk$J@z6(ygc3Z_N+k83~T&k$i0uFX0C)8HXei zPrfGOupSZJPZR%pC*3KIdNB@!<;eEQD)bQ-mVHmr&-c{4~$Gz2p z@X=fsG%+yet~xXKj)(-=`pIFS1YyNm)@X8kRq6aA0hfrqPs~=$;X&t*JhSZ30#3OC za$hcJ2QgUxxc}QWTNkw4td!_%xMT|9`XbANm|rdatHXDM9FWuY=sY_!KvesrG%gAE zPJd+5J<6WL5~MxU<;u%^+I-D=0Y=Y5T7ID8{jcZ~EA7m9>DPN;!)s+CUTQ?*CD^s$ zei>?Yi!XQafmi^pC1WGyY5fv}mdy4{U2g8n%|jkBuP-GW7}VOULwUIu8!q+|FpX1T zOLh|;Nx*4;Eb#ovQgf$_^Rs_-GhWQqsY_LVq}9nqLcHR9p+<353-XCP-nbIkZ-0YV z%$1}0ucK#lSX(&SyHDzG>U-wZ@~$mI2krAuEQ>{#Rvi&fdFHbMn$R~I?gbCE-FBn` zAJPJiRzy%<@HaXq&y9Y){F9fxup@J;<9bE7{wcZ9oVZAYSMeKuqU+43BP5%_=92bM zQEs@eJ{_don8z{0st&5dFTePg5Ud7aTXvnhl~{I&$_PLHbe0@>_hS;&gvRq8TidQ; z_C1Nskf!VWa0Pkz?AxK>4IgCVnasCRoqs)tXBt++hz=4#AkW=9m4KX(rv&zxmTSf{ zjsecwXFi%@Wdz_8X5sKLO4XiB#TU-MEw_Se{9^f+eEihPQYH8>$}ERqTqBNdLT(sOOSlI(U-dC^fu1eTi`Z@G0j`5&v zHI&jlzCvpuY+>D1?Qw3KV!tg85%FJYqhhDH_{isaGCwE{k)w*0oA>sQYv2oycAzT< zJb>gULVpWfM-N{08tKsc)iLAj+{vE$a&Jv1Y<%R88|*HaapF?ojL z4cG_aAwpu9_Im?e=ML+M4|gA3s|@ZFx^|83@tHy+jn?I&P^QooZ#n6uLL|ZFVXBq* zfS$d=dsS_0MZ_&%Vz6ZOgMSKebsu}X1(zYKsQc#g#GBi$R|f6EB0YGx{itPq__=TP zrVA79FIOSl)VykV!-TztbHR1u?9uVza@C&2+QD6$ppxw2`K^=0yoH^kcmn$3Y*dTB zObB26w|$O(zh@wTY;}MJ_V7yMQt8LE2~Vqh0lw7P!Scv_?Bc`2IhLALxwg&NU6XRI z5dGJpN{$uhVu-}LkXvnNQV!s{0JpK-MR6Gz5 zOcR+e;%H)R{kCqvC&w)|oiz*a3BFtW-?qT!m!^*S-PTyyqgw@cd|p5vaW;fXhqLA` z@RDR4Ep|Qn9u@fQ)?b?$2Cq&B(QV0EIgTg&acPDzV<_yi#ec>#q@cv%3})mHtX0%lUZADH@umk z#?++$u~;aJ2fCyY#Umf)yGH6BZhr|4>K(pgsy=dR2IC?H@E^y_nO@$ak&io>Q_FbD zL{{%$W#J}2xUk)-!*v#jiE-G6o7&0;HL}#)v;;3r-pEmqXHMj7EvS8@V{U+1Wn6wSo_s)qn7*rKZY!D$+_*wV z6h*1cyfZ$-ks3}e@21y_1Y--+QKQc{-MfHfgkGlB<6YftM_k!30fF~nz7FQN0li@o}q^ZjWD#wf3|I4%WX%evU&4S$SK!v16wFSflE3t0tUeY z4`-o^WjZGT`(KAa2$Rk43mTm6{PO|z3L)z+y6sW>l_BY)O;}nIOYK;B}*xOGbvQXFn%B-rIW@T5?>~BpPsMD4uxSpSFYuLF4K?So! zuHsJ|caeMCeOhR1|1F?*oTHYb35?NT_M`6#_~=WTTP_xu<0?Y06~c_Ctx5vsidm(- zakscrlpu$gKciG-)n($18fez0(|+(gX5Dhb4jmn^^A>(}`!B&ZX%ZJQ1B^>+Xjx*f zyZFWN?_?TGYqL$-Ryu`|UKRp;!j+h)K<&?bUb=pKzebW4hF4(=cvtR@Cg2fu6UjJ4 zd1@+GI_gg9wV6!1;HRA_8em-$0ji_Yv*Yw_}UQ zNc=XyMQkR+yF|o3xfH$1GlG@ur-9z?w~utQHE~poxmr)iG7ph)w3je8Zju4MghZ;r zj;8*9i@<3M9~l89-DJKU8i&zk>> zMU$(N{Tr7a`PPxb8Yw4yxcmE*rP}_lNz#Jssa4n6qd&CJk@WF`t$8rYNFyEVI~$XM z99=J_oxx8|Jq4M}nHHq@@O|mc9_)fO-Yi?zK1v}(WXbTHde4QuXJ+NjSm#09*J3r7 zG#GjLUSb6zHL)91vTK@F6MySjy5B{XzsK6s7U~04TGxCJZj0&fZ2~CV^!%r16~RMd zBECMej@;6icNTThy%H>4W`wG)$9nHm;94KMq1Q$&x0Wvfq z&pDF^8XRP`4w)aShZOxTaTvaxvG|6_Fr9#XL*%6SmIdvQpD36w#U1Mug!^#wAV&_H zPY6)ZXk&HQw8`oJ4rrzEcc(cDJw~0E(${8q%S3&I#856+1z~%{nf{o!2WM@?B~MY@ zFH7>8rND%ioiU}4Cb!c?i|yBnCJ)di?p^ZCF)Q9=ZusSvd3rLLF(K{Zrag&2)%mht z*3?HYTr#vWLu<5i_uTpw$X&rMK%P}d71 zH?-9uV|aUB{K(3lptqiKe0XD-eL*l)_9tts;#q-$Sis4KV;%KF|3*~HSZEQ{$M zU!H}|*e%$$bP0C^WEDsKMsv_@Jp(S1lX<+???t>T0c4j*y zrTny%$sIGD)v7oNKZ==6p$)9$JPK|?tsnZ`6}Aiv1|DBp0!&*~rOzfO^tz|UORoA` z$@4RDCNu0-vuosIKoIy3hRkwzm#=PGtL6BwZCC8%6FLWeKrnMRsSXVEeFtJ1^1K3hd%#G?-3026h$tstT553@EsFuo>GzRZl-91f@X(VgTB+ZJm z5SsPZ?A^@A#LHkk%KHBTrp6h$8agj%(1j#Ti*_X#o2D7$vXYcmL) z(iPl0-FH)C8q>g2sf!O#(|kq(2yiUF%vG)m%r8?(`*CKP_cas{(H z>M$u-uFmCGG~BRGVqBlixet@{*}AT1xZ()7YvOMCz{X8a1>|Q$r_;wQY%dh^)@V>{ zI4KkyGfe3xCuKuTb4G$+%@FzS{FRa_ydnR;*|Knv3!H3uXJ8q;_$)(Yfxl z%bOl`JQ7=vkG^!EL~rkUqdd92$?r(&#ajn*t-UF_FEj5I*EJ%xW&&$>WUCU41;96E zbA=;opJt}?*&9+CfYe#cw5XqyDQBW0LM2&fhk|ZK0iXHDVI|S~sWAIU#)84e+D>ks z2@9{^A3c!5AHGh-*7|@-dg|ii{1qe$8gBLbBCepv ze~~k`Hnq9+%Jg6|{rS#T>v)mERl50B0AdG*ZzvDA^KmhBw^?_+^ma)H`eAW9G5Fh( zWm3)52WZjty{FyiS|azr<+1Y)&**V}f(S~cMfOKSwp#jqt$FWDEDv|?q|0HR0P6ZVOJL{%#c2cEKV3kIHwH)94Bz|Oin4yFwBH&%7uNfn<3s(p&( zJ9}>>`8INi9(XoU-F8(KiNk#SLdjAS9#ll;ez0Ak%o}IGr_L~P%KD$;pOyIx=_u9^ zhl`}z>a75Qy^$a10+wuWFd%_E;ahmpg5FeNX`W~Cb4LFpljPp;rw13Ieg2y$|W@f$B-?f@^je6jE63b5d zqe7T9`5RCSZJ-a69_-mVu(|r(VGwV?Cra9`tUKK*5e;U1<4NQ;&-RWCztE!N1e{1}^GYUC-3u3Zf z)25slTnz+XzmNRSc)alRT_%I{(R@MN^)Krt`}n_>;MRNs5_9k`ZFkce$4Wo`sqV5X zUhpR4mkyK)l{09l-V3M`2@HzdO6%*Y5WFE3T9)!YR64L>0J%G^@+84P1;kI1_<>mUkbOE8|`fm z(xl}HZ$z&?fOO_kN-AphHc-l?lwbH=rP{)8`A^hCiO1vbdJyf5i6sS!&!uh<*22i1 z7ti-q#E+gAt>ss6{1??udtkM`_{Q_d{xHM^V-5&2)Ha>)2tu&0lGo{&E`G z#7S@){N(q$vB()5&Dlnj8js;vas-`2L_BNh_5m5~Z#w%nqRx{@=>Yec|Bmk^$T$7c zdBoHy_<5@%Zi9k4KyjPGeOr>O7|;S%mVou;%B@o5`I4OLD|5qCU$%oFc|yA*s07Av zDYQ5LiskA9(%cF&ls}G_#x!((b}h|_ooX-*~ZFyxE}(t_#^Ra$q4K%pXhd+@sZRk zycy&Egz>bm)OoFrH9~%=@dGGp46rI*S!7OR2Q!(>B}LBn{hAY2sXKMNt4 zOH#TLOz#zAvzmYeVmYpn$mj0(&F;sDMVF1F>3O~7=&HV&+(~fD2i|KV<6N-#Y(3F* zb_iQV)CK7F>_P|F<+WA>PU~BS1%W8yMbMdEwSWwM6%2mh(G{mTP+_&8qv4WeI1~dT z_2cKfu36%SAu|5@t`N<+HpoeVA-a(7t$U#O3zxz}++JN5Q8g@hCLWf7ttemKKtH z;Ad)0=V^hpt=yc^c}N20$R)1Ea(C&98nI0XJNAo{z4BS~o(uWGOS3`fDG*3%n|g3r zr%k#n>2+mWI6%5;FYnrjf7qybFbc+9Sqz=c$!LAasZd6C$}_L$FcA5-t|~CMH7SUJ zL2pB!EIIe*IEAudQtMk)U>>~&4|S`GCfKtBSWrbPUbdhIfP3}&-G_U`LQrX4dYiJ8 z4q)_)uQe7Zir-0g#~X9jOrUrsMlNMOz-O4++GR*qb#K4Qo{_8{1qvPWwTb?yA5Vxc zs|#)=-2nFFCu+p%MfJBn9PO$J41eYBtj^MUlvKe%DK^F1~ZADfZeq)v5~+rc#mLi1zR%dI#Y zlB$Z~?kpF@XOqh>1g$6Z%VJ?Ue4{L>?E~2nv<_QlRGwKhf|`3g{cv~ACVBf0<{4-g zr%M^fl$zc&O}HP^E^7!|0riO_#*V0Y!}dv>;u3|v2C1q3g=8q}7k-bu=o>1d*U_J( zVxkA)&8fe*j~ZipvObsmARAwuI60Ye%x*;lb-RBdv*aZO|E82bYg_h`LcJMIoQRE@AG?PD(&o-XaDH)B4BqAFXA%HC_V+?l)96)@(?bjH;; z65N`QRIQ8(a2c9|Hgw+QCRaXPND?9I9qVxOfvW25@@@qlV|(m_-*Fqb{R{Nn%Nefs z=^TF>G5`rzvOF1AS-4@3&HUeer>WYV>9>R=`BkHw6!~%Mmk!3Br{i-gsA@U~Ls%EA zbeFS3r+DNWNE4?Lrx`Y>(QtBYLXi&`rn5==3|I;20?vq2mb$sG$OeY4p0v7=B_)9N zDDDHm*{%f34$PDia#|GofW!lp$AA33oB17HjbXA`-qT(^+2xwbcFLGTwjGN)HUhVj zq%5^R8AD**(!7}EDKPhsbv6dDo{|GL53R25LAGkg+N*jmr|h!nORdlS=g5z1(Sx7I z+PkMY2uk5e^<&*CU*#GHq@#fVVgp`9b{64avTO&cThRy@-U%rO`|TtiXI;uuRK}x^ zI|Q?qk*xE`17{KNhf$fy%QsHKr()AI5`SCUF?` zxLut$q+rp@$E)|jh;y=Zd37-^`e9j|L;UY%3WpV zzr4Pg88ZrX209AkNlb#tl*ogBhzRr0upcwRJO*Kn+dN_(a-s4!iG!!z2APgZl;xI7 zwKeTZ{(1~|FTG2XvS}R#X4Ps*%GdQ81f*U`vlKUme@Gc|O<}5#DC^7XV+389jn*V(= zkKuP(|3Mn_CS2}`n!X*|L+<=pJ*csRAZGL%s|<))r$8iIl5_P%xWrA@Vj_@>cwZqn zy3l!tM$D5F*s=cGyHVIWurhF0w-V#_^K;fk^K~cp5ySrczRLj(>%G0DiLDUpB?coa zLzsN5)U?F%`X|<+7lL!uDa#5s{TM41XsyvPUeZpudH%#|TEj)@sfB`O--jOI?Ubw9 zB^DRDpetKR#NU2$59i(y3b(dfmkrhV`ICJUvEV0t@k&*rS4nxr#k#Hp6I)&=Nfb z(*4>_5#-8cz#LiqM>}8eMrvBKjAAR|bgi!-#DEAqh$NkyN}|!uAyu2FAZ*lHeF6&n zvHjiHoPQxZ>u9dV&t>7n8>^79G#c>xApMZ%rR!5cLVv?USoy?-m#Ea+yq zojB^wekIlNa`%pjhtkiFId$K*>$X~0JEmJ0bBh|ab%L5c^P{g?99=~ajG;55I@x!Z z44g+nDOKxVh{vA{)P5LF+0+Sijo7GoEzE!=8ny#rAdjoEe!Gd^e9=mmx48ocn9Ef5%ZrB742Qf}HJk zx^6krO}%w|k%71lcz+W$i)yx~#6u%HM8RZP=qIcd^Q~stKS9JN z9s9pMqAVYHuM&lC^Y&%hLGy%g6;O}*JF4`a{5{am>G9KehyN3@y+ohTfXX_Wq z9~rk0M4Pgj*9`7v90i)r28_Di48v|y9XN&2?`5<;TmO8Q&Y|y{F6f5O*-iyWI!QKx zN;P9Z-*gX04LQ-I(*;33DPyccgz|wOf5yPc(#%rCo%FsFw_bZVp!}w|;Ar|lcrG70 zZtGWk;?@7{Y|@_!y`X$mTN_gnX4ROy*Bv$}^N_reR3K@S8dk-&c;e+RlOzvgfyxFtnOQSlsH^9m|Ey4{A1 zBtL#g=YY(8o~b*gobm?5RFlsQq%~QZ!l6pcNBS`u5FMFdt~tc&0MIt*1fhezOPb7W=OseTC2I0+ z5gs!=iLu#(C(J`w%;P5T73HTZiM~@Rh(ag;BYj$j9$4c~&PE@9AY_<5FYR;0 z(gc&SJdQDAsPjX6Z*6=8afyU(G`ApGJoS;RO+IA1mkxg-ZdNye=8f$}gcIJu+kW@c zESZB4J&b^9TByzcrkv$*__z?&c7zUyUVX?!3v#5XS_2{qw?htyO+Ri>t5CIVY4~|i z6hr`H`BK+jqgOp-Q1&KG-#x2tdxoX%yyRsaAj$SzdxfG;ar+)Bbd}sEglzpFR65A- z^}o7Xp>X3k&Bp4(9`sye7*s2RTPYsAk4E-fH+-Lp0IdcEk z=)gZXOBv%9cbD`a^r!qahXCu6IO*WJ^P7{lss*bel|+b?4t{&XHZ9rmBK59@%)9Zv4M;Z z6|4mcSZBbaCV~dr_$B`1+PUS=EF3CtRA6NIi1!eikwK|N9hYwN$d#^VK;i+G7f@aK zHL&GA{64ZK>xv?;GMc#Mf#^HZ8a{p;Yx}&u-!}))6PF0(4bbih@4iI;v0i34QT-dt zva4D#W`C*j?DNEO;rhY(So$$#4l-_Mon}?CAhX?`y7QYg|C>;At@h!JL>_dQ>s_vc z6o0ldYb{~~FC^dv6e!^gh_HlU9XcxPuvP-NrU4X1HVhNwcszyuqDpDKedPk#9Hf(N{LI&mp&l`HVCX#0(>Pd~$=>I9Mv=rxzk|iQh)+FW}gYUFsmpgFJxFIr`pW2BKnR$;n|)r9hEgGi9()_`n+;qML?0TSB;Tr_`!YH=$vEh-F_2 zg#x(?_aUrFLbjXCpN{INx#xjYs7b{(cD^1gkr)u;y`fA9_j=_Hgwab6ZHkSdi_*9y z=o7e?z-Q&q8Ye!lR;u!0k+-%B=t;BNmU53T$p=pAbmJj-X#1v3;7IxkBNkfVwRGG+ zG+q||u_hZ>qkq^jYIq#X$AYU+PU_5Ve<0@Of{g&psvbt3vi(Z^B_6^;+^dGY$7(BB zZ2P-uk@cRWf)g8;tW%NhrR0DzjI5U@fh!iE!DJ};@8eBibTge0vSR!XQ_uv~e2p7$ z>^gn{CDdC|OJ+#I?e-AC9^H`so)d);%JR~AdL@?FlScIcZ8e8d_NLsYr_&WR^P_!Q z6s14?3@b%m>-U?H=gz;G@&32Amsdn?bw7ce$8oe2;2R`$J6&f-((wa#K{&u zo!Jx#ZKlw|oD?LVx6kGO1XX=mDjqB&A0x=s>x1|#E>Xc6{Q$IwBDQpM=B(xIffP_# zl}~3bWO(ZU2B;5hUvdFW0(8QJg1f1)+sB^lVTk;-883zHhakBAZ3q=NnT!+=33?0q zUJ>?#b%k$N-h?bJYx#)**+b+Dg{EC#tr6gI75qP7S(`b?WJwhn#!_=VeI~vJ75A-I zfhovM-q0SQcWjeMIvhR7c}a>|&zcIRkesg{L)|1A32U z1>TNiLycl>9^Wq;2gG(h&4Wzbbvdm&=Sy%z#FKL{aAuR1s76Y6)A7W?3XD3!Te$zH zbWojpHf@#HhkZsoRM~HnZD%8^VS}{6*l+*5AJJoM*Xh7w4k2xOlQEo3P?po%^2?eP z=ZYTr7q58tYwt5@Usi1$C}N?5TzxEf!Kb7s@e^Ebc)Bpt^|;}N9cI695{T}Qnb49+ zh2$9#)S2!V8R>XLMBdlfpk9;?5LlaEdf>r6x$PSf_emm@HR3qF-fMWgVTEy>`02hD zKv;gW!>1_*EKTHs*WT?YkgfZ<{p&^JcLC7R5$Mh~pV|0fc#t~fLHRG5tRtG;FctPD zvafQ2Uw3YMlNG<)qT^_4jcAOTKGilmLAW#WvUN>;PDGyW^4#{INWK*+&0D`9+_Bxv zLRoI&&^@l(ZSR0PsB5UDhBr|=18?wF6jAi;ZY)1^@&@NHcF`ttRn5``CyLszIY(}& zl9FQ+{j9Xirn%A^xzh)S(Fg9Kn<)T34z`3L&)BeAl|bwO(7_ESk+V*VU#7i|z9Kv6 zoQE6gS1PQnbkm`Ce01qx0V<-1pfB#EVk`CrK(?ZGc%<{^K)>J*=55<%W8h8)?l_QK z=UH>WR*4z30;)C;xGK2y*&EU+*x+CeUNz-Z><*H zz!8$!Mu`%a^Q!tV&^Rat&0;rPF{)ouQLrpv^NbH#J6u9uz1+PG5Xi(K`a(`Z*#&?kIPRv{F%QhL{UcLg7EFq>urDm94uYqsJLVC-UG`Ji;5!xYkYjaYj<^v}xBJ z8Tka!O(xK=HC@*WC?G538?YC-68K=Xp~g6If*;`NFGh5mly7FaFHKE|Hb9j80I%7 zw5RZtJ(8MNNt&LC03M1A zMU!v!r#cu~L%~*46-l`bh$-YEwH*BM3I69-+F@q~64ARUs=E`%ROG*;g z(oy8UN9qrR!}ZwSNB!3^!>{}iQH}m#xjDkyC`siBCf`3sAnVVXD{lFQ^*GRwk9{jE z+YX}tQx!OR#Mo(Hyu!&+Clr`fAHR_qO>b}C4p50}et+vM;ZGTh+^1qqOl#z*OR4+t ze!)9or>^n5N{+JZAjo?Q%hCi!2t+$Xk=Vih&B^cM6T>>B0`d8yi5z$XQzu(#42)c9 zum`zE4Gt3V*E@Aw+ypt5xtiuDy5|UV+r>=Y@)vQX@#5Q_sQ;k$-G(UQVKKiU;Wb!l zCAd>zgGE>g`8IUC*4$ezX0~GXlg88AUMhCchw-tci;fchW_o!HsH27#!3ltY1B3V8 z({>wNcjOih)|kCz*Ev;NnEvbNLGc{!(g{HW@X;VU)GyEIrdS$Ss)&E{=wOSgf9b=D zWV7LsWrrR#Qob8Pa#!*bTKjv-zot+p%z^~Q@GnywZ@$XTG7|MmA~aoXFMqjvX?0Km zjAlmK$y;bBX$CoDm5VFH^32s+tAa5T-9UmJbN8^}9Li_Q{5f;xEpS>Y?fM$V&4|n~ zM~*Bo7A3pt}5vTZM&pQ*-fhkAcn(6962Gtfxlq{kM~ zD2gMCw;TFM)UB-~9T|NO1~y^8yB`!%YDb6|39=BrK58|dZO`9u1+W`z`#Zyf%wz3N zCuA{saEwJg)3~N5otuNjq6bqI&wmc3WnE-~G=8iG#SCD1p1!S=m*vs(dt^+v=9gci zMrrUDmdaq1h$lA4^qUd16Q(vk1ATlv?#EX9mAx9bG3t4JUB0x_3H(B4{6mQAvc^RV zWPg>aMTcNKi9A=UO)3YuFX_7tPR>r;QDXUzKFM{J{t0V?xE(rs<^m<9VW7k-MmpGEF#k)k-8OwXM&bOtvawvC!{#azuzyhGFEKg5yg*7le(Gf{?SGTSz z{-ic{_FLX9)I+?$-5fz^BhUQJdOd3uXGNn`@_$+2jbxLlcFk)+xcy~`W zMn|7Vn;u<#5@gl14pldDi-INJrvk@gO4Y-_C9zjs@`+uKtFA^`jUeUfE@F~iPs)6A zNGQaRe|s>%I*6n!4NGgZ+9^6#)&Yyb0q;{Es^Sw?%kostEMl4Wzy$-m$MY89i$ll`HS9y)+Gxeb_xAtvYj^fuEnDQ^ zy8@yyuf4xM&dw zHo&x$E1~Lzv}1)L_Dt|6);$h)mQ|E1;_6nMopdy2#4wN;XB}{VPVp?{m3zx_{HPd# zAr5aHKbKr|2UDC0P(@sr29EzMyUygrc4UZmT;rEq*BM$(pJMCTNFl^t@+jT2EGj1w zU8i`E<}|BTNjPZ*9Bi=|rI2vQ3-7BIox59j+-LQ8jiV!@F`?A}Pybq@p5nN!!|K0j zlhwNDqs(JYi0^$flBv9|1E&Pws zAU)+X5&yFj0X;9)@apJUD}nQmu~T?Z0@~Ok6C}8IeU$%tTUpc=RlvhNx11i|eJa+K1r%hBZ+d1RbLtMHq0 z+*38as<%J3(2uB+8IgicbEQs2@%M9RG*V~ zm~bFZ5<*#pTkR@ASZKfrts*>l)#HTLn&DZs)~V{ZxQ2W4kFHfDVxk;<1i^139gPg1 zhiSH#|qY1m4j@4r< z9oKmMmDX-wkCLL2gsUl=)^M#HuD?62#_#U2r5o7Yh3q(uwBDFsA{Pv9=~O!=cp3nkKi0D62Ixs&7m(gL}U{WV&R zIJBrUFr^U*#_^`-r)!VdF$g;iAQPbLz6%qDu-IIM{0G0P!vSVjRcd{xF1N2KK+p`- z2!4fTGf$VsKp#4$qm&>!cH>#15XB#0tMit{J|mAQe(30#`^VlDl&;sxh+<2JwxwGM8$Tk}t%wV_rxf1jA>!j+c&ldHRO5e>k#~FK( zR&0$^-LU5h!R+_z_G!mWyJ3|PYnZ!>g|O+st%*khe?}H%9XSX|HKE>&9xBZ=x_TrL z;SoW|%B~KanTah(qp3z!Nzjs`#q^pR31$#Bn>y@olwN_3RwF~6|< z^g;<`DNxX)ekbDQmxGID>^@flX*9+gD9`bJW#Ed43!yH~PEm?NOTA*`7Y}WQgQDp_ zBD7~TPx*s7oID~#c{=36lWJ24sntMYQYskjxiz{yjAyGU=?BPrV?fTn;e(IsI#eqW zRrO>q*M>l*GjW>IkXnUtyLb?E-QU^!zd+We@ela-wXA&ey?;$UwRvnj-3@k^i~pu2 zsx$GmSkIbX2N9>TIJ^|Av>Fk3T@L#oK42<6WcAy|r?z45jz&j0(a<2re4_ehr4?tn z!Y00vYuPoWedm++$nNP!Jt20T{1G_Y3Qgg5L(zA0Wf0`Y z6S+$Y69w;mzede*G&}ubVULcv_!#s=LUirTi-+nGBg+de|L!V&6c+#MLspkJQY!pv z!fdDtF?6oD%SRwM%pGr`Z_mO`vomB3+Y&B#`2c2PoCo=|AuV*x_`Ks*=#{Jd6W3Fo z`#a`bN@VNdkQM&6kXt9WT)4=2QV~Owigt#Vy0`vfMQKfb3&DvuLnFl|@)Zrqxbel& zHT@;aFX|nE`DI7cn(EZS+rz3_Tp(vir%zB+<;(YWUnX&1~rvG56--R`6?!{HlCtYGh zT)YZmkI-tKd8KJWx`O%VhH$mhS(}}cV%V`1v<^iTXOMS`;zo$N{I%_YdtH*4vMgd- z2HzgS8;bHvERio_M|cTKsS(#I3P(052S%`R&RE^F3P;)MgL+?Ltg51Q{KRpa7U!Vj z$BH#?EKh_?JMwXd*@Lrt52B$^_??6v4key5m7DOpLe(c3NOk*_bAILr7l!dJvg3NC zBhFKy_uUWm+l)4#nZHJf|L&5hr!_s1{(!1pn$vK2^52^hLZ)whyKyG&5nZ*5G@rZ2VJ9%dmeO{6 z%II;dR?6~26b);WE@8d#R%qnGkk zS3f>zIQxf+3X#?^nDKKU+j5vi z)Bwwq%!`gJ<|?!;`Md2!{{6f5hHo~$!4t*@5PSXB2(P~9@1tAw~l?-xS#15I=c;?Ded?H2CNPLOQDbegIiV-xFA5BB25Li-YhRfLtNxV|MEFGdHPF%-tQvd7qV#(3MOk&SK_=GMcbn`fc1)64 za6*s1lE&;Jz5vR6!{h4=PH|Nv)UVPe9dEWSLMM!3B*q;lPze3vV(*l9K3Tvj1eM^J%YMK&!f0 zrmb}F%@#yQs0aXqdx?0uhpq$se~@0c?(`u!&qmc9NF1;%8J&o7hl4{kHlJCq#gUKM zeJ}^91vTs*hTs2yuT4ouVa&*6qGRFlw2Q=yIb~hqEs0NG4{QPbdEmzmdh~)bRvvuF z*_38ib1Px*l9S3)_&R-UmOVT=c^g^sI`gS|1PvBXpVl3r;S_e&ou*S-Ja>%XJf{{Q%IJXTwD zsI6+&s7+gY)hnusmC^v@~;A&rA*1TkJz{4 z_Eo=Quc^6p;|n?&EC-WOB*N}is?3=RyKUM9BfZm7lzvTWKNEMC{r>5;O7xFya5{}> zpnUo`ip1$iV{W~3=%@wq$F)?wX(vpZs7*OD<1ax*(ZP4Z%cyGRvDt&Z)u+PjZ#yho zKD5oz(QVzn$b#601y=)xtqsnkk6G0Rw_#+UJ#Cd1bcfE?W#ZPYpT`=bbL@`*^{5 zd6yYa8V5ane>5ws0n%KaNi;jg>%OQWV};xL;32>nz0^j5JdHj;q*-?k@5>8 z7{c1ZaulF@v6iBsr@BI z95zmb-6H*1Gdy;m;?bl5BJ>EYiNS9pk*;S3YL^3v|8dFkkz$k@I3u-dWbr}WzRDiH zjSMjg5I$c<$i*e!g{urNdR{>Ptj^j?NqV6Ze8%E#Ati)9BTL@8phx$lq;USer0D1n zu^6Z%oSG9uoQeQ??5V!D$DaYIqG=lGFpER;8Q$&9eO~v82Ra~@{x>JD@*9I5_}RHJ zA%g+HRR{o_cSd)2B7~&zi)-bMFJ)p{f8tTo1}#sm59aJ}`1XUGeID4tC^}3mhB3QE zEN1w|ScZKi{gg;l(H6|p=f{uUyFtSZ1^tsL9RSbIu03z1SkRB^<+?I(47}NN^T|hU zU&;`8yjY3P?tZ1`?TkBHxwukes>k2g%GakC|EKeysCXJLCxU68k8(dfW@oQZwAyFq zkJv40j;Y{?KW(0C=Lnh5gVTKE*0wg!&nCVB!aWNrtT;hE@3(x5_^GPt@!T<(L;!g2 z`Rxf=h{UTN`_YGUbFTwEg=IS6j1ERqcI=g731l`r+kIDW(ICxj%jV;9NAr34*858*mnI?_ zLsW&OYcHoU+Iy#n1Z;2BaVCw$^gF1rZZn}263@Z&4f_KA+uYC3A08-`1M3N>kl1#` z@qfcq33883**7lH?r#pNtj zJY-E5+&7)P=*E(m{D!)Y1t<5t>b9t+aVbkh0q3>V&s8GEz(uiULD(CDrT$o?9o&8+ zFnl@lYvJL#uJ~PfNL)h^Q#4%wafvpZ>P+hNQ7B|aDXuY*bBJp#`lNeFG;6th5Tbr? zz{)FSwJNE|(s1&Kgz`VQ)c)g#@arpn@;6xRJ|zj$2&U|~mm>U71fj$ffv>w?m(!18 z3+?6~?q|9U^Da96^weYa$~ZPz;IsynAbVO{^ql`=!_Ch{i2HoJJTbIcS{5D;m?@Ke*5dHmIcXS zX}0IN&IfC69;a@P^JV@jS$t$~5qK`ye*gE!PKPUM!NE@#$&xbe_|keK9`47^oYAh> zRF@7xxSa8f3lAUT&n_M9BS4Zo$Wnt+>X1Wtp91U`=*E*g(U-Tok+)s?4^_a1P!^Il@5A-8t{+ zinb7Xv_sq6cAAs2c{N;WxmwxLGrosT3DE#?yk~uu`u-3WNk5hPH`LxWK{@Ehoig)} zWBbUkg7~dPl7@Sk0{vB`i_PU#yUxU$OOcjxow5yC*XhZP-b|ICyu+Vr@p50}+;wPm zm_(zlqf10=q)1zq9r~iFS&(}L67k;HD;piMGjke;JdiuyPnj?K=pmZ-&u87FLo`Kf zMvbpa&7wn~1M>V~^%rI}BPa#*>+2t(qgYQi1l4!rUaY=d+euqD3LNkCE6L%}lzh5E zoAE5;QOf2nuWIvAt?b%C9NMQMvM7Igna9wN@(G1Y~;dU1RhyH*>9M(J!+T*Gk30o`9JT}aQXqcXbd*hwJRKzqw-wg?*d z)|3)wgOM=bh|9#A%;Ys3^XRP(mM^5S;iz81U1buy`TW1zJsO^vVF2H*=drtg!%tCo zQ`GbWHWPn+0(fmuV_6`ciJDVmf<9D4EF=Cu^^WX zt97f8`d}5L9r8VW3@DG}c|$V4F&XKYAkAl{dCyvx{Li1e!$$L^^!RXh@-!<>uJ-S{4j^)pqV?>`U%D*d@ORgXh9dVc zwTG(uu9iAre1b3}Bltf~bb9!#LIbltfb^q*{JO%JX~o6WF(;mTlz;i`cL)Y# z(6gIZ_UWYNk%89!K}kGg;$KSp-nWDw>Q|Z@^`e2CC#3rv{~!y?-8*7?{q9BGqxNJu z1t_;mA?tVf`~2YUsG_HDmcNyQU6|_DZ`rLrvv5)Ev22mI(%ne8$AWSyzRe= zMZ=8vr0Y$bDaPzD$QMHF)laftgglN5F0LVqXu`fyxFkORLIvsh(oc;~C0MPcpGhm+ zY)$GUxJp)Gntv@ENp|(_&K|p{$JdN^Rd3NTH?C&f)g%PSVMTPiyf1v}2IsUypRl1R z4(;sAM2K!nY0CjBl@*a}`KHP3v|G+?A&|xJi=4*nrjc%QF~T=5bM@lFFT~_F8#lxtV30E<1ZD|N%aFhP5;q0VORT{M2N@)dfPLRI zT6pP^m(sAB}%h!#7*8SjP zMxm{Ax0>+R5X!eBPV1k}W{z~V=rk4S`-M#GaumClRim78T}c(`^50xcM`}i5KawUp z|Mw#)4zoW(WTGHxy54LUp*gX1fp-@VMsk8HH8hq4;ssu=gKH~$$GdFqsL4d0K z@cvM^s#8tM)%)pgb_;9km#@DUWL{GjL@w6u5Yq+cX;AOR^HM$A{D{6w1l_vS$C4+WyHLTsxh&Ii0K( zrOVx+W>5G%c=aCT1sG+Q=)JGKgund##McgKm#}g2K9*?m65f`JHM;=xbMPMd>r{^% z%$zaf#A7~Q&HvbNXUHVS;dpPE$g>F?;gUd%n2(exJHVcfeBr?_zfkM#z1GRfas@f+~VdZ$FZ z!CR$uK~a?exv8V!XEqMN9tLMCTCLB8EF~{iI9jiUX~cUoOlCIQ&#o1>1bvumi2Oiw zCVI1df_T=9=l+oTJhT3JL$t^^yUB7vzsOD=@>0h7zzB50;1IQS!mf)jcIcVPY1G?j z8t6<0FKp;)#*nVTS=|RFOehtR>KJcDepNq-rOf8Cy)7(mZi8ky9YNY3#oka*6!Z42 z*O~HiXKo!(L>g0(CSUVRkN;is(xNb6|9$O1apUXt_CzTBvxEU-eh&fvvsjlKh!9Y$ zDo9T4l$I~xe1;l4Shd6Mss2#dPt0E|J|7yvt)jUgH6(E(@+znHj5c`+b>}rr27#g# zUvfdlq)f%Cv~rzPT(3B^^HI7^t+ZI3w(&96O3r zBA&?cpOFS<`@sGFOsTuor$C5$L|&yW#U=~G+FCgy<&?sULXGD|a_d^0j)NjuTd#4{ zF=lZ~g!;>S+fGg-k*fa9QT%>?%Eh~=6&TvcLcuO-=sw`W2afQPd29Ls&Fg(8pI1k) zULN#cdsH{*EW;pj!#&))D{RlW#x%x<`SVD+d4uWekecF@>#qWQk&&C0E(6mVj7Px+IPV&tK1}-%w1y%eaMnxnCLKSv2woh zA-$SQRK%Z|=)pVsy;wc!e<)>sEc_L8mNan@84i4u$6z{b0c!kE`_p`7lqs%O(FYe!DEhD-@HsVXD4>v7u z>D`w5q;hjx1Zx!OnO^`m?!uY5gif|UKeZe-#QTx*!!|fAfE-8>@=2+up~lYOLf1}J0GO2?egZ=L%1vRN^ZX>w&_K>y{r)nWQ?lymA-rSaS!&C zFvsaiewcFr3JbGaHa!__1ODiRS2 zcR)_!vZtf?wtRvL$I1LfJ2SD{yYf(hP_yzpj6( zzgPrRaQ0+z%IBqFbg>OfYyJ35BRd{Fn3iLm{ElU7(6Wh>$@lrt%zEFb%X633Xcimi z6juh1YFhHFE-6x_p7KYy*+{+M+s!PUL(`;#O6X?D{Ge5WgzXofBNrPMnLvx9e>BFj9U?2$hPvHn z$BdqPl3fj{ZZj6q(g7N~F)Qc!&FSl*X)+`GN^q=qjOWn|Q%4-YFMW5W+Me!xfAUy5 z=EJQU?9MiIN^^+j$d#9LwYuK6qy3h6#3Rrhh5unfJ!Y`@lPfd!qfky=Z_y|{@K33P}#Tip7haefj+N~UGPznPwQ#7!b*sHNMXw*{FMT=s`YWi z_P7WNcFuX^y8m@2wktEw?=QI_fh(jJ zAs@u6hgk3y_QO;M3+c+z)r#D{lm8)8^SK8r-i7a!6z_G9aHao+vt^+2a1-@{ClFC} zCtE*uzMRG9l8sFMQXEMYa_w=k3pJ0N$!BY$vyA9B?HnT-<0TzzgrP##M(jgRn053F zn*W%Uj)~owz~>yArv399tz6Ts9t$1MqjVM z*w|OW_bdwNR~6f~MNwh1)784(JO1>wX(r zYX>jFnzy6>n~k8E)e>jNaNBnP# zvE;J7(gCVQX2AL5pGfb<135?k%R-wN1ar7)rlI|iXl9_62D-W@(kzPJ{X{qu2U|yK z5`tc*J{`aP;gq>uQCBv;X2*i+HqcL~eYr#9g1ExJ!&6M)xpnA~temFn&ML{Q&9)O= z@z@yB%OV$(_w&QgE5}m#^5#iqhw0Cbun16Iamg|n+zJ>hd%;Q1_XJ{q__K$246%3f zvRib=)Xnvh#}y4me?ub%hz%BBYE~gNU4iGz6kf)oWYS&Nwa}A=SAmd+zoIBVnV@mO z+*RDPwV%CUzy>p3dcc_u7#W{JMS|L%B)7M8;?VGvh&=pDx8;{R{1I5DEfwTsoE~lvdyNC9WIe6w~X@H!M47|VSW#qVt z-GkYWMMSK&F99k^ITpOoXT-5|v;h^l0&O&P^THIN^Bp2d=aYriou1JH@TJkKaN(Ynuyl0;H&(35$g7eq4Dg65~xP5GP|oE1R{_%w@wZ5rH^X3>OQ~nQ~u5 z99x1MAOBmkcO@%i$VbgS&jJ)Q+n$pI4!xc9hoH-hN5-=gjm`^JgP;k;XuoiO`2}fo zFfTgb{PXfHA(=MzL7SzFN@pf)u9bTz zb}E|n?>D}EHge*?P#y|RIb3nlaBY4yu#JX^hg4lAT^D*yJvQv*OjdRD*yt>G{e1n^ zqbrlimoz3`Q*+upev9D09Qs<*`z>BPT95DID@UuVSWFpnK6>R~`iWM{Y$T#2c1>-K zwzd-(R~x~}D6Iqh!}0X9{B{S^>+N@6ch*=9tV&qUdG)W)Mbr8~_~MJ1{yE?AoO4yT zcGl~Fms&#{sAME!pyiWvqV-0qqK)qgt@Vm>>d#x^K&5Sle`0NUYKx!LsQ_I_I~SXc zaVbUK>y`L!EU4L~63V^Kkw8pL^6y&JZMwU!$v(^I&bQ9mklk{#zmT=*|K5TG6ng-s z=FY8z!Y4`20rCO{qf>SuzRZi8t;RxI|Bv=^!bf%L{1~Bl?yYpX*>^E$B#C$tc@|7U zWpNMwJ7zgI0JR8`m9<2C)yp0d=suq8d%Fq%`&jB3hMq07VO>PZ7#~FSf!AG6BkL

;M(gIn1eN@?jm( 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

JRBAD+T~`jtlq2xbjVU6-Y8|eO^ZS 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

9KL&H+)l#cmMU8S<< zG>v4R`2Z7BZ^S-k0}U2k-b!4xR-QC#jI02WGWteZA2hOahM`6ARP!*UaoEy#zcmrP zyLRX*jb?n!zk`XN;nP&uvDJKTta{!YuoRS6r7Ij$*4jvp5O0}^fVL4yXk!T)pr+8~ zS$u`IYt*ymPjiQW#Ni|115682`;+3~4>4ATgl?mV9zc!oF-Ul2V)?40tEbqaFQIUk zo?^zhPmSokyBa0XGJY9o@YXVF_7FeHLik4_Yb`kyKh^e4K__$6gZ=rT&TZ|9B?I1{ z7jw1GFGIpVaNCRX8I31E)k}`s^diq;yrK!G^O04o|NCB$X8;>R5{0ifD(AD-5o*$q zNywuwP_50A9s>yq<;0bR7R9mX&MRW~=KmABxyoa@nJSEnwAD@3aO8_|8OvBNwCg!q zx+70fi{ypAas6xUXf*2P>d(p(DYe+!pJuM4d42ZvSU8y`qD~Fvd`xs6d^VN|R#E;( zUV0zWF)j@THCB|gX29cGs!~bJHNGY-wg ztbZ(jB*ELIdnUw>9`-$aZG89CD3p$tt0at2AmM^zX4uF0bbWBMG*hw`4pt@>|M7o9 zFlgf35lf}u#S6XwJmcE?Sn!>YQD0+(w0f*1_D!YB+3grUcRNck0c&;RoMXj zc|!&Wmo&KS1gxJw_F8F$LBg*8jEMV7@zgq>>pU|ESVU{;D^EI9j5Vk?oFJ=Vrk=Y8 z&c75O77?4>?x%yhQ)}nl4e*ETYERoWj89fd4h_EJ{6Y$zg)ZqfEHkr@D1sxx>0F<# z7h_?pafBoR)ea0Cq%F)TX!iL(2VOtKxCrMbC}|bz-XKR?`THz75DGK$&93}|ahzKK zy&|M&&^BviH&@**E=@e{4spifXQ)E%v_^1k+n$rnl74H)xelmC+Odsv&o5pYuataZ znNj49i3Q+%bK}AFq2_(PS!Qx&TEb}V&R-Q21CKH;h&>Qg69@sGFdMP64LPpP#o3;WafLL?~p5?Za+2YUW_X)N#On zan8NWCy>O0(qOe7mrnk=DVFge(NgJg_otqlyT*X3ne{27g9u0DG~~S~Ltv>nI~Iy4 zuUd31k8{5!dYI_0Mt|~pURm2)O0$#crb-XB$kc9ryOwL=#|4R2e~@DHEFg-4pY^++ zeoVs^(bx5X5rjFLgYL2qZ8-I%vyUhbqB0VuCP`zsve-t|qnnoz6|jloCMsG+k}EcD ztObS)pzr&l^QJG&Xw`YFZF`lP9PJC%xo(YeC8<|Id&XiLdXYO&WbR3FZ3gf{s#RM= z52KgsuCs&dY22`!)5vss=@1E7<8?Ih@I?P3QyrA?0RlV;0gze&~D%&g=u4D|G8RU^lYwvi)NF@pauKrIHMD9-mfd~L9-J!hNqtI?_pt72D zO=&j&%CxSZT3%N=8F7GHdQK&4R&~IMkRLFYT~EcoqbLSHDb$$ioTGsa+kPJP6)V#I znb*=MobpTG6m0IZ9f*m_#3@}#yLQe?Hl*c~zcb{rmT zy!lPp#S8Se1G_)!3|G-zwKc0T6qL-B9yaMF(B?-Q_lxFzqQ~^kX4#&|j5ug-Fx7m| z)y(-^_#15a_X;ygAH(!0M-$R;poox&I|VF_?NK~A<6+haHM1xjr~5dn+4UGCa%%3S zwSlFYG(xxs`UxJ8@=G@TkdAs8z8QGLRDjkx{H^x74*103X=! z+b_uQfFU=Nw~rIiqkg4a>(N$LjcH<(f14V5YTd?)UhVpf`=5phzx7xwt&L}W<-3Gm zs4mMYFE4nwX>9l0j}6cFmmP*5vufWF#i`mX-+NNx;ja@&aiRj6hJD;uv@G@*Tq{h+D z?}dntA)z)t6U_Ts;^S0fA1T+J!jUQPligW()TW3~u-hU0o~1m3Ar5P2a)ws_>DuT! zvllf#&|Bdw`ukq3lWl97SD(#HYqj|?=OFcPpTHWGM)PHm z$~5++J|J){{8HWqJC`r)e$jB9tpl?9VCib#1P?mlfi93cJ*>WODSu}|O7zM8&6M~E zgromFx9$SP&nasz7&;2%&~14#K<2Ob>udg(fjb~kq>7pc*5f7a z9LF>r1Fs-j5?ze-tv;`Jo%1HLyvrL)wczBzRDJ zNS7EDtrK8jKru$wCB9jrKD5oM!}%p-FC^P1Q6i#8aKVWte)XcLrK7v58Pt_epUk#> zE%!IG-&m(N+Yepdx!Y^58TokwijwMl@iJLl*8dMVNS2M3eyuKhMN-B-3 z>QBE)RTZ9M8IQ61x{L-N$ufzyoGXqSjua{VGo#Hw zWs-hO16JtRNdU@@r0f1#3%}QI_*+(KL5qCTweqdJY5DEVYV5TScH6&`p>?fWdfCtK z**F%j^QVV~wfjUrL9b6A;O(0oKA5(9><*iBwgov2Tep5l2!`fas$?11U`0QzQ&Ep6 z>(EnJ7{Cxo1Iw1)p%bfbpvUCrRV>s+F#m8}rA#BsN8KX|Erkn@WEgRvaV$LOm~q8n zJ=+kw-{uafS?lFmqDK>(Gr?9Gn6ytyIn-BO&+K5|jm5c~G`ou0Eo29;8|fcVt%JJ) z*Ohelb&G`)obCO|xU3+)(a{jsJE=gz?N1@I3YI~ZxoF(jE&m5H=~InQHdW^$q7?iL zwL3ZXHeR;g)E_J{!kLry)7emfLr>*UC%P1@vrXpBTTet@gnBPBghgA-oN1c7lHL5w z7I9NH3yR=G;l+s4V#1$b>Oq;Pkxg0g@wR)4$(hd8PPAwE?;Pk;9&fXyG^>&q{7HhK zFLqLey?!C$sH6r<$GCma!@rrc?p9v0y_Ye2J~M0E7<>vm+(vwN_~8V7(aZlc{DqHY z;2k74i5uF2czHEz549@Ff;E^I+H*@^q9`1#nk}+C3kdix&@+kw@t6LY?grRS$W6~R z-l7q_$58buPP?7kQe`H_q@JZkBH zUXyYk`m9gPTa>bH@21ad8M}gcu=TV-3^LV0LD6CLV&vw?0;L1!a<18Oa5?oYFUG^-zipGqDC??yC9b>m`mKSVqSFWmMIPmFzL#<&p8LfnG(Atr_D-T} z5YjCgM~C)rt3xLAA2d`Jk3t0RF?}1a$9KyRYtH_p;TsKXygjxsY^(RE#;AJP>iA!3 zX9Ak9d9UT&BV3%{mEH7d6J)EKGoUI}UXq%UXy>`0hz1w$T5$YOT)vp__^tV#_OnLuLQw)*=R=LoaN(U zUHK?btBmJB9>K(^ZofV|iCKFe@D$ki0<7z~dsjUYc=o4fa)luNjl-5BurV&1e(vJk z8sc{nEn35xd|>Fw#_0J5aO8Rdd*|M&t^zJDGkHuH3}bHdImcq_p3M@@ItAg*mi}ee zG6Zzg1y&VF0!49C*Uq*O4rx&0hR)ufa|Ss9Wnw*^v1t}16H;j{_13HCjy!G ze7eVT2NV(2(1+B19p9ejy8n!S-vbkrQ9^V1C{Z)Q#K`1wNY(t*837^ks;tP0+`;ng zleYryo5SPpdrCV70dIIuBXpx=KM*(GR*(*hp0%WhoqahR{vH)k+fEe5xf4ZbRLh+J1l)W%k50Uzzxr2#Cd^h> z9T_ypt9eSE!{Qg87#3Vi9z zlV3GzQg`ewaX&?#JDD-o1A#Zn^Jy| zrD4`;gw2L3GHmiSZ)|-`pRx@zeT=jedHM#rhNy50ZF~=fbPsF;inzE;v_`uv76MT4 z?zI@d)3r#~tgVZ}CSn`$`@5psOIT+2Q|u|gMk}?;_SK;v;=!X^zs^L8FbNn3*|JF^ z5fk{LV+NqfRc}TyJ#dL5Yb=&17M!fHTyJb+;eD2&Jamg&KTJryUn zJG90-&To&8xg#mMuH-D!uhAVPoP0d#atk8=v2$}8?9}E&=DZ12xbQVn{E+{y3H~08 zJs*GwuVdi<%}bx&z4S@?p+Wu3jW6fa%#uAFLD)|atky|rlG)8~BbvcCV3yzeXBH@4 z#HeBVcfth)fZbA!@K&?rgvjEHxn|>2UHPltJ3p>J)qLG%+2*k^y!I1hMd@TL_8B#F z>mN-m@Kw$qcpa=(jf&AukAeJNalmR6Nm9*G;5Io#A&a!j&&!Hwd=b8G>n6W0{M^N@eOhZWJjmaunQgW{wfw2caJmn{pVAiqmk&_E4iBhN`cYG>2EEbt zV0T`JjeRwEEe&JPHx)?ZQXIZt7^nP3$ ze_TXU&ger_)B45Y&FOR4<1$8YHq zyM1PwhvKh0W*j%b;cf znhieoHHow=;grM})2?Qox77M!Hy6@B4t-GH=bO8m?YbOxpVHGh5{4p^$NE^JFld6A zG{*B^vope6U2pafWP>5!NTw>?o&T(DHgScNg|jg#4RJa*c@F0ynt`FgEoLE6Bd+=W z)r3s!Nu$EMaw|&5uavM+Gsy|%)7@`^Qy8$ht z`r!o!uF6HyL*aRr{f<>|+@b4|eI-|NDKPI>s;iLC3X9&5|0yujE3qP6(&s?Z629XRcz9|n^gVoTEGPUY1J$JaU#F~kVty?U0JJ#S}tn2AyxBn`f{p#fQmwZt8B)k=IP9YH)|xP)v!G1|zzCwwZ0z1M``dgD?Pvrkm5Kd)#V z@I@W!xmC=pgjypkldD;mw{LPM-*qk{gDCJ*#GcFecEo>j zpn1z5I@bL|W7Wjxrj|!dioR~V;VPXmDcO+rOGsO<)frrfNw*KQXV0kF$P2BiQwHL@ zy?aVdr+cpcJ#r%l1HP((SbKrr+b`AQmcKJWXV*>6(M8vhRH*SFx<)>d zS0}P+_Yf@}D`)L{DRlxz_R@+8^@lKPUPULWz``h=t0(mRwGZjh@1Ov)Jv!k*Y!T=% zl>`6B=YmqO7rQ#zA48Ce6LMV`0pIT{@q&*Oovt}6iyw*1G75d19t z(Za{x1Kj&emebrTU{R+wC&@;!Z!B?tK?R)|*%zO#{B~dw1$i z571vnyF1!l$73XS;-we4?Xq7yZIsAoLQOxyc6844QF}m2X#VH7msdUO^NDscU+bLgj3i`WMYIT&qva4={Om-xi@`{B^sD8cL@t;vF1bwj~Hv_w~qHsd1 zM}`?xy}B-SQc&deS6T7AwEmf1C?G{|CIsMDhE6_57C!~EO71cQci*wfc*6f08%n9e zOsw$^EShB-U7>SgC3DGX{4#Yc^_UnAcN32VLPDRRs$*iM$H|bm)GCC14aQ#jW|vr? zbT%fQ;@1sX7>(gphuKS)n62SZi$sAgH>q0q!V;p;13WR@QO!6c@K${_)TR|(6?vnnfH8aY)rZ5Y?gJ-!vWUa z0~64()#&^=oD=KV&~ut3DQv>iF{$CT*XMWiIDW@2pnq`d(ZL29c#&7;Fz=8Mezn(C z0aExsv6!i6r{-oKue26uq-j0yE(V5&Y>=2rXBA9J!^VcPM?-F=KDAVwVW91l4qmU~ z$@Cy@*4-zoxo_y=VzlU2rbU%_7U^rK13UkE89H{8S%K>)R{XmDpyl$jm1i-Y#@46wI4+np7CWM%^Z!7wI*bED?Svsc zH8FYlWib4&y_wp}M;jv#W|jC@cW19RzRE^8i)T+~3T~6F@|lQD%bo9OUsA#b-WX$~ zP1d6n<(P_NL}Ojb?z+Kjm5ZMfZ1Ze|cxl}%lD%cwK({LEF&{>)*M=UY_PUpfe-l0H zt=qe#VSQxq*>yK9FeKZ>9W@Y}x^e{fPmkn^{dQ8Y>2h~hf?PV~XrY>!hwp9%A(x;1saJ3{-Psa@VA>N;SZ?aL@PbJ;3g9I>2YhcIq|0_a zx?1=;t2AAx?foBKol*6o)O73WxWZ>fL&BS#q}e{IC{J{p#h zr!&(#Y)c7$6}A*QHG4BiV4gYXKBpf(SudLi@&aFBZR_NUn)JaQ@+0R(X5^_@jQDlBGG=qT9eNb2>b*5-1FwITri{izc8zJ%ydL_rcz|fay-8CWA$+Z4;AwdDsSJ;OwC^~&l7fL&np;!Q@FKRuUyB!1i|F$_FZ#d z&V-%H2J;Q;!Hy~@@{q7TMyXWSdQxYWy|rozkfE}%27=lfzWcAOoedK%27&I~@H1Z|5FoA)#=%-zf8rcS;Iw2+$lZ9q7zz5+Y9VC`6-Q}4ED;{ z`XeDiBp+9g#CLnSV=f7E9|hr4bfG+jzWflyiM75hS67I~->gtA>W>`-zR}XVtAYMv zOMEUy*k?xFz&e}!pHQ@gS>dJ@UAMFPEAHCEBhlZ3FDbV1AR-Q@p9`0!X``2w??wmn z=dC}FXPOiR3y!JM3%*6= zqEnWB1XXCetyXD`@YGRrvS$s@ZmHPNoiOXAgQp5@7VWY9q*InZjZ^OqEBP}(!`G#u zfQVt^Ou0lNRvQs=eI53%8@qUp-Eqz2b(M8pxn5k8EyIbpqa1(MUs=-Uk+4)`sr13 zJ3*LOy4UL5x6EN?Z1`}>X_Q!54UkNYnvAX*Sp_}C{_n7HF)~`If$|)$;z)?tcQ} zI9E|C^sjdG2J#a+I^paSVs1Vm1bL+E7^^ElfzWAu4P+GAm8pk-Si8Me8%dgOiW$?V zg5xWXz+paHc&lAq)G7NOD@1>j;f)FT)r8njhzbx2caJ}S-s0T>&;CZXaMOw@yyhv_ z+F#ArR+z8NBQ)CtTI;iTC9nxILLDWa;Xz_ew@jG3x=eK9UB$z8Y4^|KsHr8}W=Hsv zJqTCCPj$ao%h)%1IlvA`v)D`!I&_sN=$kbSi-8P>A?@*`namv(P4v!lHCc#OTP0L{ z?5I{u{e?$x)(Qrus^$x8d)BRlpDbq@9d)_@C$UuH85QxRYe|PKeC=%%3@GrH=Iarj z=_l?T;0Z5{2F(}uie2v5H4gxYy11J~*vr)*TJFfypl6Nv^fy-D@4a9s4YE#CkNOL+ z^R!@fw%!9;x^(J$ACMr`Y)VJ4)%aptV6hwqrk)#N$K3^cU(mgS8uxxI7yXF!R5tTI z&mD6d?B3t;!OP8<1Ni6N#sB8F)-T&HEUn_44&vp8+wU6jLvylw6Ppd)&3ctVU44Eo zOp7eK69V(&Z=E(~N9;ZAcn8cIjC~Zw38$X?ru!``_1IpeP3IKjDyQ+V$tjDNjlrtA z5?=CzY?vhq602f-KWGH9-&8fjp&J(WrzTov9Y7YWKAcuxa2HlhqFA97Fnt<`123Cl zOIOR}jl!*%wcdp=6E&Ll{E)Fnr$5zxBll;H8f4V~CFUK0nVhJG-P zm<`Xb4-rkYCaojI7d0!6=cxa3A-x_%#Gb9I5OR~r?uF+-F8jK7=|{w0??>~WL7`x* zRO0q6YeP|W8*SBI-ICNFphi7ptUNzW{7eiR!RNGEwJjMy`vq49Pm#gDhPZuwOj^x8 zKL1$|dgejOWLVQkJI@@l;_)qpKBOOVORqwFxnuffYWJz(Lx zkJ*og3%sOkUG$Qc{&72J`3Z=ixaYixY~mNs>2&#|MSeaX{aT@j7WFsK+U-iciu%!a zl@T$7><-}$qUX?zg@tUnY*AehL`bmMa`w7o%S~-ze>6VDRdQpt;8c>U5|&V{Rw+y5Ppj} z)&|oB=J&E&B3hGsiTPfuB;6iqwOEH^GcRql!z%E*MGepUQ>0AkgLTzaklLLYBCVzG z)DZAj`EWY5$*T=kp%eZJ+32?MDz{O0tEku~)ltWOLoIa8MEKMMP3}o5P0#mfSZ`%?UuKx9egLt;Cp%5yxwUfknfcx4ES5Kxl`CbG{^#CtX<$H|9@3Ar~M;C@Z+;COU#Ac8rj> zs?r5Nl9EDd>heRpUSJEj3fz`_nvZhQOBR3Y!%9=7OEBC$BB*Z0maLLlj)XFK#-8L;3H1`cOR4NzD1x!@j zQ4vLuMG^S&d7kH&?|*RL_v^mS>$=YKINnEghUSkOPod1mnn9Wl;7a`3(eE17C)2A` zCn14fFK!e!1QJFAWL#hR3q!Mbo<{hIBXL~f?)2Lzg2$Q}AV0Zf^4o@&X)P2WNL<|v zqoCU4S8LN(_J3y_tYBs?0CC1D3C73Ep(;_uNCo%WH>GArS5p&>KoR=z&;qwG3fDUz zCQ9=7f%xd~5!4g@RKsF^_j8`cIch}7;i!SL zsR&ZcKw$F=NBJ{pkA$R?MpLD9dqJw{RXCWPbz1rQRZ4@S?~uRF;AVSwttTb?(r_bf zV!OaJVQt>qgvlHq{1!3c&iyrDLljOQG(?t6cvDhAeD&`KV zS=xI$!&m1x@(8>hFCA6X<68=9X;}>>EVa7Y$@A$P;8TUnBcKi|R zmHVK-eyLZ@|E_Fw@gn6|{$`Q=tmHXYZOpMT`Z^xe#E=YOU)p1%zCm{Waxg_;4UU6? z5X#UEjsF-%nCL6=c}g^KZMqQrz6);FmG-RvCrPxPB;@m(4t6vS>xEa;k{8eY^kMs> z@tZwEy?>EYmZHJ`y<2%fx1eqv89C)Eu3Ld?uRGU1s8l5H}OnZmz86TX=qBK(XOtbm*QzZht6XaH}nh!SJiC zTW~YH&V8)?i7$11Aw!LbsBHrURvAk#=~lQUsL`d5o1~d0WY^|carl^-;2=c&b#0(+ z)N!HNk6AMj8le*vH*+d6S)RNhZ4-yc11eh4KTNr!!=WK@w`2(CmTzGi6Jda-tXp@J z@Oi?z^Y&Z3eb~}?NJlxva>M*ms76O)O8EMT)?xkk8~&98)gM*X-l|G?S|2_p4l8ZE zzxOuuScWu(lBmA1U;lkMPTpF^6LxXWp!Hje6o#%!xE0}|VN#pTb&OZR)J)t%M#1^N z{ow>re%R2ly5~*EdChPu@mZC@(91}23k5}QW{m2m4`Vhg2zhi|9RbIBu9Ocwb2fi7 zf|2+6-6(Y?=j5SEmq6)5KI2_91vMv3aj>xmBm!idNr8b3iOO20Rnv7YTFQ5nYvBgj><_|1E zX*X(z-qda*@>Hn9VWq}V=Ur@^sk_Qsui8*jM!A3CxwaYF+Is4hvX_0RcZ!)8cv@w4 z-~eSN20T}X9DG){nBCo=D4(B!_^_IC@EFMB)9rZD#2%l*)F#gufbv2wTHIe8+kmJ3 z37Y&h`s61u<_MKZ0#1IFk6)jCchQf1r%t_~m244FMeW~`%l&YN8w7dT>R{yqC_rA^ z!VSv#)~=rS;!d86L*I!J@)Y_DKaX_QLY%*zkznns?5X1#rV5Gs5&1LUtgh2sDSFMz zQknU3!DR7qSEgfQ3_Iyi(7B#l6Nm@*an%o~Zec%*T7kmXKApVYBrVI(q~h~BK`Tq)W?6>Ck{Pqo=zI0zV_p&O2F zaf%Vz!&9sC>e>KV+6Zv6l}MmsfU;Z#PNcM#u_eGrb}htQeu%xy3Qvp&B+{PX4=lVW zrL7*ic~VK{FfN}vn}_nN8`~+%=hxS4{rI1-Jin*mlT}vG77$JHy(t8+9DTaBP9U7r ze!rx9Z|)0XX55!kBHfOu=D)QaFoxYFyjM)!MH@!!5{*;Hb&I2Dz!*H&k{6D4q(yF* zw}dj4Si34z1hptP;uCucV+Q(#X6~>8)Gqko2K=vdN(Y61y{Q2!nQ`L(aLy<|0=fz# zIDeOv$2>`^wU@`BAO5B`)?B0Sf=6yoNts03wT9UHXkYoVKY%#sAkKQ=H_~`aFbKGzcFjm!yGH|pfivThh9s`NqZ=kI65_E8Gz#qZxb^2 zmg19NdKxy=g~l-oPL}QCf0lkLZcR@-T#ii9crcLtI9fZ}vxrYTLJDcBpwB~@!|LWe z+DGM4dH-XMIFQC3q%;;Ur8M-{rpLHkns215sMslj+0CwJ+4qvI{~+Vhr9KH5iodv~_*8uLL` zc#?S8x@>ORQ#K1QtLa?UKjH~pZFziPygmlczNN!I?gso60uhwu59MG@@0qzyezlqT zTHCXCur2IIQ9iVHoSQMyIkT5hv#Xa8SV#oeoKIopAVkBa!-23nk3y^op}O!d1w}W; zD;z;qnBi#75+oonZL83lobv8l^Qqa=SJV$5>}h2o$Q94g-J=LX5-#{&Mfh`ymexMC z(_Lo%1tN!!$8vhl5_srCANCE}hewZr^QysWU()peEMVnxd;(C3er|9o`2q0PYsk zkEJ)`2?3e&|#3(mK6)JSK!3zK`jN{r{UXJ2ZJ zi1e!l~fi7ccRjwsJ%Z(~PgKE(lA`U>(W_op?s%c8w0 zj>m<<5ECKnJzh_I9AKXM59&^NdyVzeZxWzr1+YeinehhRo`rSr~bdZH~A z$5%Zla{muG&T@F>XqK+(fXS?n3}r_?=7E6BDa_}DmhEHgc^g0F8QL&3TnEGRZ48xw zqx5HWD&U#?$xb1kQ0y!`=4H1cd{S~B(bYZj?`b!YF@r-Mv*k^#{n0W z%Fi?ST8#_uS~x?vfPiKDAMa3v0)sQ<@$YCeWxG0Pq4F4~E5BC?Ud#SFPnc6KNYZI4 z=et%eW1!blatD?M#3yj)>R)4fZ0mO*0~;ci)Wp_Ondpm}`7&nHDC1t2f>DXJkxB$k zV=R>L5o?v?AxjR10Ftyzh_|Ve2IhI672e{+aRnDv&XdHD&x4H9sGBjQp{f|^ZA|fys=kGjbV^0#IV>j zCup%s!tJyM#9trw2OKY~*!*eX!?oM!hsjeKMwC9@R2yCDB-jhu4VFltk`s?{m7u)K zQDLpnviQ+(LeP7CUN}%OPWgfkFE4ta5CpzLXb&s><)pGov7C)?!FV?BZ$*qyzHeHw zY~GnA;F(K}pyRd_n>NbsXVU&9jhT&(n6JFm~{%-}6Mqm+mG zwtVLN%<2_GG^lf4Cph8Lh{H8!^Sal4c78jlV>6-e1Gw;7FbQ~b`qsW`4Dh%_q85-KQm!m*(|<;ML_Egv{b9X&Pc>a3Sb}W3pe4WAK!6^y!Z zQ{Ze!6Og6L9L{sukB8R?4E;yGV(s0z7e!G5<6HSOHBO5C(!ZW!SFti?{Db+vn zZduNQS7sV2<`$Z2=eVP<>m8tJWm5>#F;CQ|?}!FLL^;SX%<=-3w7=GQX2}1#XZ7Vq zXu`V@NqRscF4@vYcSFQ-`=3y9OO2$o!AwCRTkR`_#LBRpW8ERa0de`%`X{xHcdO46 zS>K;j$y~{6$MNMnC*u0l;q=(AsGe#k7p?skj6>>aVyJy(7@bG{^CX>l>bSu7k#<7R zY<9t*nIA1RysvGkev=mQVjo@bNePl!@n*E(pwgchf=x~!VXvH7K6w;#W`d&)Qh}RF zzWa61>F_av%c!dMLe4aXmn|33;`W!748>QS2LzmXV9+y0j( zf4w7HG0WIXjghfj&fw8r&$j6_?P&b1 zR)L?64ds=+PoV}9n}jf$BeSo#d09?7x`34lSK~i7E~*Dk##)h_Qa4l{u-10d!>(pw z&cyZyLRB|@uu$D>)0**WR-<3xu`Jjs#V5{prE!j*s<8ljV6dDPH}qKJ2=(EvIc%D| zm!@^YGC*y?cn*NMsFYIx2gGH4TCG%(8vUF;)iG}26QFIAqu5qD!5gRZEdAt}clHP= z;NEOL*EIebWTohKnFUI@E;?`mHOOtu1JL>C5vBSYNSeZgN7S;-Nww$>&Oln)S<0%G z(e^-dS)m=cugDPFb9F{D6F%8WJ@ir^baI%n4VpOr!d1?l;*TlW*xw~n>lK1$FVV@> zzC*$-t`XM6Pyw>a&ih_|8=>-;D?kGr5ozMo*>f`dDR{Vp<@bM>P z&lD_~a zL}}Rh!gzGbfeDDul?E=I_rH;t)!!_?W&NxVPT+sQ) zR!rvT8)xzb8#h4>5mV&v>)2++S?$G!F4V+sCX^XB1fA{|HPv#9yWq6Zu(#z;`FKLmdq``#8JyfG*TDpJ z67Xeg2^GqF&x_$c#oDyU(?WfTB9miHrC(yxa#cKnXL#s|6d4ubCm6jj>>{#)PV(ySl*Nl8+i z|C#Z6YdB{!etXXrb&Mk0zRtJ{SQb4yIYY9yp(eUkEJo}0pDqU8%Hw6OTnhg@K0R3w z0k})B-z^B16)RLycMKr|f4ytG=y_N%$J{FX-&FOLN&VHdQl!{IBc=}fds3&!TYEk6 zC^9HzdK-N&ae(W^N!xVjwIlAa8QE_0t1}ijX-A#Y`Xjlxj|UjJCoewLnsM(+ox30c6K1dMBnnRN!-5hJ4e^9w&aFfkwB>4=HW*ul;Ir zHRL%sGqOjMc@m6UYxgf|)J1CV_#Ae8C=C#BptMgj37wxU9Ie3y>9!l1W z?Zxj~gvHZ^uXv!**(vSKuVig#h4C-o1j_wdH1}?=kAzSER=SaaN ziO8x8H00Jb!6z z9`L&09Rg6tj96eaESesUUsiv<34Z2f)M;}B?|RQ((Cs}c&?5!_O?}qSQqF80Gu(;; zMcp8IW%*K3Bc&l+IRZlkOAM8ri_-xZ{=heufnME|ClJOR{+%{jfAc3p^as7jDLM6W zfO9vn<4)mDJN}<_hm3t)N@=jy-2RDAYK-ul{ulFVcKpbITJy0vgo6}f4hVuf={prT z(caZv7Sv8Po_pH#mYZ2u($uuSCpYFQrLrQws85L~lHEI2u+Cby!=1Y!QQUHV7o!5y zNpm)h^JgJMHb}0Y3{mLb*eZECNFrYyRax_nt?JdQ7nX*8{muYe%enIgs-ayOKFw^s!lUma^;<(SG z@>jn_Tge`ud8;q=&pif~=LIGW?cib!8<$=TOhsaQtCqgkULFyC5L#GC`|GK1WR!BevjfAbU$nnn;4Z}6a18BpD@+pm^;pBPq#4EX=pU$-@L*~gY~90g1NO>T|B{6`Nfi9o=nknvZwRn$O}l(U(K-qS`pEVY zUl`gjGWDkXwEVTUm~>M-LZwG;QrJ5L?Jcjl#FKG0w+9jem&ICz%w&o>%XBERG?pAG zkF;Kd-AL~@3v5c(LP_Sct2bBOx@J^Jm*hE zHQn>jwsyV9c6iV7W3$*#s;eH&%rX51hk{r2;doYv%D%r4C*z+&75~btoAM6Wy5J*d zEqNUE+1r37$|T?L=QKTs4kxwMspsp1q<2G0_09UW5Hi8o?R4lcIbZz;a_ve+;{C3u ze4yn-(huYO!KfLg9ULw4tBmX%qkMPU7N3B4;~IZzlTw6o_l^edwA{<=uTO68(i8;! zDI@b`0CljM@m3o0PA-X|5jZ~?c0ajD-Z_v*0l!wPlm&z`j5ulG%DAFA8PILrH=XB@ z#N7dk!!3YWW{g-)sthC&#BZD7*XDc1NtHzWkVMZ+`^K{b!~w~M^;q1;hUD-hNirzf zSodi-kmxzdCWei+VVsU-H+O!n$LgeXD9e>Lu_brtJ6vSeI%T3PkXH>~iJ81nNL z+Ed`A`;ujYWuChiO#mHounRw(5~Xw+YdNh8}9JzRD)q4c7jUj)d%A3J=e;U$Mgxg!tL#up&L0yWm%=8TFjV5zB z1f=T_tEL?0iqxN3AYTCkzrNDX`?N*dZ#ipda4#`z`KOcQ!!K#2I)aED$ zv`{JfP=VqW^FKJ#gPmo}ExC;zQVA&Xj0t)AM(bog$y?t2)(6W#lN1F8XMFTY(kZ}U zNgJ1_7hu%9R#age-Eb;QEYp?xfo{Je|2Rhee!AB{y0fHph_**K{Yk+*`NpS@Dk4T319C0&)+??Q(lQ3qw|V&*7N^4po-UsS9r0Be_F%2nz~nqs}SA4v+|tFAsPjQ`ce_~VpW#=+%%p9e*| zo7=eUhfpdq#o)Nz4JTLfyZ|w&H!vd)gKePvgNJ*Gy}Kj8kUe`0F(NyqGDr7eKMxJo zbDDG^FE}W+4rBx6bVl0f#5yst%7GG_60*c*u{QZaD=yWsW+3g!pu@z_n_^8tNIoqS z1pn!XdwwykzBeGllI1z5HxEVSj7ReOaF_Z<2_UD^IA3l_vPW6<$6)p`JSo5Aan9|& zrjSm#TmqN&ns$!(sh;oH_;4;*?|BOasv}5)j(Cp8k6mxw&=bUs#wX%(1Csukf9PoK zE{6yQ)7X;MOv!dPBxm#4H?cD}6u+7)yEC>; zBn|m!wn)E!2U#!b@&Ni0=e-D$VEY*XUScuh6eN_P+QG-s~KAHpEeSnl&{mCazFw;yGteWaL3tbguN(t4ZI- zY~w1vw=K6p3>^z+ht0n7zz?^H6;_&K*HItC(uhV5h-CRrSVxm7#Lfq|sz&rl68I~Y zEJRm%ef-CE=J1cq{RK(?q~L;|AvwA8Yzv(Z)5|>9VtNv#A$DhdSdK?#&BQfUOa+Q~ zmNXh3RTuelX3qVdtizcBr5^hznQ55B>9!^(otX{x{JK+;V>f)+C5BH>6f!LoJw6N{ ze$K=3Mh}8&vK(w&C*n#oVZyJc4p35WCNRZ>uQG5N(_0B9lIzRvVtMBR5}jzRRmN7W>F`O@PRoFoskV^OigxyF zYJ1>{7Hszdj#x^)N9Kt&BqHLe0^de0=SZ){C5(1>esTMqj+K3Otr`!$tahDjDEAIj z^~+(zH(Z%9$GVOvb=W|#nIl5+sUb9Yfm3wYSJ`s@AuaR$4QaHgCGR^qn8Ka*3yX5`RI5pEmRhPd^h>#vB9fR`rni-;F zSKj3pg+X{@>%Nept7(`lc$MKq>fY8sc@-fD@=FadO1aR!_r1XqZc??-Ve7rIsbt^P zEK`Pn_)Vx?9ul^~F>s@kNG*HMOJC{fnEv66VXYo#Hq666$RmX;6_@t?h;=8`^%C^( zlYV!)&}N4T-x~FyQCi>VF0p6QTXK^i@PChG;7uxW2&H}-l^Gx0l^iF z)q`CrZR-$qFn%U%JOykndSroTgjcC3|MGGA5@`H-_vA&h3Pefd5!s0aQtL5tYppCJ z9p&mNuKq;m|54wk)VGVJUA;mXw!k;3{cD1y@t{3s%$ zosO@EU7*;0!HS`3|C9I4xwn>{aJI3A2^6MGe__byw69p- zi|ElAiH6ecHOSGhPPx@7-vJ^z-93d-N#sRm&@K`b*J8G_`E%LPIesB3{Ppkx&XtJP zQ|cFIuuD|^gmkl$GH2IGc=YfI!o5qSvgZFn74FGB?_I0;^I^SVXQEv1uC{86V~xpr zg8a1hTlwmIPgaQC75G+beARl{A(hs*kPX24=DhE$|7e}&gs;$?mn8{?9X8;qZ~=EI z)KW$|3R%VYwgaU_s6d^$kJs5P#n@e=hj`%MLMmi~wANHMk373%j>ju(qRQpvb6n|J zS?87C>6e#c++ZpT^YGC2%}aHP-f(i&e4%$j-ANg&*(qtRT5(bo&1PcPqY8B8_RsD( zn5}9$G4KRSSA0E9$O&KK96S*!`-o(WJ&FZ3t6C^JOW6)%rIQu`EAjx>Ldsh2jiQaB zjfig~i_Oc?%Z|$zW0DrK!rkc8>%pq1j^CJu`DRj>5?bEtI@CHAzm99=#M;99vY&z) zQm)#Z{n_vl_K4_GwfT2JBWWf+Xar@vp!}+C#r9fj?6ik3bwK)1DY|0HVj%dEK?cF? zm@b4*V4Rt20dMvveL^;tc~mgnme}^tiz_x)aP(EsHDPaN@z(nto_n(gTiR{9k7hJ| zAFPqDz+t9Qo#K~)>g0<5Y|!1txsaAx_;+3B8&;Z z53LPY9Tg`;uKj~iT320`$(Jq)nC1=0WvBD!?it&4 zxixR-<|DGV4lfGOi+2tpiiC*h z*|i;*--ESXR1tc@E2SQ6s7gX)-&UMWCpG+1i%NQtLTWL4yrocJQcuUlm3iGUJ4O4v zf5R!3GMrTp?9=og@N01tSlAx!tjBXwPL&;dd~{&x7?NGe$M0RF%XSlK3CLCpPaAZxb0J0hb%{ zV=MK)ZOIi}lGG2W8Big_#YZ!l7-Dx;qLr_;25zRjK~fy7#Q;xw{YYKFjhypieHYyH zqE&`}HC628t)+V?t@0^a05uSpdSIRA(zlq+Yq>e7%j9+&|Jzr8c=#V+hBa zJ&L^3?)YH-B!*)Y_Tya;_axhH#FH*F<;ZOZjTcTRk?8bYYHVCk1-|Ey6 zAGsZk)0kXP(rNX=xp8H@wm+1Jr6U?T;}jdw9UR+UKS)7=EfD-L@DF9dc)gGjdRoOc zG4?39b%7b*r71(obKj>}Mzd)!l?0qoD!b?eR^F?Nx%Z6TuPtQ4eEw9-6v^Pib3yv*H{5AHbugcAt)5+NH;Q(!Qos06QRi3IF zJYp(*P9;Ot8p4zMm$bj9XUqNw=lvCi@zjba@`N~jcZ~a?saJmb{GD zTGy7G7>1v$vv`)n28LLHXTVR|lt<#z9-tUBMH|U1>855a^JJQ{%AM zzS)sip~1&uje7tKz=7ib3Tiz6pr1-!lOH1@Vd;{82Y_y@5NdqEm7qCC$Z+Dk{Ipg$ z*Pq7%EEOX%3wUOV>p^^Sp-eI6HnKF8_LvOY`L2j&9plp`-=Kd!fwq;016|h*avb|@`C$+V5F@pqfApdW?1+^4*p0SWLS+GtX8HhAbAzP#JkAr2(I7mlwQjHYCC$D+ujyQ<4&P>C5;HyR@)R%3ajY18RS-yr$^>l8V0J$4%{X3MN?7MR z(Gv_?E2gS-H@|jAcl2@T@9-)})pe%{0;Jm(?5T$GLRlrP-Um?yG2fV`<}~K~93K5w zH)~_OyS>V{Re+C;VyK&enqN8Nq$BkOqblp!F)?tK#;Gs<@p1Jnc}h{|j#EhAzb6&Z z-xnpv1{aj@a2iMA$5t<}r5 z_6DQNKgO$9!4d_y1e}PU^TuZa8K}FQ1k>aeP8-?yq;S|uU9(!T4nX?lsF?(d{WHD& zkTpX8vfKR9nHL52lO?ukw3SU=rCe0rCBlzlWZ>`VlAIpFql0&sZ3=-?a}I$-Yr%X` z5So?9A#MsP+etJ>7ucxzBL&W6>kH^-US(~Kc7K;e+@nj5;3e}_7S{Ho@V4J8VnXe_6+u27`4Wq|bEtJpz zSQQs>Db3sHSqnaT@(IkR&;9x4EAf$u)J<#W2{t922zd4;}yR49ilapZQp zW6MeFMUt;DcGA2@d+kFAshO;R`A0D4(Q@wYz=v0- zUJZt7WVa3pDkI-2#;a4?j2^d7ga0`Zpy5WE(7vK6lEo*f11C2HDCG+f#kPM{-DOk# zh;ob}Ucx6we``)}o?F*Gz@`%;`U)PkSHR^%gQP9Z&8AlrJkdk6kt{e9Yp3e6u&(Kr zG-AHmSR0`dU0xL~Rpw)bKE7pC__P1Fe7bD2hZ*rTd^E4Gio#`f||ft|;o*{F#i6<@4P8`qM? zx!10jpJm@mGoVfMLNYGQ?j;fH)uBVBorJ!ImJKK4;e%k_d*6VahIORqAq8*(cP%9= zCV}IZkIF-6?E8`oN4S-G05x8hQz~4#Ma;YYE5NAOOm)e1!z~eeFG3Jn)~L1e7+kg)ve!534i`Y7M@{EEF>`(Y+6B}JGKUM7n}EhI~I(GOAs5^W+Z`oI%|8aJ_1?io z5#6*c=D;)h1p&}^7bky;p75jB5opiwKV#^BQshV4w zvZXelXN5aMGEM{+t!{y*rKlJwylyZ|W2DYSCa9Xt8(1!sv3I+YpACkl$8rLO9-E9l zesEYnq^eezrD^`njnyIEv3L}p88=i3mQyS$lUp@L?^hR-^DMy6=%2y0Z2zyGjMJB| zT=a6%WGw76xHsU^m;UP~W?PsWYyC^IhsKvbGrW(5N}X;&`jY00!lPRZ!I-w#cH)jQ zsfO+}y`3PiEo*;oT)%aeY#8Q&xl24EWtT)xVYHGpJ;L=d+$| z{s=Pa0v(eaE0gC7Hdcy&Krc^Qgv1~c2;FsWB8V5C5V?e!T>1uRcod)b8bwL6o{2L~ z;FAwJcI>E}Q<3di(5yR<^mE-y;tce{hK=ABFol<=rVjp}La}MafQ@zU8n3UacaV~@ z%&D1za_>d;=)rA2-{ADxsEm=(?@`y0%lK)%6QvdQ$_vw`&06Rh~r3D z(pJ-IEhcMA&7#BuMGA{ne!>JvQd*qxReO^x2ZMlKtp^!gRhnoN^`e%rT&hDa7Wq}r z@sdRgDANu{VkX<)o&_v{1brpjZH}dk=u`C0jpq#Mp7hN%`M<>^89w)p4F>n7*<3PL zy#Vv2oPt zlESBO|E4P#6}B6i$)gz$a<|Mw5Vv>UrC2{R1|`h=EHI^U?O`(%m~SwP!-;G?91--V zhvydBGp2W#wenS(_ofQj#bTVKoXz;Kn%~?vBRYox5||2{&*Kx@pf{S^DdGhOd0eul zV4!k;N9^uMBO?kz1oa<*dz=&~V&smxF6fr!MSq z$e+Slwcu}``tX>jyZYp@t6MEA1Wkv0$|ASB;70@>+&xK|?+FqIu<_<>oSB?%%6<$6 z*Eg|+)?UNsT3YrE5`y#LgQh9Mh@0uGo9txDW6+V-3c`0yawgD=40n?AV8mtCf8HBZ zrbTfcd+XJl%^+nKggf5tV0tK+C$ZMd4^*v?{u9Q1R*yUJwca|292+la)QCCI&9t#0 zA*<@umn#b(H)qs*Oo zBv}H3oL^H6{ydCZi=f2HjS4rzTTXoy5Bu~)Lk3RE2JY#Hand|!gYgTxv1?<{xD1wKzb4H#sbTSzF3j!sd;M>7_hGA4x6PQ2!pDRhweU z(j&)k86kik&Dg@17z;coV0E&2I~+>MZ~1=p{}zL#uM`GnoKoByrUcm^2lhgtwkE3wjoZVb#WXs9} ziKU5ed<_k;KJ2^L>`##+7*3Vwi*E+4+CJOVTnb`5k;IVk2GpjC_#-K-V?#TB$D=a0 z8_yk>Q0fr7_&H>Yc5^FUH+0@;2Gi;!A;PZ_H0g0n2Yb_kWwk^H=>)6%Z%t1B-vudu zpyhQ9(l`E_6Rhbld_rzJUzGdQN$C9}7CF2dsXj&5t)FQ{irti3m4!7$W$3~7J^1uh zV4)+6NiSrdQ5DZe-=!$!f4YPJY(jbePH9!R;P5RY+eu8Atus?M4!uS{Pk9~IuNSL0 z5&H?Rg6~-IJt)A*UC0F+5m#6PmsLzH(#m+O)zj{2YR99&D)9#w!T#%;{> zq9xNFgh#(D14L&bC6t8 zaxr1ws`hsf4rS|gZ5C&n#=KHOq&uV*q21nBKtucYtp~}slYKP(WGw%XJvsvm=@jAx zApnR`bXwGDxVHM*!LX1ahs!*B+!M!WqbQMI5|i^Nykj=V7{;;}rTG!Bvc;Y@pN4W>$3zD)^WstQdA!!b#)#z`SX_`?)K6L~C(^*C?@6*f zrV)&AUo2WHdi-2R4RQpeD0VZRyRSKlaRE~j1Gly+llilD)Jf=7d#ZQg7sXdA-{YqA z3vnj~^!pTqjtzc)inUvE3N%{9Zi|gJI>=%bN(fl;;>QQfoegYd3K#7eTDe<3O^9ts ziAtREQr?$|0C+I|83#^gY68fBFnHa;%C|tTA{Ccn@8#W6PL>QabXbB8C{TK}O)PBOK&H5?Tz3tJuD*L%}DwH!VAdX-ZAtLGylvL&-!9>ArFT7>L1vVhpJn0Pt6L2(g7v$$NC3b#gBhMuV#6y+%P}TzY-q*f+pM15?T_iq-+Q65^M{&Aittqztqr0`uWM0 zg=x#!f=1x^u;hjc^A^91&MJeY8y@jP9=WE|S{(x5()D!i!#n7JrCa0sctg7XOkq0) zOt6A(cwrOc%n96vV!xbDAo&^ucNp}na{=kpHpLls2`K2zI9^ji0j=z)M*(~ZYd(+k zc{aLKHPNF34myp3KUgV%|EBmtY3O3?<SGxe_xU;cR;!Wx-EtjW|2}26b~{j+e^ThxVjHI)N|_a!K8JWC z#1V22T;<_`KIGb7WKecXrVVzO$co-!da3PL{CL|&+}MEp?g8JCRa&sET`r~N(bJWf2vB?7##&E4@C4i zliCoR8%Af8jRM{$&eRiS-CtAMfViD4gkg){ZLUI|oxnPMP8x#Va>w@VaY|`@w67xi zfk1&FxJ{kRB22M>D{i*1+>}#Wo&Ca$h4sW1xFp@eLu%H6DO(ljeyt>G_{xoJ`<Dp$8iW%eVWX}t?hDEcSd3utrH|n4RV4D5 zOPhVQMU*%&eAS(p2(rR(EPV*=TUcm&E)%|lV?=h&<`HSG+7`5!Mvg*w<+Oln4m3p!^2ub~} zaXUm=@P}Yfo1Rl+Y~$T-e8X68ppdJD}V0L$x2f0@ub_*2D^L3 zP9wdIhm|(|^vEgf3NSgwkRVa``t|I?^4{`}5X8A@SDheU?ihxuwK6Ri9P0@^DMqnsPs4@-cGvZ2gh;fwFcXtZShg+Bi4RU+#z%+K-%R|zLaw(6H|wyqqe6*4lHQ!pnML^9~v z<4^S9&E5PUHJVj?u6h3v^skBUKEJ7XW|2hBstm^x2l21#?(12H_TIV;8T|E((6{@{(-9=!P9X)Ti8^1Xh%-lAE9((B$_+|$o z>YJ8U6wrbWDWhhhoNWRzuBCNvQR7xW`kK_LF|T5`SY5Zc?G2f`ve^^a;fC+A@lrko zF*}_hS%d?||01GtIdi*l5cq1Qmp8}Y-^D}M=&A`%3xqJ<(O)B~@uB->ha)_e^6?$&;VT_1 z8FfEB?1hYDBY!);cmkcHHK&oB^w8-%Iw|S7x&Qt9yY>x|9%;Zk%7SW+QzE11KeHbv zANZll%`qy|h~12p?O#t;F-juY`_?Ij8mQ*aB7@fZN26PE6%1h8-AS||dt;A0OBh#A zJoQC#y;+_mK*vw9c7cpQqfU$}x=-_r+1;Xxo{Ch`V^Z?yz*(VvJLOiz-{g_kOhW1O z+AD;`%)~?NO_;RGc`XGpk#q@V?Nj&o(T|J;y&R-Qi58eb;VAb#XQecLNBN^Cu{C-X z4%d;NiJdc;)=J|)K5mQ_pw}>mD$ahYC%>Py+^zZwyJA=Ng@8#Ft1ZH?SpOB1k_p&e zac=q4M(g^utlFl>^&lkps>ZAibvDY{PRrl1w@EPMsrW~0X{qLx*1Bqo;{4doD9P2P zwaVx~l$I=`n16w*=LJ0!e43%9YjSJ$x?RC$^nqga<4dx zow#x<3^9YbUcT~xsXMF)9b12KYOqw)EWOgJ=h!*a8%(VB5~b>opl%m(_&!2%7 zo6NnV>qW&aid>R%sBW9`719&%YUze7;r*JPDDeKcD8l)`Ujx;AAo zD#9#H8x&pY)8!%oM0^Rl;g8FUR%PJvZ;HZ-~-AW&jZpPZ|jS!p| z0cFTWRfqs!go_RQ{luNfK6U3xHur4k*$)1J+sPNrD%l-LME#nG>uh_)OlQ@HV3I!p z&ta(r^XTXfNQ>c5N>zci!pSXTei?inlQyuF`SUY(sp)jVvt0AV67x!dJH>=3a2uG~ zaF4D^3CeMn?w5@uS298zpOE!QSyqT}{yV8D_WL{Zw>(vV_cTL)rQ(RR^0CB`toI!zKrmwWD) zKrSbAZ|`NA!{H?=9Q zape;#QUv^^e!H~f^wIOI%Rnj8^E?>5X`9B?o&GUqUa`;o-$$=mnU7`{v2b!ylH_~j z9ApqDfKGAyj8V9Cn{Ba&G7$91@d~vc6-SIaf%vSnl}Tu~KHUx>PMU+iTlkJz1v3v- zfbNhw&z3%ml1;)is{bdZz@kk5yZ+a76MST42K&VimR+Kf-|Vw6E-3C|3?5qv${$cT zw+CzMPY-?oExuQY3SC!R)75km!z!fwAV2HmG1aq9 zVv$%-y>Su@Y~8xzebNcBCJhI)yr4wW8&hQriLlFQViNxM;v-&-tZXcpO=$ zUq^YXY;E61nyQ*u0q#}yQa29)TP->iv3QO;yPvwbmtVCPk2Jfg6&f=t8)y}K-_OBu zR_QJVddyGli+d_{mb1nLw5AL4m!{)xi}2R)j~@jiHPsNt_~3*aoO!YvCiq2ZSO6y| z!gtBv@>RYk*@57w{#wuebBL6k5 zL!075pnyJ z8yl;TaXvaan#QWe{^KEfhg0CF-4Jv*46yv^GW(;;gwqG0n1fv@CMLAl7+cMo zff;5{q~V0V?O^L<8%@1O@BC9RK7g?VAThObM|{QHKk-vn zD~oCVFD)!p{YHl3GCfA{_W@}{OGMkEfkNCu)(uW!?tW(a(W#Di!W;Cxg0SEjI@sm) zX{>o1`-d_X$89?36k&iSD|e1Lz2<&8V51xG+qKs$+s*gt`*(NS-&yJ_JLCtoog)N^ z&g_rNe&zlB%G(=|bXf86$=ovSfZa8>kMg8e`imK)+SfJc#|>vz-&EM-?AgnKou2vq zcz<-+;c^m;Y3suul-kLGsF)iWm_l9<=A?T*Uh_6gV^EvS)wYP$_BnMA#&j^dIby@U z*<29rk$Jyk;TE}yw>;81m=w?gmfCxG;lCi&L~1EPwgX4Bn!0q))24IqJ%?Rze?&sE zr~;cvLS)IcR9^8V@c|ApBS7~dPto?0s$S=^7)i4XC_8n`MV9XOg?M75rP}?w>^%hi z6uWn3;=UGWk!aZ_{-Cp7um8CYzMb2CYR%h1A5c>%Zvl>^=vOlijVaT&3hTYgu&!aY zUkb)&zRp@uI6XnOprA^D&dSi6Mk7Ft%1u!=y@;3C1&|Env26nvKop~#=$M2pge&J@ z8gG6nO}_wLw*it~R^kUo#kP7kSElU_A!~JASKTuCFY^I0{HLW=H@*DF# z*apd-Nwf8dCl>(?d7(i-b*9I+%%7Y@rswhCE{&BTk2+`VcE;R+RKKnka^u}pR^y5bccHtwP4MvRiiNQ_`z8Zg$hO4A~|D z7)JbAQnbdsvC~=MF`!sz5_jAOoQLyywD8Tm<F?9Z+2vAN9$pYA;%> zc(3(-@|s2IHH*~`d-)U3XV`Km88wy`RcdB{F;-3TIqxXMej&;`9AoG{DJx%e zIg|u?6fkTqu)SFl&%9saGaYaFP^3p13_q!hDOO+dwIEDg5CYbQ>rSo>L*3Y=eXJW# znO;=Q{0~mUzv!UUW6OG1T`_6B^j|7qq}`Q+C_2!S)H)-<0wQKLyulM##dQFJdE zIJzkV8F7}JR?eUz)msm3a7j*&=}D}Ig05AkVObf2Jgz?NaQk6Rqk zK0n&R(<&N|EcaXo|_hCo+4bhIGL7B&$RXE+&lXb#1st=xzRL94nAI$`8*2^jmWvis3jb4Qdf#Vue(^ zS>%+0DzkC11%)a8sxiiPusxU9&)1gu2M$((26SY&>tcDx2enWty={(H9TbWk6!Kxe zE?9Xk=v_c!ERysYA(~nb_Yy=!r|G2`qwRqygaYHb*ci4 zC*Ouc7J@%A+|9(>Vs79h1Q#Zec!YxWs{_CyW>)ua{y~{Di;Vi?_Q|B!E5DdM{Fs7# z=}ui(tNhQl!q`Un$S1ryy|R;ldW@VQv`|~W?Ih1?&p5}SD3yJYEyZy>NYvoi{bwW< z_iR$jpYZXF3Q?IR*;*4HEn?Z`Y1wd+ud^!T$HXu8n^8`FQ>(fueNPNMMtMMXheg3= zfx)>xAzlw3(`tV`{)aPgDGfPjeKioVoL&v4GeEKj3#VcB9dm73&x)@?=DU5#!jpMU zL0`OPq#9?&I|gk9f0~&=7f|1eD8HN{y4{^_c`_WdFy9YZH}@L8UwP}(xy``~ufaB1 z$6|xm+24Qfm<)d)y8-aZVBO|*=lKK_R)!*#gYK=|#?gMLEB;*yBGwRCS zs-I$Y=vUVG7Z+Z>9+4ecP>;a+eUc>i@(sHWtZ# zpp~)jh050&a<8_qvnc#ZH3BM)em+VP?@LM~ZDZu=3cMV#=0Enz(BD_Fk^a0l^HyT0 zpxBg#%e;aRUQ2=(3+Z_O?wvH8;dLM--IwY}h+(mx05D?9@3BdFh#xEoI*Y2kv6wBk z_HlWObvfuywLU&`lD_$*Lsy3MCr9CiJ>WTyMdb&XyvuBx@X?QFWIQ_ z)%YN6^*vlJh!q@5_z{&+L3zG!CL$+t6&3?Z#4o`TKX420M{Zh9_Cpf$UggQH)~yrP zwif%E6+lDE1Hm^`gy0r;?Xhiq@Mc9wz6RU|QbCA8T#YK;NcK)LaFjL9IopDkfxP|fnR^)r1P;SLj?S60>C!+7b znLpqbwRTlWfo*oZ(z4cYdmkgF4<8}=h%`~kyu7XMotRKe}8RMnbR>Wa-;)%RY<)BfX=B#)l2fdz}AaFA*trvk;)Af zV`IU&Jah&m-!|bRS&rVS*oLrJT)hQ|zT`OYSKVCwM$l67+#8u{{Mok(INot2Kzf6Xt33-JaF(uJC=Lv41xVOAR`UR=3C#p z{qH^g|5x8z5{!_*(6HnfO_l}hUhVFwgR%am=LiipkqbaSWw+K*EAdY&I%E&w*iy1V znzvodE8#{GWec3HHSy&VckFQu7-pRa6ivOrhn#v_dlmS{|J8NSox%w@W<1{<-uKXN z@wCrM_Ua6EDZI_wc~)v|$*_q}f!(IIaKzF zqhqr=u4r#d&3H3IafG?_*4}7jzc?Qhy7SWFdBPr;CxUT_V5T~bwpR^xM0W_=Fcoba z-|n4SiY%XKK=j&g-zU}hQ{RQx4FRY0F05SOzjYy8w2{r(_5vDWhJAip|LX6qsDKtY zJD%IN`FJ^G%i6f~x=|=de7OLr;{w%AeA{x{Ic9J~NB!@iH{l*OsUp<9Et{s0Jdl}& zK8TMTLG$Z2XTCDCny5cr_NKI2n$`BaKv;*-2Gcg|Ptgmt26g&K0yUxzYrYsV9dvP^$dx)d2eb`5M5Vou_F<|zQQ%sq` zNczpLu#)fb2S9l?>opaPoGwESQXuQMD|@oA+lp%utGdttoz5_1IumOoecI`x2t}-4 zxhJ?t31!qv6N&GOi8-p{Ucvdi!9TC~+j03NO{`sg$%f%g=f5u{C31|cf$CxK)QJ`_+9n;zd?Sb*P~)FTz^9XL(DT&zohba4#D=@6i{~*V zVf0Hh=~~rF`?db;gq#Eci*R!F`?-9W_o7yx>ASr6!ByIdDa$*N`9Me$%2?-)@> zuBhNXsm6i5VYG~twj*+m@M=SkOH=3F8)#3hSflxuK(|f34(;%>GavTK2>ZHB5^-mbUTLUH)m>V8R80{LF)DOyFE>a)=*aix<0-xVUF1 z*C=d;m2ft9F?ZIj4cU%-5@}1*47KBX>`(=M(>|Fu%;G7e+5aB*nywxXV&uGBMLQw< zicA>oFM%1-hKT78_$@LQTI*O>dqP_wwA`JrVWLE9#vNv_^~H!*3vaH)9x9;yg4?hq z_^r;b=2yDL@Fo1<>!cgqddR0oloL0TqT|`=9JQ*s;o%d>vdu5*H{L@XD{_cB(Lt6g zbWg3ybo~WyqSuk4x1q@`^@d`iTYK;a>EEQ5$Qy(gkxweL3`t*FE)9q7t8cQ4P*_`b z;fvmbU4X5}3c!OOXU4TwZLTj$2mKX@c=~?xr01NRYrmx=2iSr^j!6G`?ostgOU;NA zN6Xv(xc@+*CQaXP&U)^6E3u_5mFAk>*b|26-xey6ZoQBZs(p3UnJ;p{{GBkc_!f2J zd9Jyt1(QuXm5}>yz}&3wK{pHn#5d^I<@%?c`&hS?YpOi1A~LzJUT@vy#&Q{oztww- zy1Q7t94TyW^7dg~Ux}LHyX>QbTYe9S_Lp={pdX)R;WfxVS$T&!g4`*!_Jq= z^EYmkpi>f}+)x|*AISAUFAv4=0sdp=qGwTCsVk)G%5lMJqRcCu#d=(Qp=9E?W=|Sr z-UQ|un~U|1f6a>P)L@dRKZ4K$yrQPR z!t6)_290JFxW0!?e~kjM&KkDcZ~Rup962!r+|EBS|3W&H33GIcEh$yu-zSnjZx`?Q zp!7D*fwy8rOjI{H*Bx1V@HIymuSu)?B+}ytZ)!85PnthG_fHKhdcUr1XKd~0XD_WJ z9nBrOc(^s(8_QRaQq*QZeI&Y4$0Lcl>X(yDddg9@-EF@J&eDf?D899weEI&sonaqe zcRD#}Ui}7Q9kolI20f%e#AT~6bvFT7lGez!0adyxYbu@`s~i)1Q0k+IlZ~Iu7nd>l z7%cpZCgMk1zGG&n!HKHQ!K+DW=MYaD_lnMo^uqj*HZZq}$~{aD1Xh>0C~YR7TJYKC zwFi9a9KnrqjrJ{)wG)Vf1v)QmKE^3PeHm7rYm-8H2TPcWS^Jr{AlE-y*&gWZInr*z z$QemWz80x{kh%#{cX(}o(dXH5$- zp4`QY^>R-A$06rY{jWI9SA`B;q*KmPg#jxAM=3WIc?Pv!tt^HKfhCl1%IW}W(jWRUMf z)^{BCfH0G9nf2D}wN;HTwsQ@aY_G=jn46m!uALbGWoMlFlA5kUG*A5JUeGv`Uz{?| z+oZF2)b-rEF$?utp~(T=JC9j|tbZp}dY=Q`)bw3O=hy(rD}Pf-`NftOke|kMT(Yfa zB3CsuuN97$^7rc;P4E#v@>$!uak-shbs*-%{eM9q6G)*dWiFyFs0+XUay#deA{~%0 zaF{Ep`q0V8JGFcB9MJ1WvItE^^GTa#lT?N=iw7;{bmm1n#KzC+&Y;RSe?v$Y6Rx-T zrz2QUYpp(m%`zXsc`R)lVEpYR5N<&pKH+t%JaoOF`)z370MJ`_J;wU=;AFpii|FRf z-xrntU2K6=84W_k&ArZ&xcguBXsRFrOH z8f50k9aDzFo(s#WKM08%pI`dbvMWsE3R^I$pdIb76!g;gBft4hRsZqZhT@RlyT)!e zYW3!!!ZE)jdT!U?f2h{cy8YyHaM9c?g~L5*tvT1~p%t*lOJ{K$7}HDI&+gu6y}6F| zF4GbHz7!zRB^OK#-j+8&t~%$my$-#C$&u=ZpqyeMjctz4Qhjf>sH@e_2~ z*(ld1Z9!UAG0u}Zt$GgyIlrj0_XA5I!6OdK>c2A0)Fq+!rQ!|bA?_yp@zpIYVH9~8xIEo-k z-xwb#q7KEw8p6gQ*iA+VOzivJW1~79Qo+&7z+Q9vP7&}cLbs!*+DwCsSrxCtW~(!v z&JMS@Lt1>UtFOCWz{OuZLMfnHX$8Yqyl+i}um0j9&|o)@V|MhH(x!zI+>GnpUUrEN zvZEa_?n4^W;E+$%tPiS$hPpaXoRx54N>BPIa(m@&gDdpLt&QH4^&189SFb~&cUU2w zEY|7^Lhed5vQaBZqCI0lg7J`nek7q9|0u)Yo~i|_JO?|GmNoZZ$rEueAc}MC!szjd zxT&d^xIN&A2j5Rb4(ZIhX~`xYuC?8G0UIpHnlp9&Izo9%hXU}T(G&cv&=e5xx+YKc zWPd{SsIS{dQ$3c?MZo7X*bD8|4>f}3CXW>9>ZrRJ0SurWS4vW*nZp~)p*na6+aKqt z-QI^uJiD2<8!rXw{Me(VDVaMXGv*F~?r8%w9p9RQtAr&LUQ!~%&P5zLD*NZViF|Gk z<)$-3>xh3eXTe#b)hsQ@PKZzXpLQM_d@5l%_ayvZ?O=JBDYxVp9c)Sn5pp$R!VU3O z@O=H7Xe<9Eivm2~8H5dR` zN=0V$K7gu6@okqR5ManoM-`RUs!%Ob!^U?+L}FlM2#md}=Hu{bJ788j{nKSPyuRS$ z|L=6SLe0yvLp3+vQ?)P$?=>#?RvNeC2*W&{jkcCg^_*(C$~c}=M7xEK{eBvr_+k+( z2L}MLOZRUJ__Eu`c0@UW18cd`o}n7D87>YAHhu?-U42-t?-XO|H^9LQNHugmYJZO? z>Hi#YYi|Q$M&+wvAN`FB{-lE>|2sFTX!^o%FWT3P5ZGcwU0Dz;1TnRgM>$K-3-_YO zcv!v0FWpLBw6+|JV{$--*bs zTO<0Np#Dp$|ITXz0%-g9g!tS`NFIk0@TNrZ`$R5GZ(tGY{w(VxW@qftC}@l2J1}7% ze&$kT%r4Lb{SoN=k&hg?IB5BFhdFun3+|cXXYGPKxD{NP9g zp1E)R_ei2U7JBO&2iQ9`w>u&8AFJn96?nB1{5PRg%V7@n3;PoT{Y7u&E437}WdJrn z?XtT|8?gJ~PMoHxk3R&%9~$7+tT!hG7X`U@u|VB)H1(4C|^9CpwG zOQ|y?s-jMJ1?vJEog64nhzPkntbM|1RJG%;pIFBJkY03PDJP8H&gH3VGuZ1*{7|Bd z14+PTd9F*h+4D>l1o4L-^&&fa@NF#p7c@_Y>`#7X`g^R12p#mCY$QCyUNhxWT89i9 z1XUlS5)~`0aVO$dVv5|GubND@*+9db%rwuRGfR%1NQmpY0f_8i0Le>>EN#){5~qzS zICc$IHIW-*llXBLYhycYfivz#&)*Ks$`oiVK2i&sgp8`&{0P^rS${be)J^`!4nHE7 z6hIsaj>Y(dE?aaP?&cR$)0ZKq zV&C~x+}oB&`Hm*#Iobo+NY54IB82h@3LOk*42O=}$-;>7rpzyCxXZ~#PX6w&nuyF^ z&oU){8N`iVye>S*?JE@rr^@O)Za*0`&*?mRQgp1yy|NS9d>?w-+THbkRq{UYoMm!S zi+$3ES%>jr7sbiJQ#3~(!=kSDexT%QXtO@-pn@M(jLZ7!ahX0v2mq z^VGXadgD>Tn?L>d+dCl5@5|-bczydW5Zd@*34!x5a)nN;CNQc@t56=bNeu9Z$k`uy z<`!VWRH8n<%Zv=6Eq40h1b`^PNjLD=6{8!x=Mv%R2N3zY2n6V~QA^y*Ihf%<$mZd- zE>sU{m(ARg7U0c&=AU%rm>X)uhQ9b&XE4Nju5jEhE~&%~yd?0V-UzbZ`K;Y#)uaK) z3h1j+rnm<#-F(IoPB-R(!Rr?i*k^G&=Z80@675f70nw4wahW>H8XX3LmfH*vaW0`{ z-%P^y*Y5qO0k`rzD~jaMK3C;I{BSn~-WVX>3pRFoN7!lJj-Pu19M3lChpqmR__GA_nY?^wFgk9JN!zWx0!wlEXQtGoh&ndQ!JXj#v zXeLAG84Ef~Zv#D-aC4kDEhg~G4T4p1Y?O8fTmWsGhzr~K#cUTSu}$)j|H^7GOY$1e z_wP3tBGqR{s4}=Bq2~O5j&_0JzXjHv#)c2x=JN-N5BN^6(h!@=_DR%zi>8+qZmo|r ztqfve@NIph)NN4Ly9qu<-GWrhw$}6{3TKxGZa*cS@C?Y*lT4e>^I1bvyp131G(EXC zw|*dosI&wOsH||S99*fnIm~RY#KvkiRIy?T1)a7^4)4&3lwP0bwiUN=KAmulaaA{~ zE!jgBV9poLp-bp4y?=r#6~|dFpFc#bSj{vZ=M2X({>ql*0#_-4X{FIOSN9YRi36{Y z^r@!PUXwP+u%jKa0C~bc#qGGDj@%&`&od3a-o!!S$t7W+Hv;u2Qf?E-_zEi6`H{ln zYRsSH@3DsMpYz4=RZ#9>x?^qKMCHL|;~TD4vwG`GfqxQsIMxxTB1_Df`H+dZr6Y*} z$I|&#cLiRvD(>kESZ+I)bm`W2MTnVWOR)>NN4QJmV&2~Pq5)(sbL{0g2JCC6g9kzg z9vs7N%p?T8)2s44{sHfL;4yB*5|;d`36$wIYr1?(GGW%HPK`?>XmdRXo{Ft^){m09 z`i|ERBXq~vk7=m{lpqjH(5;HiY{yRr*s#wnjFvX`(8_+>9n>!1_AN554Xa{aVmkBh zwms*CGM!p$goP=zW=X9ErfbbI^WWIHQ3F>6Z&OqX2QVE}{s|PoE7NZ&VeE_M+9|y8 z-|)7{dX3gcM)NF1&d%X#>Jw*P%N4NvGcj3_)!Ysh?{L&+zj;VUj z0_5-Gix8yCDkH3OBI=joq0C>_@sBDCROz7V>P*_kPMkl8aXde$G~}Kja6qzQheN4s zKlErVJ1Z5uv4#2IbGwSzOO*VvxoyTl^9qo@SFF?Gv-DYi!)HqO$h&Oat}|ZtWyA>i zc2=^!R>0f2)uy"So*jn%!X8=&#vT$t`rA1ll0Px8Try;gb)b3pEA-3jkaEk=k9 zhU2#nAj4N2TpIB#y!ZT8N)q(^Y>cz042W?g1oZ`IEhe`}^KI9E`q#(bQ+@K<{grs) zS*akZ0f}p?tb3eL3cELGTb^BOYBQ%N=(A~6e|I)>bOZm(mr^*xr6}^Id!ERR=o=K@ zc2C>MyOdkGIO9+jqs|!BCtnGwZo}oCS-ii& zdO_?&L+p{?2V`{sBJ`Pmo_no!Le`KX^1je|LO+3>XjBiv#FQua1ls`ye9f46B2_80 z*}5()XM>D3ZHIGoZ~XqvgQ)xI3eiF{ZqWv46taE;goxEW#=5IYc@vWRimNGk(k1SP z&~>{b_GJyaRkwX2aV(U7-Tfu0tmbCaspAbqVTpPV`57xoz5hT8+kC1{d@#9hH_R+b zRW3o?2#0;&^Rpo|Dw5$#K#0S?zt(cwmWP}HMnKAhc3vskT6ln3s zzZ2-F-}l-KI1#`}w`rXT4UeqX+s*}3Tj}muHG9fAQGca$PN`*nf-~w3^T?{L8F8&z z&RRg-g$+LUvBPlE#KMsV(*;H$%^pITi^+QYxzxP&ENEJqL7N6Yd$IEv-Hv5nn#KAp zcL-TmfJ#KpWB!d@Z;Ns2=uQHQBb!pJ;hmXv7YWcd>9Gl#G{u63>Rf9Qm%w{qzbbc9 zPSbG>l#1MObqR(4GWMV4pqB--kLr}{bm4PsD9mX1@!EBb*39UR*EIMrKEsWOt=RCM zeGtTQSTUl;CfU60yv)Yt4}`zJm3=9!G3cme%0BNof5HQS8*IU%QuNq~Ff^B%?=-;0 z7rn40h}9?m5c?jjg7fPS!O<6r#0NaSQE8{>f&f9U32v&c+)5>u&A&7Q2XOtql_f=}geYMI3mjlz1I04BG zzCpz7b9AGxsD(WWk2JMqx3SZh|NS%q086?*iW0iW3x6X0iA%z-qgrul%l*Wr>fO4t zNtPpgtzA`;hIO5N;8EK;dpBu=NKJiXw z@}MP$MbQv&C*xF3%S!vkwDTyHVRLOK3~Ez!7ZyP1X?J-^3R|JMm!Y~tu?f(WEyVF} zb>+bPbeqJKCk)Hvn95dIAw0v6o>Pb7wzM^VJ{6EVj6sIZRALQDhV-|+xz~dk;MBRg z2TY=R+oBp@hA`@AHAjSxCAOMr$L;x_hye}oZDlv&niFEYXdA~(=K&3!)_7xpvLF1- zPeqPOV5_z&+JF>``Q&(hkUwAv9W!BG4r*B)cbS|Wr3hSK2;aAvZKTZAka~N*@~Y`7 zPcPztkx%j7iQ?N!Q?4;NP1u7I+Hu2So5UXR$;}bAOXD17i_M|U{2FzTGy(#EEV-3W zIB{i%64`z}@e>!*7e9-y8v)uAID_(h-C8H<->8_53afo$R-KpEv!;8ndm61HCL3T3 z3RS}Sv%6*W}xP(YzA2mT`e_b)hQ3LYo8o8)nE5mKWnYL3UB1r zTd0tfDVPV(D>YhOitrESV$KvcYRpc7oHbhAYn!qW!plY~xKL6Z0P0Ob`U4G_#7~Zl!QtSUU8Lw8$IEr8TEt8R<`N$JmtHBQD5cTyvFe#j>@96E5C-i&fo zL`656iv7_7^s(v5K!QQ-1+?k%*_5fNL8H5=|DroQPAz;>GY;bp$vY~}EJlJyUScok z6K*c-b47}MV^$9>`7C6WC36AtkOVkMXU4&heuXZxB_Tx6(AY~&GQ^=leEw$ZbVQl? zQS1Ar8>KXRB3U!>g&M1*i&B45hJeEWceoOnwRj!&RV(gn z7<>`XKy-gH=l#s(hw=ZE1oxUn=F-9t@#!ep(*w6O|2XWUFMr4Lhszr8V3POI)tF0* z_@FV<_{fsCIK9ipMHR>=tDn1i&VIL=vWXUr`JShKdx6@d>H~NcTJuc~s(58)2#oyr zIzC7K)x8*LU}iD$EWqrGhw&;J^3Hqs+Jy8_#gCN5CXT*ve}(kVJn)cs?d1ft`&;$t zC0bOgV`HmeXEp6wf-O>g-9JTG;`1wQn!&#p7c*N=^RfBCTHyTe_KWw~@FXtiQU~Ff z1x=y`E&?*Rum8JrTg;u^Lg{ZV{vLMtO}SgoH3K9opEBDxp{m=u{*SQS{{O;SYR?eV zx7caKr=`eR^yXl>3lwtY|EsVrn)oM4aREH0Svb?Q&YsD%G@t#e9o(xjy|Q~u#qxDS zYzl@3b?7450wPLGb8SdN0Tm7yiDR=Kpp?0w5gYZvIQkh-l{5&~X!RKaNJ`;VkC2#| z!1>-8``U%2(#7&F;nqOCfkGfCuCDqF$AP1B(I#)556LbvaiJL}^z}I<(~1LP7`K&% zam-yW7ayI9lt^4`-S3J7mEfAhCY}B(OX?SsIZ1y{N2=z4Xi9WK1)dl7ij<-o{{G@I zX8de)_fu<)$KX5{=1o0=&9y3!dE$$mOLcEpukuhu(2?baarcl)3A#v+8ih;wij_a= z5w8Df{=oLS-CeD}I6h-EQ{3Sob7nkElY6{~eAZ5cl3Z865v%#it_@HbaFtWFS2X#j z0eW9ae7Yi1-%T2=xpVHCM&p;f)bU}p6I@fmT;%yp&acB3RM!LaJy!_v#aK&4Ny^%s zgE#X`3dCgH};vR82#bz9P zunG1ATgqB<5BfElVYUWE!n*irU>m#_LSpZni2f@oAegHfoB-~q<_A;2U5+=DJE9xj zII{KRU&d7QK`V_`4UJaFPbt1tFC2#~q0UkK-gb9z*Kse+P^FxtG&v30qWXzZ!?V;=DV1qVo}PVxLytG}>O_#CrL`sYl{gO-J6FRf{T9)z}f;Yb-A`?axkFr5{3 zKKB&QWikNSgBuqVJNOwFIUv1wZraF4!iDUG$+s}^w$Lo!VJ7SL@ozCf6J*7Wc%@^^yL6!m z?}7wb)h<2gge_NqnQ=EC9Xc*sp=+-(E|Mybp-1#qaQj;Q%x7?2aa=3)a>l2 zT)p6=xtyhbJ7wKoOV&UnpBwPdXr-k1mV+K7e@TP)Ela9&)!FSlA4Do5DR(#OLVy9gbmLTHn$m%M3Pvet zOSjsd&?j_mU&dcEh9$-XX2*Q>`MY0Re8Dz>n6~1Bo=n@YnXz$Lc|syDybbMPJgd`7 z4T*Lv6?;;v zrCOvkIjStCA<;T#irA&MW3SEm%Te>a^8mdLrP#nweKJlXuer_ajYhSJ>aN4vZvBWV zQ40o}fbgpxfs-=hty;0!w6nP_)E&T6LQ zN^MRXZ<{!r9vswi)dfBX4b|+1fZE1hf&`vBS+~QNU$K1p{owtb8t;uHG!}TxgtzCdSf)}CZ9R|f)Vi$qA}A`_$vhfD@jBLc&pkqq7TGrCZf@fX6+tAX-Ek-UeVtj z>y+v@G+NlGrWyXW`_^&@NaUp&Kz~wi+D4_y2ci?_{uH~2yU5F7<#2G~;dHX`{B9YF zj~maggC@|j&2g@$0-76g!ai>dfMNtJ^DiNxO7CN?1VKklD!Ven?*+cE{&(Y=?BQPg zOnVw+2dm9Tge;ZLd|+9b4(fv9$7c?EBg~KD;=U9EahdldhC-FsKU}FZ2$>-psIo-w z*(x`ZG0{fqBYmj5jS1}r?O(bZ6Ct}3hEXd1;9%vbC?m9ESdEYQ*@gYW4t(98*b5D% zDlL;*$J+&ZlfHaC_5Qv_Q)V(8a2g3&+j*4PWWD#xA1THUhm#RTf9`* zIThWO)6&@s(6bRI(Q1oKQcc)jRkK(P-YbOQT04H;WWkMhft%I!boTyFi`eqw*Rb=m z%Ua*GH4V-=!kE*jlDS_IKeTYe2Ip-YWvpF46Em?Is4GJ{@WPe1!nBp_?$G9XS=cQiWBZH zm$`Qn4xsgs{?>-J(YgioeyFXrugh|0NJXhBwCk625Nyzo|9cBvdoAm}6004q9rLuB z(&NY)&(^-1&asYa2ShCx%!uoMq`f}xDX~e^NHmO%P3Ki}t=Ok#oM6SoQJ?kyr>!r4 zOF9p`#w@8xq;g6J7g}{%%qYzb)G}?FQYtIUOdOrbg>nrA1lMxO1~e9>9L2!N~EfpzM$c6yfMd%O z97)5(_MluDQ7I|uK@$+WTCNvr zTv_b4ep>8VZWMZaQ!nh{(fiB8tCG;HKl2Y|%7WLqs{KL1@aaS@RDAZJcMyE2l$Q6t zl+QK+v_O_#{cu?s#y7cabTG(?UD(!=85A296gh{8AzbAgji>dTMH>C88PEK;ezr~$ zm#Nmk4}?~83{SYJ8gay#A2a(2lvzO5a!O5k{Z(S&YqGd8`xc?kS!gxzafO!ntTgw- zf;|UiI&cpSTKy9Vw>rT)(%B`3u`QVjb=8SpJ2%|lOclY@lCEe^w-ZT4K>w~#(Ulm+ zM9=I}PaxLRP5HgSPl4T#^-GXOV27j$2J(#6{Ul}4GU|Ptop4X+07GHILd~Wrl0;A= z793zGI{-BFt;0W1@!?J;ZZwxe z`*u-ZpYY8YBO<SmStIims?FXQzq}vwJ$x17d{he<59-M z*NWdir?KPImGim8ZA(>dGi+@G z>aDvRX`3hdj~IilC0{kQxcBp!&j*j|5nFT``OM3;lR!xE#3Nk-6oh^HRs zIj;hVyM+XC#Rb8AFK6q_nX5F%cbUBpmY)NO<_0y&+oG31n|6oNRx)1=mnqQ@3hSF0 zsuFXppqT?*Y#$6|Nxb!on9V2ex({^A)uWbXXCRvbltbypEJ|6s8TnKpWDaq}=)ECwM5H(aVf-Wk zmfRe2o_y-$yb%=9t@OZj+buVBb1Pds($I{;qB35$7TT#59#>E>caj0C>P6EtfA5M1 zVwS>_gCT~a$_vNU`|hMf(XHU3@}rqh@Sm(e#(^jM#lv4_6`z{K(aW?kIr%N zQdRs^M{R$qWz9{V5UhneCA#g!uj*4hvC zFrvZKN?YrCGw(Z%DIs|_3=0+0^M#@X_a4xazm)5#S-KHyy z!@r%^SHEwEwBcNIzKmRF0dD$)zluEL=McJ4r|*2HWtI9>oD)~sNe%)LQ}Av-F0%LX z{2V88Jqp_JX;QDtj7w|DjPT;;6_b~ z@7f;>IclZwR#W}ku&T2pn(xzi9i@|=!RD+(LQ{3#A@fH|sGm~5k`)!M8{qLN$QsZi z(EJLHml(ZxHPe!_r#s1Gf=d@v9(TJax6cj1reBt59b;Z{FIk?84po6dq2ANG#h1Rs zO3fFA)F^Y8`6cbO0fsgYI8gBXO@8Z?3KAZaep>x+bOCqm-?m5%EVx)17k-O*wiLR2 zKx7{%E6rpf^VRx5Ak){0ljl)^(3JSibaX zpZ-nJ@SxkuH(Lj8Is~SS67QJY=L5utBa(R*xcm} ziF0PX{G5-3$CM+F4nwzHX2Orcy-&2{!y<#;=;=MVRWTP?4z~eP+wB#isW% zcW;XwD3n|J!syF+!deQtP}xF+l$zVbpnZCIkdrThlV(tfJzAZlS=$g~kIJI|U+sjs z{7ayL)ARCoz|gT;QCR`1IS4%Qkk&DUD++pF5Jz-@{5o2*L2(j($@e3kXd}1WSuQH< z-fhJ%`Z3o0%GU`20k6o4J_3`)9))K(+S!s3+C&a^a>V+W>dUZi{7zJp`Qmf$zQ&DZ z%c)ZMpo_v0F8a#aY77t993GMCj!D)uUo6#KhUl=xL(3WN5b=dQiiukdB>|ugNt&H* zliQz|z5!=z(YMcbb1*CTO#D+Va-ZK52tYRRIgY;hfjx0c+*ilQ07(y1V=wSSeCX6j z!HvN2SF#-@8{L!I5`7eDHT}FUB(Gu{<)|JEeMX_?u|p}=78SOq)!@1&{{yE~uX~q0P%ruzDcQlxS4LXt9mt2oaA1Q=Z=tY)!Xca9Gd5&)S}M}k9NeF3gFE0lr<{n!oyu2% zx4oi{;Cw*Xj2SZgJ=%T65*iA_x)I1)vw{N~_JSO6hQ^dbdsnx<+UoQwe)fvlU%z7L zvRd$jwpnoj5U<*5QlG8{9>3|jJoN(q%sWQv-dtu37x)r-4gJ4^7@cN3f^GkXo5}P9 zeN${_%v}D;#Cpv974+j$158S3D%Co9NxLy;*&u1gz5nT)Bj#ckI)uF6{|FiL#wb#{ zBOb_0u60=nQ9kPA%jGjK1ic$?N?D`mHr1(OI4A2UlwsBVP#OwD_pEW?4+wcfx}{xi z(_0lka#xI~#$v-V5CO)0O^C9T1p328`hUcSUa`V+EgnZ)nzhq7hsc+$=$7RMW`?z~ z8Ru!|YeL)Jo>rd-Ri(BUmM`7;Ae$=hS8Gu12Vfy`OSm>BG z{5eW+F4=?&L49>!Eoq_ia{K$oohy~M=))vaw2D-^=0$3`RB!AB;*%@u&+-hE4)|K6 zEfZp;$J7s6|7wlZAGmHb8x}#^^I#<#X5t#s0a+s&hz*Q-iiHIyRwa;*nGJZ?cknU74eSyw)6RsMzFxxz+KV!%Qvn z6Z9p~EQq%aOn{(Pe6!~qe$MNd42D&pcvzYpdZeL``MZnb9KWyHS;eH zduKLiWKrHpd|Xo)F;w_TK5M6||NhjBdvABOn@eQbKK>KKZwy8T=6Vjzq#HJr{DMsF z1OT>yE}T1aP5S#3YRM7jKn#QNOp_nDF_^x}BIb_ksRDB61*HZQthnH1ZiAguZij<> zw5qL;TyBS2@sjzL-&EVFS?5R1d!MAv#`T20;H7mVJ{H^m&)hZG5VI)OHjd_dG zAs+QPrAHZcmEsG4gNV1l zo`FgFKX02_j9!;~ZH^ia%A517$!)Yh&!fy%8xo3;P_?vqMEy<#s`0`EaZabS_MDg3 zY`d#;=f|;MZ?#0bilgs?NVQJKd*Em5x1zUU04$5!!$5ka5n$UTb zy{JD%PtRw1fp)ZNVcrT$o>hC}_KPb)dW!Xt5Tbk&0zZM9&-nVZiZ5{&>v&V z6+5yBh4v}F^6hxsDHWP|h~%{%evyG8Z;Fd_sl78cDYTe2&?^w_vW$b^>pz-#KaJNY z^L)4E`)uM;u4gWB$KOAE@Xo9TD+2hLTVFd(p$0&~O zJ#rnew936}CGycy=d%vjWTDQrjQAJu_k*m|N8w`&SJqZMXj4~plpShSvs8e@|mc>H4fP6Lc;ueQBTZhT<0V@8t$FiO@o_Y9rI#+x3qC8M(#c_s%ni!BMcAn23!L z1;~$EI;tM6kc$->6+`l)0y5Fx1Mt2P)u+<7~X~Fu4+xJIb za@X1%A!`;W>nRYt{@s7yKc863>tL=`twNQ_>8bNHTZA$u`3@t6fH#ngd8T2^%-k7O3md1Ob<=J!qdDJYb?=+ky&v!Hf{NeW zcSL009bIL+-jzvu!nH~%X(gb`nkj`UlyYllcYK9nr`?@}biAI;bekP!(HJ575Vonl zWW$g;%E>wC)$toH#k?xODAeuamo{%`lXba#owIB`vG)7kDr0eI#h0&kn-9XJ$t?bpY-~; z$^0R?tEvaZIE`EZS9^XY0%hCOSGx8wF1~6v(kFuH^-_5GhUuUVY_yvCwf;?rQSfZ6 z6QbP<9Z6Z=M=QLYyt=gAl1xfu3|nnH)2R9mrJqAC40EQilgV1~!~HVyfIh_=R3A)J zT<{%um@mt-^Pu4L)EA3K*M_@9v)cz54VqZ`*TzfwLw@Tz%Ep{7nd<)`goqxNqg@#>VT^FjZKCA> z6?f_hf@M53c9B5-EzT}1JEm|al&#q&+YXAlP0V*$0Fvgi+4AEz^ej@tSbN~m)8jnf z?k$V3%iXWF8icoA{9h8_S>#cbBp|lN<+~a$dFbgkT_|;gHgtbih?Msyqva<7#b*Rc zui*q42aq?S7O3WpJ(+7I5CEqn+BDK0v}3`$v9`_8j-dw+r0EtH4?SQ3ExL?@s3lg! z^pE<=EQ>tpPlYW<8}}bU@qLQF(cmemc3Q1-b2~L9y+B$PtO6*i!zA(gl3Nkpr^f%p zSz*3=Qr6dqc{+d@0D1>CEuyFzuY~6LprH=?z}U3r{~zw^d-{ZEji`}{W4*ev7l&P9 z9T>t0MYQn8$H5lF_@}d%Jmo?G42l&mH za|>Ij&wp_XP3Kw>6#?^QN}Mr+{)Qe}Om9KdQ&0;Gi%ztYPz7z>% literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/profit.bmp b/MBN_STOCK_N/RES/profit.bmp new file mode 100644 index 0000000000000000000000000000000000000000..fdebca00110d5fd33a5befe7470b61f9f0785ba0 GIT binary patch literal 388854 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

btnj=6kPS0kwhJU~VIl?(FlGZh#I@I-P&U`^& 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 P)?~Uhprtv6sQmu}!X?1< literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/red.png b/MBN_STOCK_N/RES/red.png new file mode 100644 index 0000000000000000000000000000000000000000..e9ae5f78af82853c4b744a186922e1e9dfd07405 GIT binary patch literal 859 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 literal 0 HcmV?d00001 diff --git a/MBN_STOCK_N/RES/setup.ini b/MBN_STOCK_N/RES/setup.ini new file mode 100644 index 0000000..475e721 --- /dev/null +++ b/MBN_STOCK_N/RES/setup.ini @@ -0,0 +1,82 @@ +[] +1_⺻_üᰡ +1_⺻_簡 +1__ð +1__׸鰡 +1__PBR +1__ŷ +α׷_5 +α׷_20 +α׷_60 +α׷_120 +α׷_240 +ĵ׷_Ϻ +ĵ׷_5Ϻ +ĵ׷_1 +ĵ׷_3 +ĵ׷_6 +ĵ׷_12 +ĵ׷(ŷ)_Ϻ +ĵ׷(ŷ)_5Ϻ +ĵ׷(ŷ)_1 +ĵ׷(ŷ)_3 +ĵ׷(ŷ)_6 +ĵ׷(ŷ)_12 +ȣâ_ǥ׷ +ŷ_ǥ׷ +_ǥ׷() +ֿ _׷() +强 ǥ_׷() +_׷() +_׷() + + +[] +1_⺻ +μ׷_1 +μ׷_1 +μ׷_3 +μ׷_6 +μ׷_12 +ĵ׷_Ϻ +ĵ׷_5Ϻ +ĵ׷_1 +ĵ׷_3 +ĵ׷_6 +ĵ׷_12 +ĵ׷(ŷ)_Ϻ +ĵ׷(ŷ)_5Ϻ +ĵ׷(ŷ)_1 +ĵ׷(ŷ)_3 +ĵ׷(ŷ)_6 +ĵ׷(ŷ)_12 +5ǥ׷ + +[] +ڽ +ڽ +ڽ200 + +KRX100 + +[ȯؿ] +ȯ-޷ȯ +ȯ-ȯ +ȯ-ȯ +ȯ-ȯ +ؿ-ٿ +ؿ- +ؿ-S&P +ؿ- +ؿ- +ؿ- +ؿ- +ؿ-ȫ ׼ +ؿ-Ÿ̿ +ؿ-̰ +ؿ-± +ؿ-ʸ +ؿ-̽þ +ؿ-ε׽þ +ؿ-߱ + diff --git a/MBN_STOCK_N/RES/t.png b/MBN_STOCK_N/RES/t.png new file mode 100644 index 0000000000000000000000000000000000000000..ffdcbcfdea6a6e6172753729c7c03d332bb7f4df GIT binary patch literal 409 zcmV;K0cQS*P)Awx@{m&0003b zNkl? zd%HWcasEO`F6W-02Olgm-~8nL#4&FTROJJCi(A`%4--1-XSyf(!U2Z;d(?&@Fgnri%* zSU3h8xT^t9i(~Uf))yo}8bJ?^YYecs!GuO;K$Gg7EEmMV0i01o4-VYs70~qJsjxW> zXRq`zeFQk8h8~>================= + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + //=================================================== + + string sql = string.Empty; + string value = string.Empty; + int idx1 = 0; int idx2 = 0; int idx3 = 0; int idx4 = 0; int idx5 = 0; + + if (jname == "BDI 지수" || jname == "소맥" || jname == "옥수수" || jname == "밀" || jname == "대두" || jname == "콩" || + jname == "현미" || jname == "커피" || jname == "코코아" || jname == "설탕" || jname == "생우(소)" || jname == "비육우" || + jname == "돈육(돼지)" || jname == "구리" || jname == "철광석" || jname == "니켈" || jname == "천연가스" || jname == "백금" || + jname == "팔라듐" || jname == "납" || jname == "아연" || jname == "주석" || jname == "원면" || jname == "목화(면화)" || jname == "국제 금" || + jname == "국제 은" || jname == "국내 금" || jname == "국내 은") + { + if (jname == "BDI 지수") + { + sql = "select a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, "; + sql = sql + "ABS(round(b.f_diff, 2)) part_chg, "; + sql = sql + "case when to_number(b.f_diff) > 0 then '+' "; + sql = sql + "when to_number(b.f_diff) < 0 then '-' else '' end sign, "; + sql = sql + "round(b.f_rate, 2) rate "; + sql = sql + "from t_world_future_master a, t_world_future_sise b "; + sql = sql + "where a.f_symb = b.f_symb "; + sql = sql + "and a.f_symb in ('MK@BDI') "; + mf.m_db.ViewQuery(mf.dataGridView1, sql); + + kiho = mf.dataGridView1.Rows[0].Cells[3].Value.ToString().Trim(); + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + + + value = kiho; + + if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else { txt = "2_"; } + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[1].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[4].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 달러"); + + mf.setObjectStockChange(mf.KAObject, kiho, 0); + mf.m_chkdata = true; + return; + + + } + else if (jname == "소맥" || jname == "옥수수" || jname == "밀") + { + if (jname == "소맥") + value = "MK@WHEAT"; + else if (jname == "옥수수") + value = "CBT$CORN"; + else if (jname == "밀") + value = "CBT@WHEAT"; + + + + } + else if (jname == "대두" || jname == "콩" || jname == "현미") + { + if (jname == "대두") + value = "CBT@SOYBEAN"; + else if (jname == "콩") + value = "MK@BEAN"; + else if (jname == "현미") + value = "MK@RICE"; + + } + else if (jname == "커피" || jname == "코코아" || jname == "설탕") + { + if (jname == "커피") + value = "NYB@KC"; + else if (jname == "코코아") + value = "MK@COCOA"; + else if (jname == "설탕") + value = "NYB@SB"; + + + } + else if (jname == "원면" || jname == "목화(면화)") + { + if (jname == "원면") + value = "MK@COTTON"; + else if (jname == "목화(면화)") + value = "NYB@CT"; + + } + else if (jname == "생우(소)" || jname == "비육우" || jname == "돈육(돼지)") + { + if (jname == "생우(소)") + value = "MK@LC"; + else if (jname == "비육우") + value = "MK@FC"; + else if (jname == "돈육(돼지)") + value = "MK@PORK"; + + } + else if (jname == "구리" || jname == "철광석" || jname == "니켈") + { + if (jname == "구리") + value = "LME@CDY"; + else if (jname == "철광석") + value = "MK@IRON"; + else if (jname == "니켈") + value = "LME@NDY"; + + } + else if (jname == "천연가스" || jname == "백금" || jname == "팔라듐") + { + if (jname == "천연가스") + value = "NYM@NG"; + else if (jname == "백금") + value = "NYM@PL"; + else if (jname == "팔라듐") + value = "NYM@PA"; + + } + else if (jname == "납" || jname == "아연" || jname == "주석") + { + if (jname == "납") + value = "MK@PDA"; + else if (jname == "아연") + value = "MK@ZDA"; + else if (jname == "주석") + value = "LME@SDY"; + + } + else if (jname == "국제 금" || jname == "국제 은" || jname == "국내 금" || jname == "국내 은") + { + if (jname == "국제 금") + value = "COM@GC"; + else if (jname == "국제 은") + value = "COM@SI"; + else if (jname == "국내 금") + value = "MK@GC"; + else if (jname == "국내 은") + value = "MK@SI"; + + } + + sql = sql + "select decode(a.f_symb, '" + value + "', 1) ss, "; + sql = sql + "a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, "; + sql = sql + "round(b.f_diff, 2) part_chg, "; + sql = sql + "case when to_number(b.f_diff) > 0 then '+' "; + sql = sql + "when to_number(b.f_diff) < 0 then '-' else '' end sign, "; + sql = sql + "round(b.f_rate, 2) rate "; + sql = sql + "from t_world_future_master a, t_world_future_sise b "; + sql = sql + "where a.f_symb = b.f_symb "; + sql = sql + "and a.f_symb in ('" + value + "') "; + sql = sql + "order by ss "; + + idx1 = 4; idx2 = 2; idx3 = 3; idx4 = 5; idx5 = 1; + + mf.m_db.ViewQuery(mf.dataGridView1, sql); + + kiho = mf.dataGridView1.Rows[0].Cells[idx1].Value.ToString().Trim(); + + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + + value = kiho; + + if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else { txt = "2_"; } + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[idx5].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(mf.dataGridView1.Rows[0].Cells[idx2].Value.ToString()); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + //mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[idx3].Value.ToString()))); + + string priceC = mf.dataGridView1.Rows[0].Cells[idx3].Value.ToString(); + + if (priceC.Substring(0, 1) == "-") + mf.KAObject.SetValue(priceC.Substring(1)); + else + mf.KAObject.SetValue(priceC); + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[idx4].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 달러"); + + mf.setObjectStockChange(mf.KAObject, kiho, 0); + mf.m_chkdata = true; + return; + + + } + + if (idx == 0)//지수 (코스피, 코스닥, 코스피 200, 선물, KRX 100 + { + if (sub == "예상지수") + { + recvDataList = 판1그래프데이터지수류.예상지수; + } + else + recvDataList = 판1그래프데이터지수류.현재지수; + + + if (code == "코스피") + recvDataType = 국내지수종류.KOSPI; + else if (code == "코스닥") + recvDataType = 국내지수종류.KOSDAQ; + else if (code == "코스피200") + recvDataType = 국내지수종류.KOSPI200; + else if (code == "선물") + recvDataType = 국내지수종류.선물; + else if (code == "KRX100") + recvDataType = 국내지수종류.KRX100; + + ds = DataManager.getInstance().createPlateData(recvDataList, recvDataType); + mf.dataGridView1.DataSource = ds.Tables[0]; + + Data_View(0); + + } + else if (idx == 1) //해외지수 + { + if (jname == "다우") + ds = DataManager.getInstance().createPlateData(해외지수종류.다우, "DJI@DJI"); + else if (jname == "나스닥") + ds = DataManager.getInstance().createPlateData(해외지수종류.나스닥, "NAS@IXIC"); + else if (jname == "S&P") + ds = DataManager.getInstance().createPlateData(해외지수종류.SNP, "SPI@SPX"); + else if (jname == "독일") + ds = DataManager.getInstance().createPlateData(해외지수종류.독일, "XTR@DAX30"); + else if (jname == "영국") + ds = DataManager.getInstance().createPlateData(해외지수종류.영국, "LNS@FTSE100"); + else if (jname == "프랑스") + ds = DataManager.getInstance().createPlateData(해외지수종류.프랑스, "PAS@CAC40"); + else if (jname == "니케이") + ds = DataManager.getInstance().createPlateData(해외지수종류.니케이, "NII@NI225"); + else if (jname == "중국 상해") + ds = DataManager.getInstance().createPlateData(해외지수종류.중국상해, "SHS@000001"); + else if (jname == "홍콩 항셍") + ds = DataManager.getInstance().createPlateData(해외지수종류.홍콩항셍, "HSI@HSI"); + else if (jname == "대만 가권") + ds = DataManager.getInstance().createPlateData(해외지수종류.대만가권, "TWS@TI01"); + else if (jname == "싱가포르 지수") + ds = DataManager.getInstance().createPlateData(해외지수종류.싱가포르지수, "SGI@STI"); + else if (jname == "태국 지수") + ds = DataManager.getInstance().createPlateData(해외지수종류.태국지수, "THI@SET"); + else if (jname == "필리핀 지수") + ds = DataManager.getInstance().createPlateData(해외지수종류.필리핀, "PHI@COMP"); + else if (jname == "말레이시아 지수") + ds = DataManager.getInstance().createPlateData(해외지수종류.말레이시아, "MYI@JKSE"); + else if (jname == "인도네시아 지수") + ds = DataManager.getInstance().createPlateData(해외지수종류.인도네시아, "IDI@KLSE"); + + mf.dataGridView1.DataSource = ds.Tables[0]; + + Data_View(0); + } + else if (idx == 2) + { + if (jname == "원달러") + ds = DataManager.getInstance().createPlateData(원환율.원달러); + else if (jname == "원엔") + ds = DataManager.getInstance().createPlateData(원환율.원엔); + else if (jname == "원위엔") + ds = DataManager.getInstance().createPlateData(원환율.원위엔); + else if (jname == "원유로") + ds = DataManager.getInstance().createPlateData(원환율.원유로); + mf.dataGridView1.DataSource = ds.Tables[0]; + + Data_View(1); + } + + + else if (idx == 3) + { + if (code.Contains("코스피_NXT")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.NXT_KOSPI, jname); + else if (code.Contains("코스닥_NXT")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.NXT_KOSDAQ, jname); + else if (code.Contains("코스피")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, jname); + else if (code.Contains("코스닥")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, jname); + + //if (code.Contains("코스피")) + // ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, jname); + //else + // ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + + Data_View(0); + } + + else if (idx == 5) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터해외류.해외업종, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + Data_View(0); + + } + else if (idx == 6) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터해외류.해외종목, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + Data_View(0); + } + + else if (idx == 4) + { + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + if (sub == "예상체결가") + { + if (code == "코스피") + { + //query = "SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, "; + //query = query + "a.f_fore_vol net_vol, c.f_final_price final_price, "; + //query = query + "a.f_fore_price - c.f_final_price net_chg, a.f_net_chg, "; + //query = query + "case when(a.f_fore_price - c.f_final_price) > 0 then '+' "; + //query = query + "when(a.f_fore_price - c.f_final_price) = 0 then '' "; + //query = query + "when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, "; + //query = query + "round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate "; + //query = query + "FROM t_online1 a, t_stock b, t_batch_day c "; + //query = query + "WHERE b.f_stock_code = a.f_stock_code "; + //query = query + "AND c.f_stock_code = a.f_stock_code "; + //query = query + "AND b.f_mkt_halt = 'N' "; + //query = query + "and b.f_STOCK_wanname = '" + jname + "' "; + //query = query + "and a.f_fore_price <> 0 "; + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.KOSPI, jname); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else if (code == "코스닥") + { + //query = "SELECT DISTINCT b.f_stock_code stock_code, b.f_stock_nickname nickname, b.F_STOCK_WANNAME wanname, a.f_fore_price curr_price, "; + //query = query + "a.f_fore_vol net_vol, c.f_final_price final_price, "; + //query = query + "a.f_fore_price - c.f_final_price net_chg, a.f_net_chg, "; + //query = query + "case when(a.f_fore_price - c.f_final_price) > 0 then '+' "; + //query = query + "when(a.f_fore_price - c.f_final_price) = 0 then '' "; + //query = query + "when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type, "; + //query = query + "round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate "; + //query = query + "FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c "; + //query = query + "WHERE a.f_stock_code = b.f_stock_code "; + //query = query + "AND b.f_mkt_halt = 'N' "; + //query = query + "AND c.f_stock_code = b.f_stock_code "; + //query = query + "and b.f_stock_wanname = '" + jname + "' "; + //query = query + "and a.f_fore_price <> 0 "; + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.KOSDAQ, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + //m_db.ViewQuery(mf.dataGridView1, query); + mf.KAScene.GetObject("title").SetValue(jname + " " + sub); + + if (mf.dataGridView1.RowCount <= 1) + { + mf.m_chkdata = false; + //mf.KAScene.GetObject("price").SetValue(""); + //mf.KAScene.GetObject("changePrice").SetValue(""); + //mf.KAScene.GetObject("rate").SetValue(""); + //mf.KAScene.GetObject("wonText").SetValue(""); + + //mf.setObjectStockChange(mf.KAObject, "보합"); + } + else + + { + kiho = mf.dataGridView1.Rows[0].Cells[8].Value.ToString(); + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + + value = kiho; + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[3].Value.ToString()))); + + + + + if (mf.dataGridView1.Rows[0].Cells[8].Value.ToString() == "-") + { + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + + if (mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + + if (mf.dataGridView1.Rows[0].Cells[9].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[9].Value.ToString()).ToString("##0.00")); + else + mf.KAObject.SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[9].Value.ToString()).ToString("##0.00")); + } + + else + { + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()))); + + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[9].Value.ToString()).ToString("##0.00")); + } + + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + + + mf.m_chkdata = true; + } + + } + else if (sub == "시간외단일가") + { + mf.KAScene.GetObject("title").SetValue(jname); + + if (sub.Contains("거래정지")) + { + if (code == "코스피") + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목시간외단일가, 국내시장종류.거래정지, jname); + } + else + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목시간외단일가, 국내시장종류.거래정지K, jname); + } + mf.dataGridView1.DataSource = ds.Tables[0]; + } + else + { + if (code == "코스피") + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목시간외단일가, 국내시장종류.KOSPI, jname); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else + { + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목시간외단일가, 국내시장종류.KOSDAQ, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + + } + + mf.KAScene.GetObject("title").SetValue(jname + " " + sub); + + if (mf.dataGridView1.RowCount <= 1) + { + mf.m_chkdata = false; + } + else + { + kiho = ds.Tables[0].Rows[0][3].ToString(); + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + value = kiho; + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[4].Value.ToString()))); // 현재가 + + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[2].Value.ToString()))); // 등락 + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[5].Value.ToString()).ToString("##0.00")); // 등락율 + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + + mf.m_chkdata = true; + + } + } + else // 현재가 + { +// mf.KAScene.GetObject("title").SetValue(jname); + mf.KAScene.GetObject("title").SetValue(jname.Replace("(NXT)", "")); + + if (sub.Contains("거래정지")) + { + if (code == "코스피") + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.거래정지, jname); + } + else if(code == "코스닥") + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.거래정지K, jname); + } + mf.dataGridView1.DataSource = ds.Tables[0]; + } + else + { + if (code == "코스피") + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSPI, jname); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else if (code == "코스닥") + { + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSDAQ, jname); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else if (code == "코스피_NXT") + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(jname)) + { +// ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSPI, jname); + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSPI, jname.Replace("(NXT)", "")); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else if (code == "코스닥_NXT") + { + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(jname)) + { +// ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSPI, jname); + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSDAQ, jname.Replace("(NXT)", "")); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + } + + if (mf.dataGridView1.RowCount <= 1) + { + mf.m_chkdata = false; + } + else + { + kiho = ds.Tables[0].Rows[0][4].ToString(); + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + value = kiho; + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0][2].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + txt); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0][3].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate" + txt); + mf.KAObject.SetValue(Convert.ToDouble(ds.Tables[0].Rows[0][6].ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + + mf.m_chkdata = true; + } + + } + } + + if (mf.m_chkdata) + mf.setObjectStockChange(mf.KAObject, kiho, 0); + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void Data_View(int idx) + { + int ix1 = 0; int ix2 = 0; int ix3 = 0; int ix4 = 0; int ix5 = 0; + + if (idx == 0) + { + ix1 = 0; ix2 = 1; ix3 = 2; ix4 = 3; ix5 = 4; + if (m_code == "선물") + if (m_sub != "예상지수") + ix5 = 7; + } + else + { + ix1 = 1; ix2 = 2; ix3 = 4; ix4 = 3; ix5 = 5; + } + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + kiho = mf.dataGridView1.Rows[0].Cells[ix3].Value.ToString(); + + if (kiho == "") + { + kiho = "보합"; + } + else if (kiho == " ") + { + kiho = "보합"; + } + + value = kiho; + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + if (m_code.Contains("업종_코스피")) + mf.KAScene.GetObject("title").SetValue("코스피 - " + mf.dataGridView1.Rows[0].Cells[ix1].Value.ToString()); + else if (m_code.Contains("업종_코스닥")) + mf.KAScene.GetObject("title").SetValue("코스닥 - " + mf.dataGridView1.Rows[0].Cells[ix1].Value.ToString()); + else + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[ix1].Value.ToString()); + + mf.KAScene.GetObject("price").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix2].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[ix4].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("changePrice" + txt).SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4].Value.ToString().Substring(1)).ToString("#,##0.00")); + else + mf.KAScene.GetObject("changePrice" + txt).SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[ix3].Value.ToString() == "-") + { + if (mf.dataGridView1.Rows[0].Cells[ix5].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("rate" + txt).SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5].Value.ToString()).ToString("#,##0.00")); + else + mf.KAScene.GetObject("rate" + txt).SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5].Value.ToString()).ToString("#,##0.00")); + } + + else + mf.KAScene.GetObject("rate" + txt).SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5].Value.ToString()).ToString("#,##0.00")); + + mf.KAScene.GetObject("wonText" + txt).SetValue(""); + if (idx == 0) + { + if (m_code == "해외종목") + mf.KAScene.GetObject("unitText").SetValue("단위 : 달러"); + else + mf.KAScene.GetObject("unitText").SetValue("단위 : p"); + } + + else + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + + + + mf.m_chkdata = true; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5006.cs b/MBN_STOCK_N/Scene/s5006.cs new file mode 100644 index 0000000..cb1492c --- /dev/null +++ b/MBN_STOCK_N/Scene/s5006.cs @@ -0,0 +1,285 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5006 //1열판 상세 시가 + { + MainForm mf = null; + + public s5006(Form frm, string jname, string sub) + { + try + { + mf = (MainForm)frm; + string kiho = string.Empty; + string value = string.Empty; + string txt = string.Empty; + mf.KAScene.GetObject("title").SetValue(jname); + + + //----back 바뀌는지 test + // mf.KAScene.SetBackgroundVideo(mf.T2S_FOLDER_PATH + "\\video\\큐브배경.vrv", 1, true); + mf.KAScene.SetBackgroundVideo("E:\\매일경제TV\\비주얼리서치 소스\\MBN_STOCK_N\\MBN_STOCK_N\\bin\\Debug\\Cuts\\Video\\큐브배경.vrv", 1, 1); + //------------------- + + DataSet ds = null; + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(국내시장종류.KOSPI, 상세판데이터분류.시가, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(국내시장종류.KOSDAQ, 상세판데이터분류.시가, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateNxtData(국내시장종류.NXT_KOSPI, 상세판데이터분류.시가, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateNxtData(국내시장종류.NXT_KOSDAQ, 상세판데이터분류.시가, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + kiho = ds.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + value = kiho; + //kiho = ds.Tables[0].Rows[0]["RATE"].ToString(); + + //if (kiho == "0") + //{ + // value = ""; + //} + //else + //{ + // if (kiho.Substring(0,1) == "-") + // { + // value = "-"; + // } + // else + // { + // value = "+"; + + // } + //} + + + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + mf.KAScene.GetObject("price").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + mf.KAScene.GetObject("changePrice" + txt).SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["NET_CHG"].ToString()))); + + mf.KAScene.GetObject("rate" + txt).SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["RATE"].ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("price1").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["INIT_PRICE"].ToString()))); + mf.KAScene.GetObject("ratio1").SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["INIT_RATE"].ToString()).ToString("##0.00")); + + + mf.KAScene.GetObject("price2").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["HIGH_PRICE"].ToString()))); + mf.KAScene.GetObject("ratio2").SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["HIGH_RATE"].ToString()).ToString("##0.00")); + + + mf.KAScene.GetObject("price3").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["LOW_PRICE"].ToString()))); + mf.KAScene.GetObject("ratio3").SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["LOW_RATE"].ToString()).ToString("##0.00")); + + double dd = Convert.ToDouble(ds.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAScene.GetObject("upup").SetVisible(0); + mf.KAScene.GetObject("up").SetVisible(0); + mf.KAScene.GetObject("flat").SetVisible(0); + mf.KAScene.GetObject("down").SetVisible(0); + mf.KAScene.GetObject("downdown").SetVisible(0); + + //kiho = "상한"; + + mf.setObjectStockChange(mf.KAObject, kiho, 0); + //mf.setObjectStockChange(mf.KAObject, value, 0); + //if (dd > 0) + //{ + // mf.KAScene.GetObject("up").SetVisible(1); + // mf.KAScene.GetObject("bg").SetFaceColor(170, 0, 0, 255); + + // mf.KAScene.GetObject("changePrice").SetFaceColor(170, 0, 0, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(170, 0, 0, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(170, 0, 0, 255); + //} + //else if (dd < 0) + //{ + // mf.KAScene.GetObject("down").SetVisible(1); + + // mf.KAScene.GetObject("bg").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("changePrice").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAScene.GetObject("flat").SetVisible(1); + // mf.KAScene.GetObject("bg").SetFaceColor(95, 95, 95, 255); + + // mf.KAScene.GetObject("changePrice").SetFaceColor(51, 51, 51, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(51, 51, 51, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(51, 51, 51, 255); + //} + mf.m_chkdata = true; + } + catch (Exception) + { + + } + } + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(95, 95, 95, 255); + + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + + + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + + + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s5011.cs b/MBN_STOCK_N/Scene/s5011.cs new file mode 100644 index 0000000..032533e --- /dev/null +++ b/MBN_STOCK_N/Scene/s5011.cs @@ -0,0 +1,483 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.Diagnostics.Eventing.Reader; + +namespace MBN_STOCK_N +{ + class s5011 //1열판 상세 + { + MainForm mf = null; + string kiho = string.Empty; + string value = string.Empty; + string txt = string.Empty; + public s5011(Form frm, string jname, string sub) + { + try + { + //if (jname.Contains("(NXT)")) + // { + // MessageBox.Show("NXT 데이터가 없습니다!"); + // return; + //} + + mf = (MainForm)frm; + +// mf.KAScene.GetObject("title").SetValue(jname); + mf.KAScene.GetObject("title").SetValue(jname.Replace("(NXT)", "")); + + 상세판데이터분류 recvDataType2 = 상세판데이터분류.액면가; + + if (sub == "액면가") + { + recvDataType2 = 상세판데이터분류.액면가; + } + else if (sub == "거래량") + { + recvDataType2 = 상세판데이터분류.거래량; + } + else if (sub == "PBR") + { + recvDataType2 = 상세판데이터분류.PBR; + } + + DataSet ds = null; + + if (!jname.Contains("(NXT)")) // NXT 종목이 아니면 + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(국내시장종류.KOSPI, recvDataType2, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(국내시장종류.KOSDAQ, recvDataType2, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else // NXT 종목일 경우 + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateNxtData(국내시장종류.NXT_KOSPI, recvDataType2, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateNxtData(국내시장종류.NXT_KOSDAQ, recvDataType2, r[1].ToString()); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + + if (ds.Tables[0].Rows.Count <= 0) + { + // MessageBox.Show("데이터가 없습니다."); + mf.m_chkdata = false; + + return; + } + + if (sub == "액면가") + { + + mf.KAScene.GetObject("r_unit1").SetValue("원"); + mf.KAScene.GetObject("r_unit2").SetValue("억원"); + + mf.KAScene.GetObject("r_unit3").SetValue("억원"); + mf.KAScene.GetObject("r_unit4").SetValue("위"); + + mf.KAScene.GetObject("r_title1").SetValue("액면가"); + mf.KAScene.GetObject("r_title2").SetValue("자본금"); + + mf.KAScene.GetObject("r_title3").SetValue("시가총액"); + mf.KAScene.GetObject("r_title4").SetValue("시총순위"); + + //mf.KAScene.GetObject("r_value1").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["LIST_PRICE"].ToString())/1000)); + //mf.KAScene.GetObject("r_value2").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["CAPITAL_PRICE"].ToString()) / 100000000000)); + //-- 2024.03.20 shk + + if (ds.Tables[0].Rows[0]["LIST_PRICE"].ToString() == "") + { + mf.KAScene.GetObject("r_value1").SetValue(""); + } + else + { + mf.KAScene.GetObject("r_value1").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["LIST_PRICE"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["CAPITAL_PRICE"].ToString() == "") + { + mf.KAScene.GetObject("r_value2").SetValue(""); + } + else + { + mf.KAScene.GetObject("r_value2").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["CAPITAL_PRICE"].ToString()) / 100000000)); + } + + if (ds.Tables[0].Rows[0]["SIGA_PRICE"].ToString() == "") + { + mf.KAScene.GetObject("r_value3").SetValue(""); + } + else + { + mf.KAScene.GetObject("r_value3").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["SIGA_PRICE"].ToString()) / 100000000)); + } + + if (ds.Tables[0].Rows[0]["RANK_NUM"].ToString() == "") + { + mf.KAScene.GetObject("r_value4").SetValue(""); + } + else + { + mf.KAScene.GetObject("r_value4").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["RANK_NUM"].ToString()))); + } + } + else if (sub == "PBR") + { + mf.KAScene.GetObject("r_unit1").SetValue("배"); + mf.KAScene.GetObject("r_unit2").SetValue("배"); + + mf.KAScene.GetObject("r_unit3").SetValue("원"); + mf.KAScene.GetObject("r_unit4").SetValue("원"); + + mf.KAScene.GetObject("r_title1").SetValue("PBR"); + mf.KAScene.GetObject("r_title2").SetValue("PER"); + + mf.KAScene.GetObject("r_title3").SetValue("BPS"); + mf.KAScene.GetObject("r_title4").SetValue("EPS"); + + + mf.KAScene.GetObject("r_value1").SetValue(ds.Tables[0].Rows[0]["PBR"].ToString()); + mf.KAScene.GetObject("r_value2").SetValue(ds.Tables[0].Rows[0]["PER"].ToString()); + + if (ds.Tables[0].Rows[0]["BPS"].ToString() == "") + { + mf.KAScene.GetObject("r_value3").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value3").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["BPS"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["EPS"].ToString() == "") + { + mf.KAScene.GetObject("r_value4").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value4").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["EPS"].ToString()))); + } + } + else if (sub == "거래량") + { + mf.KAScene.GetObject("r_unit1").SetValue("주"); + mf.KAScene.GetObject("r_unit2").SetValue("백만"); + + mf.KAScene.GetObject("r_unit3").SetValue("원"); + mf.KAScene.GetObject("r_unit4").SetValue("원"); + + mf.KAScene.GetObject("r_title1").SetValue("거래량"); + mf.KAScene.GetObject("r_title2").SetValue("거래대금"); + + mf.KAScene.GetObject("r_title3").SetValue("5MA"); + mf.KAScene.GetObject("r_title4").SetValue("20MA"); + + if (ds.Tables[0].Rows[0]["NET_VOL"].ToString() == "") + { + mf.KAScene.GetObject("r_value1").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value1").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["NET_VOL"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["NET_TURNOVER"].ToString() == "") + { + mf.KAScene.GetObject("r_value2").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value2").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["NET_TURNOVER"].ToString()) / 1000000)); + } + + if (ds.Tables[0].Rows[0]["AVG_5"].ToString() == "") + { + mf.KAScene.GetObject("r_value3").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value3").SetValue(String.Format("{0:#,##0.###}", Convert.ToInt64(ds.Tables[0].Rows[0]["AVG_5"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["AVG_20"].ToString() == "") + { + mf.KAScene.GetObject("r_value4").SetValue("-"); + } + else + { + mf.KAScene.GetObject("r_value4").SetValue(String.Format("{0:#,##0.###}", Convert.ToInt64(ds.Tables[0].Rows[0]["AVG_20"].ToString()))); + } + + } + + + kiho = ds.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + value = kiho; + //kiho = ds.Tables[0].Rows[0]["RATE"].ToString(); + + //if (kiho == "0") + //{ + // value = ""; + //} + //else + //{ + // if (kiho.Substring(0, 1) == "-") + // { + // value = "-"; + // } + // else + // { + // value = "+"; + + // } + //} + + + + if (value.Equals("상한")) { txt = "1_"; } + else if (value.Equals("상승") || value.Equals("+")) { txt = "1_"; } + else if (value.Equals("보합") || value.Equals("")) { txt = "2_"; } + else if (value.Equals("하락") || value.Equals("-")) { txt = "3_"; } + else if (value.Equals("하한")) { txt = "3_"; } + + if (ds.Tables[0].Rows[0]["CURR_PRICE"].ToString() == "") + { + mf.KAScene.GetObject("price").SetValue("0"); + } + else + { + mf.KAScene.GetObject("price").SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["NET_CHG"].ToString() == "") + { + mf.KAScene.GetObject("changePrice" + txt).SetValue(""); + } + else + { + mf.KAScene.GetObject("changePrice" + txt).SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["NET_CHG"].ToString()))); + } + + if (ds.Tables[0].Rows[0]["RATE"].ToString() == "") + { + mf.KAScene.GetObject("rate" + txt).SetValue(""); + } + else + { + mf.KAScene.GetObject("rate" + txt).SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["RATE"].ToString()).ToString("##0.00")); + } + + double dd = Convert.ToDouble(ds.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAScene.GetObject("upup").SetVisible(0); + mf.KAScene.GetObject("up").SetVisible(0); + mf.KAScene.GetObject("flat").SetVisible(0); + mf.KAScene.GetObject("down").SetVisible(0); + mf.KAScene.GetObject("downdown").SetVisible(0); + + mf.setObjectStockChange(mf.KAObject, kiho, 0); + + mf.KAObject = mf.KAScene.GetObject("mart"); + if (jname.Contains("(NXT)")) + mf.KAObject.SetVisible(1); + else + mf.KAObject.SetVisible(0); + + //mf.setObjectStockChange(mf.KAObject, value, 0); + + //string kiho = "상승"; + //string kiho = ds.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + + + //if (dd > 0) + //{ + // mf.KAScene.GetObject("up").SetVisible(1); + // mf.KAScene.GetObject("bg").SetFaceColor(170, 0, 0, 255); + + // mf.KAScene.GetObject("changePrice").SetFaceColor(170, 0, 0, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(170, 0, 0, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(170, 0, 0, 255); + //} + //else if (dd < 0) + //{ + // mf.KAScene.GetObject("down").SetVisible(1); + + // mf.KAScene.GetObject("bg").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("changePrice").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(15, 99, 189, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAScene.GetObject("flat").SetVisible(1); + // mf.KAScene.GetObject("bg").SetFaceColor(95, 95, 95, 255); + + // mf.KAScene.GetObject("changePrice").SetFaceColor(51, 51, 51, 255); + // mf.KAScene.GetObject("rate").SetFaceColor(51, 51, 51, 255); + // mf.KAScene.GetObject("percent").SetFaceColor(51, 51, 51, 255); + //} + mf.m_chkdata = true; + } + catch (Exception) + { + + } + } + + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(95, 95, 95, 255); + + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s5016.cs b/MBN_STOCK_N/Scene/s5016.cs new file mode 100644 index 0000000..f8139f6 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5016.cs @@ -0,0 +1,463 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5016 //3열판 + { + MainForm mf = null; + + public s5016(Form frm, string jname, string sub) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + string ntitle = string.Empty; + + mf.KAObject = mf.KAScene.GetObject("title"); + + if (sub == "") + { + if (jname.Contains("미국 지수")) + { + mf.KAObject.SetValue("미국 지수"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.미국지수); + } + else if (jname.Contains("중화권 지수")) + { + mf.KAObject.SetValue("중화권 지수"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.중화권지수); + } + else if (jname.Contains("유럽권 지수")) + { + mf.KAObject.SetValue("유럽 지수"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.유럽지수); + } + else if (jname.Contains("아시아 지수")) + { + mf.KAObject.SetValue("아시아 지수"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.아시아지수_상해_대만_일본); + } + else if (jname.Contains("미국국채")) + { + mf.KAObject.SetValue("미국 국채"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.미국국채); + } + else if (jname.Contains("채권금리")) + { + mf.KAObject.SetValue("채권 금리"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.채권금리); + } + else if (jname.Contains("유가")) + { + mf.KAObject.SetValue("유가"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.유가_두바이_WTI_브랜트); + } + else if (jname.Contains("광물")) + { + mf.KAObject.SetValue("광물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.광물); + } + else if (jname.Contains("식자재")) + { + mf.KAObject.SetValue("식자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.식자재); + } + + else if (jname.Contains("해외환율")) + { + mf.KAObject.SetValue("해외 환율"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.달러환율_엔_위안_유로); + } + else if (jname.Contains("환율")) + { + mf.KAObject.SetValue("환율"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.원환율_달러_엔_유로); + } + else if (jname.Contains("소맥, 옥수수, 밀")) + { + mf.KAObject.SetValue("농산물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.소맥_옥수수_밀); + } + + else if (jname.Contains("대두, 콩, 현미")) + { + mf.KAObject.SetValue("농산물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.대두_콩_현미); + } + else if (jname.Contains("커피, 코코아, 설탕")) + { + mf.KAObject.SetValue("농산물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.커피_코코아_설탕); + } + + else if (jname.Contains("생우(소), 비육우, 돈육(돼지)")) + { + mf.KAObject.SetValue("농산물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.생우_비육우_돈육); + } + + else if (jname.Contains("구리, 철광석, 니켈")) + { + mf.KAObject.SetValue("원자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.구리_철광석_니켈); + } + + else if (jname.Contains("천연가스, 백금, 팔라듐")) + { + mf.KAObject.SetValue("원자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.천연가스_백금_팔라듐); + } + + else if (jname.Contains("납, 아연, 주석")) + { + mf.KAObject.SetValue("원자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.납_아연_주석); + } + ntitle = "주요지수"; + } + else + { + if (sub.Contains("주요지수[코스피, 코스닥, 코스피200]")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.주요지수_코스피_코스닥_코스피200); + ntitle = "주요지수"; + } + + else if (sub.Contains("주요지수[코스피, 코스닥, 선물]")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.주요지수_코스피_코스닥_선물); + ntitle = "주요지수"; + } + + else if (sub.Contains("예상체결지수[코스피, 코스닥, 코스피200]")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.예상체결지수_코스피_코스닥_코스피200); + ntitle = "예상체결지수"; + } + + else if (sub.Contains("예상체결지수[코스피, 코스닥, 선물]")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.예상체결지수_코스피_코스닥_선물); + ntitle = "예상체결지수"; + } + mf.KAScene.GetObject("title").SetValue(ntitle); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + //--------------------배경이 되는지 test---- + //if (mf.back_CB.Checked == true) + //{ + // mf.KAScene.UseBackground(0); + // mf.KAScene.SetBackgroundVideo("E:\\매일경제TV\\머니 신그래픽\\매일경제TV\\매일경제TV\\Cuts\\Video\\1109_배경최종-1.vrv", 0, 0); + //} + //else + //{ + // mf.KAScene.UseBackground(1); + // mf.KAScene.SetBackgroundVideo("E:\\매일경제TV\\머니 신그래픽\\매일경제TV\\매일경제TV\\Cuts\\Video\\큐브배경.vrv", 0, 0); + //} + //--------------------- + + if (mf.dataGridView1.RowCount <= 3) + { + mf.m_chkdata = false; + } + else + { + + + for (int i = 0; i < 3; i++) + { + int index = i + 1; + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("upup" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + index); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("title" + index); + + if (jname.Contains("채권금리")) + mf.KAObject.SetValue(ds.Tables[0].Rows[i]["PART_NAME"].ToString()); + else + mf.KAObject.SetValue(ds.Tables[0].Rows[i]["NAME"].ToString().Replace("KOSPI", "코스피").Replace("KOSQ", "코스닥")); + + mf.KAObject = mf.KAScene.GetObject("price" + index); + double value = Convert.ToDouble(ds.Tables[0].Rows[i]["PART_IDX"].ToString()); + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", value)); + + string buho = string.Empty; + string pm = string.Empty; + + if (jname.Contains("유가") || jname.Contains("광물") || jname.Contains("식자재") || jname.Contains("농산물") || jname.Contains("원자재") || jname.Contains("유로달러")) + pm = ds.Tables[0].Rows[i]["SIGN"].ToString(); + else + pm = ds.Tables[0].Rows[i]["CHG_TYPE"].ToString(); + + + + //mf.KAObject = mf.KAScene.GetObject("bg" + index); + double rate = Convert.ToDouble(ds.Tables[0].Rows[i]["PART_CHG"].ToString()); + + + if (pm.Contains("-")) + { + if (rate == 0.00) + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_2"); + } + else + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + index); + mf.KAObject.SetVisible(1); + buho = "-"; + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_3"); + } + + } + else if(pm.Contains("+")) + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + index); + mf.KAObject.SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_1"); + } + else + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_2"); + } + + + + string priceC = ds.Tables[0].Rows[i]["PART_CHG"].ToString(); + + + if (jname.Contains("해외환율")) + { + if (priceC.Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0.0000}", Convert.ToDouble(priceC.Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0.0000}", Convert.ToDouble(priceC))); + } + + else + { + if (priceC.Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(priceC.Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(priceC))); + } + + if (pm.Contains("-")) + { + if (rate == 0.00) + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_2"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_3"); + } + } + else if (pm.Contains("+")) + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_1"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_2"); + } + + //mf.KAObject = mf.KAScene.GetObject("rate" + index); + string ra = ds.Tables[0].Rows[i]["RATE"].ToString(); + + if (ra.Substring(0,1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(ra))); + else + mf.KAObject.SetValue(buho + String.Format("{0:#,##0.00}", Convert.ToDouble(ra))); + + + //단위 + + if (jname.Contains("미국국채") || jname.Contains("채권금리")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + + mf.KAScene.GetObject("unitText").SetValue("단위 : %"); + } + else if (jname.Contains("광물") || jname.Contains("해외환율")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : $"); + } + else if (jname.Contains("유가")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 배럴/달러"); + } + else if (jname.Contains("식자재")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : ¢"); + } + + else if (jname.Contains("원자재")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : $"); + } + + else if (jname.Contains("농산물")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : $"); + } + + else if (jname.Contains("환율")) + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + } + else + { + // 등락 단위 생략을 위해 + //mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + //mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : p"); + } + + mf.m_chkdata = true; + } + } + } + catch (Exception) + { + + } + } + } +} + diff --git a/MBN_STOCK_N/Scene/s50160.cs b/MBN_STOCK_N/Scene/s50160.cs new file mode 100644 index 0000000..d5d940f --- /dev/null +++ b/MBN_STOCK_N/Scene/s50160.cs @@ -0,0 +1,302 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s50160 //2열판 + { + MainForm mf = null; + + public s50160(Form frm, string jname, string sub) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + string ntitle = string.Empty; + + mf.KAObject = mf.KAScene.GetObject("title"); + + if (sub == "") + { + if (jname.Contains("원면, 목화(면화)")) + { + mf.KAObject.SetValue("농산물"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.원면_목화); + } + + else if (jname.Contains("국제 금, 국제 은")) + { + mf.KAObject.SetValue("원자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.국제금); + } + else if (jname.Contains("국내 금, 국내 은")) + { + mf.KAObject.SetValue("원자재"); + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.국내금); + } + + + //ntitle = "주요지수"; + } + else + { + + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 2) + { + mf.m_chkdata = false; + } + else + { + for (int i = 0; i < 2; i++) + { + int index = i + 1; + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("upup" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + index); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + index); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("title" + index); + + //if (jname.Contains("국제")) + //{ + // mf.KAObject.SetValue("국제 " + ds.Tables[0].Rows[i]["NAME"].ToString().Replace("KOSPI", "코스피").Replace("KOSQ", "코스닥")); + + //} + //else if (jname.Contains("국내")) + //{ + // mf.KAObject.SetValue("국내 " + ds.Tables[0].Rows[i]["NAME"].ToString().Replace("KOSPI", "코스피").Replace("KOSQ", "코스닥")); + + //} + + //else + // { + // mf.KAObject.SetValue(ds.Tables[0].Rows[i]["NAME"].ToString().Replace("KOSPI", "코스피").Replace("KOSQ", "코스닥")); + + //} + mf.KAObject.SetValue(ds.Tables[0].Rows[i]["NAME"].ToString().Replace("KOSPI", "코스피").Replace("KOSQ", "코스닥")); + + + mf.KAObject = mf.KAScene.GetObject("price" + index); + double value = Convert.ToDouble(ds.Tables[0].Rows[i]["PART_IDX"].ToString()); + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", value)); + + string buho = string.Empty; + string pm = string.Empty; + + pm = ds.Tables[0].Rows[i]["SIGN"].ToString(); + + + + //mf.KAObject = mf.KAScene.GetObject("bg" + index); + double rate = Convert.ToDouble(ds.Tables[0].Rows[i]["PART_CHG"].ToString()); + + + if (pm.Contains("-")) + { + if (rate == 0.00) + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_2"); + } + else + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(1); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + index); + mf.KAObject.SetVisible(1); + buho = "-"; + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_3"); + } + + } + else if (pm.Contains("+")) + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + index); + mf.KAObject.SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_1"); + } + else + { + mf.KAScene.GetObject("bg" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + index + "_3").SetVisible(0); + + mf.KAScene.GetObject("unit" + index + "_1").SetVisible(0); + mf.KAScene.GetObject("unit" + index + "_2").SetVisible(1); + mf.KAScene.GetObject("unit" + index + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + index); + mf.KAObject.SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + index + "_2"); + } + + + + string priceC = ds.Tables[0].Rows[i]["PART_CHG"].ToString(); + + + if (priceC.Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(priceC.Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(priceC))); + + + if (pm.Contains("-")) + { + if (rate == 0.00) + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_2"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_3"); + } + } + else if (pm.Contains("+")) + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_1"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("rate" + index + "_2"); + } + + //mf.KAObject = mf.KAScene.GetObject("rate" + index); + string ra = ds.Tables[0].Rows[i]["RATE"].ToString(); + + if (ra.Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(ra))); + else + mf.KAObject.SetValue(buho + String.Format("{0:#,##0.00}", Convert.ToDouble(ra))); + + + //단위 + + if (jname.Contains("목화(면화)")) + { + mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : $"); + } + + else if (jname.Contains("국제 금")) + { + mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : $"); + } + + else if (jname.Contains("국내 금")) + { + mf.KAScene.GetObject("unit" + index + "_1").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_2").SetValue(""); + mf.KAScene.GetObject("unit" + index + "_3").SetValue(""); + mf.KAScene.GetObject("unitText").SetValue("단위 : 원"); + } + + + mf.m_chkdata = true; + } + } + } + catch (Exception) + { + + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5023.cs b/MBN_STOCK_N/Scene/s5023.cs new file mode 100644 index 0000000..33dea52 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5023.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5023 //매매동향 표그래프 + { + MainForm mf = null; + string tname = string.Empty; + + public s5023(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + if (jname.Contains("코스피")) + { + tname = "코스피"; + ds = DataManager.getInstance().createGridChartData(그리드표그래프종류.지수별매매동향9번컷, 국내시장종류.KOSPI); + } + + else if (jname.Contains("코스닥")) + { + tname = "코스닥"; + ds = DataManager.getInstance().createGridChartData(그리드표그래프종류.지수별매매동향9번컷, 국내시장종류.KOSDAQ); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + mf.dataGridView2.DataSource = ds.Tables[1]; + /* + 20210114 860 511 -916 + 20210113 436 253 -582 + 20210112 2615 -868 -1534 + 20210111 860 337 -858 + 20210108 2854 -100 -2178 + + 15112 7113 -13220 + */ + + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(tname + " 매매동향"); + + for (int i = 0; i < 5; i++) + { + for (int j = 0; j < 4; j++) + { + mf.KAObject = mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1)); + + if (j == 0) + { + string value = ds.Tables[0].Rows[i][j].ToString().Substring(4); + value = value.Substring(0, 2) + "/" + value.Substring(2); + mf.KAObject.SetValue(value); + + } + else + { + int value = Convert.ToInt32(ds.Tables[0].Rows[i][j].ToString()); + + if (value < 0) + mf.KAObject.SetFaceColor(15, 99, 188, 255); + else if (value > 0) + mf.KAObject.SetFaceColor(171, 0, 0, 255); + else + mf.KAObject.SetFaceColor(47, 47, 47, 255); + + mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + } + } + } + + for (int i = 0; i < 3; i++) + { + mf.KAObject = mf.KAScene.GetObject("row6_value" + (i + 1)); + int sum = Convert.ToInt32(ds.Tables[1].Rows[0][i].ToString()); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sum)); + + if (sum > 0) + { + mf.KAObject = mf.KAScene.GetObject("row6_bg" + (i + 1)); + mf.KAObject.SetFaceColor(171, 0, 0, 255); + } + else if (sum < 0) + { + mf.KAObject = mf.KAScene.GetObject("row6_bg" + (i + 1)); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + } + else + { + mf.KAObject = mf.KAScene.GetObject("row6_bg" + (i + 1)); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + } + } + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5024.cs b/MBN_STOCK_N/Scene/s5024.cs new file mode 100644 index 0000000..2949193 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5024.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5024 //매매동향 막대그래프 + { + MainForm mf = null; + string tname = string.Empty; + + public s5024(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + + if (jname.Contains("코스피")) + { + tname = "코스피"; + ds = DataManager.getInstance().createCut12StickData(국내시장종류.KOSPI); + } + + else if (jname.Contains("코스닥")) + { + tname = "코스닥"; + ds = DataManager.getInstance().createCut12StickData(국내시장종류.KOSDAQ); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + /* + INVEST_NAME AMT + 기관 -918 + 외국인 512 + 개인 860 + */ + + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(tname + " 매매동향"); + + double maxValue = 0; + double minValue = 0; + + double CENTER_MAX_Y = 245.0; + double CENTER_MIN_Y = -150.0; + double TEXT_HEIGHT = 50.0; + + double HEIGHT = (CENTER_MAX_Y - CENTER_MIN_Y) - TEXT_HEIGHT * 2.0; + + foreach (DataRow dr in ds.Tables[0].Rows) + { + double value =Convert.ToDouble(dr["AMT"].ToString()); + if (value > maxValue) + maxValue = value; + + if (value < minValue) + minValue = value; + } + + for (int i = 1; i < 4; i++) + { + for (int j = 1; j < 3; j++) + { + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_" + j); + mf.KAObject.SetVisible(0); + } + } + + double fCenterY = 0.0; + if (minValue >= 0) + { + fCenterY = CENTER_MIN_Y; + } + else if (maxValue <= 0) + { + fCenterY = CENTER_MAX_Y; + } + else + { + fCenterY = CENTER_MIN_Y + TEXT_HEIGHT + HEIGHT * Math.Abs(minValue) / (maxValue + Math.Abs(minValue)); + } + mf.KAScene.GetObject("centerbar").SetPosition(0.0f, Convert.ToInt32(fCenterY), 0.0f, eKVectorType.VECTOR_TYPE_Y); + + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string item = dr["INVEST_NAME"].ToString(); + double value = Convert.ToDouble(dr["AMT"].ToString()); + int index = 0; + int index2 = 1; + + if (item.Equals("개인")) + index = 1; + else if (item.Equals("외국인")) + index = 2; + else if (item.Equals("기관")) + index = 3; + + if (value < 0) + index2 = 2; + + mf.KAObject = mf.KAScene.GetObject("barG" + index + "_" + index2); + mf.KAObject.SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("bar" + index + "_" + index2); + + + double fRatio = 1.0; + if (value > 0) + { + fRatio = value / maxValue; + + if (minValue < 0.0f) + { + fRatio *= maxValue / (maxValue + Math.Abs(minValue)); + } + } + else + { + fRatio = Math.Abs(value) / Math.Abs(minValue); + + if (maxValue > 0.0) + { + fRatio *= Math.Abs(minValue) / (maxValue + Math.Abs(minValue)); + } + } + + mf.KAObject.SetScale(0, (float)(fRatio), 0, eKVectorType.VECTOR_TYPE_Y); + + mf.KAObject = mf.KAScene.GetObject("value" + index + "_" + index2); + mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + } + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + + } +} diff --git a/MBN_STOCK_N/Scene/s5025.cs b/MBN_STOCK_N/Scene/s5025.cs new file mode 100644 index 0000000..11fb966 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5025.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.IO; + +namespace MBN_STOCK_N +{ + class s5025 //순매도 (수동) + { + MainForm mf = null; + int row = 0; + string tname = string.Empty; + string[,] buf = new string[15, 10]; + + public s5025(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + string title = jname.Substring(0, jname.IndexOf(" ")); + + data_load(mf.m_DataPath + title + ".dat"); + + mf.KAScene.GetObject("title").SetValue(title + " 순매도 상위"); + + for (int i = 0; i < row - 1; i++) + { + mf.KAScene.GetObject("종목" + ((i * 2) + 1).ToString()).SetValue(buf[i, 0]); + mf.KAScene.GetObject("금액" + ((i * 2) + 1).ToString()).SetValue(buf[i, 1]); + + mf.KAScene.GetObject("종목" + ((i * 2) + 2).ToString()).SetValue(buf[i, 2]); + mf.KAScene.GetObject("금액" + ((i * 2) + 2).ToString()).SetValue(buf[i, 3]); + + } + + mf.m_chkdata = true; + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + public void data_load(string path) + { + try + { + string str = string.Empty; + + StreamReader sr = new StreamReader(path, Encoding.Default); + if (sr != null) + { + while (sr.Peek() > -1) + { + str = sr.ReadLine(); str = str.Trim(); + string[] rs = str.Split('^'); + + for (int i = 0; i < rs.Length; i++) + { + buf[row, i] = rs[i]; + } + row += 1; + } + sr.Close(); + } + } + catch (Exception) + { + + } + } + + } +} diff --git a/MBN_STOCK_N/Scene/s5026.cs b/MBN_STOCK_N/Scene/s5026.cs new file mode 100644 index 0000000..93341b1 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5026.cs @@ -0,0 +1,456 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5026 //2열판 비교분석 캔들형 + { + MainForm mf = null; + string[] m_rs = null; + + public s5026(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + + m_rs = jname.Split(','); + + DataSet ds1 = null; + DataSet ds2 = null; + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[1]); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[1]); + } + } + + if (ds2.Tables[0] == null || ds2.Tables[1] == null) + { + mf.m_chkdata = false; + } + else + { + mf.dataGridView1.DataSource = ds2.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[1]; + + } + + + + mf.KAObject = mf.KAScene.GetObject("title1"); + mf.KAObject.SetValue(ds1.Tables[0].Rows[0]["STOCK_NAME"].ToString()); + mf.KAObject = mf.KAScene.GetObject("title2"); + mf.KAObject.SetValue(ds2.Tables[0].Rows[0]["STOCK_NAME"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["NET_CHG"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["NET_CHG"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + + + double r1 = Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()); + double r2 = Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("up1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down2"); + mf.KAObject.SetVisible(0); + + + string kiho1 = ds1.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho1, 1); + + string kiho2 = ds2.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho2, 2); + + //if (r1 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r1 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //if (r2 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r2 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //OPEN_DAY F_HIGH_PRICE F_LOW_PRICE F_INIT_PRICE F_CURR_PRICE F_MA5_PRICE F_MA20_PRICE + double min1 = double.MaxValue; + double max1 = double.MinValue; + //double maxV1 = double.MinValue; + + double min2 = double.MaxValue; + double max2 = double.MinValue; + //double maxV2 = double.MinValue; + + + //최대 최소 얻기 + foreach (DataRow dr in ds1.Tables[1].Rows) + { + if (min1 > Convert.ToDouble(dr["F_LOW_PRICE"])) + min1 = Convert.ToDouble(dr["F_LOW_PRICE"]); + if (max1 < Convert.ToDouble(dr["F_HIGH_PRICE"])) + max1 = Convert.ToDouble(dr["F_HIGH_PRICE"]); + } + foreach (DataRow dr in ds2.Tables[1].Rows) + { + if (min2 > Convert.ToDouble(dr["F_LOW_PRICE"])) + min2 = Convert.ToDouble(dr["F_LOW_PRICE"]); + if (max2 < Convert.ToDouble(dr["F_HIGH_PRICE"])) + max2 = Convert.ToDouble(dr["F_HIGH_PRICE"]); + } + + double gap1 = max1 - min1; + double gap2 = max2 - min2; + + double center1 = (max1 + min1) / 2; + double center2 = (max2 + min2) / 2; + + int index1 = 0; + int index2 = 0; + + foreach (DataRow dr in ds1.Tables[1].Rows) + { + index1++; + + + //날짜 + if (index1 == 1) + { + mf.KAObject = mf.KAScene.GetObject("date1_1"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index1 == ds1.Tables[1].Rows.Count) + { + mf.KAObject = mf.KAScene.GetObject("date1_5"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index1 == Math.Ceiling(Convert.ToDouble(ds1.Tables[1].Rows.Count) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date1_3"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + double HP = Convert.ToDouble(dr["F_HIGH_PRICE"].ToString()); + double LP = Convert.ToDouble(dr["F_LOW_PRICE"].ToString()); + double IP = Convert.ToDouble(dr["F_INIT_PRICE"].ToString()); + double CP = Convert.ToDouble(dr["F_CURR_PRICE"].ToString()); + + /* + //-657.57 ~ 670.65 + double len = 1328.22; + */ + //-730.57 ~ 738.65 + double sX = -730.57; + double eX = 738.65; + double len = eX - sX; + //double lsX = -657.57; + //double leX = 670.65; + double lenX = len / ds1.Tables[1].Rows.Count; + + //bar + mf.KAObject = mf.KAScene.GetObject("candlebar1_" + index1); + + double HPF = Math.Abs(100 * (HP - max1) / gap1); + double LPF = Math.Abs(100 * (LP - max1) / gap1); + + mf.KAObject.SetCropKey(1, 0, (float)HPF, 0, (float)LPF, eKCropKey.CROP_KEY_VERTICAL); + + //bady + mf.KAObject = mf.KAScene.GetObject("candlebody1_" + index1); + + double IPF = Math.Abs(100 * (IP - max1) / gap1); + double CPF = Math.Abs(100 * (CP - max1) / gap1); + + if (IP > CP) + { + mf.KAObject.SetCropKey(1, 0, (float)IPF, 0, (float)CPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar1_" + index1); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + } + else if (IP < CP) + { + mf.KAObject.SetCropKey(1, 0, (float)CPF, 0, (float)IPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar1_" + index1); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + + } + else + { + mf.KAObject.SetCropKey(1, 0, (float)CPF - 0.1f, 0, (float)IPF + 3f, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar1_" + index1); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + + + } + } + + foreach (DataRow dr in ds2.Tables[1].Rows) + { + index2++; + + + //날짜 + if (index2 == 1) + { + mf.KAObject = mf.KAScene.GetObject("date2_1"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index2 == ds2.Tables[1].Rows.Count) + { + mf.KAObject = mf.KAScene.GetObject("date2_5"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index2 == Math.Ceiling(Convert.ToDouble(ds2.Tables[1].Rows.Count) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date2_3"); + string date = dr["OPEN_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + double HP = Convert.ToDouble(dr["F_HIGH_PRICE"].ToString()); + double LP = Convert.ToDouble(dr["F_LOW_PRICE"].ToString()); + double IP = Convert.ToDouble(dr["F_INIT_PRICE"].ToString()); + double CP = Convert.ToDouble(dr["F_CURR_PRICE"].ToString()); + + /* + //-657.57 ~ 670.65 + double len = 1328.22; + */ + //-730.57 ~ 738.65 + double sX = -730.57; + double eX = 738.65; + double len = eX - sX; + //double lsX = -657.57; + //double leX = 670.65; + double lenX = len / ds2.Tables[1].Rows.Count; + + //bar + mf.KAObject = mf.KAScene.GetObject("candlebar2_" + index2); + + double HPF = Math.Abs(100 * (HP - max2) / gap2); + double LPF = Math.Abs(100 * (LP - max2) / gap2); + + mf.KAObject.SetCropKey(1, 0, (float)HPF, 0, (float)LPF, eKCropKey.CROP_KEY_VERTICAL); + + //bady + mf.KAObject = mf.KAScene.GetObject("candlebody2_" + index2); + + double IPF = Math.Abs(100 * (IP - max2) / gap2); + double CPF = Math.Abs(100 * (CP - max2) / gap2); + + if (IP > CP) + { + mf.KAObject.SetCropKey(1, 0, (float)IPF, 0, (float)CPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar2_" + index2); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + } + else if (IP < CP) + { + mf.KAObject.SetCropKey(1, 0, (float)CPF, 0, (float)IPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar2_" + index2); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + } + else + { + mf.KAObject.SetCropKey(1, 0, (float)CPF - 0.1f, 0, (float)IPF + 3f, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar2_" + index2); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + } + mf.m_chkdata = true; + } + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + + + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + + + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s5029.cs b/MBN_STOCK_N/Scene/s5029.cs new file mode 100644 index 0000000..9bf79a7 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5029.cs @@ -0,0 +1,660 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5029 //종목별 수익률 비교 + { + MainForm mf = null; + string[] m_rs = null; + + public s5029(Form frm, string jname, string sub) + { + try + { + mf = (MainForm)frm; + 데이터기간 termT = 데이터기간.주; + + m_rs = jname.Split(','); + + DataSet ds1 = null; + DataSet ds2 = null; + DataSet ds3 = null; + DataSet ds4 = null; + + if (sub.Equals("일봉")) + { + termT = 데이터기간.일; + } + else if (sub.Equals("5일")) + { + termT = 데이터기간.주; + } + else if (sub.Equals("1개월")) + { + termT = 데이터기간.월; + } + else if (sub.Equals("3개월")) + { + termT = 데이터기간.분기; + } + else if (sub.Equals("6개월")) + { + termT = 데이터기간.반기; + } + else if (sub.Equals("12개월")) + { + termT = 데이터기간.연; + } + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, termT, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, termT, m_rs[1]); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, termT, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, termT, m_rs[1]); + } + } + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds3 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, termT, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds4 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, termT, m_rs[1]); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds3 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, termT, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds4 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, termT, m_rs[1]); + } + } + + + mf.dataGridView1.DataSource = ds3.Tables[0]; + mf.dataGridView2.DataSource = ds4.Tables[0]; + + + + + mf.KAObject = mf.KAScene.GetObject("title1"); + mf.KAObject.SetValue(m_rs[0]); + mf.KAObject = mf.KAScene.GetObject("title2"); + mf.KAObject.SetValue(m_rs[1]); + + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["NET_CHG"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["NET_CHG"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + + double r1 = Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()); + double r2 = Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("upup1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("upup2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down2"); + mf.KAObject.SetVisible(0); + + string kiho1 = ds1.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho1, 1); + + string kiho2 = ds2.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho2, 2); + + //if (r1 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r1 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //if (r2 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r2 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //라인 파트 + int price = 0; + int referencePrice = 0; + int MaxValue = Int32.MinValue; + int MinValue = Int32.MaxValue; + List prices = new List(); + + + for (int i = 0; i < ds3.Tables[0].Rows.Count; i++) + { + + //날짜 + if (i == 0) + { + mf.KAObject = mf.KAScene.GetObject("date1_5"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == ds3.Tables[0].Rows.Count - 1) + { + mf.KAObject = mf.KAScene.GetObject("date1_1"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date1_3"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date1_4"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) * 3 / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date1_2"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + int pr = Convert.ToInt32(ds3.Tables[0].Rows[i][1].ToString()); + + if (i == ds3.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + + int gap = MaxValue - MinValue; + int center = (MaxValue + MinValue) / 2; + + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + mf.KAObject = mf.KAScene.GetObject("baseline1"); + float baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 150 - 50); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + double maxX = 812.0; + double gapX = maxX / (prices.Count - 1); + + List plusVector = new List(); + List minusVector = new List(); + int index = 0; + double beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 150; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -383.48; + double eX = 359.28; + double len = eX - sX; + double lenX = len / (ds3.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag1"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag1"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + + } + } + + mf.KAObject = mf.KAScene.GetObject("minusGraph1"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph1"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + //라인 파트2 + price = 0; + referencePrice = 0; + MaxValue = Int32.MinValue; + MinValue = Int32.MaxValue; + prices = new List(); + + + for (int i = 0; i < ds4.Tables[0].Rows.Count; i++) + { + + //날짜 + if (i == 0) + { + mf.KAObject = mf.KAScene.GetObject("date2_5"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == ds4.Tables[0].Rows.Count - 1) + { + mf.KAObject = mf.KAScene.GetObject("date2_1"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date2_3"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date2_4"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) * 3 / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date2_2"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + int pr = Convert.ToInt32(ds4.Tables[0].Rows[i][1].ToString()); + + if (i == ds4.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + + gap = MaxValue - MinValue; + center = (MaxValue + MinValue) / 2; + + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + mf.KAObject = mf.KAScene.GetObject("baseline2"); + baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 150 - 50); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + maxX = 812.0; + gapX = maxX / (prices.Count - 1); + + plusVector = new List(); + minusVector = new List(); + index = 0; + beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 150; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -383.48; + double eX = 359.28; + double len = eX - sX; + double lenX = len / (ds4.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag2"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag2"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + + } + } + + mf.KAObject = mf.KAScene.GetObject("minusGraph2"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph2"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + + + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s5032.cs b/MBN_STOCK_N/Scene/s5032.cs new file mode 100644 index 0000000..2ba1e8b --- /dev/null +++ b/MBN_STOCK_N/Scene/s5032.cs @@ -0,0 +1,340 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5032 //선물 포함 2열판 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + string kiho1 = string.Empty; + string kiho2 = string.Empty; + string m_sub = string.Empty; + string m_code = string.Empty; + string m_jname = string.Empty; + + string[] m_rs = null; + int m_idx = 0; + + public s5032(Form frm, int idx, string jname, string sub, string code) + { + try + { + DataSet ds1 = null; + DataSet ds2 = null; + + string query = string.Empty; + m_code = code; m_sub = sub; m_jname = jname; + + + mf = (MainForm)frm; + + if (idx == 0)//지수 (코스피, 코스닥, 코스피 200, 선물, KRX 100 + { + m_rs = jname.Split(','); + + if (m_rs[0].Contains("선물")) + { + ds1 = Data_Selection(m_rs[1], 1); + ds2 = Data_Selection(m_rs[0], 2); + } + else + { + ds1 = Data_Selection(m_rs[0], 1); + ds2 = Data_Selection(m_rs[1], 2); + } + + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + + Data_View(0, 0); + + + } + else if (idx == 1) + { + m_rs = jname.Split(','); + + ds1 = jongmok_value(m_rs[0]); + ds2 = jongmok_value(m_rs[1]); + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + mf.KAScene.GetObject("title1").SetValue(ds1.Tables[0].Rows[0][1].ToString()); + mf.KAScene.GetObject("title2").SetValue(ds2.Tables[0].Rows[0][1].ToString()); + + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][2].ToString()))); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][2].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][3].ToString()))); + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][3].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][6].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][6].ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("wonText2").SetValue(""); + + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, ds1.Tables[0].Rows[0][4].ToString(), 1); + mf.setObjectStockChange(mf.KAObject, ds2.Tables[0].Rows[0][4].ToString(), 2); + + mf.m_chkdata = true; + } + + else if (idx == 3) + { + m_rs = jname.Split('-'); + if (code.Contains("코스피")) + { + ds1 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, m_rs[0]); + ds2 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, m_rs[1]); + } + else + { + ds1 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, m_rs[0]); + ds2 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, m_rs[1]); + } + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + Data_View(0, 0); + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void SetDataText(int idx) + { + if (idx == 1) + { + mf.KAScene.GetObject("title1").SetValue(mf.dataGridView1.Rows[0].Cells[1].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[3].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, mf.dataGridView1.Rows[0].Cells[4].Value.ToString(), 1); + } + else + { + mf.KAScene.GetObject("title2").SetValue(mf.dataGridView2.Rows[0].Cells[1].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[3].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[6].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText2").SetValue(""); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, mf.dataGridView2.Rows[0].Cells[4].Value.ToString(), 2); + } + } + + private DataSet jongmok_value(string jname) + { + DataSet ds = null; + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSPI, jname); + } + } + + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSDAQ, jname); + } + } + return ds; + } + + private DataSet Data_Selection(string jname, int idx) + { + DataSet ds = null; + + + if (jname.Contains("코스피")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSPI); + else if (jname.Contains("코스닥")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSDAQ); + else if (jname.Contains("코스피200")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSPI200); + else if (jname.Contains("선물")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.선물); + else if (jname.Contains("KRX100")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KRX100); + + else if (jname.Contains("원달러")) + ds = DataManager.getInstance().createPlateData(원환율.원달러); + else if (jname.Contains("원엔")) + ds = DataManager.getInstance().createPlateData(원환율.원엔); + else if (jname.Contains("원위엔")) + ds = DataManager.getInstance().createPlateData(원환율.원위엔); + else if (jname.Contains("원유로")) + ds = DataManager.getInstance().createPlateData(원환율.원유로); + + else if (jname.Contains("다우")) + ds = DataManager.getInstance().createPlateData(해외지수종류.다우, "DJI@DJI"); + else if (jname.Contains("나스닥")) + ds = DataManager.getInstance().createPlateData(해외지수종류.나스닥, "NAS@IXIC"); + else if (jname.Contains("S&P")) + ds = DataManager.getInstance().createPlateData(해외지수종류.SNP, "SPI@SPX"); + else if (jname.Contains("독일")) + ds = DataManager.getInstance().createPlateData(해외지수종류.독일, "XTR@DAX30"); + else if (jname.Contains("영국")) + ds = DataManager.getInstance().createPlateData(해외지수종류.영국, "LNS@FTSE100"); + else if (jname.Contains("프랑스")) + ds = DataManager.getInstance().createPlateData(해외지수종류.프랑스, "PAS@CAC40"); + else if (jname.Contains("니케이")) + ds = DataManager.getInstance().createPlateData(해외지수종류.니케이, "NII@NI225"); + else if (jname.Contains("중국 상해")) + ds = DataManager.getInstance().createPlateData(해외지수종류.중국상해, "SHS@000001"); + else if (jname.Contains("홍콩 항셍")) + ds = DataManager.getInstance().createPlateData(해외지수종류.홍콩항셍, "HSI@HSI"); + else if (jname.Contains("대만 가권")) + ds = DataManager.getInstance().createPlateData(해외지수종류.대만가권, "TWS@TI01"); + else if (jname.Contains("싱가포르 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.싱가포르지수, "SGI@STI"); + else if (jname.Contains("태국 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.태국지수, "THI@SET"); + else if (jname.Contains("필리핀 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.필리핀, "PHI@COMP"); + else if (jname.Contains("말레이시아 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.말레이시아, "IDI@JKSE"); + else if (jname.Contains("인도네시아 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.인도네시아, "MYI@KLSE"); + + else + { + ds = jongmok_value(jname); + m_idx = idx; + } + + return ds; + } + + private void Data_View(int idx, int index) + { + int ix1_1 = 0; int ix2_1 = 0; int ix3_1 = 0; int ix4_1 = 0; int ix5_1 = 0; + //int ix1_2 = 0; int ix2_2 = 0; int ix3_2 = 0; int ix4_2 = 0; int ix5_2 = 0; + + if (!m_rs[0].Contains("환율")) + { + ix1_1 = 0; ix2_1 = 1; ix3_1 = 2; ix4_1 = 3; ix5_1 = 4; + if (m_code == "선물") + ix5_1 = 7; + } + else if (m_rs[0].Contains("환율")) + { + ix1_1 = 1; ix2_1 = 2; ix3_1 = 4; ix4_1 = 3; ix5_1 = 5; + } + //if (!m_rs[1].Contains("환율")) + //{ + // ix1_2 = 0; ix2_2 = 1; ix3_2 = 2; ix4_2 = 3; ix5_2 = 4; + // if (m_code == "선물") + // ix5_2 = 7; + //} + //else if (m_rs[1].Contains("환율")) + //{ + // ix1_2 = 1; ix2_2 = 2; ix3_2 = 4; ix4_2 = 3; ix5_2 = 5; + //} + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + mf.KAScene.GetObject("price").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix2_1].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("changePrice").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + else + mf.KAScene.GetObject("changePrice").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[2].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("rate").SetValue("-" + Convert.ToDouble( mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + else + mf.KAScene.GetObject("rate").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + + + kiho1 = mf.dataGridView1.Rows[0].Cells[ix3_1].Value.ToString(); + mf.setObjectStockChange(mf.KAObject, kiho1, 3); + + + mf.KAScene.GetObject("title1").SetValue(mf.dataGridView2.Rows[0].Cells[0].Value.ToString()); + mf.KAScene.GetObject("price1").SetValue(mf.dataGridView2.Rows[0].Cells[1].Value.ToString()); + mf.KAScene.GetObject("changePrice1").SetValue(mf.dataGridView2.Rows[0].Cells[3].Value.ToString()); + + if (mf.dataGridView2.Rows[0].Cells[2].Value.ToString() == "+") + { + mf.KAScene.GetObject("up1").SetVisible(1); + mf.KAScene.GetObject("upup1").SetVisible(0); + mf.KAScene.GetObject("down1").SetVisible(0); + mf.KAScene.GetObject("downdown1").SetVisible(0); + mf.KAScene.GetObject("flat1").SetVisible(0); + } + + else if (mf.dataGridView2.Rows[0].Cells[2].Value.ToString() == "-") + { + mf.KAScene.GetObject("up1").SetVisible(0); + mf.KAScene.GetObject("upup1").SetVisible(0); + mf.KAScene.GetObject("down1").SetVisible(1); + mf.KAScene.GetObject("downdown1").SetVisible(0); + mf.KAScene.GetObject("flat1").SetVisible(0); + } + else + { + mf.KAScene.GetObject("up1").SetVisible(0); + mf.KAScene.GetObject("upup1").SetVisible(0); + mf.KAScene.GetObject("down1").SetVisible(0); + mf.KAScene.GetObject("downdown1").SetVisible(0); + mf.KAScene.GetObject("flat1").SetVisible(1); + } + + mf.KAScene.GetObject("r_value1").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[4].Value.ToString()).ToString("#,##0")); + mf.KAScene.GetObject("r_value2").SetValue((Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[6].Value.ToString())/1000000).ToString("#,##0")); + mf.KAScene.GetObject("r_value3").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[5].Value.ToString()).ToString("#,##0")); + + mf.m_chkdata = true; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5037.cs b/MBN_STOCK_N/Scene/s5037.cs new file mode 100644 index 0000000..1a46a6a --- /dev/null +++ b/MBN_STOCK_N/Scene/s5037.cs @@ -0,0 +1,299 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5037 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5037(Form frm, string jname, string code) + { + try + { + string query = string.Empty; + string table1 = string.Empty; + string table2 = string.Empty; + + mf = (MainForm)frm; + + mf.KAScene.GetObject("title").SetValue(jname); + + if (code == "코스피") + { + //query = "SELECT DISTINCT b.f_stock_code STOCK_CODE, "; + //query = query + "b.f_stock_wanname STOCK_NAME, "; + //query = query + "a.f_curr_price CURR_PRICE, "; + //query = query + "a.f_net_chg NET_CHG, "; + //query = query + "decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, "; + //query = query + "round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), "; + //query = query + "'2', (a.f_curr_price - a.f_net_chg), "; + //query = query + "'3', (a.f_curr_price), "; + //query = query + "'4', -1 * (a.f_curr_price + a.f_net_chg), "; + //query = query + "'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate "; + //query = query + "FROM t_online1 a, t_stock b "; + //query = query + "WHERE b.f_mkt_halt = 'N' "; + //query = query + "AND a.f_curr_price < > 0 "; + //query = query + "AND a.f_stock_code = b.f_stock_code "; + //query = query + "and b.f_stock_wanname in('" + jname + "')"; + + table1 = "t_online1"; + table2 = "t_stock"; + } + + else + { + table1 = "t_kosdaq_online1"; + table2 = "t_kosdaq_stock"; + + + } + query = "SELECT DISTINCT b.f_stock_code STOCK_CODE, "; + query = query + "b.f_stock_wanname STOCK_NAME, "; + query = query + "a.f_curr_price CURR_PRICE, "; + query = query + "a.f_net_chg NET_CHG, "; + query = query + "decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, "; + query = query + "round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), "; + query = query + "'2', (a.f_curr_price - a.f_net_chg), "; + query = query + "'3', (a.f_curr_price), "; + query = query + "'4', -1*(a.f_curr_price + a.f_net_chg), "; + query = query + "'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate "; + query = query + "FROM " + table1 + " a, " + table2 + " b "; + query = query + " WHERE b.f_mkt_halt = 'N' "; + query = query + "AND a.f_curr_price < > 0 "; + query = query + "AND a.f_stock_code = b.f_stock_code "; + query = query + "and b.f_stock_wanname in('" + jname + "')"; + + mf.m_db.ViewQuery(mf.dataGridView1, query); + + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[3].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate"); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[5].Value.ToString()).ToString("##0.00")); + + + mf.KAObject = mf.KAScene.GetObject("upup"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown"); + mf.KAObject.SetVisible(0); + + string updown = mf.dataGridView1.Rows[0].Cells[4].Value.ToString(); + + if (updown == "상한" || updown == "상승") + { + if (updown == "상한") + { + mf.KAObject = mf.KAScene.GetObject("upup"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up"); + } + + mf.KAObject.SetVisible(1); + + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(170, 0, 0, 255); + + mf.KAScene.GetObject("bg1").SetVisible(1); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(0); + + } + else if (updown == "하한" || updown == "하락") + { + if (updown == "하한") + { + mf.KAObject = mf.KAScene.GetObject("downdown"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("down"); + } + mf.KAObject.SetVisible(1); + + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(15, 99, 189, 255); + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(1); + } + else + { + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(1); + mf.KAScene.GetObject("bg3").SetVisible(0); + } + + query = ""; + + //query = "SELECT DISTINCT b.f_stock_code STOCK_CODE, "; + //query = query + "b.f_stock_wanname STOCK_NAME, "; + //query = query + "a.f_curr_price CURR_PRICE, "; + //query = query + "a.f_net_chg NET_CHG, "; + //query = query + "decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE, "; + //query = query + "round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), "; + //query = query + "'2', (a.f_curr_price - a.f_net_chg), "; + //query = query + "'3', (a.f_curr_price), "; + //query = query + "'4', -1 * (a.f_curr_price + a.f_net_chg), "; + //query = query + "'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate "; + //query = query + "FROM " + table1 + " a, " + table2 + " b "; + //query = query + "WHERE b.f_mkt_halt = 'N' "; + //query = query + "AND a.f_curr_price < > 0 "; + //query = query + "AND a.f_stock_code = b.f_stock_code "; + //query = query + "and b.f_stock_wanname in('" + jname + "')"; + + if (code == "코스피") + { + //매수 + query = "select f_sale_nick_kname sale_name, f_buy_vol buy_vol from(select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol from t_dealer a, t_sale_member b, t_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_1 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol from t_dealer a, t_sale_member b, t_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_2 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol from t_dealer a, t_sale_member b, t_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_3 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol "; + query = query + "from t_dealer a, t_sale_member b, t_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_4 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol "; + query = query + "from t_dealer a, t_sale_member b, t_stock c where c.f_stock_wanname = '" + jname + "'"; + query = query + "and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_5 = b.f_sale_no and a.f_stock_code = c.f_stock_code)"; + query = query + "order by f_buy_vol desc"; + } + else + { + query = "select f_sale_nick_kname sale_name, f_buy_vol buy_vol from(select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_1 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_2 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_3 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol "; + query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_4 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol "; + query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "'"; + query = query + "and c.f_mkt_halt = 'N' and a.f_buy_dealer_no_5 = b.f_sale_no and a.f_stock_code = c.f_stock_code)"; + query = query + "order by f_buy_vol desc"; + + } + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + if (code == "코스피") + { + + query = "select f_sale_nick_kname sale_name, f_sell_vol sell_vol from(select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_sell_dealer_vol_1 f_sell_vol from t_dealer a, t_sale_member b, t_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_1 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol from t_dealer a, t_sale_member b, t_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_2 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol "; + query = query + "from t_dealer a, t_sale_member b, t_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_3 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol "; + query = query + "from t_dealer a, t_sale_member b, t_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_4 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol "; + query = query + "from t_dealer a, t_sale_member b, t_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_5 = b.f_sale_no and a.f_stock_code = c.f_stock_code) "; + query = query + "order by f_sell_vol desc "; + } + + else + { + query = "select f_sale_nick_kname sale_name, f_sell_vol sell_vol from(select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_sell_dealer_vol_1 f_sell_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_1 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, "; + query = query + "b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_2 = b.f_sale_no "; + query = query + "and a.f_stock_code = c.f_stock_code union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol "; + query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_3 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol "; + query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_4 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol "; + query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_5 = b.f_sale_no and a.f_stock_code = c.f_stock_code) "; + query = query + "order by f_sell_vol desc "; + + + //query = "select f_sale_nick_kname sale_name, f_sell_vol sell_vol from( select a.f_stock_code, b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_sell_vol "; + //query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' "; + //query = query + "and a.f_sell_dealer_no_1 = b.f_sale_no and a.f_stock_code = c.f_stock_code union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol "; + //query = query + "from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + //query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_2 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + //query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + //query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_3 = b.f_sale_no and a.f_stock_code = c.f_stock_code "; + //query = query + "union select a.f_stock_code, b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c "; + //query = query + "where c.f_stock_wanname = '" + jname + "' and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_4 = b.f_sale_no union select a.f_stock_code, "; + //query = query + "b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c where c.f_stock_wanname = '" + jname + "' "; + //query = query + "and c.f_mkt_halt = 'N' and a.f_sell_dealer_no_5 = b.f_sale_no and a.f_stock_code = c.f_stock_code ) "; + //query = query + "order by f_sell_vol desc "; + } + + mf.m_db.ViewQuery(mf.dataGridView3, query); + + for (int i = 1; i < 6; i++) + { + mf.KAScene.GetObject("buy_title_" + i.ToString()).SetValue(""); + mf.KAScene.GetObject("buy_vol_" + i.ToString()).SetValue(""); + mf.KAScene.GetObject("sell_title_" + i.ToString()).SetValue(""); + mf.KAScene.GetObject("sell_vol_" + i.ToString()).SetValue(""); + } + + for (int i=0; i< mf.dataGridView2.RowCount-1; i++) + { + mf.KAScene.GetObject("buy_title_" + (i+1).ToString()).SetValue(mf.dataGridView2.Rows[i].Cells[0].Value.ToString()); + mf.KAScene.GetObject("buy_vol_" + (i + 1).ToString()).SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[i].Cells[1].Value.ToString()))); + } + + for (int i = 0; i < mf.dataGridView3.RowCount - 1; i++) + { + mf.KAScene.GetObject("sell_title_" + (i + 1).ToString()).SetValue(mf.dataGridView3.Rows[i].Cells[0].Value.ToString()); + mf.KAScene.GetObject("sell_vol_" + (i + 1).ToString()).SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView3.Rows[i].Cells[1].Value.ToString()))); + } + mf.m_chkdata = true; + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5074.cs b/MBN_STOCK_N/Scene/s5074.cs new file mode 100644 index 0000000..cb8f7a2 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5074.cs @@ -0,0 +1,1444 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.Diagnostics.Eventing.Reader; +using System.Reflection; + +namespace MBN_STOCK_N +{ + class s5074 //5단 표그래프 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + string m_sub = string.Empty; + bool m_chk = false; + + public s5074(Form frm, string code, string jname, string sub, int idx) + { + string mart; + try + { + mf = (MainForm)frm; + m_sub = sub; + + mf.dataGridView1.Columns.Clear(); + + //================<<시장 mark 숨김>>================= + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + //======================================================== + + if (sub.Contains("VI")) + { + FileDataLoadView(jname, idx, "VI 발동", 0); + } + else if (sub.Contains("테마")) + { + + if (code.Contains("_NXT")) + { + mart = "NXT"; + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname.Replace("(NXT)", "") + "' AND SB_MARKET = 'NXT'"); + } + else + { + mart = "KRX"; + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname + "' AND SB_MARKET = 'KRX'"); + } + + code = mf.dataGridView2.Rows[0].Cells[0].Value.ToString(); + //QueryDataLoadView(code, idx, jname, 0); + + //if (sub.Contains("예상")) + // QueryDataLoadView(code, idx, jname, 1); + //else + // QueryDataLoadView(code, idx, jname, 0); + string sort; + if (sub.Contains("(입력순)")) + sort = "입력순"; + else if (sub.Contains("(상승률순)")) + sort = "상승률순"; + else + sort = "하락률순"; + + if (sub.Contains("예상")) + QueryDataLoadView(code, idx, jname, 1, sort); + else + { + if (mart == "NXT") + Nxt_QueryDataLoadView(code, idx, jname, 0, sort); + else + QueryDataLoadView(code, idx, jname, 0, sort); + } + } + else if (sub.Contains("전문가")) + { + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT EP_CODE FROM EXPERT_LIST Where EP_NAME = '" + jname + "'"); + ExpertDataLoadView(mf.dataGridView2.Rows[0].Cells[0].Value.ToString(), idx, jname, 0); + } + else + { + if (code.Contains("NXT")) + MariaDataLoadView(code, sub, idx); + else + OracleDataLoadView(code, sub, idx); + } + + + if (!m_chk) + { + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + mf.m_chkdata = true; + } + else + { + mf.m_chkdata = false; + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void FileDataLoadView(string jname, int idx, string tname, int para) + { + string[] rs = jname.Split(','); + string[] data = new string[10]; + DataSet ds = null; + int cnt = 0; + + 판1그래프데이터산업및종목류 rc = 판1그래프데이터산업및종목류.종목현재가; + + if (para == 0) + rc = 판1그래프데이터산업및종목류.종목현재가; + else + rc = 판1그래프데이터산업및종목류.종목예상체결가; + + int lcnt = 0; + if ((rs.Length % 5) != 0) + lcnt = 1; + + lcnt = (rs.Length / 5) + lcnt; + + string str = mf.PlayList.ActiveSheet.GetText(mf.m_crow, 5).Trim(); + + str = str.Substring(str.IndexOf("/") + 1, str.Length - str.IndexOf("/") - 1); + + if (int.Parse(str) > lcnt) + { + //idx = 0; + jname = jname + "," + jname + "," + jname + "," + jname + "," + jname; + rs = jname.Split(','); + } + + for (int i = 1; i <= 5; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + if (para == 0) + // mf.KAScene.GetObject("title").SetValue(tname); + mf.KAScene.GetObject("title").SetValue(tname.Replace("(NXT)", "")); + + else + mf.KAScene.GetObject("title").SetValue(tname + " 예상 체결가"); + + + //========================================= + if (tname.Contains("(NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + //============================================ + + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + + if (m_sub.Contains("전문가")) + { + mf.KAScene.GetObject("column1").SetValue("매수가"); + mf.KAScene.GetObject("column2").SetValue("현재가"); + mf.KAScene.GetObject("column3").SetValue("수익률"); + } + else + { + mf.KAScene.GetObject("column1").SetValue("현재가"); + mf.KAScene.GetObject("column2").SetValue("등락가"); + mf.KAScene.GetObject("column3").SetValue("등락률"); + } + + + for (int i = 0; i < rs.Length; i++) + { + if (i > 5) break; + ds = null; + + if (tname.Contains("NXT")) + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSPI, rs[i + (idx * 5)].Replace("(NXT)","")); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSDAQ, rs[i + (idx * 5)].Replace("(NXT)", "")); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSPI, rs[i + (idx * 5)]); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSDAQ, rs[i + (idx * 5)]); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + + if (ds != null) + { + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (m_sub.Contains("전문가")) + { + + for (int j = 0; j< mf.dataGridView2.RowCount - 1; j++) + { + if (mf.dataGridView2.Rows[j].Cells[2].Value.ToString().Trim() == rs[i + (idx * 5)].Trim()) + { + data[0] = mf.dataGridView2.Rows[j].Cells[3].Value.ToString(); + break; + } + } + data[1] = ds.Tables[0].Rows[0][2].ToString(); + + double d = Convert.ToDouble(data[1]) - Convert.ToDouble(data[0]); + + data[2] = Convert.ToDouble((d / Convert.ToDouble(data[0])) * 100.00).ToString("##0.00"); + + if (data[2].Substring(0, 1) == "-") + { + data[3] = "하락"; + + } + else if (Convert.ToDouble(data[2]) == 0.0) + { + data[3] = ""; + } + else + { + data[3] = "상승"; + } + + } + else + { + if (para == 0) + { + data[0] = ds.Tables[0].Rows[0][2].ToString(); + data[1] = ds.Tables[0].Rows[0][3].ToString(); + data[2] = ds.Tables[0].Rows[0][6].ToString(); + data[3] = ds.Tables[0].Rows[0][4].ToString(); + } + else + { + data[0] = ds.Tables[0].Rows[0][3].ToString(); + data[1] = ds.Tables[0].Rows[0][6].ToString(); + data[2] = ds.Tables[0].Rows[0][9].ToString(); + data[3] = ds.Tables[0].Rows[0][8].ToString(); + } + } + + mf.KAScene.GetObject("row" + (cnt + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (cnt + 1)); + mf.KAObject.SetValue(rs[i + (idx * 5)].Trim().Replace("(NXT)","")); + + mf.KAObject = mf.KAScene.GetObject("price" + (cnt + 1)); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[0]))); + + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1)); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + + mf.KAScene.GetObject("upup" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("up" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("flat" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("downdown" + (cnt + 1)).SetVisible(0); + + //string PMtype = ds.Tables[0].Rows[i + (idx * 5)][colums[4]].ToString(); + string PMtype = data[3]; + + //if (para == 1) + //{ + // if (data[2].Contains("-")) + // PMtype = "하락"; + // else + // PMtype = "상승"; + //} + + if (PMtype.Equals("하락") || PMtype.Equals("하한") || PMtype.Equals("-")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("하한")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(1); + } + } + else if (PMtype.Equals("상승") || PMtype.Equals("상한") || PMtype.Equals("+")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("상한")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + } + else + { + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(47, 47, 47, 255); + mf.KAObject = mf.KAScene.GetObject("flat" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + cnt += 1; + } + } + + } + + //테마 +// private void QueryDataLoadView(string code, int idx, string tname, int para, ) + + private void QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + // query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + ///// 20240612 테마 order by 변경 + ////////query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + ////////query = query + "FROM SB_ITEM a, v_all_stock b "; + ////////query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + ////////query = query + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + ////////query = query + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + /// + + if (para == 0) + { + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + query = query + "FROM SB_ITEM a, v_all_stock b "; + query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + query = query + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + query = query + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + } + } + else if (para == 1) // 예상체결 + { + if (sort == "상승률순") + { + ////query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + //// + " round(((z.f_fore_price - z.f_final_price) / z.f_final_price) * 100, 2) rate " + //// + " FROM SB_ITEM a, v_all_stock b, (select a.f_stock_code, a.f_fore_price, b.f_final_price from t_online1_call a, t_batch_day b " + //// + " where a.f_stock_code = b.f_stock_code " + //// + "union " + //// + " select y.f_stock_code, a.f_fore_price, b.f_final_price from t_kosdaq_online1_call a, t_kosdaq_batch_day b " + //// + " where a.f_stock_code = b.f_stock_code) z " + //// + "WHERE a.SB_M_CODE = '" + code + "' " + //// + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + //// + " AND z.f_stock_code = b.f_stock_code " + //// + " AND b.f_mkt_halt = 'N' " + //// + "ORDER BY rate desc, a.SB_I_INDEX "; + + + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round(((z.f_fore_price - z.f_final_price) / z.f_final_price) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select a.f_stock_code, a.f_fore_price, b.f_final_price from t_online1_call a, t_batch_day b " + + " where a.f_stock_code = b.f_stock_code " + + "union " + + " select a.f_stock_code, a.f_fore_price, b.f_final_price from t_kosdaq_online1_call a, t_kosdaq_batch_day b " + + " where a.f_stock_code = b.f_stock_code) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + ////query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + //// + " round(((z.f_fore_price - z.f_final_price) / z.f_final_price) * 100, 2) rate " + //// + " FROM SB_ITEM a, v_all_stock b, (select a.f_stock_code, a.f_fore_price, b.f_final_price from t_online1_call a, t_batch_day b " + //// + " where a.f_stock_code = b.f_stock_code " + //// + "union " + //// + " select y.f_stock_code, a.f_fore_price, b.f_final_price from t_kosdaq_online1_call a, t_kosdaq_batch_day b " + //// + " where a.f_stock_code = b.f_stock_code) z " + //// + "WHERE a.SB_M_CODE = '" + code + "' " + //// + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + //// + " AND z.f_stock_code = b.f_stock_code " + //// + " AND b.f_mkt_halt = 'N' " + //// + "ORDER BY rate desc, a.SB_I_INDEX "; + + + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round(((z.f_fore_price - z.f_final_price) / z.f_final_price) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select a.f_stock_code, a.f_fore_price, b.f_final_price from t_online1_call a, t_batch_day b " + + " where a.f_stock_code = b.f_stock_code " + + "union " + + " select a.f_stock_code, a.f_fore_price, b.f_final_price from t_kosdaq_online1_call a, t_kosdaq_batch_day b " + + " where a.f_stock_code = b.f_stock_code) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY a.SB_I_INDEX "; + } + + } + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void Nxt_QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + if (para == 0) + { + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate desc "; + //query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + // + " round((z.f_net_chg / decode(z.f_chg_type, " + // + " '1', (z.f_curr_price - z.f_net_chg), " + // + " '2', (z.f_curr_price - z.f_net_chg), " + // + " '3', (z.f_curr_price), " + // + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + // + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + // + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + // + "union " + // + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + // + "WHERE a.SB_M_CODE = '" + code + "' " + // + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + // + " AND z.f_stock_code = b.f_stock_code " + // + " AND b.f_mkt_halt = 'N' " + // + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate "; + + //query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + // + " round((z.f_net_chg / decode(z.f_chg_type, " + // + " '1', (z.f_curr_price - z.f_net_chg), " + // + " '2', (z.f_curr_price - z.f_net_chg), " + // + " '3', (z.f_curr_price), " + // + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + // + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + // + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from n_online x " + // + "union " + // +" select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from n_kosdaq_online y) z " + // + "WHERE a.SB_M_CODE = '" + code + "' " + // + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + // + " AND z.f_stock_code = b.f_stock_code " + // + " AND b.f_mkt_halt = 'N' " + // + "ORDER BY rate "; + } + else + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + " WHERE a.SB_M_CODE = '" + code + "' " + + " and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " and b.f_stop_gubun = 'N' ORDER BY a.SB_I_INDEX"; + + //query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + //query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + } + } + + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; +// jname = jname + "(NXT),"; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString() + "(NXT)"; + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void ExpertDataLoadView(string code, int idx, string tname, int para) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT * FROM RECOMMEND_LIST WHERE RC_CODE = '" + code + "' order by PLAYINDEX"); + + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[2].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void OracleDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피")) + code = "코스피"; + else + code = "코스닥"; + sub = "업종지수"; + + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.KOSPI; + + if (code.Equals("코스닥")) + { + type = 국내시장종류.KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("예상가 시가총액 상위")) + { + colums = new string[] { "WANNAME", "CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.예상가시가총액상위); + mf.KAObject.SetValue(code + " 예상가 시가총액 상위"); + } + + else if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시가총액); + mf.KAObject.SetValue(code + " 시가총액 상위"); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("업종지수")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.업종); + mf.KAObject.SetValue(code + " 업종"); + isPoint = true; + + colums[0] = "F_PART_NAME"; + colums[1] = "PART_IDX"; + colums[2] = "PART_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + mf.KAObject.SetValue(code + " 시간외 상승률 상위"); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + mf.KAObject.SetValue(code + " 시간외 하락률 상위"); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.상승률); + mf.KAObject.SetValue(code + " 상승률 상위"); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.하락률); + mf.KAObject.SetValue(code + " 하락률 상위"); + } + + else if (sub.Contains("52주 신고가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신고가52주); + mf.KAObject.SetValue(code + " 52주 신고가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("52주 신저가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신저가52주); + mf.KAObject.SetValue(code + " 52주 신저가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + + + else if (sub.Contains("코스피 200 종목")) + { + + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.코스피200); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue(code + " 200"); + } + + else if (sub.Contains("ETF 종목")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.ETF); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue("ETF"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 5; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 5) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 5; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 5)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][3])); + string PMtype = rows[i + (idx * 5)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + mf.KAObject.SetVisible(1); + else + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재가"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락가"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + if (mf.dataGridView1.RowCount - 1 < 5) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 5; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 5)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 5)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 5)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 5)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 5)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + if (rate.Substring(0,1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + private void MariaDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피_NXT")) + code = "코스피_NXT"; + else + code = "코스닥_NXT"; + + sub = "업종지수"; + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + + mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.NXT_KOSPI; + + if (code.Equals("코스닥_NXT")) + { + type = 국내시장종류.NXT_KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시가총액); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 시가총액 상위"); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 시간외 상승률 상위"); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 시간외 하락률 상위"); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.상승률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 상승률 상위"); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.하락률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 하락률 상위"); + } + else if (sub.Contains("거래량")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.거래량); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 거래량 상위"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 5; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 5) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 5; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 5)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 5)][3])); + string PMtype = rows[i + (idx * 5)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재가"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락가"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + if (mf.dataGridView1.RowCount - 1 < 5) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 5; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 5)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 5)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 5)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 5)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 5)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + if (rate.Substring(0, 1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5076.cs b/MBN_STOCK_N/Scene/s5076.cs new file mode 100644 index 0000000..56f9763 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5076.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; + +namespace MBN_STOCK_N +{ + class s5076 //주요매출 구성 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5076(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + + mf.m_db.ViewQuery(mf.dataGridView1, "SELECT * FROM INPUT_PIE WHERE STOCK_NAME = '" + jname + "'"); + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString() + " 주요매출 구성"); + mf.KAScene.GetObject("date").SetValue(mf.dataGridView1.Rows[0].Cells[1].Value.ToString() + " 기준"); + + for (int i = 1; i < 6; i++) + { + mf.KAScene.GetObject("circle" + i).SetVisible(0); + mf.KAScene.GetObject("group" + i).SetVisible(0); + } + + double sAngle = 0; + + for (int i = 1; i < 6; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i + 1].Value.ToString().Split('_'); + + if (rs[0] != "") + { + mf.KAScene.GetObject("circle" + i).SetVisible(1); + mf.KAScene.GetObject("group" + i).SetVisible(1); + + if (rs[1] == "" || rs[1] == "-") rs[1] = "0"; + mf.KAScene.GetObject("word" + i).SetValue(rs[0]); + mf.KAScene.GetObject("percent" + i).SetValue(rs[1]); + + + double percent = Convert.ToDouble(rs[1]); + double angle = (percent / 100) * 360; + + //변경 시작 - 원 시작 끝 설정 + mf.KAScene.GetObject("circle" + i).SetCircleAngleKey(0, (float)sAngle, (float)sAngle, eKAngleKey.ANGLE_KEY_ALL); + mf.KAScene.GetObject("circle" + i).SetCircleAngleKey(1, (float)sAngle, (float)(sAngle + angle), eKAngleKey.ANGLE_KEY_ALL); + //변경 끝 + + sAngle += angle; + + } + } + mf.m_chkdata = true; + } + catch(Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5077.cs b/MBN_STOCK_N/Scene/s5077.cs new file mode 100644 index 0000000..bf60772 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5077.cs @@ -0,0 +1,1527 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using FarPoint.Win; +using FarPoint.Win.Spread.CellType.BarCode; +using System.Reflection; +using System.Diagnostics.Eventing.Reader; + +namespace MBN_STOCK_N +{ + class s5077 // 6종목 현재가 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + string m_sub = string.Empty; + bool m_chk = false; + + public s5077(Form frm, string code, string jname, string sub, int idx) + { + string mart; + try + { + mf = (MainForm)frm; + m_sub = sub; + + mf.dataGridView1.Columns.Clear(); + + //================<<시장 mark 숨김>>================= + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + //==================================================== + + if (sub.Contains("VI")) + { + FileDataLoadView(jname, idx, "VI 발동", 0); + } + else if (sub.Contains("테마")) + { + // if (jname.Contains("NXT")) + // mf.m_db.Nxt_ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname.Replace("(NXT)","") + "'"); + //else + // mf.m_db.ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname + "'"); + + + + if (code.Contains("_NXT")) + { + mart = "NXT"; + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname.Replace("(NXT)", "") + "' AND SB_MARKET = 'NXT'"); + } + else + { + mart = "KRX"; + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname + "' AND SB_MARKET = 'KRX'"); + } + + code = mf.dataGridView2.Rows[0].Cells[0].Value.ToString(); + //QueryDataLoadView(code, idx, jname, 0); + string sort; + if (sub.Contains("(입력순)")) + sort = "입력순"; + else if(sub.Contains("(상승률순)")) + sort = "상승률순"; + else + sort = "하락률순"; + + if (sub.Contains("예상")) + { + QueryDataLoadView(code, idx, jname, 1, sort); + } + else + { + if (jname.Contains("NXT")) + NXT_QueryDataLoadView(code, idx, jname, 0, sort); + else + QueryDataLoadView(code, idx, jname, 0, sort); + } + + } + else if (sub.Contains("전문가")) + { + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT EP_CODE FROM EXPERT_LIST Where EP_NAME = '" + jname + "'"); + ExpertDataLoadView(mf.dataGridView2.Rows[0].Cells[0].Value.ToString(), idx, jname, 0); + } + + else + { + if (code.Contains("NXT")) + MariaDataLoadView(code, sub, idx); + else + OracleDataLoadView(code, sub, idx); + } + + if (!m_chk) + { + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + mf.m_chkdata = true; + } + else + { + mf.m_chkdata = false; + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void FileDataLoadView(string jname, int idx, string tname, int para) + { + string[] rs = jname.Split(','); + string[] data = new string[10]; + DataSet ds = null; + int cnt = 0; + 판1그래프데이터산업및종목류 rc = 판1그래프데이터산업및종목류.종목현재가; + + if (para == 0) + rc = 판1그래프데이터산업및종목류.종목현재가; + else + rc = 판1그래프데이터산업및종목류.종목예상체결가; + + int lcnt = 0; + if ((rs.Length % 6) != 0) + lcnt = 1; + + lcnt = (rs.Length / 6) + lcnt; + + string str = mf.PlayList.ActiveSheet.GetText(mf.m_crow, 5).Trim(); + + str = str.Substring(str.IndexOf("/") + 1, str.Length - str.IndexOf("/") - 1); + + if (int.Parse(str) > lcnt) + { + //idx = 0; + jname = jname + "," + jname + "," + jname + "," + jname + "," + jname; + rs = jname.Split(','); + } + + for (int i = 1; i <= 6; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + if (para == 0) + mf.KAScene.GetObject("title").SetValue(tname); + else + mf.KAScene.GetObject("title").SetValue(tname + " 예상 체결가"); + + //========================================= + if (tname.Contains("(NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + //============================================ + + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + + if (m_sub.Contains("전문가")) + { + mf.KAScene.GetObject("column1").SetValue("매수가"); + mf.KAScene.GetObject("column2").SetValue("현재가"); + mf.KAScene.GetObject("column3").SetValue("수익률"); + } + else + { + mf.KAScene.GetObject("column1").SetValue("현재가"); + mf.KAScene.GetObject("column2").SetValue("등락가"); + mf.KAScene.GetObject("column3").SetValue("등락률"); + } + + for (int i = 0; i < rs.Length; i++) + { + if (i > 6) break; + ds = null; + + if (tname.Contains("NXT")) + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 6)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSPI, rs[i + (idx * 6)].Replace("(NXT)", "")); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 6)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSDAQ, rs[i + (idx * 6)].Replace("(NXT)", "")); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 6)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSPI, rs[i + (idx * 6)]); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 6)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSDAQ, rs[i + (idx * 6)]); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + + if (ds != null) + { + mf.dataGridView1.DataSource = ds.Tables[0]; + + + if (para == 0) + { + data[0] = ds.Tables[0].Rows[0][2].ToString(); + data[1] = ds.Tables[0].Rows[0][3].ToString(); + data[2] = ds.Tables[0].Rows[0][6].ToString(); + data[3] = ds.Tables[0].Rows[0][4].ToString(); + } + else + { + data[0] = ds.Tables[0].Rows[0][3].ToString(); + data[1] = ds.Tables[0].Rows[0][6].ToString(); + data[2] = ds.Tables[0].Rows[0][9].ToString(); + data[3] = ds.Tables[0].Rows[0][8].ToString(); + } + + mf.KAScene.GetObject("row" + (cnt + 1).ToString()).SetVisible(1); + + + + mf.KAObject = mf.KAScene.GetObject("title" + (cnt + 1)); + //mf.KAObject.SetValue(rs[i + (idx * 6)].Trim()); + mf.KAObject.SetValue(rs[i + (idx * 6)].Trim().Replace("(NXT)", "")); + + mf.KAObject = mf.KAScene.GetObject("price" + (cnt + 1)); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[0]))); + + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_1"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_2"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_3"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + + // mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1)); + // mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAScene.GetObject("upup" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("up" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("flat" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("downdown" + (cnt + 1)).SetVisible(0); + + //string PMtype = ds.Tables[0].Rows[i + (idx * 5)][colums[4]].ToString(); + string PMtype = data[3]; + + //if (para == 1) + //{ + // if (data[2].Contains("-")) + // PMtype = "하락"; + // else + // PMtype = "상승"; + //} + + if (PMtype.Equals("하락") || PMtype.Equals("하한") || PMtype.Equals("-")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("하한")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(1); + } + } + else if (PMtype.Equals("상승") || PMtype.Equals("상한") || PMtype.Equals("+")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("상한")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + } + else + { + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(0); + + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(47, 47, 47, 255); + mf.KAObject = mf.KAScene.GetObject("flat" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + cnt += 1; + } + } + + } + + //테마 + private void QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + // query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + // query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "AND b.f_mkt_halt = 'N' "; + //query = query + "ORDER BY a.SB_I_INDEX"; + + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + query = query + "FROM SB_ITEM a, v_all_stock b "; + query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + query = query + "AND b.f_mkt_halt = 'N' "; + query = query + "ORDER BY a.SB_I_INDEX"; + } + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void NXT_QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + // query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + // query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "AND b.f_mkt_halt = 'N' "; + //query = query + "ORDER BY a.SB_I_INDEX"; + + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate desc "; + //query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + // + " round((z.f_net_chg / decode(z.f_chg_type, " + // + " '1', (z.f_curr_price - z.f_net_chg), " + // + " '2', (z.f_curr_price - z.f_net_chg), " + // + " '3', (z.f_curr_price), " + // + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + // + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + // + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from n_online x " + // + "union " + // + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from n_kosdaq_online y) z " + // + "WHERE a.SB_M_CODE = '" + code + "' " + // + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + // + " AND z.f_stock_code = b.f_stock_code " + // + " AND b.f_stop_gubun = 'N' " + // + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + " WHERE a.SB_M_CODE = '" + code + "' " + + " and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " and b.f_stop_gubun = 'N' ORDER BY a.SB_I_INDEX"; + + //query = "SELECT F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + //query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "AND b.f_stop_gubun = 'N' "; + //query = query + "ORDER BY a.SB_I_INDEX"; + } + + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString()+ "(NXT)"; + } + + FileDataLoadView(jname, idx, tname, para); + } + + private void ExpertDataLoadView(string code, int idx, string tname, int para) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT * FROM RECOMMEND_LIST WHERE RC_CODE = '" + code + "' order by PLAYINDEX"); + + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[2].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void OracleDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피")) + code = "코스피"; + else + code = "코스닥"; + sub = "업종지수"; + + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + //mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.KOSPI; + + if (code.Equals("코스닥")) + { + type = 국내시장종류.KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("예상가 시가총액 상위")) + { + colums = new string[] { "WANNAME", "CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.예상가시가총액상위); + //mf.KAObject.SetValue(code + " 예상가 시가총액 상위"); + } + + else if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시가총액); +// mf.KAObject.SetValue(code + " 시가총액 상위"); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("업종지수")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.업종); + //mf.KAObject.SetValue(code + " 업종"); + isPoint = true; + + colums[0] = "F_PART_NAME"; + colums[1] = "PART_IDX"; + colums[2] = "PART_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + //mf.KAObject.SetValue(code + " 시간외 상승률 상위"); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + //mf.KAObject.SetValue(code + " 시간외 하락률 상위"); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.상승률); + //mf.KAObject.SetValue(code + " 상승률 상위"); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.하락률); + //mf.KAObject.SetValue(code + " 하락률 상위"); + } + + else if (sub.Contains("52주 신고가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신고가52주); + //mf.KAObject.SetValue(code + " 52주 신고가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("52주 신저가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신저가52주); + //mf.KAObject.SetValue(code + " 52주 신저가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + + + else if (sub.Contains("코스피 200 종목")) + { + + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.코스피200); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue(code + " 200"); + } + + else if (sub.Contains("ETF 종목")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.ETF); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue("ETF"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 6; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 6) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 6; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 6)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][3])); + string PMtype = rows[i + (idx * 6)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + //mf.KAObject = mf.KAScene.GetObject("mart"); + + //if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + // mf.KAObject.SetVisible(1); + //else + // mf.KAObject.SetVisible(0); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + //mf.KAObject = mf.KAScene.GetObject("column1"); + //mf.KAObject.SetValue("현재가"); + //mf.KAObject = mf.KAScene.GetObject("column2"); + //mf.KAObject.SetValue("등락가"); + //mf.KAObject = mf.KAScene.GetObject("column3"); + //mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + if (mf.dataGridView1.RowCount - 1 < 6) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 6; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 6)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 6)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 6)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 6)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 6)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + //mf.KAObject.SetValue(rate); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + if (rate.Substring(0,1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + //mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + //mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + private void MariaDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피_NXT")) + code = "코스피_NXT"; + else + code = "코스닥_NXT"; + + sub = "업종지수"; + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + //mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.NXT_KOSPI; + + if (code.Equals("코스닥_NXT")) + { + type = 국내시장종류.NXT_KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시가총액); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.상승률); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.하락률); + } + else if (sub.Contains("거래량")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.거래량); + +// mf.KAObject.SetValue(code.Replace("_NXT", "") + " 거래량 상위"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 6; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 6) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 6; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 6)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 6)][3])); + string PMtype = rows[i + (idx * 6)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + + //if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + // mf.KAObject.SetVisible(1); + //else + // mf.KAObject.SetVisible(0); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); // 보이기 + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); // 감추기 + } + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + //mf.KAObject = mf.KAScene.GetObject("column1"); + //mf.KAObject.SetValue("현재가"); + //mf.KAObject = mf.KAScene.GetObject("column2"); + //mf.KAObject.SetValue("등락가"); + //mf.KAObject = mf.KAScene.GetObject("column3"); + //mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + if (mf.dataGridView1.RowCount - 1 < 6) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 6; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 6)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 6)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 6)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 6)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 6)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + //mf.KAObject.SetValue(rate); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + if (rate.Substring(0, 1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + //mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + //mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + + + } +} diff --git a/MBN_STOCK_N/Scene/s5078.cs b/MBN_STOCK_N/Scene/s5078.cs new file mode 100644 index 0000000..ce3b904 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5078.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5078 //섹터지수 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5078(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + double buho = 1.0; + //double account = 0.0; + + if (jname == "다우") + { ds = DataManager.getInstance().createCut21StickData(섹터지수막대그래프분류.다우); buho = -1.0; } + else if (jname == "나스닥") + { ds = DataManager.getInstance().createCut21StickData(섹터지수막대그래프분류.나스닥); buho = -1.0;} + else if (jname == "S&P") + { ds = DataManager.getInstance().createCut21StickData(섹터지수막대그래프분류.SNP); buho = -1.0; } + else if (jname == "코스피") + ds = DataManager.getInstance().createCut21StickData(섹터지수막대그래프분류.코스피); + else if (jname == "코스닥") + ds = DataManager.getInstance().createCut21StickData(섹터지수막대그래프분류.코스닥); + + mf.dataGridView1.DataSource = ds.Tables[0]; + + List p = new List(); + string rvalue = string.Empty; + + if (mf.dataGridView1.RowCount <= 1) + { + mf.m_chkdata = false; + } + else + { + mf.KAScene.GetObject("title").SetValue(jname + " 섹터지수"); + + for (int i = 0; i < 10; i++) + { + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_1").SetVisible(0); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_1").SetVisible(0); + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_2").SetVisible(0); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_2").SetVisible(0); + + rvalue = mf.dataGridView1.Rows[i].Cells[4].Value.ToString(); + + //if (rvalue.Substring(0, 1) == "-") + // rvalue = rvalue.Substring(1); + + double value = Convert.ToDouble(rvalue); + p.Add(Math.Abs(value)); + } + + //category + for (int i = 0; i < mf.dataGridView1.RowCount-1; i++) + { + //mf.KAScene.GetObject("category" + (i+1).ToString()).SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr["RATE"].ToString()))); + mf.KAScene.GetObject("category" + (i + 1).ToString()).SetValue(mf.dataGridView1.Rows[i].Cells[0].Value.ToString()); + + double valu = Convert.ToDouble(mf.dataGridView1.Rows[i].Cells[4].Value.ToString()); + p.Max(); + double scaleX = valu / p.Max(); + + + if (mf.dataGridView1.Rows[i].Cells[2].Value.ToString().Trim() != "-") + { + + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_2").SetVisible(1); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_2").SetVisible(1); + + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_2").SetScale((float)scaleX , 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_2").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[i].Cells[4].Value.ToString()).ToString("##0.00")); + + } + else + { + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_1").SetVisible(1); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_1").SetVisible(1); + + mf.KAScene.GetObject("bar" + (i + 1).ToString() + "_1").SetScale((float)(scaleX * buho) , 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAScene.GetObject("value" + (i + 1).ToString() + "_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[i].Cells[4].Value.ToString()).ToString("##0.00")); + + } + + } + mf.m_chkdata = true; + + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5079.cs b/MBN_STOCK_N/Scene/s5079.cs new file mode 100644 index 0000000..cbf10bf --- /dev/null +++ b/MBN_STOCK_N/Scene/s5079.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; + +namespace MBN_STOCK_N +{ + class s5079 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5079(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + //float[] xPos = new float[] { 0, 368, 740, 1110 }; + + mf.m_db.ViewQuery(mf.dataGridView1, "SELECT * FROM INPUT_GROW WHERE STOCK_NAME = '" + jname + "'"); + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString() + " 성장성 지표"); + + List p = new List(); + + string[] rs = null; + string[ , ] trs = new string[5, 10]; + + for (int i = 1; i <=4; i++) + { + rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + + for (int j = 0; j p = new List(); + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + + int value = Convert.ToInt32(getValue(rs[1])); + p.Add(value); + + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_2"); + mf.KAObject.SetVisible(0); + + int index = 1; + + if (value < 0) + { + index = 2; + } + + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_" + index); + mf.KAObject.SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("value" + i + "_" + index); + mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + } + + + //센터를 맞추는 작업 + if (p.Max() > 0 && p.Min() > 0) + { + //모두 양수인 경우 : -235 + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(-240), 0, eKVectorType.VECTOR_TYPE_Y); + } + else if (p.Max() < 0 && p.Min() < 0) + { + //모두 음수인 경우 : 120 + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(115), 0, eKVectorType.VECTOR_TYPE_Y); + } + else + { + //양수와 음수가 공존하는 경우 :계산 + double scaleY = (Convert.ToDouble(355 * Math.Abs(p.Min())) / (p.Max() + Math.Abs(p.Min()))) - 250; + + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(scaleY), 0, eKVectorType.VECTOR_TYPE_Y); + } + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + double value = Convert.ToDouble(getValue(rs[1])); + double scaleY = 1.8 * Math.Abs(value / p.Max()); + + if (!((p.Max() > 0 && p.Min() > 0) || (p.Max() < 0 && p.Min() < 0))) + { + scaleY = 1.8 * Math.Abs(value / (p.Max() - p.Min())); + } + if (p.Max() < 0 && p.Min() < 0) + { + scaleY = 1.8 * Math.Abs(value / p.Min()); + } + + int index = 1; + + if (value < 0) + { + index = 2; + } + + mf.KAObject = mf.KAScene.GetObject("bar" + i + "_" + index); + mf.KAObject.SetScale(0, (float)scaleY, 0, eKVectorType.VECTOR_TYPE_Y); + } + mf.m_chkdata = true; + } + catch (Exception) + { + mf.m_chkdata = false; + } + + /* + try + { + mf = (MainForm)frm; + + mf.m_db.ViewQuery(mf.dataGridView1, "SELECT * FROM INPUT_SELL WHERE STOCK_NAME = '" + jname + "'"); + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString() + " 매출액"); + + List p = new List(); + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + + mf.KAObject = mf.KAScene.GetObject("quarter" + i); + mf.KAObject.SetValue(rs[0]); + + if (rs[1] != "") + { + + int value = Convert.ToInt32(rs[1]); + p.Add(value); + + mf.KAObject = mf.KAScene.GetObject("sales" + i); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt32(rs[1]))); + } + + } + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + if (rs[1] != "") + { + + double valu = Convert.ToDouble(rs[1]); + p.Max(); + double scaleY = valu / p.Max(); + + mf.KAObject = mf.KAScene.GetObject("shape" + i); + mf.KAObject.SetScale(0, (float)scaleY, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject = mf.KAScene.GetObject("bar" + i); + mf.KAObject.SetScale(0, (float)scaleY, 0, eKVectorType.VECTOR_TYPE_Y); + + mf.KAScene.GetObject("bar" + i).SetVisible(1); + mf.KAScene.GetObject("sales" + i).SetVisible(1); + mf.KAScene.GetObject("shape" + i).SetVisible(1); + } + else + { + mf.KAScene.GetObject("sales" + i).SetVisible(0); + mf.KAScene.GetObject("shape" + i).SetVisible(0); + mf.KAScene.GetObject("bar" + i).SetVisible(0); + } + } + mf.m_chkdata = true; + } + catch(Exception) + { + mf.m_chkdata = false; + } + */ + } + public string getValue(string value) + { + if (value == "") + { + value = "0"; + } + return value; + } + + } + +} diff --git a/MBN_STOCK_N/Scene/s5081.cs b/MBN_STOCK_N/Scene/s5081.cs new file mode 100644 index 0000000..49e2bd5 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5081.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; + +namespace MBN_STOCK_N +{ + class s5081 //영업이익 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5081(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + + mf.m_db.ViewQuery(mf.dataGridView1, "SELECT * FROM INPUT_PROFIT WHERE STOCK_NAME = '" + jname + "'"); + + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString() + " 영업이익"); + + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + + mf.KAObject = mf.KAScene.GetObject("quarter" + i); + mf.KAObject.SetValue(rs[0]); + } + + List p = new List(); + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + + int value = Convert.ToInt32(getValue(rs[1])); + p.Add(value); + + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_2"); + mf.KAObject.SetVisible(0); + + int index = 1; + + if (value < 0) + { + index = 2; + } + + mf.KAObject = mf.KAScene.GetObject("barG" + i + "_" + index); + mf.KAObject.SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("value" + i + "_" + index); + mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + } + + + //센터를 맞추는 작업 + if (p.Max() > 0 && p.Min() > 0) + { + //모두 양수인 경우 : -235 + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(-240), 0, eKVectorType.VECTOR_TYPE_Y); + } + else if (p.Max() < 0 && p.Min() < 0) + { + //모두 음수인 경우 : 120 + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(115), 0, eKVectorType.VECTOR_TYPE_Y); + } + else + { + //양수와 음수가 공존하는 경우 :계산 + double scaleY = (Convert.ToDouble(355 * Math.Abs(p.Min())) / (p.Max() + Math.Abs(p.Min()))) - 250; + + mf.KAObject = mf.KAScene.GetObject("centerbar"); + mf.KAObject.SetPositionKey(0, 0, (float)(scaleY), 0, eKVectorType.VECTOR_TYPE_Y); + } + + for (int i = 1; i < 7; i++) + { + string[] rs = mf.dataGridView1.Rows[0].Cells[i].Value.ToString().Split('_'); + double value = Convert.ToDouble(getValue(rs[1])); + double scaleY = 1.8 * Math.Abs(value / p.Max()); + + if (!((p.Max() > 0 && p.Min() > 0) || (p.Max() < 0 && p.Min() < 0))) + { + scaleY = 1.8 * Math.Abs(value / (p.Max() - p.Min())); + } + if (p.Max() < 0 && p.Min() < 0) + { + scaleY = 1.8 * Math.Abs(value / p.Min()); + } + + int index = 1; + + if (value < 0) + { + index = 2; + } + + mf.KAObject = mf.KAScene.GetObject("bar" + i + "_" + index); + mf.KAObject.SetScale(0, (float)scaleY, 0, eKVectorType.VECTOR_TYPE_Y); + } + mf.m_chkdata = true; + } + catch (Exception) + { + mf.m_chkdata = false; + } + + } + + public string getValue(string value) + { + if (value == "") + { + value = "0"; + } + return value; + } + } +} diff --git a/MBN_STOCK_N/Scene/s5082.cs b/MBN_STOCK_N/Scene/s5082.cs new file mode 100644 index 0000000..3f5e844 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5082.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5082 //주체별 매매동향 + { + MainForm mf = null; + + public s5082(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = DataManager.getInstance().createGridChartData(그리드표그래프종류.주체별매매동향8번컷, null); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + //mf.KAObject = mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1"); + //mf.KAObject = mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2"); + //mf.KAObject = mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3"); + + int value = Convert.ToInt32(ds.Tables[0].Rows[i][j + 1].ToString()); + + if (value < 0) + { + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetValue(String.Format("{0:#,##0}", value)); + + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetVisible(1); + } + + else if (value > 0) + { + //mf.KAObject.SetFaceColor(171, 0, 0, 255); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetValue(String.Format("{0:#,##0}", value)); + + + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetVisible(0); + } + + else + { + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetValue(String.Format("{0:#,##0}", value)); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetValue(String.Format("{0:#,##0}", value)); + + + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("row" + (i + 1) + "_value" + (j + 1) + "_3").SetVisible(0); + //mf.KAObject.SetFaceColor(47, 47, 47, 255); + } + + + //mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + + + } + } + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5083.cs b/MBN_STOCK_N/Scene/s5083.cs new file mode 100644 index 0000000..f035777 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5083.cs @@ -0,0 +1,184 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5083 //개인, 기관, 외국인 매매동향 + { + MainForm mf = null; + string tname = string.Empty; + string dname = string.Empty; + + + public s5083(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + + if (jname.Contains("개인")) + { + tname = "개인"; dname = "NAME"; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.개인매매동향, 데이터기간.일, null); + } + + else if (jname.Contains("기관")) + { + tname = "기관"; dname = "F_NAME"; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.기관매매동향, 데이터기간.일, null); + } + else if (jname.Contains("외국인")) + { + tname = "외국인"; dname = "NAME"; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.외국인매매동향, 데이터기간.일, null); + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + mf.dataGridView2.DataSource = ds.Tables[1]; + + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(tname + " 매매동향"); + + foreach (DataRow v in ds.Tables[0].Rows) + { + string name = v[dname].ToString(); + string value = String.Format("{0:#,##0}", Convert.ToInt32(v["AMT"].ToString())); + + if (name.Equals("코스피")) + { + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(value); + } + else if (name.Equals("코스닥")) + { + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(value); + } + else if (name.Equals("코스피200")) + { + mf.KAObject = mf.KAScene.GetObject("price3"); + mf.KAObject.SetValue(value); + } + } + + double lineMaxWidth = 1212.26; + + //22.06.21 수정사항 + //전체 길이에서 비례하는 만큼 최대 수치값을 변경하여 적용한다 + + //마지막 라인의 4자리 값만 필요 + string fdatatime = ds.Tables[1].Rows[ds.Tables[1].Rows.Count - 1]["F_DATA_TIME"].ToString(); + fdatatime = fdatatime.Substring(fdatatime.Length - 4); + //해당 시간 데이터가 15시30분 보다 작은 경우만 최대 값이 변동된다. + int bufTime = Convert.ToInt32(fdatatime); + if (bufTime < 1530) + { + //1,2자리는 시 3,4자리는 분 + //9시 ~ 15시30분 => 540~930 이므로 비례해서 계산한다 + int TimeToMin = (Convert.ToInt32(fdatatime.Substring(0, 2)) * 60) + Convert.ToInt32(fdatatime.Substring(2, 2)); + + lineMaxWidth = lineMaxWidth * Convert.ToDouble(TimeToMin - 540) / 390; + } + + double GRAPH_Y = 48.0; + + double maxValue = 0.0; + double minValue = 0.0; + List kospi = new List(); + List kosdaq = new List(); + List kospi200 = new List(); + + + foreach (DataRow v in ds.Tables[1].Rows) + { + //int value = Math.Abs(Convert.ToInt32(v["PRICE"].ToString())); + double value = Convert.ToDouble(v["PRICE"].ToString()); + + if (maxValue < value) + maxValue = value; + + if (minValue > value) + minValue = value; + + if (v["F_NAME"].ToString().Equals("코스피")) + kospi.Add(Convert.ToInt32(v["PRICE"].ToString())); + if (v["F_NAME"].ToString().Equals("코스닥")) + kosdaq.Add(Convert.ToInt32(v["PRICE"].ToString())); + if (v["F_NAME"].ToString().Equals("코스피200")) + kospi200.Add(Convert.ToInt32(v["PRICE"].ToString())); + } + + double fRange = maxValue - minValue; + double fBase = -138 + (0.0f - minValue) / fRange * 266; + int baseYPos = Convert.ToInt32(GRAPH_Y + fBase); + mf.KAScene.GetObject("baseline").SetPosition(0.0f, baseYPos, 0.0f, eKVectorType.VECTOR_TYPE_Y); + //mf.KAScene.GetObject("baseline").SetPosition(0.0f, Convert.ToInt32(GRAPH_Y + fBase), 0.0f, eKVectorType.VECTOR_TYPE_Y); + + int index = 0; + mf.KAObject = mf.KAScene.GetObject("path1"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in kospi) + { + index++; + //double xPos = (lineMaxWidth / (kospi.Count - 1)) * (index - 1); + double xPos = (lineMaxWidth / (kospi.Count - 1)) * (index - 1); + //double yPos = ((Convert.ToDouble(v) / maxValue) * 150); + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + + index = 0; + mf.KAObject = mf.KAScene.GetObject("path2"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in kosdaq) + { + index++; + //double xPos = (lineMaxWidth / (kospi.Count - 1)) * (index - 1); + double xPos = (lineMaxWidth / (kospi.Count)) * (index); + //double yPos = ((Convert.ToDouble(v) / maxValue) * 150); + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + + index = 0; + mf.KAObject = mf.KAScene.GetObject("path3"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in kospi200) + { + index++; + //double xPos = (lineMaxWidth / (kospi200.Count - 1)) * (index - 1); + double xPos = (lineMaxWidth / (kospi200.Count)) * (index); + //double yPos = ((Convert.ToDouble(v) / maxValue) * 150); + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5084.cs b/MBN_STOCK_N/Scene/s5084.cs new file mode 100644 index 0000000..50b1295 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5084.cs @@ -0,0 +1,187 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5084 //매매동향 라인그래프 + { + MainForm mf = null; + string tname = string.Empty; + + public s5084(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + if (jname.Contains("코스피")) + { + tname = "코스피"; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피매매동향, 데이터기간.일, null); + } + + else if (jname.Contains("코스닥")) + { + tname = "코스닥"; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥매매동향, 데이터기간.일, null); + } + + + mf.dataGridView1.DataSource = ds.Tables[0]; + mf.dataGridView2.DataSource = ds.Tables[1]; + + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(tname + " 매매동향"); + + mf.KAObject = mf.KAScene.GetObject("price1"); + string price = String.Format("{0:#,##0}", Convert.ToInt32(ds.Tables[0].Rows[0]["개인"].ToString())); + mf.KAObject.SetValue(price); + mf.KAObject = mf.KAScene.GetObject("price2"); + price = String.Format("{0:#,##0}", Convert.ToInt32(ds.Tables[0].Rows[0]["외국인"].ToString())); + mf.KAObject.SetValue(price); + mf.KAObject = mf.KAScene.GetObject("price3"); + price = String.Format("{0:#,##0}", Convert.ToInt32(ds.Tables[0].Rows[0]["기관"].ToString())); + mf.KAObject.SetValue(price); + + + + + + double lineMaxWidth = 1212.26; + + //22.06.15 수정사항 + //전체 길이에서 비례하는 만큼 최대 수치값을 변경하여 적용한다 + + //마지막 라인의 4자리 값만 필요 + string fdatatime = ds.Tables[1].Rows[ds.Tables[1].Rows.Count - 1]["F_DATA_TIME"].ToString(); + fdatatime = fdatatime.Substring(fdatatime.Length - 4); + //해당 시간 데이터가 15시30분 보다 작은 경우만 최대 값이 변동된다. + int bufTime = Convert.ToInt32(fdatatime); + if (bufTime < 1530) + { + //1,2자리는 시 3,4자리는 분 + //9시 ~ 15시30분 => 540~930 이므로 비례해서 계산한다 + int TimeToMin = (Convert.ToInt32(fdatatime.Substring(0, 2)) * 60) + Convert.ToInt32(fdatatime.Substring(2, 2)); + + lineMaxWidth = lineMaxWidth * Convert.ToDouble(TimeToMin - 540) / 390; + } + + double GRAPH_Y = 48.0; + + double maxValue = 0.0; + double minValue = 0.0; + + //int maxValue = 0; + List retail = new List(); + List foreign = new List(); + List institutional = new List(); + + foreach (DataRow v in ds.Tables[1].Rows) + { + //int r = Math.Abs(Convert.ToInt32(v["개인"].ToString())); + //int f = Math.Abs(Convert.ToInt32(v["외국인"].ToString())); + //int i = Math.Abs(Convert.ToInt32(v["기관"].ToString())); + + double value1 = Convert.ToDouble(v["개인"].ToString()); + double value2 = Convert.ToDouble(v["외국인"].ToString()); + double value3 = Convert.ToDouble(v["기관"].ToString()); + + if (maxValue < value1) + maxValue = value1; + + if (minValue > value1) + minValue = value1; + + if (maxValue < value2) + maxValue = value2; + + if (minValue > value2) + minValue = value2; + + if (maxValue < value3) + maxValue = value3; + + if (minValue > value3) + minValue = value3; + + // if (maxValue < r) + // maxValue = r; + //if (maxValue < f) + // maxValue = f; + //if (maxValue < i) + // maxValue = i; + + retail.Add(Convert.ToInt32(v["개인"].ToString())); + foreign.Add(Convert.ToInt32(v["외국인"].ToString())); + institutional.Add(Convert.ToInt32(v["기관"].ToString())); + } + + double fRange = maxValue - minValue; + double fBase = -138 + (0.0f - minValue) / fRange * 266; + int baseYPos = Convert.ToInt32(GRAPH_Y + fBase); + mf.KAScene.GetObject("baseline").SetPosition(0.0f, baseYPos, 0.0f, eKVectorType.VECTOR_TYPE_Y); + + int index = 0; + mf.KAObject = mf.KAScene.GetObject("path1"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in retail) + { + index++; + double xPos = (lineMaxWidth / (retail.Count )) * (index ); + //double yPos = (Convert.ToDouble(v) / maxValue) * 150; + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + + index = 0; + mf.KAObject = mf.KAScene.GetObject("path2"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in foreign) + { + index++; + double xPos = (lineMaxWidth / (foreign.Count)) * (index ); + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + //double yPos = (Convert.ToDouble(v) / maxValue) * 150; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + + index = 0; + mf.KAObject = mf.KAScene.GetObject("path3"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.AddPathPoint(0, (float)fBase, 0); + foreach (var v in institutional) + { + index++; + double xPos = (lineMaxWidth / (institutional.Count)) * (index ); + double yPos = -138 + (Convert.ToDouble(v) - minValue) / fRange * 266; + //double yPos = (Convert.ToDouble(v) / maxValue) * 150; + mf.KAObject.AddPathPoint((float)xPos, (float)yPos, 0); + } + mf.KAObject.EndPathPoint(); + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5085.cs b/MBN_STOCK_N/Scene/s5085.cs new file mode 100644 index 0000000..18b845f --- /dev/null +++ b/MBN_STOCK_N/Scene/s5085.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5085 //프로그램 매매 + { + MainForm mf = null; + + public s5085(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = DataManager.getInstance().createGridChartData(그리드표그래프종류.프로그램매매13번컷, null); + mf.dataGridView1.DataSource = ds.Tables[0]; + + foreach (DataRow dr in ds.Tables[0].Rows) + { + int i = 1; + + if (dr[0].Equals("순매수")) + i = 1; + else if (dr[0].Equals("차익")) + i = 2; + else if (dr[0].Equals("비차익")) + i = 3; + else if (dr[0].Equals("베이시스")) + i = 4; + else if (dr[0].Equals("코스피200")) + i = 5; + else if (dr[0].Equals("선물")) + i = 6; + + + mf.KAObject = mf.KAScene.GetObject("title" + i); + mf.KAObject.SetValue(dr[0].ToString()); + mf.KAObject = mf.KAScene.GetObject("price" + i); + double value = Convert.ToDouble(dr[1].ToString()); + + if (value < 0) + mf.KAObject.SetFaceColor(15, 99, 188, 255); + else if (value > 0) + mf.KAObject.SetFaceColor(171, 0, 0, 255); + else + mf.KAObject.SetFaceColor(47, 47, 47, 255); + + mf.KAObject.SetValue(String.Format("{0:#,##0.##}", value)); + } + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s5086.cs b/MBN_STOCK_N/Scene/s5086.cs new file mode 100644 index 0000000..6f43142 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5086.cs @@ -0,0 +1,418 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5086 //수익률그래프 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s5086(Form frm, string jname, string sub, string code) + { + try + { + mf = (MainForm)frm; + double price = 0; + int col = 0; + string format = string.Empty; + double referencePrice = 0; + double MaxValue = Int32.MinValue; + double MinValue = Int32.MaxValue; + string tname = string.Empty; + + List prices = new List(); + + DataSet ds = null; + + 데이터기간 termT = 데이터기간.주; + 선그래프데이터분류 lineindex = 선그래프데이터분류.원달러; + + //double lineMaxWidth = 0; + string day = string.Empty; + + if (sub.Equals("5일")) + { + termT = 데이터기간.주; + //lineMaxWidth = 1188; + day = "1주일"; + } + else if (sub.Equals("20일")) + { + termT = 데이터기간.월; + //lineMaxWidth = 1398; + day = "1개월"; + } + else if (sub.Equals("60일")) + { + termT = 데이터기간.분기; + //lineMaxWidth = 1442; + day = "3개월"; + } + else if (sub.Equals("120일")) + { + termT = 데이터기간.반기; + //lineMaxWidth = 1452; + day = "6개월"; + } + else if (sub.Equals("240일")) + { + termT = 데이터기간.연; + //lineMaxWidth = 1464; + day = "12개월"; + } + mf.KAScene.GetObject("subtitle").SetValue(day); + + + if (jname.Contains("원달러") || jname.Contains("원엔") || jname.Contains("원위엔") || jname.Contains("원유로")) + { + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + if (jname.Contains("원달러")) + lineindex = 선그래프데이터분류.원달러; + else if (jname.Contains("원엔")) + lineindex = 선그래프데이터분류.원엔; + else if (jname.Contains("원위엔")) + lineindex = 선그래프데이터분류.원위엔; + else if (jname.Contains("원유로")) + lineindex = 선그래프데이터분류.원유로; + + mf.KAScene.GetObject("title").SetValue(jname + " 수익률"); + col = 3; + format = "{0:#,##0.00}"; + ds = DataManager.getInstance().createLineGraphData(lineindex, termT); + } + else if (jname == "지수") + { + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + if (code =="코스피") + { + lineindex = 선그래프데이터분류.코스피수익률; + } + else if (code == "코스닥") + { + lineindex = 선그래프데이터분류.코스닥수익률; + } + else if (code == "코스피200") + { + lineindex = 선그래프데이터분류.코스피200수익률; + } + else if (code == "KRX100") + { + lineindex = 선그래프데이터분류.KRX100수익률; + } + mf.KAScene.GetObject("title").SetValue(code + " 수익률"); + col = 1; + format = "{0:#,##0.00}"; + ds = DataManager.getInstance().createLineGraphData(lineindex, termT); + + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else if (code.Contains("업종")) + { + + col = 1; + format = "{0:#,##0.00}"; + if (code.Contains("코스피")) + { + tname = "코스피 - "; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피업종지수수익률, termT, Get_PartCode(0, jname)); + } + else + { + tname = "코스닥 - "; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥업종지수수익률, termT, Get_PartCode(1, jname)); + } + mf.KAScene.GetObject("title").SetValue(tname + jname); + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else + { + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + mf.KAScene.GetObject("title").SetValue(jname); + col = 1; + format = "{0:#,##0}"; + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, termT, jname); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, termT, jname); + + } + } + } + + + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + + bool firstErr = false; + + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + try + { + //날짜 + if (i == 0) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date5").SetValue(date); + } + else if (i == ds.Tables[0].Rows.Count - 1) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date1").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) / 2)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date3").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) / 4)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date4").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) * 3 / 4)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date2").SetValue(date); + } + + try + { + double pr = Convert.ToDouble(ds.Tables[0].Rows[i][col].ToString()); + + if (i == ds.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + catch(Exception) + { + if (!firstErr) + { + //없는 데이터에서 Exception이 발생 하게 되어 있으므로, 이전 값이 들어오면 기준가가 된다. + double pr = Convert.ToDouble(ds.Tables[0].Rows[i - 1][col].ToString()); + referencePrice = pr; + firstErr = true; + + + } + } + + } + catch(Exception) + { + + } + } + + double gap = MaxValue - MinValue; + double center = (MaxValue + MinValue) / 2; + + + mf.KAScene.GetObject("price").SetValue(String.Format(format, price)); + mf.KAScene.GetObject("referencePrice").SetValue(String.Format(format, referencePrice)); + mf.KAScene.GetObject("rate").SetValue(String.Format("{0:0.00}", (Convert.ToDouble(price - referencePrice) / referencePrice) * 100)); + + if (Convert.ToDouble(price - referencePrice) / referencePrice > 0) + { + //mf.KAScene.GetObject("bg").SetFaceColor(170, 0, 0, 255); + mf.KAScene.GetObject("bg1").SetVisible(1); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(0); + } + else if (Convert.ToDouble(price - referencePrice) / referencePrice < 0) + { + //mf.KAScene.GetObject("bg").SetFaceColor(15, 99, 189, 255); + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(1); + } + else + { + //mf.KAScene.GetObject("bg").SetFaceColor(95, 95, 95, 255); + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(1); + mf.KAScene.GetObject("bg3").SetVisible(0); + } + + //카운트가 적은 경우 값이 빈 것이므로 referencePrice로 추가해서 넣어 준다. + while (prices.Count < ds.Tables[0].Rows.Count) + { + prices.Add(referencePrice); + } + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + float baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 225 - 75); + mf.KAScene.GetObject("baseline").SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + double maxX = 1333.0; + double gapX = maxX / (prices.Count - 1); + + List plusVector = new List(); + List minusVector = new List(); + int index = 0; + double beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 225; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -647.50; + double eX = 653.79; + double len = eX - sX; + double lenX = len / (ds.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice"); + mf.KAObject.SetValue(String.Format(format, v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice"); + mf.KAObject.SetValue(String.Format(format, v)); + + } + } + + + + mf.KAObject = mf.KAScene.GetObject("minusGraph"); + mf.KAObject.SetPosition((float)-659.82, baseline, 0, eKVectorType.VECTOR_TYPE_XYZ); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint(1333, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph"); + mf.KAObject.SetPosition((float)-659.82, baseline, 0, eKVectorType.VECTOR_TYPE_XYZ); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + mf.KAObject.AddPathShapePoint(1333, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.m_chkdata = true; + } + } + catch (Exception ex) + { + Console. WriteLine(ex.Message); + } + } + + public string Get_PartCode(int idx, string pName) + { + string query = string.Empty; + string pCode = string.Empty; + + + if (idx == 0) + query = "Select * From T_PART"; + else + query = "Select * From T_KOSDAQ_PART"; + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i< mf.dataGridView2.RowCount-1; i++) + { + if (pName == mf.dataGridView2.Rows[i].Cells[1].Value.ToString()) + { + pCode = mf.dataGridView2.Rows[i].Cells[0].Value.ToString(); + break; + } + } + return pCode; + } + } +} diff --git a/MBN_STOCK_N/Scene/s50860.cs b/MBN_STOCK_N/Scene/s50860.cs new file mode 100644 index 0000000..deb9e51 --- /dev/null +++ b/MBN_STOCK_N/Scene/s50860.cs @@ -0,0 +1,410 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s50860 //라인 그래프 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s50860(Form frm, string jname, string sub, string code) + { + try + { + mf = (MainForm)frm; + double price = 0; + int col = 0; + string format = string.Empty; + double referencePrice = 0; + double MaxValue = Int32.MinValue; + double MinValue = Int32.MaxValue; + string tname = string.Empty; + + List prices = new List(); + + DataSet ds = null; + + 데이터기간 termT = 데이터기간.주; + 선그래프데이터분류 lineindex = 선그래프데이터분류.원달러; + + //double lineMaxWidth = 0; + string day = string.Empty; + + if (sub.Equals("5일")) + { + termT = 데이터기간.주; + //lineMaxWidth = 1188; + day = "1주일"; + } + else if (sub.Equals("20일")) + { + termT = 데이터기간.월; + //lineMaxWidth = 1398; + day = "1개월"; + } + else if (sub.Equals("60일")) + { + termT = 데이터기간.분기; + //lineMaxWidth = 1442; + day = "3개월"; + } + else if (sub.Equals("120일")) + { + termT = 데이터기간.반기; + //lineMaxWidth = 1452; + day = "6개월"; + } + else if (sub.Equals("240일")) + { + termT = 데이터기간.연; + //lineMaxWidth = 1464; + day = "12개월"; + } + mf.KAScene.GetObject("subtitle").SetValue(day); + + + if (jname.Contains("원달러") || jname.Contains("원엔") || jname.Contains("원위엔") || jname.Contains("원유로")) + { + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + if (jname.Contains("원달러")) + lineindex = 선그래프데이터분류.원달러; + else if (jname.Contains("원엔")) + lineindex = 선그래프데이터분류.원엔; + else if (jname.Contains("원위엔")) + lineindex = 선그래프데이터분류.원위엔; + else if (jname.Contains("원유로")) + lineindex = 선그래프데이터분류.원유로; + + mf.KAScene.GetObject("title").SetValue(jname.Substring(0,1) + "/" + jname.Substring(1, jname.Length-1)); + col = 3; + format = "{0:#,##0.00}"; + ds = DataManager.getInstance().createLineGraphData(lineindex, termT); + } + else if (jname == "지수") + { + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + if (code == "코스피") + { + lineindex = 선그래프데이터분류.코스피수익률; + } + else if (code == "코스닥") + { + lineindex = 선그래프데이터분류.코스닥수익률; + } + else if (code == "코스피200") + { + lineindex = 선그래프데이터분류.코스피200수익률; + } + else if (code == "KRX100") + { + lineindex = 선그래프데이터분류.KRX100수익률; + } + mf.KAScene.GetObject("title").SetValue(code + " 수익률"); + col = 1; + format = "{0:#,##0.00}"; + ds = DataManager.getInstance().createLineGraphData(lineindex, termT); + + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else if (code.Contains("업종")) + { + + col = 1; + format = "{0:#,##0.00}"; + if (code.Contains("코스피")) + { + tname = "코스피 - "; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피업종지수수익률, termT, Get_PartCode(0, jname)); + } + else + { + tname = "코스닥 - "; + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥업종지수수익률, termT, Get_PartCode(1, jname)); + } + mf.KAScene.GetObject("title").SetValue(tname + jname); + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else + { + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + mf.KAScene.GetObject("title").SetValue(jname); + col = 1; + format = "{0:#,##0}"; + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, termT, jname); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, termT, jname); + + } + } + } + + + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + + //날짜 + if (i == 0) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date5").SetValue(date); + } + else if (i == ds.Tables[0].Rows.Count - 1) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date1").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) / 2)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date3").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) / 4)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date4").SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds.Tables[0].Rows.Count - 1) * 3 / 4)) + { + string date = ds.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAScene.GetObject("date2").SetValue(date); + } + + + + double pr = Convert.ToDouble(ds.Tables[0].Rows[i][col].ToString()); + + if (i == ds.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + + double gap = MaxValue - MinValue; + double center = (MaxValue + MinValue) / 2; + + string str = mf.dataGridView1.Rows[0].Cells[4].Value.ToString(); + + if (str.Substring(0, 1) == "-") + str = str.Substring(1); + mf.KAScene.GetObject("price").SetValue(String.Format(format, price)); + mf.KAScene.GetObject("changePrice").SetValue(String.Format("{0:0.00}", (Convert.ToDouble(str)))); + mf.KAScene.GetObject("rate").SetValue(String.Format("{0:0.00}", (Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[6].Value.ToString())))); + + //mf.dataGridView2.Rows[i] + //mf.KAScene.GetObject("rate").SetValue(String.Format("{0:0.00}", (Convert.ToDouble(price - referencePrice) / referencePrice) * 100)); + + + mf.KAScene.GetObject("up").SetVisible(0); + mf.KAScene.GetObject("flat").SetVisible(0); + mf.KAScene.GetObject("down").SetVisible(0); + + + if (mf.dataGridView1.Rows[0].Cells[5].Value.ToString().Equals("+")) + { + + mf.KAScene.GetObject("up").SetVisible(1); + mf.KAScene.GetObject("bg").SetFaceColor(170, 0, 0, 255); + } + else if (mf.dataGridView1.Rows[0].Cells[5].Value.ToString().Equals("-")) + { + mf.KAScene.GetObject("down").SetVisible(1); + mf.KAScene.GetObject("bg").SetFaceColor(15, 99, 189, 255); + } + else + { + mf.KAScene.GetObject("flat").SetVisible(1); + mf.KAScene.GetObject("bg").SetFaceColor(95, 95, 95, 255); + } + + + //if (Convert.ToDouble(price - referencePrice) / referencePrice > 0) + //{ + // mf.KAScene.GetObject("bg").SetFaceColor(170, 0, 0, 255); + //} + //else if (Convert.ToDouble(price - referencePrice) / referencePrice < 0) + //{ + // mf.KAScene.GetObject("bg").SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAScene.GetObject("bg").SetFaceColor(95, 95, 95, 255); + //} + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + float baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 225 - 75); + mf.KAScene.GetObject("baseline").SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + double maxX = 1333.0; + double gapX = maxX / (prices.Count - 1); + + List plusVector = new List(); + List minusVector = new List(); + int index = 0; + double beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 225; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -647.50; + double eX = 653.79; + double len = eX - sX; + double lenX = len / (ds.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice"); + mf.KAObject.SetValue(String.Format(format, v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice"); + mf.KAObject.SetValue(String.Format(format, v)); + + } + } + + + + mf.KAObject = mf.KAScene.GetObject("minusGraph"); + mf.KAObject.SetPosition((float)-659.82, baseline, 0, eKVectorType.VECTOR_TYPE_XYZ); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint(1333, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph"); + mf.KAObject.SetPosition((float)-659.82, baseline, 0, eKVectorType.VECTOR_TYPE_XYZ); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + mf.KAObject.AddPathShapePoint(1333, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.m_chkdata = true; + } + } + catch (Exception) + { + + } + } + + public string Get_PartCode(int idx, string pName) + { + string query = string.Empty; + string pCode = string.Empty; + + + if (idx == 0) + query = "Select * From T_PART"; + else + query = "Select * From T_KOSDAQ_PART"; + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (pName == mf.dataGridView2.Rows[i].Cells[1].Value.ToString()) + { + pCode = mf.dataGridView2.Rows[i].Cells[0].Value.ToString(); + break; + } + } + return pCode; + } + } +} diff --git a/MBN_STOCK_N/Scene/s5087.cs b/MBN_STOCK_N/Scene/s5087.cs new file mode 100644 index 0000000..a2e0ca0 --- /dev/null +++ b/MBN_STOCK_N/Scene/s5087.cs @@ -0,0 +1,631 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s5087 //2열판 비교분석 라인그래프 + { + MainForm mf = null; + string[] m_rs = null; + + public s5087(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + + m_rs = jname.Split(','); + + DataSet ds1 = null; + DataSet ds2 = null; + DataSet ds3 = null; + DataSet ds4 = null; + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[1]); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds1 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds2 = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, 데이터기간.주, m_rs[1]); + } + } + + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds3 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds4 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스피종목수익률, 데이터기간.주, m_rs[1]); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(m_rs[0])) + { + ds3 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, 데이터기간.주, m_rs[0]); + } + if (r[0].Equals(m_rs[1])) + { + ds4 = DataManager.getInstance().createLineGraphData(선그래프데이터분류.코스닥종목수익률, 데이터기간.주, m_rs[1]); + } + } + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + + mf.KAObject = mf.KAScene.GetObject("title1"); + mf.KAObject.SetValue(ds1.Tables[0].Rows[0]["STOCK_NAME"].ToString()); + mf.KAObject = mf.KAScene.GetObject("title2"); + mf.KAObject.SetValue(ds2.Tables[0].Rows[0]["STOCK_NAME"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["CURR_PRICE"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0]["NET_CHG"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0]["NET_CHG"].ToString()))); + + //mf.KAObject = mf.KAScene.GetObject("rate1"); + //mf.KAObject.SetValue(ds1.Tables[0].Rows[0]["RATE"].ToString()); + //mf.KAObject = mf.KAScene.GetObject("rate2"); + //mf.KAObject.SetValue(ds2.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()).ToString("#,##0.00")); + + + double r1 = Convert.ToDouble(ds1.Tables[0].Rows[0]["RATE"].ToString()); + double r2 = Convert.ToDouble(ds2.Tables[0].Rows[0]["RATE"].ToString()); + + mf.KAObject = mf.KAScene.GetObject("up1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("upup1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("upup2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down2"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown2"); + mf.KAObject.SetVisible(0); + + + string kiho1 = ds1.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho1, 1); + + string kiho2 = ds2.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + setObjectStockChange(mf.KAObject, kiho2, 2); + + //if (r1 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r1 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg1"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //if (r2 > 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("up2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(170, 0, 0, 255); + + //} + //else if (r2 < 0) + //{ + // mf.KAObject = mf.KAScene.GetObject("down2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(15, 99, 189, 255); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("flat2"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("bg2"); + // mf.KAObject.SetFaceColor(95, 95, 95, 255); + //} + + //라인 파트 + int price = 0; + int referencePrice = 0; + int MaxValue = Int32.MinValue; + int MinValue = Int32.MaxValue; + List prices = new List(); + + + for (int i = 0; i < ds3.Tables[0].Rows.Count; i++) + { + + //날짜 + if (i == 0) + { + mf.KAObject = mf.KAScene.GetObject("date1_5"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == ds3.Tables[0].Rows.Count - 1) + { + mf.KAObject = mf.KAScene.GetObject("date1_1"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date1_3"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date1_4"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds3.Tables[0].Rows.Count - 1) * 3 / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date1_2"); + string date = ds3.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + int pr = Convert.ToInt32(ds3.Tables[0].Rows[i][1].ToString()); + + if (i == ds3.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + + int gap = MaxValue - MinValue; + int center = (MaxValue + MinValue) / 2; + + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + mf.KAObject = mf.KAScene.GetObject("baseline1"); + float baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 150 - 170); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + double maxX = 700; + double gapX = maxX / (prices.Count - 1); + + List plusVector = new List(); + List minusVector = new List(); + int index = 0; + double beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 150; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -383.48; + double eX = 359.28; + double len = eX - sX; + double lenX = len / (ds3.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag1"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag1"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + + } + } + + mf.KAObject = mf.KAScene.GetObject("minusGraph1"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph1"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + //라인 파트2 + price = 0; + referencePrice = 0; + MaxValue = Int32.MinValue; + MinValue = Int32.MaxValue; + prices = new List(); + + + for (int i = 0; i < ds4.Tables[0].Rows.Count; i++) + { + + //날짜 + if (i == 0) + { + mf.KAObject = mf.KAScene.GetObject("date2_5"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == ds4.Tables[0].Rows.Count - 1) + { + mf.KAObject = mf.KAScene.GetObject("date2_1"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date2_3"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date2_4"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (i == Math.Ceiling(Convert.ToDouble(ds4.Tables[0].Rows.Count - 1) * 3 / 4)) + { + mf.KAObject = mf.KAScene.GetObject("date2_2"); + string date = ds4.Tables[0].Rows[i]["DATA_DAY"].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + + int pr = Convert.ToInt32(ds4.Tables[0].Rows[i][1].ToString()); + + if (i == ds4.Tables[0].Rows.Count - 1) //기준가 + { + referencePrice = pr; + } + else if (i == 0) + { + price = pr; + } + + if (pr > MaxValue) + MaxValue = pr; + if (pr < MinValue) + MinValue = pr; + + prices.Add(pr); + } + + gap = MaxValue - MinValue; + center = (MaxValue + MinValue) / 2; + + + prices.Reverse(); + + //Postion -75 ~ 150 + //gap => min 225 + mf.KAObject = mf.KAScene.GetObject("baseline2"); + baseline = (float)((Convert.ToDouble(referencePrice - MinValue) / (gap)) * 150 - 170); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + + + gapX = maxX / (prices.Count - 1); + + plusVector = new List(); + minusVector = new List(); + index = 0; + beforePM = 0; + foreach (var v in prices) + { + index++; + double xpos = gapX * (index - 1); + double value = (Convert.ToDouble(referencePrice - v) / (gap)) * 150; + + if ((beforePM > 0 && value < 0) || // + => - + (beforePM < 0 && value > 0)) // - => + + + { + sKVector2f bufVector = new sKVector2f(); + bufVector.X = (float)(xpos - (gapX * (Math.Abs(value) / Math.Abs(beforePM - value)))); + bufVector.Y = 0; + + plusVector.Add(bufVector); + minusVector.Add(bufVector); + } + + + sKVector2f vector = new sKVector2f(); + vector.X = (float)xpos; + vector.Y = (float)value; + + if (value < 0) + { + plusVector.Add(vector); + } + if (value > 0) + { + minusVector.Add(vector); + } + if (value == 0) + { + plusVector.Add(vector); + minusVector.Add(vector); + } + beforePM = value; + + //최고 최저 바 + double sX = -383.48; + double eX = 359.28; + double len = eX - sX; + double lenX = len / (ds4.Tables[0].Rows.Count - 1); + + if (v.Equals(MaxValue)) + { + mf.KAObject = mf.KAScene.GetObject("highTag2"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + } + if (v.Equals(MinValue)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag2"); + double XP = sX + ((index - 1) * lenX); + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", v)); + + } + } + + mf.KAObject = mf.KAScene.GetObject("minusGraph2"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in minusVector) + { + mf.KAObject.AddPathShapePoint(v.X, -v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.KAObject = mf.KAScene.GetObject("plusGraph2"); + mf.KAObject.SetPosition(0, baseline, 0, eKVectorType.VECTOR_TYPE_Y); + mf.KAObject.BeginPathShapePoint(); + mf.KAObject.ClearPathShapePoints(); + mf.KAObject.AddPathShapePoint(0, 0, 0); + + foreach (var v in plusVector) + { + mf.KAObject.AddPathShapePoint(v.X, v.Y, 0); + } + + mf.KAObject.AddPathShapePoint((float)maxX, 0, 0); + mf.KAObject.EndPathShapePoint(); + + mf.m_chkdata = true; + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(0); + + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg" + v + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + v + "_3").SetVisible(1); + + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s5088.cs b/MBN_STOCK_N/Scene/s5088.cs new file mode 100644 index 0000000..48b6c3c --- /dev/null +++ b/MBN_STOCK_N/Scene/s5088.cs @@ -0,0 +1,1479 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.Reflection; + +namespace MBN_STOCK_N +{ + class s5088 // 12종목 현재가 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + string m_sub = string.Empty; + bool m_chk = false; + + public s5088(Form frm, string code, string jname, string sub, int idx) + { + string mart; + try + { + mf = (MainForm)frm; + m_sub = sub; + + mf.dataGridView1.Columns.Clear(); + + //================<<시장 mark 숨김>>================= + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + //==================================================== + + if (sub.Contains("VI")) + { + FileDataLoadView(jname, idx, "VI 발동", 0); + } + else if (sub.Contains("테마")) + { +// mf.m_db.ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname + "'"); + + if (code.Contains("_NXT")) + { + mart = "NXT"; + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname.Replace("(NXT)", "") + "' AND SB_MARKET = 'NXT'"); + } + else + { + mart = "KRX"; + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT SB_CODE FROM SB_LIST Where SB_TITLE = '" + jname + "' AND SB_MARKET = 'KRX'"); + } + + code = mf.dataGridView2.Rows[0].Cells[0].Value.ToString(); + //QueryDataLoadView(code, idx, jname, 0); + + string sort; + if (sub.Contains("(입력순)")) + sort = "입력순"; + else if (sub.Contains("(상승률순)")) + sort = "상승률순"; + else + sort = "하락률순"; + + //if (sub.Contains("예상")) + // QueryDataLoadView(code, idx, jname, 1, sort); + //else + // QueryDataLoadView(code, idx, jname, 0, sort); + + if (sub.Contains("예상")) + { + QueryDataLoadView(code, idx, jname, 1, sort); + } + else + { + if (jname.Contains("NXT")) + NXT_QueryDataLoadView(code, idx, jname, 0, sort); + else + QueryDataLoadView(code, idx, jname, 0, sort); + } + + + } + else if (sub.Contains("전문가")) + { + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT EP_CODE FROM EXPERT_LIST Where EP_NAME = '" + jname + "'"); + ExpertDataLoadView(mf.dataGridView2.Rows[0].Cells[0].Value.ToString(), idx, jname, 0); + } + + else + { + if (code.Contains("NXT")) + MariaDataLoadView(code, sub, idx); + else + OracleDataLoadView(code, sub, idx); + } + + + if (!m_chk) + { + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + mf.m_chkdata = true; + } + else + { + mf.m_chkdata = false; + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void FileDataLoadView(string jname, int idx, string tname, int para) + { + string[] rs = jname.Split(','); + string[] data = new string[10]; + DataSet ds = null; + int cnt = 0; + 판1그래프데이터산업및종목류 rc = 판1그래프데이터산업및종목류.종목현재가; + + if (para == 0) + rc = 판1그래프데이터산업및종목류.종목현재가; + else + rc = 판1그래프데이터산업및종목류.종목예상체결가; + + int lcnt = 0; + if ((rs.Length % 12) != 0) + lcnt = 1; + + lcnt = (rs.Length / 12) + lcnt; + + string str = mf.PlayList.ActiveSheet.GetText(mf.m_crow, 5).Trim(); + + str = str.Substring(str.IndexOf("/") + 1, str.Length - str.IndexOf("/") - 1); + + if (int.Parse(str) > lcnt) + { + //idx = 0; + jname = jname + "," + jname + "," + jname + "," + jname + "," + jname; + rs = jname.Split(','); + } + + for (int i = 1; i <= 12; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + if (para == 0) + mf.KAScene.GetObject("title").SetValue(tname.Replace("_NXT","")); + else + mf.KAScene.GetObject("title").SetValue(tname + " 예상 체결가"); + + //========================================= + if (tname.Contains("(NXT")) + { + string m_file = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (DateTime.Now.Hour <= 12) // 오전 + { + m_file = m_file + "\\Cuts\\Images\\프리마켓.png"; + // m_file = m_file + "프리마켓.png"; + } + else + { + m_file = m_file + "\\Cuts\\Images\\애프터마켓.png"; + //m_file = "애프터마켓.png"; + } + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetValue(m_file); + + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + mf.KAObject.SetVisible(0); + } + //============================================ + + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + + if (m_sub.Contains("전문가")) + { + mf.KAScene.GetObject("column1").SetValue("매수가"); + mf.KAScene.GetObject("column2").SetValue("현재가"); + mf.KAScene.GetObject("column3").SetValue("수익률"); + } + else + { + mf.KAScene.GetObject("column1").SetValue("현재가"); + mf.KAScene.GetObject("column2").SetValue("등락가"); + mf.KAScene.GetObject("column3").SetValue("등락률"); + } + + for (int i = 0; i < rs.Length; i++) + { + if (i > 12) break; + ds = null; + + if (tname.Contains("NXT")) + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSPI, rs[i + (idx * 12)].Replace("(NXT)", "")); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 5)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.NXT_KOSDAQ, rs[i + (idx * 12)].Replace("(NXT)", "")); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + else + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(rs[i + (idx * 12)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSPI, rs[i + (idx * 12)]); + + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(rs[i + (idx * 12)])) + { + ds = DataManager.getInstance().createPlateData(rc, 국내시장종류.KOSDAQ, rs[i + (idx * 12)]); + mf.dataGridView1.DataSource = ds.Tables[0]; + } + } + } + + if (ds != null) + { + mf.dataGridView1.DataSource = ds.Tables[0]; + + + if (para == 0) + { + data[0] = ds.Tables[0].Rows[0][2].ToString(); + data[1] = ds.Tables[0].Rows[0][3].ToString(); + data[2] = ds.Tables[0].Rows[0][6].ToString(); + data[3] = ds.Tables[0].Rows[0][4].ToString(); + } + else + { + data[0] = ds.Tables[0].Rows[0][3].ToString(); + data[1] = ds.Tables[0].Rows[0][6].ToString(); + data[2] = ds.Tables[0].Rows[0][9].ToString(); + data[3] = ds.Tables[0].Rows[0][8].ToString(); + } + + mf.KAScene.GetObject("row" + (cnt + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (cnt + 1)); + //mf.KAObject.SetValue(rs[i + (idx * 12)].Trim()); + mf.KAObject.SetValue(rs[i + (idx * 12)].Trim().Replace("(NXT)", "")); + + mf.KAObject = mf.KAScene.GetObject("price" + (cnt + 1)); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[0]))); + + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(data[1]))); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_1"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_2"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1) + "_3"); + mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + + // mf.KAObject = mf.KAScene.GetObject("rate" + (cnt + 1)); + // mf.KAObject.SetValue(Convert.ToDouble(data[2]).ToString("##0.00")); + + mf.KAScene.GetObject("upup" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("up" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("flat" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(0); + mf.KAScene.GetObject("downdown" + (cnt + 1)).SetVisible(0); + + //string PMtype = ds.Tables[0].Rows[i + (idx * 5)][colums[4]].ToString(); + string PMtype = data[3]; + + //if (para == 1) + //{ + // if (data[2].Contains("-")) + // PMtype = "하락"; + // else + // PMtype = "상승"; + //} + + if (PMtype.Equals("하락") || PMtype.Equals("하한") || PMtype.Equals("-")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(15, 99, 188, 255); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("하한")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (cnt + 1)).SetVisible(1); + } + } + else if (PMtype.Equals("상승") || PMtype.Equals("상한") || PMtype.Equals("+")) + { + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(172, 0, 0, 255); + + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("상한")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + } + else + { + mf.KAScene.GetObject("bg" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (cnt + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (cnt + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (cnt + 1) + "_3").SetVisible(0); + + //mf.KAObject = mf.KAScene.GetObject("bg" + (cnt + 1)); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + //mf.KAObject = mf.KAScene.GetObject("changePrice" + (cnt + 1)); + //mf.KAObject.SetFaceColor(47, 47, 47, 255); + mf.KAObject = mf.KAScene.GetObject("flat" + (cnt + 1)); + mf.KAObject.SetVisible(1); + } + cnt += 1; + } + } + + } + + //테마 + private void QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + ////// // query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + ////// query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + ////// query = query + "FROM SB_ITEM a, v_all_stock b "; + //////query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //////query = query + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //////query = query + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((z.f_net_chg / decode(z.f_chg_type, " + + " '1', (z.f_curr_price - z.f_net_chg), " + + " '2', (z.f_curr_price - z.f_net_chg), " + + " '3', (z.f_curr_price), " + + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from t_online1 x " + + "union " + + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from t_kosdaq_online1 y) z " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND z.f_stock_code = b.f_stock_code " + + " AND b.f_mkt_halt = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + query = query + "FROM SB_ITEM a, v_all_stock b "; + query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + query = query + "and substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + query = query + "and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX"; + } + + mf.m_db.ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + private void NXT_QueryDataLoadView(string code, int idx, string tname, int para, string sort) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + // query = "SELECT F_STOCK_WANNAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + // query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "AND b.f_mkt_halt = 'N' "; + //query = query + "ORDER BY a.SB_I_INDEX"; + + if (sort == "상승률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate desc "; + //query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + // + " round((z.f_net_chg / decode(z.f_chg_type, " + // + " '1', (z.f_curr_price - z.f_net_chg), " + // + " '2', (z.f_curr_price - z.f_net_chg), " + // + " '3', (z.f_curr_price), " + // + " '4', -1 * (z.f_curr_price + z.f_net_chg), " + // + " '5', -1 * (z.f_curr_price + z.f_net_chg))) * 100, 2) rate " + // + " FROM SB_ITEM a, v_all_stock b, (select x.f_stock_code, x.f_curr_price, x.f_net_chg, x.f_chg_type from n_online x " + // + "union " + // + " select y.f_stock_code, y.f_curr_price, y.f_net_chg, y.f_chg_type from n_kosdaq_online y) z " + // + "WHERE a.SB_M_CODE = '" + code + "' " + // + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + // + " AND z.f_stock_code = b.f_stock_code " + // + " AND b.f_stop_gubun = 'N' " + // + "ORDER BY rate desc "; + } + else if (sort == "하락률순") + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index, " + + " round((b.f_net_chg / case when b.f_chg_type = '1' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '2' then (b.f_curr_price - b.f_net_chg) " + + " when b.f_chg_type = '3' then (b.f_curr_price) " + + " when b.f_chg_type = '4' then - 1 * (b.f_curr_price + b.f_net_chg) " + + " when b.f_chg_type = '5' then - 1 * (b.f_curr_price + b.f_net_chg) end) *100, 2) rate " + + " FROM SB_ITEM a, v_all_stock b " + + "WHERE a.SB_M_CODE = '" + code + "' " + + " AND substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " AND b.f_stop_gubun = 'N' " + + "ORDER BY rate "; + } + else + { + query = "SELECT b.F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index " + + " FROM SB_ITEM a, v_all_stock b " + + " WHERE a.SB_M_CODE = '" + code + "' " + + " and substr(a.sb_i_code, 2, 12) = b.f_stock_code " + + " and b.f_stop_gubun = 'N' ORDER BY a.SB_I_INDEX"; + + //query = "SELECT F_STOCK_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "; + //query = query + "FROM SB_ITEM a, v_all_stock b "; + //query = query + "WHERE a.SB_M_CODE = '" + code + "' "; + //query = query + "AND substr(a.sb_i_code, 2, 12) = b.f_stock_code "; + //query = query + "AND b.f_stop_gubun = 'N' "; + //query = query + "ORDER BY a.SB_I_INDEX"; + } + + mf.m_db.Nxt_ViewQuery(mf.dataGridView2, query); + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + //jname = jname + "(NXT),"; + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[0].Value.ToString() + "(NXT)"; + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void ExpertDataLoadView(string code, int idx, string tname, int para) + { + //테마 종목 가져오기 + string query = string.Empty; + string jname = string.Empty; + + mf.m_db.ViewQuery(mf.dataGridView2, "SELECT * FROM RECOMMEND_LIST WHERE RC_CODE = '" + code + "' order by PLAYINDEX"); + + + for (int i = 0; i < mf.dataGridView2.RowCount - 1; i++) + { + if (i > 0) + { + jname = jname + ","; + } + jname = jname + mf.dataGridView2.Rows[i].Cells[2].Value.ToString(); + } + + + FileDataLoadView(jname, idx, tname, para); + } + + private void OracleDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피")) + code = "코스피"; + else + code = "코스닥"; + sub = "업종지수"; + + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.KOSPI; + + if (code.Equals("코스닥")) + { + type = 국내시장종류.KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("예상가 시가총액 상위")) + { + colums = new string[] { "WANNAME", "CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.예상가시가총액상위); + mf.KAObject.SetValue(code + " 예상가 시가총액 상위"); + } + + else if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시가총액); + mf.KAObject.SetValue(code + " 시가총액 상위"); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("업종지수")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.업종); + mf.KAObject.SetValue(code + " 업종"); + isPoint = true; + + colums[0] = "F_PART_NAME"; + colums[1] = "PART_IDX"; + colums[2] = "PART_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + mf.KAObject.SetValue(code + " 시간외 상승률 상위"); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + mf.KAObject.SetValue(code + " 시간외 하락률 상위"); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.상승률); + mf.KAObject.SetValue(code + " 상승률 상위"); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.하락률); + mf.KAObject.SetValue(code + " 하락률 상위"); + } + + else if (sub.Contains("52주 신고가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신고가52주); + mf.KAObject.SetValue(code + " 52주 신고가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + else if (sub.Contains("52주 신저가")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신저가52주); + mf.KAObject.SetValue(code + " 52주 신저가"); + + colums[0] = "F_STOCK_WANNAME"; + colums[1] = "F_CURR_PRICE"; + colums[2] = "F_NET_CHG"; + colums[4] = "F_CHG_TYPE"; + } + + + else if (sub.Contains("코스피 200 종목")) + { + + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.코스피200); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue(code + " 200"); + } + + else if (sub.Contains("ETF 종목")) + { + ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.ETF); + colums[1] = "CURR_PRICE"; + mf.KAObject.SetValue("ETF"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 12; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 12) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 12; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 12)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][3])); + string PMtype = rows[i + (idx * 12)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + mf.KAObject.SetVisible(1); + else + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + //mf.KAObject = mf.KAScene.GetObject("column1"); + //mf.KAObject.SetValue("현재가"); + //mf.KAObject = mf.KAScene.GetObject("column2"); + //mf.KAObject.SetValue("등락가"); + //mf.KAObject = mf.KAScene.GetObject("column3"); + //mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + //////////////////////ssssssssssssssssssssssss + //mf.KAScene.GetObject("title").SetValue(sub); + //////===================sssssssssssss + if (mf.dataGridView1.RowCount - 1 < 12) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 12; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 12)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 12)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 12)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 12)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 12)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + //mf.KAObject.SetValue(rate); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + if (rate.Substring(0,1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + //mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + //mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + + private void MariaDataLoadView(string code, string sub, int idx) + { + try + { + int lcnt = 0; + + if (code.Contains("업종")) + { + if (code.Contains("코스피_NXT")) + code = "코스피_NXT"; + else + code = "코스닥_NXT"; + + sub = "업종지수"; + } + + string[] colums = new string[] { "WANNAME", "F_CURR_PRICE", "NET_CHG", "RATE", "CHG_TYPE" }; + + DataSet ds = null; + + mf.KAObject = mf.KAScene.GetObject("title"); + + 국내시장종류 type = 국내시장종류.NXT_KOSPI; + + if (code.Equals("코스닥_NXT")) + { + type = 국내시장종류.NXT_KOSDAQ; + } + + bool isPoint = false; + + if (sub.Contains("시가총액")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시가총액); + mf.KAObject.SetValue(code.Replace("_NXT","") + " 시가총액 상위"); + colums[1] = "CURR_PRICE"; + } + else if (sub.Contains("시간외 상승")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외상승률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 시간외 상승률 상위"); + } + else if (sub.Contains("시간외 하락")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외하락률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 시간외 하락률 상위"); + } + else if (sub.Contains("상승률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.상승률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 상승률 상위"); + } + else if (sub.Contains("하락률")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.하락률); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 하락률 상위"); + } + else if (sub.Contains("거래량")) + { + ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.거래량); + mf.KAObject.SetValue(code.Replace("_NXT", "") + " 거래량 상위"); + } + + //ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.); + mf.dataGridView1.DataSource = ds.Tables[0]; + + for (int i = 1; i <= 12; i++) + { + mf.KAScene.GetObject("row" + (i).ToString()).SetVisible(0); + } + + + if (isPoint) + { + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : p"); + + mf.KAObject = mf.KAScene.GetObject("column1"); + mf.KAObject.SetValue("현재"); + mf.KAObject = mf.KAScene.GetObject("column2"); + mf.KAObject.SetValue("등락"); + mf.KAObject = mf.KAScene.GetObject("column3"); + mf.KAObject.SetValue("등락률"); + + List rows = new List(); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string[] row = new string[] { dr[colums[0]].ToString(), dr[colums[1]].ToString() , + dr[colums[2]].ToString(), dr[colums[3]].ToString(),dr[colums[4]].ToString()}; + + rows.Add(row); + } + + //rows.Sort(delegate (string[] x, string[] y) + //{ + // return Convert.ToDouble(y[1]).CompareTo(Convert.ToDouble(x[1])); + //}); + + //mf.dataGridView1.RowCount - 1 + if (mf.dataGridView1.RowCount - 1 < 12) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 12; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = rows[i + (idx * 12)][0]; // ds.Tables[0].Rows[i][colums[0]].ToString(); + string price = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][1])); + string priceChange = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][2])); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(rows[i + (idx * 12)][3])); + string PMtype = rows[i + (idx * 12)][4]; + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + if (PMtype.Equals("-")) + mf.KAObject.SetValue("-" + rate); + else + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + //SetFaceTextColor' + if (PMtype.Equals("-")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else if (PMtype.Equals("+")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart"); + if ((code == "코스피_NXT") || (code == "코스닥_NXT")) + mf.KAObject.SetVisible(1); + else + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + //mf.KAObject = mf.KAScene.GetObject("column1"); + //mf.KAObject.SetValue("현재가"); + //mf.KAObject = mf.KAScene.GetObject("column2"); + //mf.KAObject.SetValue("등락가"); + //mf.KAObject = mf.KAScene.GetObject("column3"); + //mf.KAObject.SetValue("등락률"); + + //mf.dataGridView1.RowCount - 1 + + //////////////////////ssssssssssssssssssssssss + //mf.KAScene.GetObject("title").SetValue(sub); + //////===================sssssssssssss + if (mf.dataGridView1.RowCount - 1 < 12) + { + lcnt = mf.dataGridView1.RowCount - 1; + } + else + { + lcnt = 12; + } + + for (int i = 0; i < lcnt; i++) + { + string jname = ds.Tables[0].Rows[i + (idx * 12)][colums[0]].ToString(); + string price = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 12)][colums[1]].ToString())); + string priceChange = String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[i + (idx * 12)][colums[2]].ToString())); + string rate = String.Format("{0:#,##0.00}", Convert.ToDouble(ds.Tables[0].Rows[i + (idx * 12)][colums[3]].ToString())); + string PMtype = ds.Tables[0].Rows[i + (idx * 12)][colums[4]].ToString(); + + mf.KAScene.GetObject("row" + (i + 1).ToString()).SetVisible(1); + + mf.KAObject = mf.KAScene.GetObject("title" + (i + 1)); + mf.KAObject.SetValue(jname); + + mf.KAObject = mf.KAScene.GetObject("price" + (i + 1)); + mf.KAObject.SetValue(price); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_1"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_2"); + mf.KAObject.SetValue(priceChange); + + mf.KAObject = mf.KAScene.GetObject("changePrice" + (i + 1) + "_3"); + mf.KAObject.SetValue(priceChange); + + //mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + //mf.KAObject.SetValue(rate); + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_1"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_2"); + mf.KAObject.SetValue(rate); + + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1) + "_3"); + mf.KAObject.SetValue(rate); + + + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down" + (i + 1)); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(0); + + if (PMtype.Equals("4") || PMtype.Equals("5")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(1); + + if (PMtype.Equals("4")) + { + mf.KAObject = mf.KAScene.GetObject("downdown" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAScene.GetObject("down" + (i + 1)).SetVisible(1); + } + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + + if (rate.Substring(0, 1) != "-") + { + mf.KAObject = mf.KAScene.GetObject("rate" + (i + 1)); + mf.KAObject.SetValue("-" + rate); + //mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(1); + + //mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + //mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(1); + } + + } + else if (PMtype.Equals("1") || PMtype.Equals("2")) + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + if (PMtype.Equals("1")) + { + mf.KAObject = mf.KAScene.GetObject("upup" + (i + 1)); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up" + (i + 1)); + mf.KAObject.SetVisible(1); + } + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + } + else + { + mf.KAScene.GetObject("bg" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("bg" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("bg" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("changePrice" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("changePrice" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("rate" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("rate" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("rate" + (i + 1) + "_3").SetVisible(0); + + mf.KAScene.GetObject("percent" + (i + 1) + "_1").SetVisible(0); + mf.KAScene.GetObject("percent" + (i + 1) + "_2").SetVisible(1); + mf.KAScene.GetObject("percent" + (i + 1) + "_3").SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("flat" + (i + 1)); + mf.KAObject.SetVisible(1); + } + } + } + + mf.m_chkdata = true; + + + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s6001.cs b/MBN_STOCK_N/Scene/s6001.cs new file mode 100644 index 0000000..7d962a7 --- /dev/null +++ b/MBN_STOCK_N/Scene/s6001.cs @@ -0,0 +1,358 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s6001 //이미지 그래프 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s6001(Form frm, string jname) + { + try + { + DataSet ds = null; + string query = string.Empty; + string kiho = string.Empty; + int idx = 0; + mf = (MainForm)frm; + + string vpath = mf.T2S_FOLDER_PATH + "Video\\20201008_"; + string nation = string.Empty; + //지수 (코스피, 코스닥, 코스피 200, 선물, KRX 100 + + if (jname.Contains("유가") || jname.Contains("금")) + idx = 1; + else + idx = 0; + + if (idx == 0) + { + if (jname.Contains("다우")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.다우, "DJI@DJI"); nation = "미국"; } + else if (jname.Contains("나스닥")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.나스닥, "NAS@IXIC"); nation = "미국"; } + else if (jname.Contains("S&P")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.SNP, "SPI@SPX"); nation = "미국"; } + else if (jname.Contains("독일")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.독일, "XTR@DAX30"); nation = "독일"; } + else if (jname.Contains("영국")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.영국, "LNS@FTSE100"); nation = "영국"; } + else if (jname.Contains("프랑스")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.프랑스, "PAS@CAC40"); nation = "프랑스"; } + else if (jname.Contains("일본")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.니케이, "NII@NI225"); nation = "일본"; } + else if (jname.Contains("중국")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.중국상해, "SHS@000001"); nation = "중국"; } + else if (jname.Contains("홍콩")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.홍콩항셍, "HSI@HSI"); nation = "홍콩"; } + else if (jname.Contains("대만")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.대만가권, "TWS@TI01"); nation = "대만"; } + else if (jname.Contains("싱가포르")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.싱가포르지수, "SGI@STI"); nation = "싱가포르"; } + else if (jname.Contains("태국")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.태국지수, "THI@SET"); nation = "태국"; } + else if (jname.Contains("필리핀")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.필리핀, "PHI@COMP"); nation = "필리핀"; } + else if (jname.Contains("말레이시아")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.말레이시아, "IDI@JKSE"); nation = "말레이시아"; } + else if (jname.Contains("인도네시아")) + { ds = DataManager.getInstance().createPlateData(해외지수종류.인도네시아, "MYI@KLSE"); nation = "인도네시아"; } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + mf.KAScene.GetObject("title").SetValue(mf.dataGridView1.Rows[0].Cells[0].Value.ToString()); + mf.KAScene.GetObject("movie").SetValue(vpath + nation + ".vrv"); + + + mf.KAScene.GetObject("price").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[1].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[3].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("changePrice").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[3].Value.ToString().Substring(1)).ToString("#,##0.00")); + else + mf.KAScene.GetObject("changePrice").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[3].Value.ToString()).ToString("#,##0.00")); + + if (mf.dataGridView1.Rows[0].Cells[2].Value.ToString() == "-") + { + if (mf.dataGridView1.Rows[0].Cells[4].Value.ToString().Substring(0, 1) == "-") + mf.KAScene.GetObject("rate").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[4].Value.ToString()).ToString("#,##0.00")); + else + mf.KAScene.GetObject("rate").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[4].Value.ToString()).ToString("#,##0.00")); + } + + else + mf.KAScene.GetObject("rate").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[4].Value.ToString()).ToString("#,##0.00")); + + mf.KAScene.GetObject("wonText").SetValue(""); + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + kiho = mf.dataGridView1.Rows[0].Cells[2].Value.ToString(); + setObjectStockChange(mf.KAObject, kiho, 0); + } + + mf.m_chkdata = true; + } + + else + { + if (jname.Contains("유가")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.유가_두바이_WTI_브랜트); + mf.KAScene.GetObject("movie").SetValue(mf.T2S_FOLDER_PATH + "images\\주유기merge.png"); + mf.KAScene.GetObject("unit").SetValue("단위 : 배럴/달러"); + + } + else + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.광물); + mf.KAScene.GetObject("movie").SetValue(mf.T2S_FOLDER_PATH + "images\\35752913_l.jpg"); + mf.KAScene.GetObject("unit").SetValue("단위 : 달러/온스"); + + } + mf.dataGridView1.DataSource = ds.Tables[0]; + + int s = 0; + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + if (jname.Contains("유가")) + { + if (jname.Contains("WTI")) + s = 2; + else if (jname.Contains("브렌트")) + s = 1; + else if (jname.Contains("두바이")) + s = 0; + + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(mf.dataGridView1.Rows[s].Cells[1].Value.ToString()); + + + mf.KAScene.GetObject("price").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(mf.dataGridView1.Rows[s].Cells[2].Value.ToString()))); + mf.KAScene.GetObject("changePrice").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(mf.dataGridView1.Rows[s].Cells[3].Value.ToString()))); + + + mf.KAScene.GetObject("rate").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(mf.dataGridView1.Rows[s].Cells[5].Value.ToString()))); + + mf.KAScene.GetObject("wonText").SetValue(""); + + kiho = mf.dataGridView1.Rows[s].Cells[4].Value.ToString(); + setObjectStockChange(mf.KAObject, kiho, 0); + } + else + { + foreach (DataRow dr in ds.Tables[0].Rows) + { + if (jname.Contains(dr[1].ToString())) + { + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(dr[1].ToString()); + + + mf.KAScene.GetObject("price").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[2].ToString()))); + mf.KAScene.GetObject("changePrice").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[3].ToString()))); + + + mf.KAScene.GetObject("rate").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[5].ToString()))); + + mf.KAScene.GetObject("wonText").SetValue(""); + + kiho = dr[4].ToString(); + setObjectStockChange(mf.KAObject, kiho, 0); + } + } + + } + mf.m_chkdata = true; + } + } + } + catch (Exception) + { + + } + } + public void setObjectStockChange(KAObject KAObject, string value, int cnt) + { + try + { + string v = string.Empty; + if (cnt == 0) + v = ""; + else if (cnt == 1) + v = "1"; + else if (cnt == 2) + v = "2"; + else if (cnt == 3) + v = ""; + + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(0); + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(0); + + if (value.Equals("상한")) + { + KAObject = mf.KAScene.GetObject("upup" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + mf.KAScene.GetObject("pattern" + v).SetValue(mf.T2S_FOLDER_PATH + "Images\\그림_빨강.png"); + + if (cnt != 0) + { + KAObject = mf.KAScene.GetObject("unit" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + } + } + else if (value.Equals("상승") || value.Equals("+")) + { + KAObject = mf.KAScene.GetObject("up" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + + if (cnt != 0) + { + KAObject = mf.KAScene.GetObject("unit" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + } + + if (cnt == 3) + { + KAObject = mf.KAScene.GetObject("price" + v); + KAObject.SetFaceColor(170, 0, 0, 255); + } + mf.KAScene.GetObject("pattern" + v).SetValue(mf.T2S_FOLDER_PATH + "Images\\그림_빨강.png"); + } + else if (value.Equals("보합") || value.Equals("")) + { + KAObject = mf.KAScene.GetObject("flat" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(95, 95, 95, 255); + + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + + if (cnt != 0) + { + KAObject = mf.KAScene.GetObject("unit" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + } + if (cnt == 3) + { + KAObject = mf.KAScene.GetObject("price" + v); + KAObject.SetFaceColor(52, 52, 52, 255); + } + mf.KAScene.GetObject("pattern" + v).SetValue(mf.T2S_FOLDER_PATH + "Images\\그림_검정.png"); + } + else if (value.Equals("하락") || value.Equals("-")) + { + KAObject = mf.KAScene.GetObject("down" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + if (cnt != 0) + { + KAObject = mf.KAScene.GetObject("unit" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + } + + if (cnt == 3) + { + KAObject = mf.KAScene.GetObject("price" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + } + mf.KAScene.GetObject("pattern" + v).SetValue(mf.T2S_FOLDER_PATH + "Images\\그림_파랑.png"); + } + else if (value.Equals("하한")) + { + KAObject = mf.KAScene.GetObject("downdown" + v); + KAObject.SetVisible(1); + + KAObject = mf.KAScene.GetObject("bg" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("changePrice" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("wonText" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("rate" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + KAObject = mf.KAScene.GetObject("percent" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + + if (cnt != 0) + { + KAObject = mf.KAScene.GetObject("unit" + v); + KAObject.SetFaceColor(15, 99, 189, 255); + } + mf.KAScene.GetObject("pattern" + v).SetValue(mf.T2S_FOLDER_PATH + "Images\\그림_파랑.png"); + } + + + } + catch (Exception) + { + + } + + } + } +} diff --git a/MBN_STOCK_N/Scene/s6067.cs b/MBN_STOCK_N/Scene/s6067.cs new file mode 100644 index 0000000..f678869 --- /dev/null +++ b/MBN_STOCK_N/Scene/s6067.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s6067 //기관 순매수 현황 + { + MainForm mf = null; + string tname = string.Empty; + + public s6067(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + + DataSet ds = DataManager.getInstance().createGridChartData(그리드표그래프종류.기관순매수현황11번컷, null); + mf.dataGridView1.DataSource = ds.Tables[0]; + + foreach (DataRow dr in ds.Tables[0].Rows) + { + int i = 3; + int j = 1; + + if (dr[0].Equals("코스피")) + i = 1; + else if (dr[0].Equals("코스닥")) + i = 2; + + if (dr[1].Equals("증권")) + j = 1; + else if (dr[1].Equals("보험")) + j = 2; + else if (dr[1].Equals("투신")) + j = 3; + else if (dr[1].Equals("은행")) + j = 4; + else if (dr[1].Equals("기금")) + j = 5; + //코스닥 기금 -327 + + + mf.KAObject = mf.KAScene.GetObject("row" + i + "_value" + j); + int value = Convert.ToInt32(dr[2].ToString()); + + if (value < 0) + mf.KAObject.SetFaceColor(15, 99, 188, 255); + else if (value > 0) + mf.KAObject.SetFaceColor(171, 0, 0, 255); + else + mf.KAObject.SetFaceColor(47, 47, 47, 255); + + mf.KAObject.SetValue(String.Format("{0:#,##0}", value)); + } + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8001.cs b/MBN_STOCK_N/Scene/s8001.cs new file mode 100644 index 0000000..6ca19bb --- /dev/null +++ b/MBN_STOCK_N/Scene/s8001.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s8001 // + { + MainForm mf = null; + string tname = string.Empty; + + public s8001(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + DataSet ds = null; + + + if (jname == "코스피") + ds = DataManager.getInstance().createSquareChartData_Cut20(국내시장종류.KOSPI); + else + ds = DataManager.getInstance().createSquareChartData_Cut20(국내시장종류.KOSDAQ); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + string name = dr[0].ToString(); + string pm = dr[2].ToString(); + string value = dr[4].ToString(); + double valueD = Convert.ToDouble(value); + + mf.KAObject = mf.KAScene.GetObject(name + "_등락"); + + //pm = pm.Replace("+", ""); + + if (pm == "+") + mf.KAObject.SetValue(value); + else + mf.KAObject.SetValue(pm + value); + + mf.KAObject = mf.KAScene.GetObject(name + "_큐브"); + + if (pm.Equals("+")) + { + if (valueD < 1) + mf.KAObject.SetFaceColor(206, 61, 59, 255); + else if (valueD < 3) + mf.KAObject.SetFaceColor(181, 28, 39, 255); + else if (valueD < 5) + mf.KAObject.SetFaceColor(154, 28, 39, 255); + else if (valueD < 10) + mf.KAObject.SetFaceColor(131, 28, 39, 255); + else + mf.KAObject.SetFaceColor(174, 0, 0, 255); + } + else if (pm.Equals("-")) + { + if (valueD < 1) + mf.KAObject.SetFaceColor(66, 128, 185, 255); + else if (valueD < 3) + mf.KAObject.SetFaceColor(52, 117, 157, 255); + else if (valueD < 5) + mf.KAObject.SetFaceColor(52, 78, 126, 255); + else if (valueD < 10) + mf.KAObject.SetFaceColor(42, 61, 124, 255); + else + mf.KAObject.SetFaceColor(42, 47, 124, 255); + } + + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + mf.m_chkdata = true; + + + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8003.cs b/MBN_STOCK_N/Scene/s8003.cs new file mode 100644 index 0000000..7021aed --- /dev/null +++ b/MBN_STOCK_N/Scene/s8003.cs @@ -0,0 +1,254 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s8003 + { + MainForm mf = null; + + public s8003(Form frm, string jname) + { + try + { + + mf = (MainForm)frm; + + mf.KAScene.GetObject("title").SetValue(jname); + + + DataSet ds = null; + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createCut26Data(국내시장종류.KOSPI, r[1].ToString()); + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createCut26Data(국내시장종류.KOSDAQ, r[1].ToString()); + } + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + mf.KAObject = mf.KAScene.GetObject("unit"); + mf.KAObject.SetValue("단위 : 원"); + + int price = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CURR_PRICE"].ToString()); + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", price)); + + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds.Tables[0].Rows[0]["NET_CHG"].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate"); + mf.KAObject.SetValue(Convert.ToDouble(ds.Tables[0].Rows[0]["RATE"].ToString()).ToString("##0.00")); + + + string valueChnageInfo = ds.Tables[0].Rows[0]["CHG_TYPE"].ToString(); + + mf.KAObject = mf.KAScene.GetObject("upup"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown"); + mf.KAObject.SetVisible(0); + + if (valueChnageInfo.Equals("상한") || valueChnageInfo.Equals("상승")) + { + + if (valueChnageInfo.Equals("상한")) + { + mf.KAObject = mf.KAScene.GetObject("upup"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up"); + } + + mf.KAObject.SetVisible(1); + + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(170, 0, 0, 255); + mf.KAScene.GetObject("bg1").SetVisible(1); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(0); + + } + else if (valueChnageInfo.Equals("하한") || valueChnageInfo.Equals("하락")) + { + if (valueChnageInfo.Equals("하한")) + { + mf.KAObject = mf.KAScene.GetObject("downdown"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("down"); + } + mf.KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(1); + + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(15, 99, 189, 255); + } + else + { + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(1); + mf.KAScene.GetObject("bg3").SetVisible(0); + } + + int sell1 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_1"].ToString()); + int sell2 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_2"].ToString()); + int sell3 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_3"].ToString()); + + int sell_jan_1 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_JAN_1"].ToString()); + int sell_jan_2 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_JAN_2"].ToString()); + int sell_jan_3 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_SELL_JAN_3"].ToString()); + + int sell_jan = Convert.ToInt32(ds.Tables[0].Rows[0]["F_T_CALL_SELL_JAN"].ToString()); + + int buy1 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_1"].ToString()); + int buy2 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_2"].ToString()); + int buy3 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_3"].ToString()); + + int buy_jan_1 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_JAN_1"].ToString()); + int buy_jan_2 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_JAN_2"].ToString()); + int buy_jan_3 = Convert.ToInt32(ds.Tables[0].Rows[0]["F_CALL_BUY_JAN_3"].ToString()); + + int buy_jan = Convert.ToInt32(ds.Tables[0].Rows[0]["F_T_CALL_BUY_JAN"].ToString()); + + int maxJan = 0; + + if (maxJan < sell_jan_1) + maxJan = sell_jan_1; + if (maxJan < sell_jan_2) + maxJan = sell_jan_2; + if (maxJan < sell_jan_3) + maxJan = sell_jan_3; + if (maxJan < buy_jan_1) + maxJan = buy_jan_1; + if (maxJan < buy_jan_2) + maxJan = buy_jan_2; + if (maxJan < buy_jan_3) + maxJan = buy_jan_3; + + mf.KAObject = mf.KAScene.GetObject("price_buy_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy1)); + if (price < buy1) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > buy1) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("price_buy_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy2)); + if (price < buy2) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > buy2) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("price_buy_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy3)); + if (price < buy3) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > buy3) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("buy_jan_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy_jan_1)); + mf.KAObject = mf.KAScene.GetObject("buy_jan_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy_jan_2)); + mf.KAObject = mf.KAScene.GetObject("buy_jan_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy_jan_3)); + + mf.KAObject = mf.KAScene.GetObject("price_sell_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell1)); + if (price < sell1) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > sell1) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("price_sell_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell2)); + if (price < sell2) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > sell2) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("price_sell_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell3)); + if (price < sell3) + mf.KAObject.SetFaceColor(172, 0, 0, 255); + else if (price > sell3) + mf.KAObject.SetFaceColor(19, 73, 170, 255); + else + mf.KAObject.SetFaceColor(50, 51, 50, 255); + + mf.KAObject = mf.KAScene.GetObject("sell_jan_1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell_jan_1)); + mf.KAObject = mf.KAScene.GetObject("sell_jan_2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell_jan_2)); + mf.KAObject = mf.KAScene.GetObject("sell_jan_3"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell_jan_3)); + + mf.KAObject = mf.KAScene.GetObject("buy_jan_total"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", buy_jan)); + mf.KAObject = mf.KAScene.GetObject("sell_jan_total"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", sell_jan)); + + mf.KAObject = mf.KAScene.GetObject("buy_bar_1"); + mf.KAObject.SetScale((float)(Convert.ToDouble(buy_jan_1) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("buy_bar_2"); + mf.KAObject.SetScale((float)(Convert.ToDouble(buy_jan_2) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("buy_bar_3"); + mf.KAObject.SetScale((float)(Convert.ToDouble(buy_jan_3) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + + mf.KAObject = mf.KAScene.GetObject("sell_bar_1"); + mf.KAObject.SetScale((float)(Convert.ToDouble(sell_jan_1) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("sell_bar_2"); + mf.KAObject.SetScale((float)(Convert.ToDouble(sell_jan_2) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("sell_bar_3"); + mf.KAObject.SetScale((float)(Convert.ToDouble(sell_jan_3) / maxJan), 0, 0, eKVectorType.VECTOR_TYPE_X); + + mf.m_chkdata = true; + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8010.cs b/MBN_STOCK_N/Scene/s8010.cs new file mode 100644 index 0000000..4311ecc --- /dev/null +++ b/MBN_STOCK_N/Scene/s8010.cs @@ -0,0 +1,819 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.ComponentModel; + + +namespace MBN_STOCK_N +{ + class s8010 + { + MainForm mf = null; + + public s8010(Form frm, string jname, string cut, string sub, string code) + { + try + { + + + + mf = (MainForm)frm; + + if (cut.Equals("캔들그래프(예상체결가)")) + mf.KAScene.GetObject("title").SetValue(jname + " 예상체결"); + else + mf.KAScene.GetObject("title").SetValue(jname); + + DataSet ds = null; + string format = string.Empty; + + double lineMaxWidth = 0; + + string [] bufA = { "CURR_PRICE", "CHG_TYPE", "NET_CHG", "RATE", "F_CHG_TYPE", "F_NET_CHG", "F_HIGH_PRICE", "F_LOW_PRICE", "F_INIT_PRICE", "F_CURR_PRICE", "F_MA5_PRICE", "F_MA20_PRICE", "OPEN_DAY", "F_NET_VOL"}; + string [] bufB = { "PART_IDX", "CHG_TYPE", "PART_CHG", "RATE", "CHG_TYPE", "PART_CHG", "PART_HIGH_IDX", "PART_LOW_IDX", "PART_INIT_IDX", "PART_IDX", "PART_MA5_IDX", "PART_MA20_IDX", "F_DATA_DAY", "PART_VOL"}; + string [] bufD = { "PART_IDX", "CHG_TYPE", "PART_CHG", "RATE", "CHG_TYPE", "PART_CHG", "HIGH", "LOW", "OPEN", "PART_IDX", "", "", "YMD", "" }; + string[] bufE = { "PART_IDX", "CHG_TYPE", "PART_CHG", "RATE", "F_CHG_TYPE", "F_PART_CHG", "A.F_PART_HIGH_IDX/100", "A.F_PART_LOW_IDX/100", "A.F_PART_INIT_IDX/100", "A.F_PART_IDX/100", "", "", "F_DATA_DAY", "" }; + string[] bufC = new string[14]; + + 데이터기간 termT = 데이터기간.주; + 봉차트데이터분류 tag1 = 봉차트데이터분류.KOSPI; + + if (sub.Equals("일봉")) + { + termT = 데이터기간.일; + lineMaxWidth = 0; + } + else if (sub.Equals("5일")) + { + termT = 데이터기간.주; + lineMaxWidth = 1188; + } + else if (sub.Equals("20일")) + { + termT = 데이터기간.월; + lineMaxWidth = 1398; + } + else if (sub.Equals("60일")) + { + termT = 데이터기간.분기; + lineMaxWidth = 1442; + } + else if (sub.Equals("120일")) + { + termT = 데이터기간.반기; + lineMaxWidth = 1452; + } + else if (sub.Equals("240일")) + { + termT = 데이터기간.연; + lineMaxWidth = 1464; + } + + if (jname == "지수") + { + format = "{0:#,##0.00}"; + + for (int i = 0; i< 14; i++) + { + bufC[i] = bufB[i]; + + if (code == "선물") + { + if (!cut.Contains("예상")) + { + if (i > 5 && i < 12) + bufC[i] = bufC[i] + "/100"; + } + if (sub == "일봉") + { + bufC[i] = bufE[i]; + } + + + } + } + + + + if (code == "코스피") + { + tag1 = 봉차트데이터분류.KOSPI; + } + else if(code == "코스닥") + { + tag1 = 봉차트데이터분류.KOSDAQ; + } + else if (code == "코스피200") + { + tag1 = 봉차트데이터분류.KOSPI200; + } + else if (code == "KRX100") + { + tag1 = 봉차트데이터분류.KRX100; + } + else if (code == "선물") + { + tag1 = 봉차트데이터분류.선물; + } + + + if (cut == "캔들그래프") + { + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.일반지수, termT); + } + else if (cut == "캔들그래프(거래량)") + { + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.거래량, termT); + } + else + { + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.예상지수, termT); + } + } + else if (code.Contains("업종")) + { + format = "{0:#,##0.00}"; + + for (int i = 0; i < 14; i++) + { + bufC[i] = bufB[i]; + } + + if (code == "업종_코스피") + tag1 = 봉차트데이터분류.코스피업종지수; + + else if (code == "업종_코스닥") + tag1 = 봉차트데이터분류.코스닥업종지수; + + if (cut == "캔들그래프") + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.일반지수, termT, jname); + else if (cut == "캔들그래프(거래량)") + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.거래량, termT, jname); + else + ds = DataManager.getInstance().createCandleChartData(tag1, 봉차트세부종목.예상지수, termT, jname); + } + + else if (code.Contains("해외지수") || code.Contains("해외종목")) + { + format = "{0:#,##0.00}"; + + for (int i = 0; i < 14; i++) + { + bufC[i] = bufD[i]; + } + + + if (code.Contains("해외지수")) + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.해외지수, 봉차트세부종목.일반지수, termT, jname); + else + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.해외종목, 봉차트세부종목.일반지수, termT, jname); + + } + else if (cut.Contains("거래정지")) + { + format = "{0:#,##0}"; + for (int i = 0; i < 14; i++) + { + bufC[i] = bufA[i]; + } + + if (code == "코스피") + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.거래정지, 봉차트세부종목.일반지수, termT, jname); + else + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.거래정지k, 봉차트세부종목.일반지수, termT, jname); + + } + + else + { + + format = "{0:#,##0}"; + for (int i = 0; i < 14; i++) + { + bufC[i] = bufA[i]; + } + + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + if (cut.Equals("캔들그래프")) + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.일반지수, termT, jname); + } + else if (cut.Equals("캔들그래프(거래량)")) + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.거래량, termT, jname); + } + else + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스피종목, 봉차트세부종목.예상지수, termT, jname); + } + + } + } + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, termT, jname); + + if (cut.Equals("캔들그래프")) + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.일반지수, termT, jname); + } + else if (cut.Equals("캔들그래프(거래량)")) + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.거래량, termT, jname); + } + else + { + ds = DataManager.getInstance().createCandleChartData(봉차트데이터분류.코스닥종목, 봉차트세부종목.예상지수, termT, jname); + } + + } + } + } + + + mf.dataGridView1.DataSource = ds.Tables[0]; + mf.dataGridView2.DataSource = ds.Tables[1]; + + + //if (cut.Equals("캔들그래프(예상체결가)")) + // mf.dataGridView2.Sort(mf.dataGridView2.Columns[0], ListSortDirection.Ascending); + + + //Line + List VectorMA5 = new List(); + List VectorMA20 = new List(); + + + mf.KAObject = mf.KAScene.GetObject("ma5"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.EndPathPoint(); + mf.KAObject = mf.KAScene.GetObject("ma20"); + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + mf.KAObject.EndPathPoint(); + + mf.KAObject = mf.KAScene.GetObject("title"); + + + if (code == "해외종목") + { + mf.KAScene.GetObject("unit").SetValue("단위 : 달러"); + } + else if (code == "해외지수") + { + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else + { + if (jname == "지수") + { + if (cut.Contains("예상")) + mf.KAObject.SetValue(code + " 예상체결지수"); + else + mf.KAObject.SetValue(code + " 지수"); + + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else + { + if (cut.Contains("예상")) + mf.KAObject.SetValue(ds.Tables[0].Rows[0]["WANNAME"].ToString() + " 예상체결"); + else + { + if (code == "업종_코스피") + { + jname = "코스피 - " + jname; + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + + else if (code == "업종_코스닥") + { + jname = "코스닥 - " + jname; + mf.KAScene.GetObject("unit").SetValue("단위 : p"); + } + else + { + mf.KAScene.GetObject("unit").SetValue("단위 : 원"); + } + mf.KAObject.SetValue(jname); + } + + } + } + + + + mf.KAObject = mf.KAScene.GetObject("price"); + mf.KAObject.SetValue(String.Format(format, Convert.ToDouble(ds.Tables[0].Rows[0][bufC[0]].ToString()))); + //mf.KAObject.SetValue(ds.Tables[0].Rows[0][bufC[0]].ToString()); + + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetValue(String.Format(format, Convert.ToDouble(ds.Tables[0].Rows[0][bufC[2]].ToString()))); + + string valueChnageInfo = ds.Tables[0].Rows[0][bufC[1]].ToString(); + + mf.KAObject = mf.KAScene.GetObject("rate"); + //mf.KAObject.SetValue(ds.Tables[0].Rows[0]["RATE"].ToString()); + + if (Convert.ToDouble(ds.Tables[0].Rows[0][bufC[3]].ToString()) > 0) + { + if (valueChnageInfo.Equals("-")) + { + mf.KAObject.SetValue("-" + Convert.ToDouble(ds.Tables[0].Rows[0][bufC[3]].ToString()).ToString("##0.00")); + } + else + { + mf.KAObject.SetValue(Convert.ToDouble(ds.Tables[0].Rows[0][bufC[3]].ToString()).ToString("##0.00")); + } + } + else + { + mf.KAObject.SetValue(Convert.ToDouble(ds.Tables[0].Rows[0][bufC[3]].ToString()).ToString("##0.00")); + } + + + mf.KAObject = mf.KAScene.GetObject("upup"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("up"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("downdown"); + mf.KAObject.SetVisible(0); + + if (valueChnageInfo.Equals("상한") || valueChnageInfo.Equals("상승") || valueChnageInfo.Equals("+")) + { + + if (valueChnageInfo.Equals("상한")) + { + mf.KAObject = mf.KAScene.GetObject("upup"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("up"); + } + + mf.KAObject.SetVisible(1); + + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(170, 0, 0, 255); + + mf.KAScene.GetObject("bg1").SetVisible(1); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(0); + + } + else if (valueChnageInfo.Equals("하한") || valueChnageInfo.Equals("하락") || valueChnageInfo.Equals("-")) + { + if (valueChnageInfo.Equals("하한")) + { + mf.KAObject = mf.KAScene.GetObject("downdown"); + } + else + { + mf.KAObject = mf.KAScene.GetObject("down"); + } + mf.KAObject.SetVisible(1); + + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(0); + mf.KAScene.GetObject("bg3").SetVisible(1); + //mf.KAObject = mf.KAScene.GetObject("bg"); + //mf.KAObject.SetFaceColor(15, 99, 189, 255); + } + else + { + mf.KAScene.GetObject("bg1").SetVisible(0); + mf.KAScene.GetObject("bg2").SetVisible(1); + mf.KAScene.GetObject("bg3").SetVisible(0); + //mf.KAObject.SetFaceColor(95, 95, 95, 255); + } + + //OPEN_DAY F_HIGH_PRICE F_LOW_PRICE F_INIT_PRICE F_CURR_PRICE F_MA5_PRICE F_MA20_PRICE + double min = double.MaxValue; + double max = double.MinValue; + double maxV = double.MinValue; + + double minA = double.MaxValue; + double maxA = double.MinValue; + + //최대 최소 얻기 + foreach (DataRow dr in ds.Tables[1].Rows) + { + if (dr[bufC[7]].ToString() != "") + { + if (minA > Convert.ToDouble(dr[bufC[7]])) + minA = Convert.ToDouble(dr[bufC[7]]); + if (maxA < Convert.ToDouble(dr[bufC[6]])) + maxA = Convert.ToDouble(dr[bufC[6]]); + + if (min > Convert.ToDouble(dr[bufC[7]])) + min = Convert.ToDouble(dr[bufC[7]]); + if (max < Convert.ToDouble(dr[bufC[6]])) + max = Convert.ToDouble(dr[bufC[6]]); + + //22.06.23 - 최대 최소를 추가하기 위한 검사 추가 + if (!(code.Contains("업종") || jname.Contains("지수"))) + { + + if (mf.ck1.Checked) + { + try + { + double MA5 = Convert.ToDouble(dr[bufC[10]].ToString()); + if (min > MA5) min = MA5; + if (max < MA5) max = MA5; + } + catch (Exception ex) { } + } + if (mf.ck2.Checked) + { + try + { + double MA20 = Convert.ToDouble(dr[bufC[11]].ToString()); + if (min > MA20) min = MA20; + if (max < MA20) max = MA20; + } + catch (Exception ex) { } + } + } + //22.06.23 추가 종료 + + if (cut.Equals("캔들그래프(거래량)")) + { + if (dr[bufC[13]] == DBNull.Value) + { + maxV = 0; + + } + else + { + if (maxV < Convert.ToDouble(dr[bufC[13]])) + maxV = Convert.ToDouble(dr[bufC[13]]); + } + + } + } + + } + + + + double gap = max - min; + double center = (max + min) / 2; + int index = 0; + + //volrumeG + mf.KAObject = mf.KAScene.GetObject("volrumeG"); + if (cut.Equals("캔들그래프(거래량)")) + { + mf.KAObject.SetVisible(1); + for (int i = 1; i <= 240; i++) + { + mf.KAScene.GetObject("volume" + i.ToString()).SetVisible(0); + } + + } + else + { + mf.KAObject.SetVisible(0); + for (int i = 1; i <= 240; i++) + { + mf.KAScene.GetObject("volume" + i.ToString()).SetVisible(0); + } + } + + string cname = string.Empty; + + if (cut.Equals("캔들그래프(예상체결가)")) + cname = "F_DATA_DATE"; + else + cname = bufC[12]; + + + for (int i = 1; i<=240; i++) + { + mf.KAScene.GetObject("candle" + i.ToString()).SetVisible(0); + } + + //추가 부분 - Ma에 값이 없는 경우 체크 하기 위한 변수 + bool isNeedMaChecker = false; + int MaCounter = 0; + + foreach (DataRow dr in ds.Tables[1].Rows) + { + index++; + + if (sub.Equals("일봉")) + { + if (index == 1) + { + if (dr["F_DATA_TIME"].ToString().Length > 1) + { + if (dr["F_DATA_TIME"].ToString().Substring(0, 2) == "09") + { + mf.KAScene.GetObject("date_begin").SetValue("09:00"); + mf.KAScene.GetObject("date_middle").SetValue("12:00"); + mf.KAScene.GetObject("date_end").SetValue("15:30"); + } + else + { + mf.KAScene.GetObject("date_begin").SetValue("10:00"); + mf.KAScene.GetObject("date_middle").SetValue("13:00"); + mf.KAScene.GetObject("date_end").SetValue("16:30"); + } + } + } + + } + else + { + //날짜 + if (index == 1) + { + mf.KAObject = mf.KAScene.GetObject("date_begin"); + + string date = dr[cname].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index == ds.Tables[1].Rows.Count) + { + mf.KAObject = mf.KAScene.GetObject("date_end"); + string date = dr[cname].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + else if (index == Math.Ceiling(Convert.ToDouble(ds.Tables[1].Rows.Count) / 2)) + { + mf.KAObject = mf.KAScene.GetObject("date_middle"); + string date = dr[cname].ToString().Substring(4).Insert(2, "/"); + mf.KAObject.SetValue(date); + } + } + + double HP = 0.0; + double LP = 0.0; + double IP = 0.0; + double CP = 0.0; + + if (dr[bufC[6]].ToString() !="") + { + HP = Convert.ToDouble(dr[bufC[6]].ToString()); + LP = Convert.ToDouble(dr[bufC[7]].ToString()); + IP = Convert.ToDouble(dr[bufC[8]].ToString()); + CP = Convert.ToDouble(dr[bufC[9]].ToString()); + + } + + + /* + //-657.57 ~ 670.65 + double len = 1328.22; + */ + //-730.57 ~ 738.65 + double sX = -730.57; + double eX = 738.65; + double len = eX - sX; + double lsX = -657.57; + double leX = 670.65; + double lenX = len / ds.Tables[1].Rows.Count; + + //수정 부분 - 최대 최소값의 X좌표를 조절하기 위함 + //X Position 의 위치를 조절하기 위해서 갯수를 파악하고 변경한다 + //일봉의 경우 갯수를 파악하고 가장 우측의 값을 비례 식으로 변경한다. + if (sub.Equals("일봉")) + { + //총 78개가 있으므로 수치에 따른 비례식으로 우측 끝의 값을 변경 + //즉 sX, LsX는 그대로이며, ex, lex의 값은 변경한다. + eX = (len * ds.Tables[1].Rows.Count / 78) + sX; + //eX = (len * 78 / ds.Tables[1].Rows.Count) + sX; + leX = eX - 68; + len = eX - sX; + lenX = len / ds.Tables[1].Rows.Count; + } + //수정 끝 + + if (HP.Equals(maxA)) + { + mf.KAObject = mf.KAScene.GetObject("highTag"); + double XP = sX + (index * lenX) - (lenX / 2); + if (XP > leX) + XP = leX; + else if (XP < lsX) + XP = lsX; + + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("highPrice"); + mf.KAObject.SetValue(String.Format(format, Convert.ToDouble(dr[bufC[6]].ToString()))); + } + if (LP.Equals(minA)) + { + mf.KAObject = mf.KAScene.GetObject("lowTag"); + double XP = sX + (index * lenX) - (lenX / 2); + if (XP > leX) + XP = leX; + else if (XP < lsX) + XP = lsX; + mf.KAObject.SetPosition((float)XP, 0, 0, eKVectorType.VECTOR_TYPE_X); + mf.KAObject = mf.KAScene.GetObject("lowPrice"); + mf.KAObject.SetValue(String.Format(format, Convert.ToDouble(dr[bufC[7]].ToString()))); + + } + + //bar + mf.KAScene.GetObject("candle" + index).SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("candlebar" + index); + + double HPF = Math.Abs(100 * (HP - max) / gap); + double LPF = Math.Abs(100 * (LP - max) / gap); + + mf.KAObject.SetCropKey(1, 0, (float)HPF, 0, (float)LPF, eKCropKey.CROP_KEY_VERTICAL); + + //Line - ma5 + try + { + if (dr[bufC[10]].ToString()!="") + { + if (isNeedMaChecker) + { + MaCounter++; + if (MaCounter < 4) + { + throw new Exception(); + } + } + + sKVector3f sKVector3F = new sKVector3f(); + double MA5 = Convert.ToDouble(dr[bufC[10]].ToString()); + int count = ds.Tables[1].Rows.Count; + sKVector3F.X = (float)(lineMaxWidth / (count - 1)) * (index - 1); + sKVector3F.Y = (float)(196 * (MA5 - max) / gap) + 98.0f; + sKVector3F.Z = 0; + + VectorMA5.Add(sKVector3F); + } else + { + isNeedMaChecker = true; + } + + + //float fY = fGraphMinY + (vecMA5Indices[index] - fMin) / fRange * fGraphHeight; + } + catch (Exception) + { + } + //Line - ma20 + try + { + if (dr[bufC[11]].ToString() != "") + { + if (isNeedMaChecker) + { + if (MaCounter < 19) + { + throw new Exception(); + } + } + + sKVector3f sKVector3F = new sKVector3f(); + double MA20 = Convert.ToDouble(dr[bufC[11]].ToString()); + int count = ds.Tables[1].Rows.Count; + sKVector3F.X = (float)(lineMaxWidth / (count - 1)) * (index - 1); + sKVector3F.Y = (float)(196 * (MA20 - max) / gap) + 98.0f; + sKVector3F.Z = 0; + + VectorMA20.Add(sKVector3F); + } + } + catch (Exception) + { + } + + + //bady + //mf.KAScene.GetObject("candlebody" + index).SetVisible(1); + mf.KAObject = mf.KAScene.GetObject("candlebody" + index); + + double IPF = Math.Abs(100 * (IP - max) / gap); + double CPF = Math.Abs(100 * (CP - max) / gap); + + + if (IP > CP) + { + mf.KAObject.SetCropKey(1, 0, (float)IPF, 0, (float)CPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar" + index); + mf.KAObject.SetFaceColor(15, 99, 189, 255); + //mf.KAObject.SetVisible(1); + } + else if (IP < CP) + { + mf.KAObject.SetCropKey(1, 0, (float)CPF, 0, (float)IPF, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar" + index); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + //mf.KAObject.SetVisible(1); + } + else + { + //수정 - 너무 얇은 경우를 위한 처리 부분 + mf.KAObject.SetCropKey(1, 0, (float)CPF, 0, (float)IPF + 1f, eKCropKey.CROP_KEY_VERTICAL); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + mf.KAObject = mf.KAScene.GetObject("candlebar" + index); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + //mf.KAObject.SetVisible(1); + } + + + double NV = 0.0; + //volrumeG + if (cut.Equals("캔들그래프(거래량)")) + { + mf.KAObject = mf.KAScene.GetObject("volume" + index); + mf.KAScene.GetObject("volume" + index).SetVisible(1); + if (dr[bufC[13]] == DBNull.Value) + { + NV = 0.0; + + } + else + { + NV = Convert.ToDouble(dr[bufC[13]].ToString()); + } + + double NVP = Math.Abs(100 * (NV) / maxV); + + mf.KAObject.SetCropKey(1, 0, 100.0f - (float)NVP, 0, 100.0f, eKCropKey.CROP_KEY_VERTICAL); + + } + } + + mf.KAObject = mf.KAScene.GetObject("ma5"); + if (mf.ck1.Checked) + { + + mf.KAObject.BeginPathPoint(); + + foreach (var v in VectorMA5) + { + mf.KAObject.AddPathPoint(v.X, v.Y, v.Z); + } + mf.KAObject.EndPathPoint(); + } + else + { + mf.KAObject.ClearPathPoints(); + } + + + mf.KAObject = mf.KAScene.GetObject("ma20"); + if (mf.ck2.Checked) + { + mf.KAObject.BeginPathPoint(); + mf.KAObject.ClearPathPoints(); + foreach (var v in VectorMA20) + { + //mf.KAObject.A + mf.KAObject.AddPathPoint(v.X, v.Y, v.Z); + } + mf.KAObject.EndPathPoint(); + mf.KAScene.GetObject("guide").SetVisible(1); + } + else + { + mf.KAObject.ClearPathPoints(); + mf.KAScene.GetObject("guide").SetVisible(0); + } + + if (code.Contains("업종") || jname.Contains("지수")) + { + + mf.KAScene.GetObject("guide").SetVisible(0); + mf.KAScene.GetObject("ma5").ClearPathPoints(); + mf.KAScene.GetObject("ma20").ClearPathPoints(); + } + mf.m_chkdata = true; + + } + catch (Exception) + { + //MessageBox.Show(ex.ToString()); + mf.m_chkdata = false; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8018.cs b/MBN_STOCK_N/Scene/s8018.cs new file mode 100644 index 0000000..bade7f8 --- /dev/null +++ b/MBN_STOCK_N/Scene/s8018.cs @@ -0,0 +1,1098 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; +using System.Reflection; + +namespace MBN_STOCK_N +{ + class s8018 //2열판 + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + string kiho1 = string.Empty; + string kiho2 = string.Empty; + string m_sub = string.Empty; + string m_code = string.Empty; + string m_jname = string.Empty; + + string[] m_rs = null; + int m_idx = 0; + + int [] m_f = new int[2]; + + public s8018(Form frm, int idx, string jname, string sub, string code) + { + try + { + DataSet ds1 = null; + DataSet ds2 = null; + + string query = string.Empty; + m_code = code; m_sub = sub; m_jname = jname; + int a_1 = 0; int a_2 = 0; + int b_1 = 0; int b_2 = 0; + int c_1 = 0; int c_2 = 0; + int d_1 = 0; int d_2 = 0; + int e_1 = 0; int e_2 = 0; + + + + //sub = "예상체결가" + + mf = (MainForm)frm; + + //================<<시장 mark 숨김>>================= + mf.KAObject = mf.KAScene.GetObject("mart1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("mart2"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("end1"); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("end2"); + mf.KAObject.SetVisible(0); + + //======================================================== + + if (idx == 0)//지수 (코스피, 코스닥, 코스피 200, 선물, KRX 100 + { + m_rs = jname.Split(','); + + + ds1 = Data_Selection(m_rs[0], 1); + ds2 = Data_Selection(m_rs[1], 2); + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + if (m_idx == 0) + { + Data_View(0, 0); + } + else + { + Data_View(0, m_idx); + SetDataText(m_idx); + } + + } + else if (idx == 1) + { + m_rs = jname.Split(','); + + if (m_sub == "예상체결") + { + if (jname.Contains("NXT") ) + { + MessageBox.Show("NXT 예상체결가 데이터가 없습니다."); + return; + } + + ds1 = jongmoke_value(m_rs[0]); + ds2 = jongmoke_value(m_rs[1]); + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + mf.KAScene.GetObject("title1").SetValue(ds1.Tables[0].Rows[0][2].ToString() + " 예상체결"); + mf.KAScene.GetObject("title2").SetValue(ds2.Tables[0].Rows[0][2].ToString() + " 예상체결"); + + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][3].ToString()))); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][3].ToString()))); + + + mf.KAObject = mf.KAScene.GetObject("changePrice1_1"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][6].ToString()))); + //----- + if (mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()))); + //----- + + + mf.KAObject = mf.KAScene.GetObject("changePrice1_2"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][6].ToString()))); + + if (mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString()))); + //----- + + mf.KAObject = mf.KAScene.GetObject("changePrice2_1"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][6].ToString()))); + //----- + if (mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()))); + //----- + + + mf.KAObject = mf.KAScene.GetObject("changePrice2_2"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][6].ToString()))); + + if (mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString()))); + //----- + + mf.KAObject = mf.KAScene.GetObject("changePrice3_1"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][6].ToString()))); + //----- + if (mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()))); + //----- + + + mf.KAObject = mf.KAScene.GetObject("changePrice3_2"); + //mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][6].ToString()))); + + if (mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(0, 1) == "-") + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString().Substring(1)))); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[6].Value.ToString()))); + //----- + + mf.KAObject = mf.KAScene.GetObject("rate1_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate1_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate2_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate3_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate3_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][9].ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("wonText2").SetValue(""); + + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, ds1.Tables[0].Rows[0][8].ToString(), 1); + mf.setObjectStockChange(mf.KAObject, ds2.Tables[0].Rows[0][8].ToString(), 2); + } + else + { + ds1 = jongmok_value(m_rs[0], 0); + ds2 = jongmok_value(m_rs[1], 1); + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + if (m_f[0] == 0 && m_f[1] == 0) + { + a_1 = 1; a_2 = 1; + b_1 = 2; b_2 = 2; + c_1 = 3; c_2 = 3; + d_1 = 6; d_2 = 6; + e_1 = 4; e_2 = 4; + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + + } + else if (m_f[0] == 0 && m_f[1] == 1) + { + a_1 = 1; a_2 = 0; + b_1 = 2; b_2 = 1; + c_1 = 3; c_2 = 3; + d_1 = 6; d_2 = 4; + e_1 = 4; e_2 = 2; + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 달러"); + } + else if (m_f[0] == 1 && m_f[1] == 0) + { + a_1 = 0; a_2 = 1; + b_1 = 1; b_2 = 2; + c_1 = 3; c_2 = 3; + d_1 = 4; d_2 = 6; + e_1 = 2; e_2 = 4; + mf.KAScene.GetObject("unitText1").SetValue("단위 : 달러"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + } + + else + { + a_1 = 0; a_2 = 0; + b_1 = 1; b_2 = 1; + c_1 = 3; c_2 = 3; + d_1 = 4; d_2 = 4; + e_1 = 2; e_2 = 2; + mf.KAScene.GetObject("unitText1").SetValue("단위 : 달러"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 달러"); + } + + + mf.KAScene.GetObject("title1").SetValue(ds1.Tables[0].Rows[0][a_1].ToString()); + mf.KAScene.GetObject("title2").SetValue(ds2.Tables[0].Rows[0][a_2].ToString()); + + + //===========거래소 표시=========== + string market1, market2, mart1, mart2; + string ss = ds1.Tables[0].Columns.Count.ToString(); + string ss1 = ds2.Tables[0].Columns.Count.ToString(); + + if (ds1.Tables[0].Columns.Count < 8) // 해외 + market1 = "WORLD"; + else + market1 = ds1.Tables[0].Rows[0][7].ToString(); + + // string market2 = ds2.Tables[0].Rows[0][7].ToString(); + if (ds2.Tables[0].Columns.Count < 8) // 해외 + market2 = "WORLD"; + else + market2 = ds2.Tables[0].Rows[0][7].ToString(); + + + string fileName1, fileName2 = ""; + string exe_folder = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + if (market1.Contains("NXT")) // NXT일때 + { + mart1 = "NXT"; + fileName1 = exe_folder + "\\Cuts\\Images\\" + "NXT.png"; + } + else if (market1 == "WORLD") // 해외 + { + mart1 = "WORLD"; + fileName1 = ""; + } + else // KRX일때 + { + mart1 = "KRX"; + fileName1 = exe_folder + ".\\Cuts\\Images\\" + "KRX.png"; + } + + if (market2.Contains("NXT")) + { + mart2 = "NXT"; + fileName2 = exe_folder + "\\Cuts\\Images\\" + "NXT.png"; + } + else if (market2 == "WORLD") // 해외 + { + mart2 = "WORLD"; + fileName2 = ""; + } + else + { + mart2 = "KRX"; + fileName2 = exe_folder + ".\\Cuts\\Images\\" + "KRX.png"; + } + + if ((mart1 == "NXT") || (mart1 == "KRX")) // NXT or KRX가 일때 + { + mf.KAObject = mf.KAScene.GetObject("mart1"); + mf.KAObject.SetValue(fileName1); + + mf.KAObject = mf.KAScene.GetObject("mart1"); + mf.KAObject.SetVisible(1); + + DateTime now = DateTime.Now; + DateTime compareTime = new DateTime(now.Year, now.Month, now.Day, 15, 30, 0); + + if (now > compareTime) // 현재 시간은 15시 30분보다 큽니다 + { + if (mart1 == "KRX") + { + mf.KAObject = mf.KAScene.GetObject("end1"); + mf.KAObject.SetVisible(1); + } + } + else // 현재 시간은 15시 30분 이하 + { + mf.KAObject = mf.KAScene.GetObject("end1"); + mf.KAObject.SetVisible(0); + } + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("end1"); + mf.KAObject.SetVisible(0); + } + + if ((mart2 == "NXT") || (mart2 == "KRX")) // NXT or KRX가 일때 + { + mf.KAObject = mf.KAScene.GetObject("mart2"); + mf.KAObject.SetValue(fileName2); + + mf.KAObject = mf.KAScene.GetObject("mart2"); + mf.KAObject.SetVisible(1); + + DateTime now = DateTime.Now; + DateTime compareTime = new DateTime(now.Year, now.Month, now.Day, 15, 30, 0); + + if (now > compareTime) // 현재 시간은 15시 30분보다 큽니다. + { + if (mart2 == "KRX") + { + mf.KAObject = mf.KAScene.GetObject("end2"); + mf.KAObject.SetVisible(1); + } + } + else // 현재 시간은 15시 30분 이하입니다. + { + mf.KAObject = mf.KAScene.GetObject("end2"); + mf.KAObject.SetVisible(0); + } + } + else + { + mf.KAObject = mf.KAScene.GetObject("mart2"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("end2"); + mf.KAObject.SetVisible(0); + } + + // 둘다 KRX일경우는 안나오게 + if ((mart1 == "KRX") && (mart2 == "KRX")) + { + mf.KAObject = mf.KAScene.GetObject("mart1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("mart2"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("end1"); + mf.KAObject.SetVisible(0); + + mf.KAObject = mf.KAScene.GetObject("end2"); + mf.KAObject.SetVisible(0); + } + + //if ((market1.Contains("NXT")) || (market2.Contains("NXT"))) // 둘중에 하나라도 있을때 표시 + //{ + // mf.KAObject = mf.KAScene.GetObject("mart1"); + // mf.KAObject.SetVisible(1); + + // mf.KAObject = mf.KAScene.GetObject("mart2"); + // mf.KAObject.SetVisible(1); + //} + //else + //{ + // mf.KAObject = mf.KAScene.GetObject("mart1"); + // mf.KAObject.SetVisible(0); + + // mf.KAObject = mf.KAScene.GetObject("mart2"); + // mf.KAObject.SetVisible(0); + + // mf.KAObject = mf.KAScene.GetObject("end1"); + // mf.KAObject.SetVisible(0); + + // mf.KAObject = mf.KAScene.GetObject("end2"); + // mf.KAObject.SetVisible(0); + //} + //================================= + + mf.KAObject = mf.KAScene.GetObject("price1"); + + if (ds1.Tables[0].Rows[0][b_1].ToString().Contains(".")) + mf.KAObject.SetValue(ds1.Tables[0].Rows[0][b_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][b_1].ToString()))); + + //---- + + mf.KAObject = mf.KAScene.GetObject("price2"); + + if (ds2.Tables[0].Rows[0][b_2].ToString().Contains(".")) + mf.KAObject.SetValue(ds2.Tables[0].Rows[0][b_2].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][b_2].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1_1"); + if (ds1.Tables[0].Rows[0][c_1].ToString().Contains(".")) + mf.KAObject.SetValue(ds1.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][c_1].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1_2"); + + if (ds2.Tables[0].Rows[0][c_2].ToString().Contains(".")) + mf.KAObject.SetValue(ds2.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][c_2].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice2_1"); + + if (ds1.Tables[0].Rows[0][c_1].ToString().Contains(".")) + mf.KAObject.SetValue(ds1.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][c_1].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice2_2"); + + if (ds2.Tables[0].Rows[0][c_2].ToString().Contains(".")) + mf.KAObject.SetValue(ds2.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][c_2].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice3_1"); + + if (ds1.Tables[0].Rows[0][c_1].ToString().Contains(".")) + mf.KAObject.SetValue(ds1.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds1.Tables[0].Rows[0][c_1].ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice3_2"); + + if (ds2.Tables[0].Rows[0][c_2].ToString().Contains(".")) + mf.KAObject.SetValue(ds2.Tables[0].Rows[0][c_1].ToString()); + else + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(ds2.Tables[0].Rows[0][c_2].ToString()))); + + + mf.KAObject = mf.KAScene.GetObject("rate1_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][d_1].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate1_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][d_2].ToString()).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate2_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][d_1].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate2_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][d_2].ToString()).ToString("##0.00")); + + mf.KAObject = mf.KAScene.GetObject("rate3_1"); + mf.KAObject.SetValue(Convert.ToDouble(ds1.Tables[0].Rows[0][d_1].ToString()).ToString("##0.00")); + mf.KAObject = mf.KAScene.GetObject("rate3_2"); + mf.KAObject.SetValue(Convert.ToDouble(ds2.Tables[0].Rows[0][d_2].ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("wonText2").SetValue(""); + + + + mf.setObjectStockChange(mf.KAObject, ds1.Tables[0].Rows[0][e_1].ToString(), 1); + mf.setObjectStockChange(mf.KAObject, ds2.Tables[0].Rows[0][e_2].ToString(), 2); + + } + mf.m_chkdata = true; + } + else if (idx == 3) + { + m_rs = jname.Split('-'); + if (code.Contains("코스피")) + { + ds1 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, m_rs[0]); + ds2 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSPI, m_rs[1]); + } + else + { + ds1 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, m_rs[0]); + ds2 = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.지수업종, 국내시장종류.KOSDAQ, m_rs[1]); + } + + mf.dataGridView1.DataSource = ds1.Tables[0]; + mf.dataGridView2.DataSource = ds2.Tables[0]; + + Data_View(0, 0); + } + } + catch (Exception) + { + mf.m_chkdata = false; + } + } + + private void SetDataText(int idx) + { + if (idx == 1) + { + mf.KAScene.GetObject("title1").SetValue(mf.dataGridView1.Rows[0].Cells[1].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice1"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView1.Rows[0].Cells[3].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate1"); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[6].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, mf.dataGridView1.Rows[0].Cells[4].Value.ToString(), 1); + } + else + { + mf.KAScene.GetObject("title2").SetValue(mf.dataGridView2.Rows[0].Cells[1].Value.ToString()); + mf.KAObject = mf.KAScene.GetObject("price2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[2].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("changePrice2"); + mf.KAObject.SetValue(String.Format("{0:#,##0}", Convert.ToInt64(mf.dataGridView2.Rows[0].Cells[3].Value.ToString()))); + + mf.KAObject = mf.KAScene.GetObject("rate2"); + mf.KAObject.SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[6].Value.ToString()).ToString("##0.00")); + + mf.KAScene.GetObject("wonText2").SetValue(""); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + + mf.setObjectStockChange(mf.KAObject, mf.dataGridView2.Rows[0].Cells[4].Value.ToString(), 2); + } + } + + private DataSet jongmok_value(string jname, int idx) + { + DataSet ds = null; + if (jname.Contains("NXT") == false) + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSPI, jname); + } + + } + } + else + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSPI, jname.Replace("(NXT)", "")); + } + } + + } + + if (jname.Contains("NXT") == false) + { + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSDAQ, jname); + } + } + } + else + { + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSDAQ, jname.Replace("(NXT)", "")); + } + } + } + + //if (jname.Contains("NXT")) + //{ + // foreach (DataRow r in mf.mDTNxtkospi.Rows) + // { + // if (r[0].Equals(jname)) + // { + // ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSPI, jname.Replace("(NXT)", "")); + // } + // } + //} + + + //if (jname.Contains("NXT")) + //{ + // foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + // { + // if (r[0].Equals(jname)) + // { + // ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.NXT_KOSDAQ, jname.Replace("(NXT)", "")); + // } + // } + //} + + m_f[idx] = 0; + + if (ds == null) + { + //ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목현재가, 국내시장종류.KOSDAQ, jname); + ds = DataManager.getInstance().createPlateData(판1그래프데이터해외류.해외종목, jname); + + m_f[idx] = 1; + + } + return ds; + } + + private DataSet jongmoke_value(string jname) + { + DataSet ds = null; + + if (jname.Contains("NXT") == false) + { + foreach (DataRow r in mf.mDTkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.KOSPI, jname); + } + } + } + + if (jname.Contains("NXT") == false) + { + foreach (DataRow r in mf.mDTkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.KOSDAQ, jname); + } + } + } + + if (jname.Contains("NXT")) + { + foreach (DataRow r in mf.mDTNxtkospi.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.NXT_KOSPI, jname.Replace("(NXT)", "")); + } + } + } + + if (jname.Contains("NXT")) + { + foreach (DataRow r in mf.mDTNxtkosdaq.Rows) + { + if (r[0].Equals(jname)) + { + ds = DataManager.getInstance().createPlateData(판1그래프데이터산업및종목류.종목예상체결가, 국내시장종류.NXT_KOSDAQ, jname.Replace("(NXT)", "")); + } + } + } + + return ds; + } + + private DataSet Data_Selection(string jname, int idx) + { + DataSet ds = null; + + if (m_sub == "예상체결") + { + if (jname.Contains("_NXT")) + { + MessageBox.Show("NXT 예상체결가 Data가 없습니다."); + } + else if (jname.Contains("코스피")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.예상지수, 국내지수종류.KOSPI); + else if (jname.Contains("코스닥")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.예상지수, 국내지수종류.KOSDAQ); + else if (jname.Contains("코스피200")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.예상지수, 국내지수종류.KOSPI200); + else if (jname.Contains("선물")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.예상지수, 국내지수종류.선물); + else if (jname.Contains("KRX100")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.예상지수, 국내지수종류.KRX100); + + else + { + ds = jongmoke_value(jname); + m_idx = idx; + } + } + else + { + if (jname.Contains("_NXT")) + { + MessageBox.Show("NXT 지수 Data가 없습니다."); + } + else + if (jname.Contains("코스피")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSPI); + else if (jname.Contains("코스닥")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSDAQ); + else if (jname.Contains("코스피200")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KOSPI200); + else if (jname.Contains("선물")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.선물); + else if (jname.Contains("KRX100")) + ds = DataManager.getInstance().createPlateData(판1그래프데이터지수류.현재지수, 국내지수종류.KRX100); + + else if (jname.Contains("원달러")) + ds = DataManager.getInstance().createPlateData(원환율.원달러); + else if (jname.Contains("원엔")) + ds = DataManager.getInstance().createPlateData(원환율.원엔); + else if (jname.Contains("원위엔")) + ds = DataManager.getInstance().createPlateData(원환율.원위엔); + else if (jname.Contains("원유로")) + ds = DataManager.getInstance().createPlateData(원환율.원유로); + + else if (jname.Contains("다우")) + ds = DataManager.getInstance().createPlateData(해외지수종류.다우, "DJI@DJI"); + else if (jname.Contains("나스닥")) + ds = DataManager.getInstance().createPlateData(해외지수종류.나스닥, "NAS@IXIC"); + else if (jname.Contains("S&P")) + ds = DataManager.getInstance().createPlateData(해외지수종류.SNP, "SPI@SPX"); + else if (jname.Contains("독일")) + ds = DataManager.getInstance().createPlateData(해외지수종류.독일, "XTR@DAX30"); + else if (jname.Contains("영국")) + ds = DataManager.getInstance().createPlateData(해외지수종류.영국, "LNS@FTSE100"); + else if (jname.Contains("프랑스")) + ds = DataManager.getInstance().createPlateData(해외지수종류.프랑스, "PAS@CAC40"); + else if (jname.Contains("니케이")) + ds = DataManager.getInstance().createPlateData(해외지수종류.니케이, "NII@NI225"); + else if (jname.Contains("중국 상해")) + ds = DataManager.getInstance().createPlateData(해외지수종류.중국상해, "SHS@000001"); + else if (jname.Contains("홍콩 항셍")) + ds = DataManager.getInstance().createPlateData(해외지수종류.홍콩항셍, "HSI@HSI"); + else if (jname.Contains("대만 가권")) + ds = DataManager.getInstance().createPlateData(해외지수종류.대만가권, "TWS@TI01"); + else if (jname.Contains("싱가포르 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.싱가포르지수, "SGI@STI"); + else if (jname.Contains("태국 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.태국지수, "THI@SET"); + else if (jname.Contains("필리핀 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.필리핀, "PHI@COMP"); + else if (jname.Contains("말레이시아 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.말레이시아, "IDI@JKSE"); + else if (jname.Contains("인도네시아 지수")) + ds = DataManager.getInstance().createPlateData(해외지수종류.인도네시아, "MYI@KLSE"); + + else + { + ds = jongmok_value(jname, 0); + m_idx = idx; + } + } + + return ds; + } + + private void Data_View(int idx, int index) + { + int ix1_1 = 0; int ix2_1 = 0; int ix3_1 = 0; int ix4_1 = 0; int ix5_1 = 0; + int ix1_2 = 0; int ix2_2 = 0; int ix3_2 = 0; int ix4_2 = 0; int ix5_2 = 0; + + if (!m_rs[0].Contains("환율")) + { + ix1_1 = 0; ix2_1 = 1; ix3_1 = 2; ix4_1 = 3; ix5_1 = 4; + if (m_code == "선물") + ix5_1 = 7; + } + else if (m_rs[0].Contains("환율")) + { + ix1_1 = 1; ix2_1 = 2; ix3_1 = 4; ix4_1 = 3; ix5_1 = 5; + } + if (!m_rs[1].Contains("환율")) + { + ix1_2 = 0; ix2_2 = 1; ix3_2 = 2; ix4_2 = 3; ix5_2 = 4; + if (m_code == "선물") + ix5_2 = 7; + } + else if (m_rs[1].Contains("환율")) + { + ix1_2 = 1; ix2_2 = 2; ix3_2 = 4; ix4_2 = 3; ix5_2 = 5; + } + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + if (m_code.Contains("코스피")) + { + if (index == 0) + { + mf.KAScene.GetObject("title1").SetValue("코스피 - " + mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + mf.KAScene.GetObject("title2").SetValue("코스피 - " + mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + } + else if (index == 1) + mf.KAScene.GetObject("title2").SetValue("코스피 - " + mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + else if (index == 2) + mf.KAScene.GetObject("title1").SetValue("코스피 - " + mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + } + else if (m_code.Contains("코스닥")) + { + if (index == 0) + { + mf.KAScene.GetObject("title1").SetValue("코스닥 - " + mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + mf.KAScene.GetObject("title2").SetValue("코스닥 - " + mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + } + else if (index == 1) + mf.KAScene.GetObject("title2").SetValue("코스닥 - " + mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + else if (index == 2) + mf.KAScene.GetObject("title1").SetValue("코스닥 - " + mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + } + else + { + if (index == 0) + { + mf.KAScene.GetObject("title1").SetValue(mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + mf.KAScene.GetObject("title2").SetValue(mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + } + else if (index == 1) + mf.KAScene.GetObject("title2").SetValue(mf.dataGridView2.Rows[0].Cells[ix1_2].Value.ToString()); + else if (index == 2) + mf.KAScene.GetObject("title1").SetValue(mf.dataGridView1.Rows[0].Cells[ix1_1].Value.ToString()); + } + + if (index == 0) + { + mf.KAScene.GetObject("price1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix2_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("price2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix2_2].Value.ToString()).ToString("#,##0.00")); + } + else if (index == 1) + mf.KAScene.GetObject("price2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix2_2].Value.ToString()).ToString("#,##0.00")); + else if (index == 2) + mf.KAScene.GetObject("price1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix2_1].Value.ToString()).ToString("#,##0.00")); + + if (index == 0) + { + if (mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("changePrice1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("changePrice1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + } + + + if (mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(0, 1) == "-") + { + + mf.KAScene.GetObject("changePrice1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("changePrice1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + } + + } + else if (index == 1) + { + if (mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("changePrice1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString().Substring(1)).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("changePrice1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix4_2].Value.ToString()).ToString("#,##0.00")); + } + + } + else if (index == 2) + { + if (mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("changePrice1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString().Substring(1)).ToString("#,##0.00")); + } + else + { + mf.KAScene.GetObject("changePrice1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("changePrice3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix4_1].Value.ToString()).ToString("#,##0.00")); + } + + } + + if (index == 0) + { + if (mf.dataGridView1.Rows[0].Cells[ix3_1].Value.ToString() == "-") + { + if (mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("rate1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("rate1_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + + } + else + { + mf.KAScene.GetObject("rate1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + + + if (mf.dataGridView2.Rows[0].Cells[ix3_2].Value.ToString() == "-") + { + if (mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("rate1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("rate1_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + + } + else + { + mf.KAScene.GetObject("rate1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + } + else if (index == 1) + { + if (mf.dataGridView2.Rows[0].Cells[ix3_2].Value.ToString() == "-") + { + if (mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("rate1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("rate1_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue("-" + Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + + } + + else + { + mf.KAScene.GetObject("rate1_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_2").SetValue(Convert.ToDouble(mf.dataGridView2.Rows[0].Cells[ix5_2].Value.ToString()).ToString("#,##0.00")); + } + } + else if (index == 2) + { + if (mf.dataGridView1.Rows[0].Cells[ix3_1].Value.ToString() == "-") + { + if (mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString().Substring(0, 1) == "-") + { + mf.KAScene.GetObject("rate1_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + + else + { + mf.KAScene.GetObject("rate1_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate2_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + mf.KAScene.GetObject("rate3_1").SetValue("-" + Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + + } + else + { + mf.KAScene.GetObject("rate1").SetValue(Convert.ToDouble(mf.dataGridView1.Rows[0].Cells[ix5_1].Value.ToString()).ToString("#,##0.00")); + } + } + + mf.KAScene.GetObject("wonText1").SetValue(""); + mf.KAScene.GetObject("wonText2").SetValue(""); + + if (index == 0) + { + if (idx == 0) + { + mf.KAScene.GetObject("unitText1").SetValue("단위 : p"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : p"); + } + + else + { + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + } + } + else if (index == 1) + { + if (idx == 0) + { + mf.KAScene.GetObject("unitText2").SetValue("단위 : p"); + } + + else + { + mf.KAScene.GetObject("unitText2").SetValue("단위 : 원"); + } + } + else if (index == 1) + { + if (idx == 0) + { + mf.KAScene.GetObject("unitText1").SetValue("단위 : p"); + } + + else + { + mf.KAScene.GetObject("unitText1").SetValue("단위 : 원"); + } + } + + if (index == 0) + { + kiho1 = mf.dataGridView1.Rows[0].Cells[ix3_1].Value.ToString(); + kiho2 = mf.dataGridView2.Rows[0].Cells[ix3_2].Value.ToString(); + + mf.setObjectStockChange(mf.KAObject, kiho1, 1); + mf.setObjectStockChange(mf.KAObject, kiho2, 2); + } + else if (index == 1) + { + kiho2 = mf.dataGridView2.Rows[0].Cells[ix3_2].Value.ToString(); + mf.setObjectStockChange(mf.KAObject, kiho2, 2); + } + else if (index == 2) + { + kiho1 = mf.dataGridView1.Rows[0].Cells[ix3_1].Value.ToString(); + mf.setObjectStockChange(mf.KAObject, kiho1, 1); + } + mf.m_chkdata = true; + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8067.cs b/MBN_STOCK_N/Scene/s8067.cs new file mode 100644 index 0000000..09655bd --- /dev/null +++ b/MBN_STOCK_N/Scene/s8067.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s8067 //글로벌 증시 지도 + { + MainForm mf = null; + + public s8067(Form frm, string jname) + { + try + { + mf = (MainForm)frm; + double account = 0.0; + + DataSet ds = DataManager.getInstance().createWorldMapData(지도데이터분류.글로벌); + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 1) + { + mf.m_chkdata = false; + } + else + { + foreach (DataRow dr in ds.Tables[0].Rows) + { + + string targetName = dr["NAME"].ToString(); + mf.KAObject = mf.KAScene.GetObject("price_" + targetName); + mf.KAObject.SetValue(String.Format("{0:#,##0.###}", Convert.ToDouble(dr["CURR_PRICE"].ToString()))); + mf.KAObject = mf.KAScene.GetObject("rate_" + targetName); + mf.KAObject.SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr["RATE"].ToString()))); + + string targetRate = dr["CHG_TYPE"].ToString(); + + mf.KAObject = mf.KAScene.GetObject("up_" + targetName); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("down_" + targetName); + mf.KAObject.SetVisible(0); + mf.KAObject = mf.KAScene.GetObject("flat_" + targetName); + mf.KAObject.SetVisible(0); + + if (targetRate == "+") + { + mf.KAObject = mf.KAScene.GetObject("bg_" + targetName); + mf.KAObject.SetFaceColor(170, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("up_" + targetName); + mf.KAObject.SetVisible(1); + + } + else if (targetRate == "-") + { + account = Convert.ToDouble(dr["NET_CHG"].ToString()); + + if (account == 0.0) + { + mf.KAObject = mf.KAScene.GetObject("bg"); + mf.KAObject.SetFaceColor(191, 191, 191, 255); + mf.KAObject = mf.KAScene.GetObject("flat_" + targetName); + mf.KAObject.SetVisible(1); + } + else + { + mf.KAObject = mf.KAScene.GetObject("bg_" + targetName); + mf.KAObject.SetFaceColor(1, 101, 255, 255); + mf.KAObject = mf.KAScene.GetObject("down_" + targetName); + mf.KAObject.SetVisible(1); + + } + + } + else + { + mf.KAObject = mf.KAScene.GetObject("bg"); + mf.KAObject.SetFaceColor(191, 191, 191, 255); + mf.KAObject = mf.KAScene.GetObject("flat_" + targetName); + mf.KAObject.SetVisible(1); + } + } + mf.m_chkdata = true; + } + + + } + catch (Exception) + { + + } + } + } +} diff --git a/MBN_STOCK_N/Scene/s8086.cs b/MBN_STOCK_N/Scene/s8086.cs new file mode 100644 index 0000000..52e774d --- /dev/null +++ b/MBN_STOCK_N/Scene/s8086.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using K3DAsyncEngineLib; +using System.Data; +using MMoneyCoderSharp.Data; +using static MMoneyCoderSharp.DBDefine; + +namespace MBN_STOCK_N +{ + class s8086 //이미지 그래프 (유가, 금) + { + MainForm mf = null; + //DBCon m_db = new DBCon(); + + public s8086(Form frm, string jname) + { + try + { + + DataSet ds = null; + string query = string.Empty; + string kiho = string.Empty; + mf = (MainForm)frm; + + string vpath = mf.T2S_FOLDER_PATH + "Video\\20201008_"; + string nation = string.Empty; + //지수 (코스피, 코스닥, 코스피 200, 선물, KRX 100 + + if (jname.Contains("유가")) + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.유가_두바이_WTI_브랜트); + mf.KAScene.GetObject("unit").SetValue("단위: 달러/배럴"); ; + } + else + { + ds = DataManager.getInstance().createPlate3Data_Cut4(판3데이터분류.광물); + mf.KAScene.GetObject("unit").SetValue("단위: 달러/온스"); ; + } + + mf.dataGridView1.DataSource = ds.Tables[0]; + + if (mf.dataGridView1.RowCount <= 1) + mf.m_chkdata = false; + else + { + foreach (DataRow dr in ds.Tables[0].Rows) + { + if (jname.Contains(dr[1].ToString())) + { + mf.KAObject = mf.KAScene.GetObject("title"); + mf.KAObject.SetValue(dr[1].ToString()); + + + mf.KAScene.GetObject("price").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[2].ToString()))); + mf.KAScene.GetObject("changePrice").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[3].ToString()))); + + + mf.KAScene.GetObject("rate").SetValue(String.Format("{0:#,##0.00}", Convert.ToDouble(dr[5].ToString()))); + + //mf.KAObject = mf.KAScene.GetObject("rate"); + //mf.KAObject.SetValue(dr[5].ToString().Replace("-", "")); + + if (dr[4].ToString().Equals("+")) + { + mf.KAObject = mf.KAScene.GetObject("bg"); + mf.KAObject.SetFaceColor(172, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetFaceColor(172, 0, 0, 255); + mf.KAObject = mf.KAScene.GetObject("rate"); + mf.KAObject.SetFaceColor(172, 0, 0, 255); + + } + else if (dr[4].ToString().Equals("-")) + { + mf.KAObject = mf.KAScene.GetObject("bg"); + mf.KAObject.SetFaceColor(14, 100, 188, 255); + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetFaceColor(14, 100, 188, 255); + mf.KAObject = mf.KAScene.GetObject("rate"); + mf.KAObject.SetFaceColor(14, 100, 188, 255); + } + else + { + mf.KAObject = mf.KAScene.GetObject("bg"); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + mf.KAObject = mf.KAScene.GetObject("changePrice"); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + mf.KAObject = mf.KAScene.GetObject("rate"); + mf.KAObject.SetFaceColor(95, 95, 95, 255); + } + + } + } + mf.m_chkdata = true; + } + } + catch (Exception) + { + + } + } + } +} diff --git a/MBN_STOCK_N/packages.config b/MBN_STOCK_N/packages.config new file mode 100644 index 0000000..52fa35f --- /dev/null +++ b/MBN_STOCK_N/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file