{ "cells": [ { "cell_type": "markdown", "id": "1ac9a4df", "metadata": {}, "source": [ "# TSMC 買進持有策略\n", "\n", "本次範例將以最經典的買進持有策略向您介紹 zipline 回測方法,並且介紹組建 zipline 交易策略最基礎的四大函式 - `initialize`、`handle_data`、`analyze`、`run_algorithm`。" ] }, { "cell_type": "markdown", "id": "5a18da9b", "metadata": {}, "source": [ "## 導入股價資料\n", "\n", "在 zipline 中,我們使用 `os` 搭配 `!zipline ingest` 將股價資料導入到本地端。常用寫法為: \n", "```\n", "!zipline ingest -b tqant \n", "```\n", "其中 `-b` 為 bundle 之涵義,bundle 為股票價量資訊的載體,`tquant` 則是 bundle 之名稱,可由使用者自定義。在 ingest 之前,需先使用 `os` 設定環境變數,以方便 zipline 接收使用者所欲抓取之資產標的與年份之要求。一般而言,針對環境變數之寫法如下:\n", "```\n", "os.environ['TEJAPI_BASE'] = \"https://api.tej.com.tw\" ==> 導航至 tej api 網域。\n", "os.environ['TEJAPI_KEY'] = \"your key\" ==> 個人 api key 以驗證身分。\n", "os.environ['mdate'] = \"20170601 20230702\" ==> 欲抓取資料之日期區間,前者為起始日,後者為終止日。\n", "os.environ['ticker'] = '2330 2337' ==> 所欲抓取股票之代碼。\n", "```" ] }, { "cell_type": "code", "execution_count": 1, "id": "cca2601a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Merging daily equity files:\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[2023-08-09 05:09:50.565678] INFO: zipline.data.bundles.core: Ingesting tquant.\n" ] } ], "source": [ "import os \n", "os.environ['TEJAPI_BASE'] = \"https://api.tej.com.tw\"\n", "os.environ['TEJAPI_KEY'] = \"your key\"\n", "os.environ['mdate'] = \"20170601 20230702\"\n", "os.environ['ticker'] = '2330 IR0001'\n", "!zipline ingest -b tquant" ] }, { "cell_type": "markdown", "id": "f4ca69f3", "metadata": {}, "source": [ "## Initialize 函式\n", "\n", "`initialize` 為構建 zipline 交易策略的重要函式,會在回測開始前被呼叫一次,主要任務為設定回測環境,常見用於設定滑價或手續費。分別可以使用:\n", "\n", "1. zipline.api.set_slippage\n", "\n", " 設定滑價模式,zipline 共提供四種滑價計算方法,詳請請見後續教學-zipline slippage。\n", " \n", "2. zipline.api.set_commission\n", "\n", " 設定手續費模式,zipline 共提供三種手續費計算方法,詳請請見後續教學-zipline commission。\n", "\n", "常見的寫法如下:\n", "```\n", "def initialize(context):\n", " set_slippage(slippage.FixedSlippage())\n", " set_commission(commission.PerShare(cost=0.00285))\n", "```\n", "除此之外,我們可以注意到 initialize 含有一個參數 __context__,__context__ 為一個命名空間 (namespace),可以在儲存各種自定義之變數並且在每次交易日中循環呼叫。舉例來說,我們設置一個變數 (context.day = 0) 來計算交易日天數與一個變數 (context.has_ordered = False) 紀錄是否已經持有台積電股票。\n", "```\n", "def initialize(context):\n", " context.day = 0\n", " context.has_ordered = False\n", " set_slippage(slippage.FixedSlippage())\n", " set_commission(commission.PerShare(cost=0.00285))\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "id": "4ab14219", "metadata": {}, "outputs": [], "source": [ "from zipline.api import set_slippage, set_commission\n", "from zipline.finance import slippage, commission\n", "\n", "def initialize(context):\n", " context.day = 0\n", " context.has_ordered = False\n", " set_slippage(slippage.FixedSlippage())\n", " set_commission(commission.PerShare(cost=0.00285))" ] }, { "cell_type": "markdown", "id": "2fd74a4c", "metadata": {}, "source": [ "## Handle_data 函式\n", "`handle_data` 為構建 zipline 交易策略的重要函式,會在回測開始後每天被呼叫,主要任務為設定交易策略、下單與紀錄交易資訊。\n", "\n", "其中 `handle_data` 含有兩種參數 -- __context__ , __data__。__context__ 與上述 `initialize` 介紹功能相同,這裡為了記錄交易天數與否持有台積電股票,我們設定為:\n", "\n", "```\n", "def handle_data(context, data):\n", " \n", " # 每次交易日加 1 天。\n", " context.day += 1 \n", " \n", " # 判別是否持有台積電,請注意我們在 initialize 設定 context.has_ordered 為 False。\n", " if not context.has_ordered:\n", "```\n", "\n", "接著我們引入交易下單函式,下單函式共有六個不同種類,請見教材中以 zipline order 開頭之文件,這裡使用最基礎的下單函式:\n", "\n", "### zipline.api.order\n", "\n", "買進或賣出 n 股的資產標的。\n", "\n", "#### Parameters:\n", "* asset: _zipline.assets.Asset_\n", " 欲下單之資產,請注意資料型態為 zipline 獨有的 Asset 型態。\n", "* amount: _int_\n", " 欲下單股數。\n", "* limit_price: _float_, optional\n", " 限價。\n", "* stop_price: _float_, optional\n", " 停價。\n", "\n", "加入下單函式 order(symbol(\"2330\"),其中 symbol(\"2330\") 就是 zipline 中的 Asset 資料型態。之後,我們會將 context.has_ordered 調整成 True,此時下個交易日就不會再度下單,更改完程式如下:\n", "```\n", "def handle_data(context, data):\n", " \n", " context.day += 1 \n", " if not context.has_ordered:\n", " \n", " # 下單台積電股票一張 == 1000股\n", " order(symbol(\"2330\", 1000)\n", " \n", " # 設定 context.has_ordered 為 True 以避免下次交易日下單\n", " context.has_ordered = True\n", "```\n", "最後為了記錄交易天數、是否持有部位與當日價格,我們使用 `record` 函式,其功能為記錄每個交易日的資訊並且在最終 `run_algorithm` 輸出的資料表中,以欄位型式加入所紀錄資訊。其程式編輯方式如下:\n", "```\n", "record( 欄位名稱 = 資訊)\n", "```\n", "這裡我們紀錄當天交易天數 (context.day)、是否持有部位 (context.has_ordered) 與當天收盤價格 (data.current(symbol(\"2330\"), \"close\")),其中上面所提到的 data 就是在 `handle_data` 中的 __data__,__data__ 主要功能為保存每天股價的價量資料並且提供呼叫,於本實例我們欲紀錄當天收盤價,於是用到 `data.current()` 函式。\n", "\n", "### zipline.data.current\n", "\n", "呼叫股票的當日價量資訊。\n", "\n", "#### Parameters:\n", "* assets: _zipline.asset.Asset_\n", " 所欲呼叫的股票,請注意資料型態為 zipline 獨有的 Asset 型態。\n", "* fields: _str_\n", " 所欲呼叫的價量資訊,提供 'close', 'open', 'high', 'low' 與 'volume'。\n", "\n", "由於我們希望記錄台積電當日收盤價格,因此程式編輯如下:\n", "```\n", "def handle_data(context, data):\n", " context.day += 1 \n", " if not context.has_ordered:\n", " order(symbol(\"2330\", 1000)\n", " context.has_ordered = True\n", " \n", " record( # 紀錄用\n", " trade_days = context.day,\n", " has_ordered = context.has_ordered,\n", " TSMC = data.current(symbol(\"2330\"), \"close\")\n", " )\n", "```" ] }, { "cell_type": "code", "execution_count": 3, "id": "19696960", "metadata": {}, "outputs": [], "source": [ "from zipline.api import order, record, symbol\n", "\n", "def handle_data(context, data):\n", " context.day += 1\n", " if not context.has_ordered:\n", " order(symbol(\"2330\"), 1000)\n", " context.has_ordered = True\n", " \n", " record(\n", " trade_days = context.day,\n", " has_ordered = context.has_ordered,\n", " TSMC = data.current(symbol(\"2330\"), \"close\")\n", " )" ] }, { "cell_type": "markdown", "id": "8cd36421", "metadata": {}, "source": [ "## Analyze 函式\n", "\n", "`analyze` 主要用於回測後視覺化策略績效與風險,這裡我們以 `matplotlib` 繪製投組價值表與台積電股價走勢表。其中 `analyze` 有兩個參數 __context__ 與 __perf__,__context__ 就與上述相同,__perf__ 就是最終 `run_algorithm` 輸出的資料表 -- __results__。我們可以提取裡面特定欄位來繪製圖表。" ] }, { "cell_type": "code", "execution_count": 4, "id": "4ec15503", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "def analyze(context, perf):\n", " ax1 = plt.subplot(211)\n", " perf.portfolio_value.plot(ax=ax1,title='portfolio values')\n", " ax2 = plt.subplot(212, sharex=ax1)\n", " perf['TSMC'].plot(ax=ax2,title='TSMC close')\n", " plt.gcf().set_size_inches(18, 8)\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "5b929479", "metadata": {}, "source": [ "## Run_algorithm 函式\n", "\n", "### zipline.run_algorithm\n", "\n", "進行策略回測。\n", "\n", "#### Parameters:\n", "* start: _pd.Timestamp_ or _datetime_\n", " 回測起始日期。\n", "* end: _pd.Timestamp_ or _datetime_\n", " 回測結束日期。\n", "* initialize: _callable_\n", " 呼叫 initialize 函式以用於回測。\n", "* capital_base: _int_\n", " 初始資金額度。\n", "* handle_data: _callable_, optional\n", " 呼叫 handle_data 函式以用於回測。\n", "* before_trading_start: _callable_, optional\n", " 呼叫 before_trading_start 函式以用於回測。\n", "* analyze: _callable_, optional\n", " 呼叫 analyze 函式以用於回測。\n", "* data_frequency: _{\"daily\", \"minute\"}_, optional\n", " 設置交易頻率。\n", "* bundle: _str_, optional\n", " 設置回測用的 bundle。\n", "* trading_calendar: _TradingCalendar_, optional\n", " 設置交易日曆。\n", "* benchmark_returns: _pd.Series_, optional\n", " 設置指標報酬率。\n", "* treasury_returns: _pd.Series_, optional\n", " 設置無風險利率。\n", "\n", "#### Returns:\n", "\n", " Perf: _pd.DataFrame_, 內建欄位有:\n", " \n", "- benchmark_return:\n", " 當日的benchmark報酬率,若是由`set_benchmark()`設定,則計算方式為(當日benchmark收盤價 / 前一日benchmark收盤價) - 1。\n", "- benchmark_period_return:\n", " 累積的benchmark日報酬率。計算方式:np.nancumprod(1 + `benchmark_return` Series) - 1。\n", "- treasury_return:\n", " 當日的treasury報酬率,直接由TEJ API提供。\n", "- treasury_period_return:\n", " 累積的treasury日報酬率。計算方式:np.nancumprod(1 + `treasury_return` Series) - 1。\n", "- benchmark_volatility:\n", " benchmark日報酬率的年化波動率,至少需有兩期的報酬率才進行計算。計算方式:(`benchmark_return` Series).expanding(2).std(ddof=1) * np.sqrt(252)\n", " \n", "- orders:顯示下單紀錄\n", " 每一筆下單用一個字典的方式呈現,其中:\n", " - id:虛擬單號。\n", " - dt:下單時間。\n", " - reason:None, Hold, or Reject(目前不適用)\n", " - created:建立時間。\n", " - amount:\n", " - 下單股數。\n", " - 若>0表示買進或回補,<0表示賣出或放空。\n", " - 若有發股票股利或股票分割的情形,除權日當天會更新之前未成交訂單的amount(new_amount = old_amount / ratio,其中ratio = 1/僅除權調整係數)。\n", " - filled:成交股數。\n", " - 註:Order execution - 當演算法在某一天下單時,該訂單會在下一個交易日成交,以避免lookahead bias。 \n", " \n", " - commission:該筆交易傭金。\n", " - stop:停損價,若有發股票股利或股票分割的情形,除權日當天會更新之前未成交訂單的stop price(new_stop = old_stop * ratio,其中ratio = 1/僅除權調整係數)。\n", " - limit:限價價,若有發股票股利或股票分割的情形,除權日當天會更新之前未成交訂單的limit price(new_limit = old_limit * ratio,其中ratio = 1/僅除權調整係數)。\n", " - stop_reached:\n", " - 對於buy stop order,若現價>=stop price,則顯示True否則False。\n", " - 對於sell stop order,若現價<=stop price,則顯示True否則False。\n", " - limit_reached:\n", " - 對於buy limit order,若現價<=limit price,則顯示True否則False。\n", " - 對於sell limit order,若現價>=limit price,則顯示True否則False。\n", " - sid(asset):下單的標的。\n", " - status:若=0表示OPEN(未完全成交),=1表示FILLED(完全成交),=2表示CANCEL(已取消)。\n", " \n", " \n", "- transactions:顯示交易紀錄\n", " - amount:下單股數。\n", " - dt : 交易時間。\n", " - price:成交價(為調整前收盤價,不調整股息、分割、股票股利)。\n", " - order_id:單號,可與orders中的id比對。\n", " - sid(asset):下單的標的。\n", " - commission:一律為None。傭金資料已經在'orders'底下。\n", " \n", "- positions:顯示持有部位\n", " - sid(asset):下單的標的。\n", " - amount:該標的總持有股數。除權日當天amount會進行調整(old_amount / ratio = new_amount,其中ratio = 1/僅除權調整係數)。\n", " - last_sale_price:標的最近一筆的收盤價。\n", " - cost_basis:每股平均成本(含commissions)。\n", " - 計算方法為:sum(成交價 * (1+commission) * 股數) / 總股數\n", " - 除權日當天cost_basis會進行調整(old_cost_basis * ratio = new_cost_basis,其中ratio = 1/僅除權調整係數)。\n", " - 對於買進或回補來說,commissions會造成cost_basis增加;對於賣出或放空來說,commissions會造成cost_basis減少。\n", "- longs_count:\n", " - 當日帳上有幾檔長部位股票。可與`positions`比較。\n", "- shorts_count:\n", " - 當日帳上有幾檔短部位股票。可與`positions`比較。\n", "- long_exposure(long_value):\n", " - 當日帳上長部位的市值。\n", " - 可與`positions`比較。\n", " - 當投資標的為股票時`long_exposure`和`long_value`兩欄位數值一致。\n", " - 計算方式為sum(持有股數 * 收盤價) = sum(amount * last_sale_price),where amount > 0。\n", "- short_exposure(short_value):\n", " - 當日帳上短部位的市值。\n", " - 可與`positions`比較。\n", " - 當投資標的為股票時`short_exposure`和`short_value`兩欄位數值一致。\n", " - 計算方式為sum(持有股數 * 收盤價) = sum(amount * last_sale_price),where amount < 0。\n", " - short_exposure必然 <= 0。\n", "- ending_exposure(ending_value):\n", " - 當日結束時帳上部位的淨市值。\n", " - 計算方式:`long_exposure` + `short_exposure`\n", "- starting_exposure(starting_value):\n", " - 當日開始時帳上部位的淨市值。\n", " - 為前一日的`ending_exposure`。\n", "- gross_leverage(leverage):\n", " - Gross leverage is the sum of long and short leverage exposure per share divided by net asset value(portfolio_value)。\n", " - 計算方式:(`long_exposure` - `short_exposure`)/`portfolio_value`\n", "- net_leverage:\n", " - Net leverage is the net leverage exposure per share divided by net asset value(portfolio_value)。\n", " - 計算方式:(`long_exposure` + `short_exposure`)/`portfolio_value`\n", "- capital_used:\n", " - 當天的cash flow。>0表示流入,<0表示流出。\n", " - 計算方式:\n", " - -1 * sum(`transaction.price` * `transaction.amount`) - sum(`order.commission`) + sum(earn_dividends) + sum(leftover_cash)\n", " - 註: \n", " 1. earn_dividends:會於pay_date當天配發。\n", " 2. leftover_cash:分割、股票股利等原因導致股數變動時,若有<1股(fractional_share_count)無法分配的情況時則返回現金。\n", " 3. leftover_cash範例:\n", " - 若現在持有100股(amount),ratio=3。\n", " - 新的amount理論上是100/3=33.333,然而不滿一股的部分需轉換成現金 (return cash)。\n", " - 所以新的amount會是33,剩餘的0.333股(33.333-33)就是fractional_share_count。\n", " - 由於ratio=3代表該公司股數有發生變動,所以每股平均成本 (cost basis)需調整=原cost basis * 原amount / 新amount 後四捨五入到小數第二位。\n", " - 所以退回現金(return cash)=(fractional_share_count) * (新cost basis) 再四捨五入到小數第二位\n", "\n", "- ending_cash:\n", " - 當日結束時帳上持有現金。\n", " - 計算方式:`starting_cash`+`capital_used`\n", "- starting_cash:\n", " - 當日開始時帳上持有現金。\n", " - 為前一日的`ending_cash`+sum(earn_dividends),若無前一日則為`capital_base`。\n", "- pnl:\n", " - 當日投資組合損益。\n", " - 計算方式:(`ending_exposure` + `ending_cash`) - (`starting_exposure` + `starting_cash`)。\n", "- returns:\n", " - 當日報酬率。\n", " - 計算方式:(當日`portfolio_value`) / (前一日`portfolio_value`) - 1。\n", " - 存在尾差。\n", "- portfolio_value:\n", " - 即net asset value,當日投資組合總價值。\n", " - 計算方式:(`ending_exposure` + `ending_cash`)\n", "- algorithm_period_return:\n", " - 投資組合累積日報酬率。\n", " - 計算方式:( 1 + 前一日的`algorithm_period_return`) * ( 1 + 當日`returns`) - 1。\n", " - 存在尾差。\n", "- algo_volatility:\n", " - 投資組合日報酬率的年化波動率,至少需有兩期的報酬率才進行計算。\n", " - 利用empyrical套件計算:\n", "
empyrical.annual_volatility(`returns`Series, period='daily', alpha=2.0, annualization=None)。\n", " - 具體來說,empyrical套件的計算方式為:`returns`Series.std(ddof=1) * (252 ** (1 / 2)),std為樣本標準差。\n", " - 用完整`returns`資料,則會回傳最後一日algo_volatility,若扣掉最後一日`returns`,則回傳倒數第二日,以此類推。 \n", "- excess_return:\n", " - 投資組合累積超額日報酬(相對於`benchmark_period_return`)。\n", " - 計算方式為:(`algorithm_period_return` - `benchmark_period_return`)。\n", "- max_drawdown:\n", " - 投資組合累積報酬率從過去的峰值下跌的最大跌幅百分比。\n", " - 利用empyrical套件計算:empyrical.max_drawdown(`returns` Series)。\n", " - 具體來說,empyrical套件的計算方式為:\n", " - cumulative_returns:先計算過去每一日的累積報酬。\n", " - previous_peaks:計算過去累積報酬率的最大值。\n", " - daily_drawdown:計算每日回撤 = (cumulative_returns - previous_peaks) / previous_peaks\n", " - max_drawdown:過去每一日的daily_drawdown取極小值。\n", "- sharpe:\n", " - 年化夏普比率,衡量每承擔1單位風險,可以獲取多少的報酬。\n", " - 利用empyrical套件計算:empyrical.sharpe_ratio(`returns` Series, risk_free=0)。\n", " - 具體來說,empyrical套件的計算方式為:\n", "
np.mean(`returns` Series) / np.std(`returns` Series,ddof=1) * np.sqrt(252)\n", "- sortino: \n", " - 年化索提諾比率,衡量承擔單位下方風險,可以獲取多少的報酬。\n", " - 利用empyrical套件計算:empyrical.sortino_ratio(`returns` Series, required_return=0)。\n", " - 具體來說,empyrical套件的計算方式為:\n", " - 計算downside_risk:np.sqrt(np.nanmean(np.square(downside_return))) * np.sqrt(252),其中downside_return將`returns` Series中>0的數值替換成0。\n", " - 計算mean_return:np.nanmean(`returns` Series)\n", " - 計算sortino_ratio = mean_return / downside_risk * 252。\n", " - 存在尾差。\n", "\n", "- alpha:\n", " - 年化alpha,衡量投資組合創造超額報酬的能力。\n", " - 利用empyrical套件計算:empyrical.alpha_beta_aligned(returns=`returns`Series, factor_returns=`benchmark_return` Series,risk_free=0.0)\n", " - 具體來說,empyrical套件的計算方式為:\n", " - 計算alpha_series:`returns` Series - (當日`beta` * `benchmark_return` Series)\n", " - 計算平均alpha:nanmean(alpha_series)\n", " - 計算年化alpha:(平均alpha + 1) ^ 252 -1 \n", "- beta: \n", " - 衡量投資組合相對於整體市場的波動性。\n", " - 利用empyrical套件計算:empyrical.alpha_beta_aligned(returns=`returns`Series, factor_returns=`benchmark_return` Series,risk_free=0.0)\n", " - 具體來說,empyrical套件的計算方式為:\n", "
Cov(`benchmark_return` Series, `returns` Series) / Var(`benchmark_return` Series)" ] }, { "cell_type": "code", "execution_count": 5, "id": "b9d32dff", "metadata": {}, "outputs": [ { "data": { "image/png": "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Yx7FMmNMiDEmxrKs7MMZZGf0nzlJZJVUc+9pQ4gM9ObdZan8nJTHtAGRlFTVsT6jFIBj+0Xw+6m9GRkfgo+nG35eHgT7evLLbdOxLHBzMwc5k4iIiIiIiEjn09YT1uOA9EbvM5zL9gkoGGOuB64HSExMbONhtL/tueX8tDWPXhH+LNxRwOrUYvpG+vPkRaMI8/eiqs6Gp7vbPlkHexhjMIoliIiIiIiISBe1/6fdQ7e/R+T9Vn20LOtly7LGWZY1LjIyso2H0f5euXIcMcE+/O+nHaxOLQbgqYtHE+bvqGHg5+XRbDBBREREREREpKtr6wyFDCCh0ft4IKuNz9EpGGOYPjCSb9Zn88rvxhEf6kt8qGoeiIiIiIiIyNGhrQMKXwE3G2M+wFGMsbQ71k/Y44EzhnL3qYM7fYtGERERERERkbbW2raR7wPTgQhjTAbwAOAJYFnWi8B3OFpGJuNoG3l1Ww62s/HxdMfH072jhyEiIiIiIiJyxLW2y8MlB1lvATcd1ohEREREREREpNNT1UARERERERERaTUFFERERERERESk1RRQEBEREREREZFWU0BBRERERERERFpNAQURERERERERaTXjaMzQwYMwJh9I7ehxtFIEUNDRgzhCgoHSjh5EKxxN96Y1OtN91D06NEfiHuretL/DvY+6R53D/u6j7k3n99t71Jl+Nh7tDuffj+5j+2vv/990Dw/dkfrZ09OyrMjfLuwUAYWuyBizyrKscR09jiPBGPOyZVnXd/Q4Wupoujet0Znuo+7RoTkS91D3pv0d7n3UPeoc9ncfdW86v9/eo870s/Fodzj/fnQf2197//+me3joOvpnj6Y8SEt83dEDkDah+9j16R52D7qP3YPuY/eg+9g96D52fbqHXZQCCnJQlmXpH3g3oPvY9ekedg+6j92D7mP3oPvYPeg+dn26h12XAgqH7uWOHoA0S/em89M96rx0bzo/3aPOS/em89M96rx0bzo33Z/Oq0PvjWooiIiIiIiIiEirKUNBRERERERERFpNAQURERERERERaTUFFERERERERESk1RRQEBEREREREZFWU0BBRERERERERFpNAQURERERERERaTUFFERERERERESk1RRQEBEREREREZFWU0BBRERERERERFpNAQURERERERERaTUFFERERERERESk1RRQEBEREREREZFWU0BBRERERERERFpNAQURERERERERaTUFFERERKTDGGMsY0y/jh6HiIiItJ4CCiIiIt2EMaai0R+7Maa60fvLjDEhxpjXjTE5xphyY8x2Y8ydjfa3jDG5xhiPRss8jDF5xhjrN+c62RizwHmcfGPMr8aYM4/k9YqIiEjHUkBBRESkm7AsK2DPHyANOKPRsveAJ4EAYDAQDJwJ7PzNYUqAUxq9PxUobryBMeZ84GPgbSAeiAbuB85o84sSERGRTksBBRERkaPHeGC2ZVnFlmXZLctKsizrk99s8w5wZaP3V+IIHABgjDHAE8A/Lct61bKsUuexfrUs67r9ndQY426MuccYs9OZ0bDaGJOwn+2CjTFvOzMeUo0xfzfGuDnX9XNmQZQaYwqMMR822m+QMeZHY0yRMWabMebCQ/4KiYiISIspoCAiInL0WAY8ZIy52hjTv5ltvgCOc06PCAGmAl82Wj8QSAB+G4g4kFuBS3BkOwQB1wBV+9nuGRyZE32AaTiCGVc71/0TmAuE4siKeAbAGOMP/AjMBqKc53neGDO0FeMTERGRQ6CAgoiIyNHjT8B7wM3AFmNMsjHmlN9sUwN8DVwEXAx85Vy2R7jz7+xWnPda4O+WZW2zHNZbllXYeANjjLvznHdbllVuWdZu4L/AFc5N6oGeQKxlWTWWZS1yLj8d2G1Z1huWZdksy1oDfAqc34rxiYiIyCFQQEFEROQoYVlWtWVZD1uWNRZHYOAj4GNjTNhvNn0bR3ZAk+kOTnsCATGtOHUC+9Zq+K0IwAtIbbQsFYhzvr4DMMAKY8xmY8w1zuU9gYnGmJI9f4DLgB6tGJ+IiIgcAgUUREREjkKWZZUBDwP+QO/frF6II2AQDSz6zbptQDpwXitOlw70Pcg2BezNQtgjEch0jjfHsqzrLMuKBW7AMa2hn/PYv1qWFdLoT4BlWX9oxfhERETkECigICIicpQwxtxnjBlvjPEyxvgAt+Do6rCt8XaWZVk4Ojac6Xz923W3Avc5azEEGWPcjDHHGmNebubUrwL/NMb0Nw4jjDHhjTewLKsBR8bEQ8aYQGNMT+d53nWO/QJjTLxz82LAAhqAb4ABxpgrjDGezj/jjTGDD/HLJCIiIi2kgIKIiMjRwwLewJENkAWcCJxmWVbFPhta1mbLsjbv9yCOzhAX4SiumAXkAv+iafHGxp7AESyYC5QBrwG++9nuT0AlkIIjM2I28Lpz3XhguTGmAkddh1ssy9plWVY5cBKOeg9ZQA7wKODd7FdBRERE2oT5zQcPIiIiIiIiIiIHpQwFEREREREREWk1BRREREREREREpNUUUBARERERERGRVjtoQMEYM9AYs67RnzJjzF+MMWHGmB+NMTucf4c22uduY0yyMWabMebk9r0EERERERERETnSWlWU0RjjjqMf9ETgJqDIsqx/G2PuAkIty7rTGDMEeB+YAMQCPwEDnO2g9isiIsLq1avXoV+FiIiIiIiIiLSL1atXF1iWFfnb5R6tPM7xwE7LslKNMWcB053L3wLmA3cCZwEfWJZVC+wyxiTjCC4sbe6gvXr1YtWqVa0cioiIiIiIiIi0N2NM6v6Wt7aGwsU4sg8Aoi3LygZw/h3lXB4HpDfaJ8O57LcDut4Ys8oYsyo/P7+VwxARERERERGRjtTigIIxxgs4E/j4YJvuZ9k+8yosy3rZsqxxlmWNi4zcJ3NCRERERERERDqx1mQonAKssSwr1/k+1xgTA+D8O8+5PANIaLRfPJB1uAMVERERERERkc6jNQGFS9g73QHgK+B3zte/A75stPxiY4y3MaY30B9YcbgDFREREREREZHOo0VFGY0xfsCJwA2NFv8b+MgY83sgDbgAwLKszcaYj4AtgA246UAdHkRERERERESk62lRQMGyrCog/DfLCnF0fdjf9g8BDx326EREREREjpANGSXUN1iM7Rna0UMREekSWtvlQURERESk26lvsHPDO6t58KvNHT0UEZEuo0UZCiIiIiIi3dk3G7LILq3Zb7syERHZP2UoiIiIiMhRzbIsXvo1BYCiqroOHo2ISNehgIKIiEg3VFJVR6+7vuXdZakdPRSRTm/JzkKScsrpFxVATb2d6jrVExcRaQkFFERERLqhzJJqAAUURFpgWUoh7m6GKyf3BKCwsraDRyQi0jUooCAiItIN1dnsAFhWBw9EpAtIya8kIdSXmGBfAIor6zt4RCIiXYMCCiIiIt1QWY0NAPshRhS+Xp/F52sz2nJIIp3WzvwK+kQGEObvCaiOgohIS6nLg4iISDdUWu34hPVQwglbs8v40/trARibGEZiuF8bjkykc1mdWkRSTjlT+0cQGeADQLZzypCIiByYMhRERES6obI9AYVWZig02C3u+nSD6/2PW3PbdFwiHW17bjkN9r3/Lt5YvBtfT3euOqY38aG+BPp4sDGztANHKCLSdSigICIi0g0daobCG4t3sT6jlKcvGU2PIB82ZJS0+dhEOkpOaQ0nPbmAf3y92bVsU2Yp0wdGEhfii5ubYUR8MOvSSwAoqqyjsEIFGkVEmqOAgoiISDdUVuMIKNS0ov1damElj8/dxgmDozhjRAwjE4L5JSmPlxfspLLW1l5DFTliCpzBgbeXOrqflNXUs7uwimFxwa5tpvaPZHNWGatTi7jy9eWu6T8HUl3XQJamSYjIUUgBBRERkW5oz5SHoqo67PaD5ylYlsXdn23Ew82Nf549DGMMfzlhAAOiA3n4uyQe+X5rew9ZpN3t+XcBUGtrYEtWGQBDY4Ncy6+c3BMfTzf+9e1WNmWWsS2n/IDHrLPZmf74L0x/fL4rYCEicrRQQEFERKQb2jPloabezvoWTFv4eFUGS3YWcvepg1yt8wbHBPHJH6YwtX8Eq1MPfgyRzq60UUBh1e5iNjlrJTTOUPDz8qBfVABr00oAKKyso7ym+TaSWSXV5JbVUmez89maDN5dlsrVb6wgr7ymfS5CRKQTUUBBRESkGyqsqGNgdCAeboYfNh+4sGJeWQ3//HYLE3qHccn4xH3WD4kNIjmvnDqbvb2GK3JENA4oLNlZwJq0YmKCfYgI8G6yXf+oQAASwhzBtdTCqmaPmVu2N3Dwwcp0PlyZzi/b8pm9PK0thy4i0ikpoCAiItINFVXW0TvCn0l9wpm7JeeA297/5WbqbHb+fe5w3NzMPuuHxARR32Cxq6CyvYYrckTsCSjEhfgyd3MuczblMGtYj322GxobhDFw16zBAAec9pDjDCjccFwfUvIrScpxTKPYkKFOESLS/Xl09ABERESk7RVW1jG+txdT+oVz/5ebSc6roF9UwD7bfb8xmzmbc7hz1iD6RO67HhwPXwC7CioZ2COwXcct0p5Kq+txdzOMTAjmu405BPp48OeZ/ffZ7vJJPTmmXwQDowOJDvLm7WWpVNXZ8Pf2cPzx8sDf250Abw/SixzZC9cc25v3lqdR4SxguiatmJKqOkL8vI7oNYqIHEkKKIiIiHQzDXaL4qo6Ivy9OHFINPd/uZm5W3LoF9XPtU1NfQO19Xbu/2ozw+KCuG5q72aPFx3kA8CN767mlSvHceKQ6Ha/BpH2UFpdT7Cvp3NKQw5/mtmPUP99H/h9PN0ZHOMo1HjR+ESenreD9c5Wkvvj5+VOVKA3Z46KZfbyNM4fG89X67K4/LXlvPv7iQoqiEi3pYCCiIhIN1NSVYdlQZi/FzHBvgyMDmTlriKY7li/OauU055eRIC3B9X1Dbx59Xg83JufBRkVtHd++YpdhQoodCFJOWU8/8tO/nP+CHw83Tt6OB2uxBlQOHNULCVVdVw5uddB97n1xAHcOK0PFbU2qmobqKi1UVlro7LOxuzlafy0NY/4UF+MMVw5uSffrM/i2qm9OW14DDe8s5p7Pt/I85eNbf+LExHpAAooiIiIdDOFlXUAhDkLzcWH+pJVurdwXHJeBQAVtTbG9QxlaGzwvgdpxNtj74NoZKD3AbaUzuaxOduYl5THZRMTmdgnvKOH06Gq6xpYtKOAqf0j6BsZwD/OGtbiff28PPDz8oDfzPjJL6/lp615DOrhyGYY1COI9Q+chDGGQT2CuGxSIu8tS6O8pp5AH8+2vBwRkU5BRRlFRES6mcIKR0AhwpnKHR3s06QSfeNK99cd16dVx66tV6eHrmJHbjnzkvIAFQgE+Hp9FqXV9VwxqWebHfOU4TGcPSqWu08d5FpmzN7CpmePiqOuwc5jP2xrs3OKiHQmCiiIiIh0M0WuDAVHQKFHkA9FlXXU2hqarE/65yxOHrpvhfv9efic4QCUOwvOfb42g282ZLXpuKVtvbpwF94ebkQEeLNgRz7//GaLqwPB0cayLN5etpuB0YFM6B3WZscN8vHkfxePJibYd7/rRyaEMGtoD352BnZERLobBRRERES6mcLKWsBRQwEcAQWAvDLH8qLKOoJ9PVs1p/7SiYlEBnpTXuPIbvjrh+u5efbathx2EwUVtTz41Waq6xra7RzdWXlNPZ+vzeT8sfGcMzqWhTsKeG3RLi54cSllNfUHP8ARZlkWy1MKqW9onwyYteklbMos4/LJPZtkEBwJsSG+FDuDeCIi3Y0CCiIiIt3MnikPYc7K8j2CHQGFtc4q9UWVdYTvp7L9wQR6e1BWY8OyrLYZ6AE8Nmcbby7ZzQ+bc9r9XN3R7oIq6hrsTO0fyVXH9GZ0YggTeodRVdfAPZ9tPCL3sDW+Wp/FRS8v49SnFrJiV9E+63cXVFJSdWgP5d9tzObc55fg6+nOOaPjDneorRYe4EVlXQM19QqOiUj3o4CCiIhIN1NUWUeIn6erc8OE3mH0jwrg+V+SXev31yrvYAJ9PKiosZFfUbvf9U/+uJ1Tn1rIO0t38+icJGyt+LS5qLKO//203ZUBkVlS3eTvrqzBbnHjO6u55OVlR+R8d36ygTOeXQRAQpgvcSG+fP7HY/johsn87aQBfLMhm49XZRyRsexPdV0D23PLmyz7al0W4f5e1NgauPL15WSXNr3v0x+fzwlPLGj1ubJKqvnje2sAuGxiIgHeR74eeagzsFd8iAEREZHOTAEFERGRbqawstY13QHAx9Odqf0jSSuqwrIsCipqXQ85rRHo40l5TT3pRXsf9vYEDWwNdt5euputOWXc9+VmXpi/k42ZLSsEuDW7jNOeXsj/ftrB4z9sw7Is11z/zVlNj9Fgt3j25x08M2/HEfuUvbLWts8Dbmus2l3EnM05LG3HlP497HaLD1elu97Hh/o1WX/jcX0ZHhfMu8tT23UczbEsi2mP/cJJTy4gtbASu93ike+2Mi8pj4vGJ/D+dZOob7B4f3maa586m+NrVlBR2+p7vsn5PfjG1eO565RBB9m6fez5t1ikaQ8i0g21KKBgjAkxxnxijEkyxmw1xkw2xoQZY340xuxw/h3aaPu7jTHJxphtxpiT22/4IiIi8lsF5XVE+Ddt7xgb4kNVXQMZxdUk51UwOCawmb2bF+jjwY7cCq5/e5VrWXGVI6NgfUYpxVX1PHnhKG5wdo7Yml2+3+M0tjatmIteWkp+uSPr4a2lqdz16UYKKupwM/DD5lzWpBW7tp+9PJXH527nvz9ub9IKs70UVtRy1nOLOf6/v+7zqXpLLdiR73pdVt2+9QsyipsGPoJ9m7YqdHMzzBwUxabM0ibdPo6UzJJq8pz3+sctudz12QZeWpDCiPhgbpjWl/hQP/pG+rM5a2/xyMYdSrbllvPaol2c/OQCXvp1p2t5Vkk1L/2601V4NL2oiuq6BjZnlWEMTOwd5srYOdIUUBCR7qyl/7M+BcyxLGsQMBLYCtwFzLMsqz8wz/keY8wQ4GJgKDALeN4Y0/KqTyIiItJqL8zfyU2z1/D9xmxW7C5iRHxwk/XxoY4q9F+uy8RuwaQ+4a0+R0ywL+W1NkbEB3PlZEfrvT1p3LsKKgFHVfu7ThlEoLcHm7IOnKGwLKWQy19dTqi/F/Nvn07yQ6dw5shY1yfsn/xhCj2CfPjLB+soq6knt6yG/8zZRqCPI219g7MmRHspra7nitdWsLugkqq6Bk56cgE7DiGo0LhlY0k7P8Qv3lkAwKyhPZptjzilbzh2i/3WKmhvjYNM//p2Kx+tyuDPM/vx5U3HuIIfg2OCmJeUR6Wzo0h2o8DRn2av5Z/fbGFbbjmPfJ/Ewh35WJbFZa8u55Hvk3hnaSp1NjtT//MLg++fw7O/JDMkJgg/ryM/1WGPMH/Hdb26cBcPfLmJJ3/c7ro2EZGu7qABBWNMEHAc8BqAZVl1lmWVAGcBbzk3ews42/n6LOADy7JqLcvaBSQDE9p22CIiItLYo3OS+HZDNn/9aB1jEkO47eSBTdbHhThS3z9dk4mnu2FMYuj+DnNAt508gKV3z+SNqycwy9lu8rlfkqlvsJNaWImbgbgQX4wxTB0QwSerMtjtDDT8VmphJVe9sYKYEF8+umEy8aF+eLi78cSFI7lz1iBuP3kgoxNCeOriUWQUV3Hhi0v59/dJ1DbY+fQPU/B0N/y6PX+/x24LdrvF9W+vYkdeOa/+bhy3HN8fgFcWprT6WFkl1fh4On7las+sgE2Zpfzf11sYnRjCs5eO5p9nD9vvdqMSQ/DxdOPDlelNlluWxasLU/jd6ytcn/QfSI7zQT+/vJZaW8NBP4FfsrOAlxfsxBh446rxDIgO4PnLxnDrSQObdF4YGR8CwH1fbgJwTTe5+phe7MircG3n6W743esr+NvH610Brafn7WDe1lzXNtdO7c0rV4476LW0p/hQPwZEB7A+o4Qv12fx1LwdDH3gB9YfYkCsvKbeVWtERKSjtSRc2wfIB94wxowEVgO3ANGWZWUDWJaVbYyJcm4fBzSuOpThXCYiIiLtrKbezktXjNunJWRCmCNDYVdBJRN6heHr1frkQT8vD9cnvf2iA4gM9ObLdVlsySrDAuJCffHycDw433riAL7bmMOq1GJ6Rfi7jlFns3Pz7DVU1tmoqbfz9MWjiXa2tQTwcHfjD9P7ut6P6xXGX08YwH9/3E5STjmnjYhhQHQgF49P5J1lqZw1Ko7JfR3ZFo/9kISXuzu3nNC/Vde1YlcRuWU1nDEy1rVs7pZclu8q4pFzhzN9YBTTB0axPbecJTsLW3Vsy7LILKlmSEwQa9JK2i2gUFPfwHVvryLUz5OXrxh3wPR+bw/3/2/vvsOjrLIHjn/vpPfeK4TQey8CIoJgw4Z17b27rmVtq7vW3+qqa1vFXkGsoKgI0pHeWyAhAdJ775m5vz9mMiQQSE8myfk8Dw8zb9535k5O3mTeM/eew7hefiw/kMm7qw9zx9QYTCbNgwt38uPONMA8k2B4hPcpHyMpp5Rpr6zi1cuH8dSPe6moMWE0aR6b3Z/tx/JJK6jg85vH4m2p1bE3tZCr39+Ej6sDT5w7gGn9A5nWP7DBx/7L+Cjmbz7GhsO5aK05mFGMUuafqT0phWw9ms8T5w7g6nGR/G3hLr7fngrA/FvHc80HG7nzy+042Cm2PzUDD2eHBp+jIzk72PH7X6da7z+zeB+f/HmERTvTGHaa73FdhzKLOZJTysxBwcx9dwNxGcUcfuFc7Awd2wJTCCFO1JQlD/bASOB/WusRQCmW5Q2n0NBvtpMq6CilblNKbVVKbc3Obr9PGIQQQojurm6hOid7AwEeTift4+3qaP2UfHxv31Y/Z6CHM5sfn84H140mp6SShKwSevu7W78e5eeGvUGRmF2CyaStF9JfbDzK7/szWZ9gvjCP9HNt8PHrOrPf8QvPmADzczxx3gBCvZx54ZcDmEzm1//D9lTeXBHPsdyyJr+ONYeyufy9Ddw7fwdnvbKKNZZZDzuS83GwU1w+OsK67/jefqTkl5OcV8ainankWLpd7Esr5M0/4uut9c8vrcJk0uSVVlFRbWJAiCfQtBoK2cXmug0PLNhBTkklC7ckN9oxY9XBLNILK3jx0qENxv9Er8wdxrAIb/67PJ7UgnL2pRXx48405o4KB2j00/N0S/eNF3+No7TKiNESgxd/jWPpvkz2pBaysE5xyP2Wmgjf3zWJWyb3Pu1jO9ob+Mv4KNILK/hmawoLt6YwrV8gHs4OfHjDGNY+Mo1bp/TGzcmeN64awX1n9eGrW8YxIcaP6ydGA+akhC0kExryzIWDGNfLly1Hmr7k5JJ3/uS2z7dRUFZFXIZ52cjKuKz2GqIQQjRZUxIKKUCK1nqT5f63mBMMmUqpEADL/1l19o+oc3w4kHbig2qt52mtR2utRwcEBLR0/EIIIUSPl1NyfKp5bX2BhlRUmy9KW1I/oSFKKc4eGMSrVwwn0teVh2YeX2bhYGcg0teVpfsyOPvV1Yx9fjlHckp5Y0V8vcdoShu/mMDjMxxiAsy3nR3seHhWP/akFrJol/niPq2wghqT5m1Le8zG5JZU8rdvdhHi5UyYtwuJOaVc99Fm7vxiG/vTigjzdqn3CXDt9+23vRncv2An572xlrKqGp5etI//LDvEDR9vwWTS/L4vgxHPLuObbckcsSQ3BoaaEwq1iRWjSVNW1fA6+rdXJrAruYAfd6Yx6/W1PPLdbn7afdJbqXp+35+Jr5sjk2KaFtsADyfeumoEJq15fom5JgHA7VNj8Hd3arRDR5Flyn1tMc1LR4bzf5cOwd/dnMzwd3fiu23mmQO/7U3n30vjUOp4LY/GXDAslMFhnjzy3W5ySiq5zVLo08vFgQjf40koR3sDD87sx8Q+/gD84/yB/Hj3JB6bPaBJz9NZxvXyZV9a0wpjmkyaEkvNhS/rdL+oW6xUCCE6S6N/xbXWGUqpZKVUP631QWA6sN/y73rgJcv/iyyHLAa+Ukq9CoQCscDm9hi8EEIIIeBY3vE6BU+cd+oLqbHRvmw+kseIFtRPOJ1p/QKZ9sjJ09f7BXvw694MgjydqKwx8dSivRSWV/PJjWO44eMtTX58V0d7wrxdSC0op2/Q8e4Uc4aF8dG6I/z1613WbWHeLny7PYW7p/VpdPbDPxbvo7C8mkV3T2JAiCcV1UbeX5PI63/EYzRpJsf619s/NtAdXzdHftxpvlDOLKpk8NNLMWno5e/GgfQirnp/I5ssxQ5/3JGGt6sDro52nGWZ3l9o6Yrx5I97mL85mYTnZ9dbnpBaUM5Xm44xrV8Aa+JzcLI3EO7jwtOL9jEkzIs+gQ1359ibWsiICO9mdTKI8HXl7ml9eHXZIY7lleFoZyDaz5VoP1dS8k8/y6Oo3HyBG+LlTHphBY/O7keghzN9At1ZfTAbP3cnnl68j1mvr7F+og7mRFNT+Lo5sujuM/h6SzJFFdVNToIppU67VMNWTOzjzxsrEtiUmMtMSz2SU6mbhHt9+SHr7V0pBe01PCGEaLKm/tW5F/hSKbUbGA68gDmRMEMpFQ/MsNxHa70PWIg54fAbcLfWuvHKPkIIIYRoke1HCwDY/MR0Lh4Rfsr93r9uNL/cN7lF9RNa4pkLB7H4nkn87y+jAFgbn8PISB+m9m3+zMRlD07h2zsmWJcOgLkF4okJlMfPHYDRpFlWpzBfQyqqjfxxIJOrxkRYH9PZwY57p8dyzbhIwFzvoS6DQVk+WTZP3+8f7MFdZ/bh4hFhfHzDGJwdDOxMLuCBs2O5fHQ4GxJz+XVvBndMjSHEy4Uwbxd+2p1GRbWR+ZvNywFOvCh8Y7n54vH5i4ew+J5J/HLfZD64fjSVNSbeW91wQciKaiOHs0vrfW+a6rYpvQn3cWFvahG9A9ywtzMQ5mNO3pxO7QyFly8bxp1nxhBgmZkwKsqXB2f246LhYVw4LJRwHxeuGhvZ7HEB2BkUV4+L5I6pMY3v3MWMsBTG/PNwLpU1Ru5fsKPBAqabEnN5fXk8IyO9eeDsWKqN5qUl5w4JZsPhXDY0s6aHEEK0tSb10NFa7wQaKpE7/RT7Pw883/JhCSGEEKIpKmuMLNufSbSfK4Eezqfd18vVAS/XjltXHuTpTJCnM8l5xz/tru0C8a85gwjxatr0dzDPUhgdfXLth/G9/Vhw23iunGeuBz19QCAOdso6Fb8hidklnPWf1QCMjDp5tsb902P5bMNRLh11cnJmfG8/ft2bAcC8a0fXmwXx7R0T8XZ1INzHle3H8lm4NQUwdxoAeOGSIVz/0Wbu+GKb9Zh3VyfyzjXe5JRUsuZQNt9uT+G6CVGEersQ6m3+/ni5OnDJyDB+2JHKhBg/Vh/K5tmLBuNpqRGQkFWC0aRblFBwdrDj+YuHcN/8HTxs6QwS6u3CL3vSMZr0KYv+FVXUoJS5BeUZJ8zkqB3zG1eNsN7vH+xBYBNqO/QUTvZ2jO3lx7qEHLYfLWDRzjTSCytYePsE6z5fbznGo9/tAeCiEWFM6xfI65aE078vG0ZcRjH3LdjBkvvOaPTcF0KI9tJ5TXmFEEII0Sq5JZXc+tlWth8r4OkLBnb2cE6pbpHAEG/zhc91E6Lb7PHH9/bj2zvMrSedHewIcHc6bULh841Hrbcbmh7v5+5E4gvnYmjgYnpinRoFgZ71L5AHh3lZb4+I8OaWM3oxKdbf2hljat8AbprUi4/WJwFw6+RevL82iZs+2cLa+BzrsXed2eek571wWBjzNyfz4ELz8o4hYV7W4obHLAmbaP/GC1w2ZGrfAHY8NcP6esO8Xag2atYl5FhnkyRmm9s19rYUxSwqr8bdyb7B71FDaosliuPO6OPHC7/EWZeX1BbszC2pZNRzy+vtOyU2gAhfV+6bHsuQMC/cnex555qRXPT2eu6fv5MvbhknHR+EEJ1CEgpCCCFEF/X5xqPsSC7gnWtGcu6QkM4ezinVbWEZ4tk+n6TWnb0Q4OFk7cDQkJT8csK8XXj2okFE+bk1uM+pLpT7BB7vZHFia866lFI8ef7JSZ5HZ/fDycGAp7MDd54ZQ5CnM88tOWD9+sPn9GuwS8PYXr5cNTaSgSEefLc9le+3p1oTCrUzQOoWK2yuuq+3dqbDkz/uYe0jZwFYZ3QkvXguSimKKqqtMyREy0yMMc/sWLzLXHCztvBibYIo1MuZFQ+dib1BWWtjPDijr/X4/sGePDtnMA9/u5v/rUrgnrOa1y5VCCHagiQUhBBCiC4qJb+cIA9nm04mnCjEu+nLHFoqwMOJtIKKU349o7CCPoHunNU/qNmPrZTiratHcKhOocHmcLK349FZ/a33b5ncmznDw/jzcA7T+gee8iLdzqB48ZIhgHm5wctLD5JdXEmAhxPJ+WV4uTi02QX+qCgf7j2rD2+uSCAxu4TIOomKGz/Zgr3BwJpD2cTUSa6I5hsY4omPq4N1dkpuSRVZxRUUWGYqvHXNyNMmrQDmjo7gm60pLN2XaU0oaK3R+tRJMSGEaEtNLwUshBBCCJuSWVRBsFfXWDv9+c1jOXtAIGMaqIPQ1vzdnciuM0NhT0oh76xK4K4vt3HnF9tILSgn1Lvl37fzh4byYJ0Wma0V4OHEnOFhTU4ITLK0SNx21NxNIjmvnAjftk3UXDoyHEc7A7NeX8uZr6yybs8qqmRjYi5VRhOep2lRKhpnMKh6XUtqTCamv7KaxTvNMxa8XZr289Av2IMjuaVobS7YeM/8HcQ++StxGUVtP2ghhDiBJBSEEEKILiq9sILgdlpC0NYmxwbwwfVj8HVzbPfnCvRwIrekkmqjuUvDA1/v4N+/HeSXPRn8ujeDvNIqgj3bf6ZEe4myzBhIK6jAaNLsTimod2HaFqL93Vhy3xlcPS6S4grzVPyVD53JL/dP5v8uHQq0bR2Mnqp2mUqolzO/PTAFNyd7fthhbkvq1cSEQpSfK8UVNRRYWpIu2W0uqLntaD4Ad3+1ned+3t8OoxdCCEkoCCGEEF1WZmHXmaHQkSL93DBpSM03tz6sW5Pg+glRKAUxgQ3XTugKvF0dcLI3kF5Yzt7UQvLLqpkS2/xWnI2JDfLgmQsHsfMfM9j1j5n08jd/z84bGsKeZ2Zy3tCus9TGVkX4mBMKvu6OxAS4Myj0eKeOpicUzHE56z+rqDGarMUZk7JLySisYMnudD5Yl0RFtXRxF6Kzfbw+iVeWHuzsYbQpSSgIIYQQXVBJZQ3FlTWSUGhAlKWV45HcUuB48cQnzxvAMxcOYtPj0zmvC9WdOJFSilBvF9ILK/h1bwZ2BsWUvm2fUKj7fCe2G/WQgoxtwtXR/LPZN9A8w6S2VaiHk721EGNjRkX54GCnyC+r5sN1SRhN5qUPcRnFfLst2brfhsTcthy6EKIFVh3MZk18dmcPo01JQkEIIYTogjIKzUUHQyShcJLahMLRXHO1/IKyaibH+nPL5N4opQj0cEaprl2wLtjTmdSCchbvTGVKrH+HLCURbW/W4GCGhXvxV0v3hjAfc0LBzq7pP5++bo4cfHY2w8K9ePHXOADcHO1Yl5DDK78fYmi4F/YGxeakvDYff3JeGfM3H2vzxxWiuyoor8bbtXv9vpZqOkIIIUQXVJtQCOoiNRQ6UoC7E66Odnz65xH6BXtQUFbVqpaKtijMx4Vvt6UA8Ojs/o3sLWxVhK8ri+45w3o/zDJDwd7QvM/8DAbFE+cN5PL3NgDw7rWjKCqvIS6jiFmDg3nih71sONz2MxRu/GQLCVklzBwYhJ/7ye1OhRD1FZRVWevgdBcyQ0EIIYTogtILzfUBZIbCyZRSRPq6kphTym2fbSWruBIf1+41RX9YhLf19oyBzW9/KWzTlL4B3DgpmucvHtzsY8f28uX+6bEMDvNkeIQ35w0N4W8z+zEo1ItzhwSzM7mAPSmFbTreTEtiMz6rpE0fV4juqqCsutv9PZKEghBCCNEFZRbJDIXTqS3EWFRRQ1mVsdtNMR0T7QOYP9F2dZQJp92Fl4sDT18wiHMGBbfo+L/O6MvP904+qcbFlWMjcXeyZ97axLYYppWzpQZEfGZxmz6uEN2R0aQpqqjGq5v9PZKEghBCCNEFpRVW4O3qYC04KOqrMZoL0w0J8wLAu4kV87uKvoEePHB2LJ/fPLazhyK6AE9nB64eF8kve9JJzitrs8etbc16KFNmKAjRmKLyarRGZigIIYQQovPtSi6gX5BHZw/DZtUuCXj+4sHcPqV3t1sWYDAoHji7L70D3Dt7KKKLuHFSNAYFt362laoaU6sfL7+0ioKyagAO1ZmhUFFtxGTpNCFEY4orqlm0M5Vqo4mfdqVRWlnT2UNqN/llVYC59W93IgkFIYQQoospKKtif3oRE2P8O3soNutvM/vyw10TGRruzWPnDuh2RRmFaK4QLxfumBpDXEYxyfnHZynUGE0s2Z3e7CRAbeu7/sEeJFhqKGitGfPccm7/YlvbDVx0C19tOsbbKxMoLKtm1cEs6/a3Vx7m/gU7Gf/CH9w7fwef/Hmk8wbZzgrKzQm47rYETxIKQgghRBezMTEPrWFiH7/OHorNcrAzMCLSp7OHIYRNGRPtC0BOcSVamxMI761J5O6vtrN0X0aDx9Tud6I/DmTh7+7IpSPDyS2t4pJ31jP15VUUV9awbH8mWZY6L0KkF5bzz5/2MX/zMc5/ay03fLyFPSmFrDmUzburDxPp60puqfnT+1P9vLXUkZxS1sXntOljtlRuifk1+kpCQQghhBCdacPhHFwc7BgW7t3ZQxFCdCF+7uYLmXvm72D2f9eSVVzBzuQCAAotn56eqPfjv/C3hbvqbasxmlh9KJsz+wVyzqBgpvULwMXRjmN16jPEZUihRmH22rJDVNaYSMkvJznP3KHo9/0ZLNmdDsD/XTqUP/42FTj1z2FL5JRUcuYrq/jLh5vYeiQPoFOX42QXVwLHiwZ3F5JQEEIIIbqQn3enMX9zMpNj/XG0lz/jQoim83MzX8hkF1cSl1HMtR9s5qDlwj/LcrFTV15pFVrDd9tT6m3ffqyAwvJqzuofSKSfKx/fOJYvbxlPTICbdZ/EbCnUKMz1Nb7dloKHc/1uNEv3ZZBVXMGgUE8mxPgRE+BOmLeL9VP8tvDr3uOzbh7/YQ9pBeVMeOkP/vP7QYor2i5x0ZjaWRc5JeZzrDax111InyEhhBCii/hkfRL//Hk/Y6J8efmyYZ09HCFEF+PrdvxC5pIRYXy/I9V6PzW//KT9d6cU1Ls9JMwLpRQr4rKwNygmx9av47Lw9gnsTy/izi+2k5RT2vYvQHQ5//drHG5O9tx5Zgz//u0gADdN6sVH65NIK6hgbC9f675+7o7WpQ9t4c+EHCJ9XXn6goHc/OlWLv3fn2QWVfLmigTeXX2Ycb386BPojtGkuWBYKGOifVBKtdnzG02a+xfs4I8DWQwI8WB/ehHerg442Xev7kzy0YYQQgjRBaTkl/HMT/uZ3j+Qz24ei1c3qxIthGh/dWc1PXB2Xz6+cQwXDAulb5B7vUKNtfamFlpvX/jWemb/dy0JWcVsTsplZKQPHs71fw/5uTsxOTaAvkHu7LAspbA1247mUVFt7Oxh9AibEnP5Iy6LO8+Mobf/8Y40N06KBqCksobAOtP/fVwdWX0ou97PXWukF1YQ5efK9AFBTOjtR3phBX0C3Vl4+wRuOqMXGUUVfPLnET7feJTL39vA80sOtMnz1tqclMfPu9OZHOtPUUUNFdUma2eU7kQSCkIIIUQn2JtaiLEZazl/2WNea/qP8wfh7NC9Pt0QQnS8SD9XpvUL5M2rRjC1bwAbEnPZdUIS4FDm8WULIyO9OZJbynNLDhCXUXzazimzB4ewO6XQ5pY9fL7hCJf+bwMLtyZ39lC6Pa01L/4aR7CnMzdN6lVvdkyEr6u17XHdegLJlhocL/7atAv7Q5nFpy3imFlUQZCnMwCjo81Fesf39mVsL18emz2A5Q9OZdc/ZrL/X+cwa1Aw8zcfo7yq7ZJNCZaf/3/OGcTC2ye02ePaGkkoCCGEEB3saG4p57+5jqcW7W3yMZuT8okJcCPST9ofCiFabsFt4/nlvsn1tt07PZYAdyce+34Px3LLKCgzTzs/lHm8sOI5g4KJCXBn1cFsyqqMBHmeurDcBcNCUQp+3JnWPi+iBdbF5/DMT/sB2JiY28mj6f5+3ZvBzuQCHpzRF2cHOzxdzCvtQ7zMF/hzR4cD4Gh3/HL04XP6AVBtbDhJsDExl682HQNg8a40Zr62hn5P/WZNRNRlNGmyiiutP6dXj4tkYowfd57Zp95+Xq4OuDrac8OkaEqrjKfsdtISidkluDjYEezpjK+bI3dMjeG5iwa32ePbCkkoCCGEEB3sQLr5TXrtG6OmSMgqpl+wR3sNSQjRQ4zv7cfAUM962zydHfjnhYPYn17ElJdXcs9XOyiuqCYxu5RzBgUxtpcvc0dH1Ps0OdhyYdiQYC9nJsb48eOO1DZvA9gSh7NLuOvLbfQJcGfmwCCW7c88aTaGaDvVRhMvLz1I3yB3Lh1lThxE+7lxRh9/3r5mJAA3TurFCxcP4doJUdbjZg8J4YrRESRklVBkKZp4LLeMyhojidkl3PLpVh7/YQ9fbDzKPywJ+aoaE1/W+VtaUW3kSE4puSWVGE2aYMsMhRAvF766dTxh3i4NjnlstC8Rvi78uDOVY7llXP7eBt5dfbhV34fE7FJ6+btZ6zL8fXZ//jI+qpGjuh5JKAghhBAdLL7Op35PL9p70tKHZfszWb4/03o/taCcI7llxAZKQkEI0T5mDQ7m3CHBAOxNK+Td1YepMpq4e1ofFt4+AV83R56/eIh1/8BGWt9dNDyMY3llbD9W0J7DbtDiXWlsssxCqKwxcttnW3GwM/DB9aN5ZFY/fFwdefjbXdQYTR0+tp5gwZZkknJKeXRWf+wM5otpZwc7vrhlHCMjzUsP7AyKq8dF4u1av+PBoDBP8kqrGPrM78x5ax1TXl7J3V/u4K4vt+Ngp/B3d+LJH/fi5mjPsr9OIcjTib2phXy95RjrE3L4YG0i019dzTfbzJ1JAj1Pnfiqy2BQTIrxZ9XBbC54ax2bk/L4aF1Sq9pMHssro5e/W+M7dnGSUBBCCCE62P70IuvtTzcc5bMNR6ioNpJdXMm6+Bzu+GIbz/y0D4C18dlMe2UVAIPDvDpjuEKIHkApxVtXjWRsL1/Kqox8sDaJi4aHMjTc27pPmLcLcy2fODdWy2XW4GA8nO15a0V8ew77JCaT5qGFu7jq/Y3MW3OYb7amcDi7lFcuH0aEryt9Aj145sJBHMossV50ZhZVUFUjyYW2UFpZw3+XxzO2ly9n9Q9s9vFXj43k05vGcvuU3uxKMRdnXH4gk7iMYl69YjjPzhnEqCgfFtw2ntggDyb18WddQg6PfreHpxbtJT6rBKNJ8/LSgygFIyK8m/zcfQLNhSNLKmt4+Jx+ZBVXcs/87WQVVzT7dWitSS0oJ8yn4RkR3Ym0jRRCCCE6UFZRBcsPZHLF6Ai+thQGe2XpQX7Zk86WI/l4OttjUJCSX85983fw8+40YgM9ePL8AUyK8W/k0YUQouUMBsWQMC82J+XhaG/gIcua9rqeumAgvQLcmBwbcNrH8nB24I6pMby89CAH0osYEOJ52v1bo7C8Gncne+wMiryyKqqMJoI8nXjhlzgA/N2dmNbv+MXt7MHBjIry4T+/H2Jq3wBmvLqa6yZG8+is/u02xp7i/bWJ5JRU8v51o1rUgtHezsDUvgFMifXnvTWJ1u13T4uxxnD2kBDr9tmDQziYUUy0nxtL9qSTmF1Kn0B38kqrGBji2eQZCoB1NkFvfzdumBjNy0sP8sueDPakFvL1bRMIPcVyCTD/DP64I5Vrx0dhMChySqqoqjERepqlQd1Fk2YoKKWOKKX2KKV2KqW2Wrb5KqWWKaXiLf/71Nn/MaVUglLqoFLqnPYavBBCCNHVfPLnEWpMmrumxbD64TNZ/uAUjFqz5Ug+YH4z9fbV5jWmi3elcdmocL6/ayKTYwMwGNquP7YQQjSkdinDlNgAwn1OLgLr6ezAXWf2sU5lP52rx0bi7GDg9s+3UVpZ0+ZjBfMnwee9sZZL/vcnheXVZBSaP01++oJBTO1rTnqEn/ApsVKKh2b2I6ekkr9+vZPSKiPfbE2RJRCtlF1cybw1iZw7JJgRkT6NH3AadZMRd0+L4a9n921wvxkDg1hy32QeP2+AdVu0nxt/PDjVWq+hqUZHmesoPHvRYNyc7LlxUjT+7o7kl1ZzwZvr2J1ScMpj//XTfp5evI/1h3MASCsoByCsgXOou2nOkodpWuvhWuvRlvt/B/7QWscCf1juo5QaCFwJDAJmAe8opaS/lRBCiB6vpLKGLzYeZdagYKL83Ijyc6NPoAfXjDtepOmzm8Yyc1Aw394xgaUPTOHflw3DzUkmFAohOkbtkvERkd6tfiwfN0f+NWcwx/LK2Hwkj2X7M/nbwl2tftziimqqLRf/x/LKSMkvZ1dyAdd9uIkjuaXA8cKQAO4N/A4d28sXb1cHNiXl4WRvIKekkl/3ZnDDx5tJyLKtdpe2TmvNG3/EM+b55ZRVGXn4nLaZ6fHgjL4MCfPi4XP6Y293+svWMG8XvrnD3JqxxmTCx80RLxeHZj2fl6sDax85i/G9zT83T18wiK1PzuDHuycB8M7Khos0aq3Zk1oAYC32mWpJKIR6ywyF05kDfGq5/SlwUZ3tC7TWlVrrJCABGNuK5xFCCCG6hZ92pVFUUcOtU3rX237jpGh83RxZePsEa52E0dG+0tVBCNHhrh4byW1TenPTpF5t8njnDw3B3qBYF5/DrZ9t5bvtKeSVVrX48ZLzypj68ipm/3ctO5MLrDVm7pgaw66UQu75agcAwZ7O1jXxZVUnz46wMyjOs0ydv//sWHxcHbh3/g5WHczm1WUHWzy+nkZrzYu/xvHqskMAXDE6os0KEd43PZaf7j2jyfuPivThvumx/PPCQW3y/LX6BLozvrcf+9OLWLQzlbnv/snfFu7iw3VJlFbWcP+CnRzKNCeh1sSbZygctiSlov26f1HGpn7koYHflVIaeE9rPQ8I0lqnA2it05VStQuTwoCNdY5NsWwTQgghui2tNdVGjaN9w7n6lQezeOz7Pfi7O51UJCrcx5XtT83ogFEKIcTpebk68Pi5AxrfsYlcHe2Z0jeAD9clWbcdyixmVJQPb61IYGq/AGvl/6b4cF0SeaVVFJRVcdHb663b75jau16bvwAPJyprzAmFUxW0fXbOYC4cFsqoKB+yiir55M8jAHg4Ne+TbVtSWWPklz3pnDckFEd7A0t2p+PhbI5Be1h1MJt5axK5bkIUl40Kp39w+9XKaIzBoHhwRsNLI1prYKgnS/ak89G6JA5nl3I0t4zvtqfw0bok0grLedhSb+TlpQc5mFFMXEYxkb6uPWKGYVNnKEzSWo8EZgN3K6WmnGbfhhZUndRvQyl1m1Jqq1Jqa3Z2dhOHIYQQQtimV5cdou+Tv1JVY+KlX+O456vt9b7+7irzG90JMX4tKlQlhBBd1TvXjORvdS70DmUW88uedP77RzyXvPNnkzosJOeV8eqyQyzelcbUvgFsffJ4EnbLE2fXaz/4wsVDcLAz0Mvfje/unHjKBInBoBjX2w97OwNXjY20bi9tYEZDV/Hot7v569e7WLQzFYC7v9rOdR9tbrfni8swt0F+ZFZ/hoZ7nzKp3tUNCjUnSnalFHLBsFDWPjoNDyd7UgvKefmyYdw9rQ9Xj43Ew8me2z/fyrqEnB4zy7BJEddap1n+zwJ+wLyEIVMpFQJg+T/LsnsKEFHn8HAgrYHHnKe1Hq21Hh0Q0D4ZMyGEEKKjfLDW/Onb/M3HeG/NYX7enc6x3DLr1/NKq/B2deCZCwZ21hCFEKJTODvYce/0WJJePBcPZ3sOZRbz+Yaj1q/vOk2xO4AvNx3l7FdX88Yf8eSVVjGtXwC+bo5cMjKM3gFuBFgKSda6eMTxydGjonwabXEJ0C/YgxcuHgJAemHDbQK/2nSMBZuPNfpYneVYbhk/7U4HzFPvs4qOv46ErOJ2ec7UgjK8XR0arFPRnYyO9rXeHhzmiZO9HU+dP5DnLx7MZZZWqj5ujrw8dyh+7k54uzowe3BwZw23QzWaUFBKuSmlPGpvAzOBvcBi4HrLbtcDiyy3FwNXKqWclFK9gFig/dJiQgghhA3w9zB/Ovb04n3WQlD/WLyX1Yeyqag2kphTyrXjo/BzdzrdwwghRLellKJfkAeLdqSx9Wg+957VB4DNSXmnPe6VpQcZEOKJiyUxcPEI8wXcf+YO448Hp1r3mz04GHcne1wcW1YP/upxkVw6MpzkPHMyOCmnlMPZ5rXwWmse/2EPf/9+T4seuyPc/OkWDArGRPuw5lA2OywFAgEufvtPft590me8rZaSX07YadopdhfuTvYMtLQ+nTXInCi4fExEvaLKALMGh/DdnRNZ/fA0LhkZ3uHj7AxNSSUFAT9YpmfaA19prX9TSm0BFiqlbgaOAXMBtNb7lFILgf1ADXC31trYLqMXQgghbERR+fEpsk+cO4D/rT7MqoPZrDqYzb1n9cFo0p26tlQIIWxBbJAHW4/m4+xg4JYzerNgS7L1Ar4hVTUm8suquWFiIG9eNYLMogq8XM1J2xOXj71zzUj0SQutm2d4hBffbU/ht70Z3PHFNuwNioQXzq3X+UFrbRNL11Lyy3hm8T4c7AxcOyGK+KwSHpzRl94Bbtzz1Q7unb8DPzdH5t82noe+2cWDC3dxzqBgHBrpmNBUu1MKiEsvZlhEwzUqupvPbx6LBvlg4ASNJhS01onAsAa25wLTT3HM88DzrR6dEEII0QUs3pVGYXk1D83sS2yQBzMGBBHm48I3W1PYmJjLmysSAOgf0jPWUwohxKkMDfdi/ma4ckwkXq4OhHg5k3aKJQYAOSWVgLnIYoSvKxG+rqfcVylFa6/zpw8I4qlF+7jji20A1Fj6aNYtKllQVo2Pm2ODx3ek77alsvyAedX57/szARgT7Wv9JL2qxsSNZ0XTN8iD6ydE87dvdnEsr4yYAPdWP/ex3DIufMtcFPP6iOhWP15XIImEhnXPqhlCCCFEB/p8wxF6+btx8xm9OWdQMAaDYmKMP69dMZzXrhgOgJO9oUe0jxJCiNOZOyqcn+89g6ct9WRCvJzJKCw/5f5ZxeaEQqBHx1zMhXq78L9rRvLmVSO4aHgo9gbF7pQCvt6aTJSfOZmRnH/qGRUdaUdyPgCvXTEMX0uCY2CIp3UGB8DkWHOtul4B5r8/Gw7ncs0HG4nPLCa3pJK3VyawP62o2c+9ZI+5VsNlo8K5dXLbtBgVXZMkFIQQQohWqKoxsSulkOn9Axtctzu+tx9XjY1gWr9A7AydP0VWCCE6k72dgcFhXtYlAyFeLqQXnHqGQnbx8RkKHWX2kBAuGBbKiEgfakya+xfsxM/NkdctCeLamg/VRlOTOlS0l72pRcwdFc7FI8L57o6JvHnVCGsy4Z8XDiLcx8XanSDG3zwr4YuNR1mfkMvtX2zj4/VHeHnpQV789UCzn3tdQjYDQjx5Ze4w7NtoCYXomrp3OU4hhBCine1LK6SqxsTo6FP3UX/xkqEdOCIhhOg6QrycKa6sobiiGg9nh5O+XptQCPTs+OnmQZbnTMop5f8uHcKISB/G9vLl4/VHuGlSL2a9vgalFMvrFIbsSMUV1daZCZF+rkT6HV8Ocv3EaK6fGG297+XqQJ9Ad+IyirEzKI7klPLWSvNyvPjMEprDaNLsPFbAxSPDGt9ZdHuSThJCCCFaYdtR85TTkZGnTigIIYRoWO269LzSqga/vikpF09newI6Yf16gIez9fZloyIAuHZ8FKkF5ayOz+ZwdikJWSWUV3V8/fkao4nKGhOujk3/fPi+6bEAxAa6c+9ZsdbtGUUVFJZVN/lxDmUWU1pllL97ApCEghBCCNEq247mE+HrQqCnc+M7CyGEqMfHMkU/v4EL2hqjiaX7Mjh/WGinTKsfFOrJZaPC+eNvU61L1mYMDCLcx4V7v9ph3W9TUm6Hj62s2pzEcHNqeovM84eEMCzCm7G9fLl1Sm8Azh4QCMBLvx3AaNLklVZRVlVzuodh+zFJpIvjZMmDEEII0UJaa7YezeeMPv6dPRQhhOiSvF3NU/bzy47PUHjom134uTly8xm9qKg2MSC4czrkODvY8crcYSdt++qW8Vz1/kZKKs0X3qsPZXNmv8AOHVup5bndnJp+OWcwKL6/cyIGZe6IcfiFczEoeHnpQd5ZdZjyKiM/7kxjYIgnv9w/+ZSPs/1oAb5ujtYilaJnk4SCEEKIHqmwrBoPZ3sMrSiUmJJfTnZxJSOj5FMaIYRoidoZCgWWhEK10cSinalUGzU7jhWY97GBFo11Rfq5suC28XyzLYWtR/JYF5/T4WMorTTPUHBtoBjw6dQtDlx7+5FZ/SmprOGzDUcB2J9++q4PO47lMzLS21pYU/RssuRBCCFEj7M5KY+Rzy3jnz/ta9XjrEswv4kcLQkFIYRoEZ/aGQql5iUPidmlVBs1Q8K82HzE3E3B18YSCgARvq48OKMvo6N8OJxdQkV1x9ZRqF2W4NaMGgqn09SZdvmlVSTmlDJCljsIC0koCCGE6JKSckq5+ZMt1imnTbU3tZCbP9mC0aT5dMNRsoor2JSYywdrE5t0vNaav3+3m7NfXc3bKxPoF+RB/06ajiuEEF2dp4sDSh2foRCXYf50/JkLB1r3scWEQq1+wZ6YNCRkNa9TQmvVzlBozpKH0xloaS9Za39aEV9uOkpmUf2Wnhe/sx6Q+gniOFnyIIQQokt6ZelB/ojLYvn+TC4a0bTWVYnZJVz/0WY8XRx47Yrh3PLZVpbuy+TtFQlkFleQkFXCqCgf5o6OOOVjvLPqMAu2JFvvf37zWJn2KYQQLWRnUHi5OFiLMqbklwMwMMTLuo9tJxTMCeW9qYUMDvNqZO+2c7yGQvOWPJxKmLcLl4wMIzmvjC1H8jn3jbWAObHw/MVDAMgpqeRIbhmxge6M7eXbJs8ruj5JKAghhOiSnOzNk+xqe5Q3xUPf7ALMSYBoPzf83Z146se91q8v2JLMgi3JlFbWcPHIcLxcjvdE11rzxaZjvLz0IP2DPYjLKMbeoJgcG9BGr0gIIXqmQA8nknJKAfNMBRcHO1zq1AaoXRZhi3r5uxET4Mb/Vh/mohFhODvUv8BPyimluKKaoeHebfq8pZYlD81pG3k6SilevXw4eaVVvPjLAYaEe7FsfyZ/HMjinxea+HBdEi/+GgfAY+f2r1eLQfRssuRBCCFEl1S71OFgZnGT9q8xmtibWsRlo8PpHeCOwaA4d0gwYG4DFuzpzHlDzS21nvlpP+e9sbZe66yFW5N56se9TO0bwFe3jgfg6QsHtfGrEkKInmfmwGD+PJxDZlEFeaXV1kKNtRw6oWVkU9kZFM9cOIijuWU89M0ujuaW1vv6tFdWceFb69v8ecuqmt82sil83Rx5ee4wrpsQzZzhYWQUVTDw6aXWZALAgBDP0zyC6GlkhoIQQgibYTJplKWdVWOSLdNi18ZnYzTpRj8tOZpXRpXRRGzg8XoHd53Zh8Lyap44bwB+bk7Wx1gZl8WNn2zh/TVJ3H92LAAbDufi4+rAxzeMwWBQHHnpvJa+TCGEEHVcMjKMt1Ym8LeFu1iXkMMgy3r+3x6YTFJ2aSNHd77JsQHMGBjEz7vTScgq4bcHpgDUq/HTlL9TzVG75KGtZig0ZFo/8wy8qhoTr18xnFFRPqw6mEWIl0u7Pafoemw33SeEEKJHqawxctE767nzi+2N7ptfWsXh7BLCvF3ILKrkP78fxGTSpz3mUIZ5JkPfIHfrtmAvZ/575QgCPZzrvdGb1j+Q2YODeW/NYeubtgPpxYyI9GlVm0khhBAn6x3gzshIb2vnnNrOBf2DPZk9JKQzh9Zkz188GDB3qai1O6XAeju9sLzNnuvXPem8tTIBf3dH3NuoKGND/NyduGdaH167YhgXjQgjwteVaydEt9vzia5JEgpCCCFswrL9mexOKeS3fRloferkQI3RxLNL9lNVY+L960Yzd1Q476w6zJ1fbjvtcd9uS8HH1YG+QU3ryHDFmAjKqozsTC6grKqGhOwSBoRINwchhGgPFw4Ltd4uLK/uxJG0TKCHM0+dP5Aqo4mcEnNtn7odEpLz2iahkJxXxl1fbSfS15Wvb5/Q7rUMHjqnHxePCG/X5xBdmyQUhBBCtDuTSTf6BnFTYp71dm2V79SCclLyy6zby6uM3PHFNr7fnsp902MZGOrJvy8bysPn9GPpvkyW7sto8LELy6tZcTCLq8dFnlQw61RGRflgULA5KY918TkYTZpJMU3r0y2EEKJ5Lh0VTpi3eSp9bmlVJ4+mZWpnwO04VgBARuHxosHJeWUNHdJsGUUVaA0Pn9OPmAD3xg8Qop1JQkEIIUSbuP6jzUx88Q++3ZZi3fZ/v8Ux/F+/c/Zrqxn3wnLrpzWLdqZy5ssrScg6XlBxy5E8PJztrbevnLeBSS+t4JzX1lj3eez73fwRl8Wzcwbx4Iy+gLnewh1TY4gJcOPVZYesSx+qjSbWJ+SwKTGXxbvS0Bom9Wl6QsDD2YGh4d4s3pXGS7/G4eXiwBhpkyWEEO3Cw9mB5Q9OBWBkpHfnDqaFxkT7EubtwnurDwPmGQqujnY4OxiaXEC4MSXWdpFSCk/YBvlJFEII0SZWH8oGzK0ZLxkRhlLwv1XmN1WuDnZUVJsv8Kf0DeCRb3dTWWPihV/i+OiGMRSWVXMws5j7p8fy654M/vP7IVILzLMUSquMFFdU89OudH7cmcbcUeEnreG0MyhunxLDI9/tJi6jmOT8Mh5YsJPyaqN1H0d7AyMifJr1ms4bEsLzvxwg2NOZd/8yyqYrjQshRFfn4mjHbw9MJsLHtbOH0iLODnbMHBTE11uS0VqTWVRBqLcLbo52HEgvapPnKKu0dHdox2KMQjSH/CQKIYRotfIqY737yfll1iUOD5/Tj9um9Gbs88t5cOEu6z6TY/1Zl5BDaWUNqw5loTWM7+3H2F6+XP3+JsBc+fv77am8+GscX206BsCIyIaTAkMjvAD483AOb/wRT3m1kYfP6cfwCG+KK6oJ8HCu19e8Ka4eF4mDneKiEWF423AfdCGE6C76B3ftloThPq6UVRnJK60io6iCIE8nInxcWWqpD9SULkanU2qdodC27SKFaClJKAghhGi1YyesDd2ZXMCKuCzcHO34y7goHOwMDA7zYm28uYL3fWf1YVS0L2vjc7j1s61sSsoj2s+V4RHeODvYcd6QEJbsSefhc/php5Q1mQAw4hRTYaP93FAKnltyAGcHAysfOpNe/m6tel1uTvbcMKlXqx5DCCFEzxHhY64DkZxfTnJeGWcPCGJAiCcLtiSTVVxJkKdzqx7fuuRBZigIGyE/iUIIIVrtaG79PuEfrz9CSn4ZswaH4OXqAEBMgDtr43M4b2gIf53R11p48c/DuZw7JJiXLh1qLZj44qVDuHJsBCFeLrw8dxiXj4kgLr2IqX0DifRreCqss4MdzvZ2lpkJ/VudTBBCCCGaK8LX/DdqX1ohOSVVRPq50j/Y3CFof3pRqxMKZVVSQ0HYFvlJFEII0Wq1MxTsDIobJkbz4bokgHptFp3szfUHYvzdUEoRaqnmDXD/9L54OjtY73s6OzA5NsB6f0y0L2OiGy+I+PY1I8gvreaSkWGte0FCCCFEC/TydyPAw4kXlhwAzLPn+oeYl3EcSC9iWr/AVj1+SaURRzsDjvZS00fYBvlJFEII0WpHc8vwdLbn8Avn8tjs47MD6q6FnTs6Ag9ney4aYb7Yr9s7u3dA28wmOKt/EJeOCm/1GlUhhBCiJZwd7Pji5nHWGXeRvq54uTgQ5u3CgfTWdXo4klPKu6sPU2U0tcVQhWgTklAQQgjRakfzyqxLEeztDDx53gAifV0ZEuZl3adPoDt7njmH3nX6ZtfmFKR7ghBCiO6iX7AHC24bz+1Te1uXOwwI8bR2eiiuqG7R49Z2ThLClsiSByGEEK12LLeUQaHHkwfTBwQxfUBQo8dtfHw61UbdnkMTQgghOlxskAePzR5gvT8wxIMVcZmkF5Zz5sur+PdlQ5kzvHnL87zdHBrfSYgO1uSPhJRSdkqpHUqpny33fZVSy5RS8Zb/fers+5hSKkEpdVApdU57DFwIIYRtqDGaSMkvP2WxxNMJ9HAmrE4tBSGEEKI76h/iiUnD8gNZVNaY+HZbCruSCziSU9r4wRaV1bLUQdie5swxvR84UOf+34E/tNaxwB+W+yilBgJXAoOAWcA7SilplCqEEN1UemEFNSZNlG/zEwpCCCFETzDAUphx9cFswNzhaM7b6znzlVVNfozs4koA/np23zYfnxAt1aSEglIqHDgP+KDO5jnAp5bbnwIX1dm+QGtdqbVOAhKAsW0yWiGEEDantsNDS2YoCCGEED1BlK8rro52rDlkTigYTc1f7pddXMnYXr7cf3ZsWw9PiBZr6gyF14FHgLrzbIK01ukAlv9re6CEAcl19kuxbBNCCNENHc01JxSi/NqmU4MQQgjR3RgMihGR3tYODZF1ZvXllVY16TFySioJ8HBql/EJ0VKNJhSUUucDWVrrbU18zIZ6dZ2UglNK3aaU2qqU2pqdnd3EhxZCCGFrjuaV4mhnINjTubOHIoQQQtisq8dGWW9fMCzEenvKv1c2uL/RpNlwOBetNVU1JpLzywj3kbpDwrY0ZYbCJOBCpdQRYAFwllLqCyBTKRUCYPk/y7J/ChBR5/hwIO3EB9Vaz9Naj9Zajw4ICGjFSxBCCNGZjuWa3+DYGRrKJwshhBACYPbgYII8nRgW7sUdU2N4+Jx+AJRU1lBRbTxp/+eXHOCq9zeyI7mAw9klVBs1Ay21GISwFY0mFLTWj2mtw7XW0ZiLLa7QWv8FWAxcb9ntemCR5fZi4EqllJNSqhcQC2xu85ELIYSwCUdzy6R+ghBCCNEIg0Gx9pGz+Pr2CXg4O3D3tD68d+0oADYl5dXbd39aER+tTwIgMbuUvamFAAwKlYSCsC3N6fJwopeAGUqpeGCG5T5a633AQmA/8Btwt9b65JSbEEKILk9rzbG8MunwIIQQQjSBo70BZ4fjDfDGRPvi7erAjR9v5qkf91JjNFFVY+Kl3+LwcnEA4GBGEfPWJBLm7UK01CsSNsa+OTtrrVcBqyy3c4Hpp9jveeD5Vo5NCCGEDUvOK+Ol3+Ioqayhd4B7Zw9HCCGE6HJ83RxZ9tep/Ovn/Xy+8SjLD2SSXlgBwKOz+vPNtmTeX2ueqfDh9aOxt2vN58FCtD35iRRCCNEij363myW70wGYOSiok0cjhBBCdE0BHk5cMsLcFK82mQDwl/GRTIrxB2DGwCCmD5C/tcL2NGuGghBCCFHraG4ZSsED0/sS4iVVp4UQQoiWCjqhU9IlI8LwcHbg8XMHEOXnyiUjwztpZEKcniQUhBBCNJvWmuziSm6b0pv7z47t7OEIIYQQXVqw1/GEwlVjI3j6gkEAuDjaccvk3p01LCEaJUsehBBCNFtBWTVVRhOBHs6N7yyEEEKI0/JxdbDe/vusAfUKNwphyyShIIQQotmyiisBCPJ06uSRCCGEEF2fUgoABzuFV53kghC2TpY8CCGEaDKjSXP3l9vJKjYXjZIZCkIIIUTbWPvINNyc5PJMdC3yEyuEEKJJft+XwZI96fy2LwNfN0e8XR2ICZB+2EIIIURbiPB17ewhCNFsklAQQgjRJE8v3mdtZ/X5zWMZGOJpnaIphBBCCCF6HqmhIIQQolHlVUYyi473xo4JcJdkghBCCCFEDyczFIQQQjQqLqMIk4ZxvXwJ8XKW6tNCCCGEEEISCkIIIU6votrIP3/aj4uDHW9ePUIKMQohhBBCCEASCkIIIRrx9+92szO5gHf/MlKSCUIIIYQQwkpqKAgh2ozWmi1H8igsq27R8bkllTz7837KqmraeGSipbYdzefHnWncNz2WWYNDOns4QgghhBDChkhCQQjRZrYdzWfuuxs49421LTr+/36L48N1SSzemdbGIxMt9dG6JDyd7bl9Su/OHooQQgghhLAxklAQQrRaRbWRxOwSdqUUApBaUE5FtfGU+289ksfKg1nW+0dySvnr1zv5YUcqABsSc9t3wKJJDmUW8+vedK4aF4mbk6yQE0IIIYQQ9ck7RCFEq727+jCvL4/Hx9XBui0hq4TBYV4AfLcthc82HOEfFwzCyd7AZe9uAGDh7RMYHObJNR9sorC8mivHRJKYU8LqQ9kYTRo7g7Ql7CzbjuZx9fub8HJx4JYzZHaCEEIIIYQ4mSQUhBCttuFwLj6uDpRVGYkJcONwdikH0otIzCnF3qB4bsl+8suqmfvun5i0+RhXRzse/nYXT543kNSCct6/bjQzBgbx8+407vlqB5/+eYQh4V4MCvXE1fH0v6q01ihlTj48/M0uVsRl0TfIgxcuGUIvf7f2fvndTo3RxBM/7MXD2YHPbhpLgIdTZw9JCCGEEELYIEkoCCFapcZoYndKIVeMieDes/pgbzAw9ZWVvL48ntSCcut+D87oyx8HMtmVUsilI8OZOzqcK+dt5NbPtgIwNtoXgGn9Aunt78a/ft4PQGygO1/dOv6UF7UHM4o55/U1fHXrOPzcnPhmWwoTY/zYl1bEuf9dywfXj2ZSH/92/i50L19uOkZcRjH/u2YkA0M9O3s4QgghhBDCRklCQQjRKqkF5ZRXGxkY6omfu/mif3JsAD/tSuOMPv4MDvNifG9fJvXxZ8bAIO76cjt3nhlDn0B3bpgYzSd/HiHazxUvy3IJNyd7Ft97BruSC8gsquCJH/Zy5bwNzL91PIGeJ7csXLg1GYCnftxLqLcLzg4G3r56JBU1Ri54cx0LtyZLQqEZqmpMvLrsEJP6+DFrcHBnD0cIIYQQQtgwSSgIIVrlaG4ZAFG+rtZt90/vw6BQT245oxf2dsdrvw4I8WTlQ2da7/99dn9ig9zpH+xR7zHdneytSYBwH1du+HgzV87byPzbxhNUJ6mQW1LJ99tTADicXcrh7FJumBiNj5sjAEPCvFi0M40juWXcOTVGLpCb4EB6EYXl1Vw9Nsq6jEQIIYQQQoiGSJcHIUSrHMuzJBT8jtcq6BPowR1TY+olExri7GDHNeOiGBXle8p9xvby5bObxpJZVMGV8zaSUVhh/drSfZnkl1Xz871ncOi52Wx8bDpPnjfA+nUHy/PvSi7gji+28daKeJbsTkdrbd0nIauYaz/cRE5JZfNeeBdQbTTx2rJDxGcWN/mY7cfyARgZ5d1OoxJCCCGEEN2FJBSEEK2SnFeGo72BwHYs3Dc62pfPbh5LdnElV8zbwLw1h3n8hz3sSS3AzdGOQaGeONobCPZyrpfEuG5CNM4OBtY8PI1p/QJ45fdD3P3VdmvLSq01j3+/l7XxOayLz2m38XeWrzYd479/xHPeG+uoMZqadMyKuCwifF0I8XJp59EJIYQQQoiuThIKQoh6qpt44QmwMTGXb7al0NvfDUM7t3gcFWVOKuSVVPHCL3F8tekY8zcn0yfI45RT88+I9Sfu2dlE+rny7rWjuGlSLwBe+jWOsqoalu7LYPORPAB2Jhe06/g72s+703h68T4Aqowm1sSbW3HmlFRaZ2ik5Jdx9qur+fdvcVTWGMkorGB9Qg4XDQ/rzKELIYQQQoguQmooCCGsDmeXMOet9VwzPpLHZg845X7JeWU8+/N+ft+fCcAlIzrmAnRkpA+f3zKOZ3/ez5hoX95dfZj+QR6NHwg42dvxjwsGMrmvPzd9soU5b60n0NMJH1cHYgLcWZ+Qg8mk2z0x0hESskp49NvdjIz05uMbxzLztdU8v+QAC7ek8Nu+DDyc7JnaL4DC8mqO5JTyzqrD/L4/k1BvF0waLhkZ3tkvQQghhBBCdAEyQ0GIHqTGaOI/vx/kqR/3njQTwWjS/Hd5PCWVNby3OpEfd6QCsDIui+eX7Kei2ghAcUU1F7y1jrXxOVwyMow+ge5cMSaiw17D8AhvvrtzIn+f3Z9v7pjAX2f0bdbx0/oF8vlN48gvq2J9Qi4TYvy4elwk8Vkl/LI3vZ1G3XG01tw7fwfODna8c80ovFwceO2K4STllPLbvgyCPJ2YNTiYlXFZrI3P4aFz+vHJjWMoraxhzaFsJvXxo5e/W+NPJIQQQggherxGZygopZyBNYCTZf9vtdZPK6V8ga+BaOAIcLnWOt9yzGPAzYARuE9rvbRdRi+EaJYle9J5c0UCAH7ujjxwtvlivKiimnu+2sGaQ9ncMTWGbUfzeOTb3aw8mMWinWmA+RP+3gFu/LAjlYKyaj6/eSyTYwM67bUAjIk+dTHH0zkj1p9f7pvMK78fZO7oCEZG+vDu6sM8s3g/IV7Opy0S2RLFFdUopXB3av9JYQczizmQXsTzFw8m2MvcEWNijD8PndOPf/92kJcvG8aUvgE8fu4A/jycyzmDgrC3M/D7X6ewIi6LGQOD2n2MQgghhBCie1B1q503uIN5cbKb1rpEKeUArAPuBy4B8rTWLyml/g74aK0fVUoNBOYDY4FQYDnQV2ttPNVzjB49Wm/durVtXpEQokHlVUbOeX0Nzg4Govzc2JiYy/xbx/PtthT+iMskraCC5y4azFVjI8kpqeS/y+P5YUcqJZU1DT7eoedm42jffSY5Ld2Xwe2fbwNgxd+m0jvAvc0e+4r3NrAvrYgbJ0Vz71mx9b5vWcUVLN+fxZVjItpkucUbf8Tz6rJDbH58OoF1WmxqrTmYWUy/09ScEEIIIYQQoiFKqW1a69Enbm/04zJtzjiUWO46WP5pYA5wpmX7p8Aq4FHL9gVa60ogSSmVgDm5sKF1L0EI0RpvrIjnWF4ZC24bT4CHE1e8t4E5b6/HaDInFS8fHc5VYyMB8Hd34tmLBvPEeQOs6+zfW5PIteOj8HVzpKLa2K2SCQAzBwZxw8RoPvnzCL/sSeees2Lb7LETc0pxsFO8uSKBYC9nrhkXZf3ah2uTeG9NIhXVRm46o5d1u8mk2ZlSwPBw7yYnGrTWLN6Vxtho33rJBAClFP2DPdvmBQkhhBBCCEETizIqpeyAbUAf4G2t9SalVJDWOh1Aa52ulAq07B4GbKxzeIplmxCig2mteWtFAhsSc9mQmMvcUeGM7+0HwHd3TuT6jzbj4mjPMxcMZFCY10nHOzvY4exgR5CnM+Msx3VXSimeuXAQW4/msSExt80SClpr8kuruG1KbxZsSWZPSiGMM2/flVLIz7vNdRte+i2OSX386RvkTlxGMc8t2c/6hFxemTuMUVE++Lg64O3qiNaa0ipjg8snDqQXk5BVwnMXDW6TsQshhBBCCHE6TUooWJYrDFdKeQM/KKVO9261oY/STlpXoZS6DbgNIDIysinDEEI04M/DOSzakcZzFw/Gwc5wwtdy+c+yQwAMDvPk8XOPd26I8nNj2YNTqTaacHWUhi+1hoV7s3hnWpt1fCgqr6HGpPF1c2RAiAcrD2bxzdZkNhzO5XtL4csnzxvAu6sPc9/8HYR6O7PyYDaujnYAPPTNLgBGRHrz3R0Teem3OOatSWTPMzNJK6jg5aVx3DipF6OifHh7ZQL2BsW5Q0JaPW4hhBBCCCEa06yrCK11gVJqFTALyFRKhVhmJ4QAWZbdUoC6Jd/DgbQGHmseMA/MNRRaMHYherxqo4mr398EQF5ZFQ/N7MeDC3cS6u1CSn45hzKL8XF1YMNj03F2sDvpeAc7w0lJiJ5uWIQ3X246RnxWCf2Cm9aS8nRySisB8zKSUZE+rE/I5eFvdwMwKNSTM/sFcPMZvegd4MZNn2wlOb+M26b05trxUbyzKoH5m5MB2HGsgLdWJjBvTSIAn204yk+70ojLKGbr0Xz83Bw5nF3KPdP64Ovm2OpxCyGEEEII0ZimdHkIAKotyQQX4Gzg/4DFwPXAS5b/F1kOWQx8pZR6FXNRxlhgczuMXYge7+st5ovNKD9X1hzKZtn+TAD2pRVxRh9/7pwaw/nDQhpMJoiGndkvAHuDYuHWZJ46f2CrHy+vtAoAXzdHZg3ug5erI5lFFUyO9a/XJeOs/kGseXgagZ5O1ng9fcEgRkT68N22FJSCVy2zTQBeXnoQgLunxfDJ+iOUVxltovOGEEIIIYToOZoyQyEE+NRSR8EALNRa/6yU2gAsVErdDBwD5gJorfcppRYC+4Ea4O7TdXgQQjTPxsRchoR5sSIui2cW72NcL18W3DaelPxyXvo1Dgc7xetXjujsYXZZgR7OnDMomO+3p/DorP6tKj5pMmn++vVOwJxQcHaw4+Y6hRdPFOnnWu++s4Mdl4+O4PLRERzJKeXe+Tu4bUpvRkX5kJJfjqO9gWHhXlw3IRoPZ3tZuiKEEEIIITpUo20jO4K0jRSiabKLKxnz/HIc7QzUmEyMjvLlwxtG4+Hs0NlD61ZWxmVx4ydbeO/aUZwzKLjJx5VW1nDf/B2cEevPjZN68fWWYzz63R4Adv1jJl6uEichhBBCCNH1nKptpCyeFsLG5ZRUUlljnuSzN7UQgCqjiUl9/PnkpjGSTGgHk2P9CfBw4rttKQ1+vXYZw4k+WJvEH3FZ/POn/exNLeTXvRn09ncj4fnZkkwQQgghhBDdjiQUhLBh247mM/GlFZz58iqO5pby+/4MAG45oxfvXzdapri3E3s7AxcND2XlwayTkgfvr0lk5LPLOJxdctJxm5JyifJzxcPJnr98uIk/E3KZ1Mcfeyl8KYQQQgghuiF5lyuEjUrJL+P2z7dSVWMivbCCqS+vYv7mZEZF+fDk+QOl0GI7u3RUONVGzZLd9ZvUPP/LAcDcktNk0pRV1QBwKLOYXckFTO0bwPvXj+bsAUEMCvPkkpFhHT52IYQQQgghOoJ8vCmEDSqtrOGWT7dSWWNi+YNTOZZXyt7UIibG+DEi0qezh9cj9A/2JNjTmW1H87l2QjQA+XVmK6yMy6Ky2shzSw5w9oAglh/IxNXRjjnDQxkV5cv43n6dNHIhhBBCCCE6hiQURLPVGE38vj+Tsb188Xd36uzhdEtfbjpKXEYxn940lj6B7vQJdOes/kGdPaweZ3CYF7tTC5m/+RjVRhOxgR4AjI7yYUVcFivisgDYnJTLfdNjuXFiND5ujp05ZCGEEEIIITqMLHkQzZKcV8atn23lri+3c/m7GzCajncJMZo0ttA1pCXKqmrqvZb2orWu9zzFFdV8uy2FR7/dTXFFNQDpheV8uC6JsdG+TO0b0O5jEqc2NNyLxOxSPlibyMu/HbQWxXz7mpFcOjIcgDnDQ/nzsek8OKOvJBOEEEIIIUSPIjMURJMs25/J04v2klZYAUDfIHcOZZZwKLOYASGemEyaGa+uZlSUD89dPJiqGlOX6D6wOSmP15YdYmNSLhNj/PjylvHt8jxxGUV8sfEoKw5kUVpl5F9zBrE7pZCvtyRTUmleg78h0VzQb/vRfEwa/nHBwHYZi2i6IeFeABzOLgXgi01HcXeyJ9DDiZcuHcKgUE/OHxqCu5P8KhVCCCGEED2PvAsWjaqqMfHkj3sorzLyxLkDOHtgEAYFU19exffbU7hoRBjVRk1iTimJOaV8sy0FRzsDm5+Yjrer7X5iu+FwLjd9sgVHewMhns6sT8jl+o82E+DhxA0Toxkc5tUmz6O15saPt1BQVs3oaB/Wxudw/4Kd2BkU5w0JYUwvX+yUYtHOVEoqazhrQBAPzexLlJ9bmzy/aLkhJ/wMHM0tY0CIJ0opHOwUN53Rq5NGJoQQQgghROeThIJo1Iq4TDKLKvn4hjFM6x8ImC+Sw7xdeH9tEu+vTbLue0Yff9Yl5FBlNPH68nieuXBQZw37tLKKKrjpky2E+7gw/7bxONobuOuL7eSUVLIpKZdvt6Xw+c1jmRzbsiUHhzKLufR/f9I/2INBoV6kF1bwn7nDuHRUOB+uS8LV0Y5p/QIJ9nK2HnP1uMi2enmijfi7O+Hv7kROSSUGBSYNUb6unT0sIYQQQgghbIIkFMRJcksq2ZVSwITe/qxPyOHR7/YQ6uXM5Fh/6z5KKX59YDKJ2aUczS0lOa+MKD83ZgwMYum+DH7fl8knfx7BoBRPnT8ApVQnvqLjjuWWce+CHRxIL6KqxsQ714y0Fpb84pZxAOSUVDLnrfW8tuyQNaFQWWPEZAIXx5NbNa6Iy+RwVin9QzyYGOOPnUHx3fYUyquM5JdV88mfRwCsyZib5VPtLsXH1YGckkrO6m/u5BDpJwkFIYQQQgghQBIK4gRr47P569c7ySmpwsPZnuKKGgaFevL21SOxt6tfw9PT2YHhEd4Mj/Cut33O8DCmDwjCzcmOj9Yn4e/hyF1n9unAV9GwPxNyuPur7eSXmYsf9vZ3IzbI46T9/N2duGZ8JP/+7SDJeWVE+Lpy22fb2JSUy+zBIVw7IYqRkT6UVtbw7bYUnl68z3rsFaMjuHVKb77adIzJsf68fsUIhv3rdy4dGY6vFOzrkjxdzLVAzh8agp0BplsSQ0IIIYQQQvR0klDoQfakFOLhbE+0/8lr82uMJv77RzxvrUwgNtCdq8ZGsmRPOpeNCufRWf1xdjj5k/nTcXey56VLhlJRbeLfvx1kU2Ie/7xwUIPP3VJr47MZGu6Nl8vx4o+llTV8uC6J4RHeTKnTIeHZn/fz4bok+gS68/qVI3h/TSKPndv/lI99wdBQXl8Wz11fbufKsRGsPpTNgBBPlh/I5IcdqTjaG6iqMQEwPMKbN64cwYfrEvl0w1G+3pqMn5sj/5ozGC9XB3Y8NQN3ZznVuipPS+ycHex479rRnTwaIYQQQgghbIdc5fQQeaVVXDlvA25O9vx6/2T83J3YdjSPfWlFlFcZ+WVvBruSC7h8dDj/vHAwLo52/G1mv1Y9p8GgeHnuUPLLqlh9KJtbPtvK7w9MwWBo3vKHwvJqvtp0jGvGR+Jp6RyxOSmPaz/cTP9gD369f7J1ScXLSw/yyZ9HiA10Z9mDUwGIzyzmo/VJzB4czL8vG4qHs0Oj7RgjfF1579pR3PjJFvb8YG4V+PJlQ3FzsmfaK6uoqjER7uPCf68czshIH5RSPHPhIEwaft2bzgfXjyHCstZeWgl2bTMHBbPyYDbhPi6dPRQhhBBCCCFsitJad/YYGD16tN66dWtnD6Nbe/HXA8xbk4iDwUCV0cSAEE/iM4upMZnj38vfjfum9+HiEeFt/twmk+abbck8+t0eFt8ziaHh3s06/qp5G9mQmMsT5w7g1im9yS6uZOZrq61LF166ZAhXjo0kOa+Ms/6zimqj+TXFBrpz/tBQvt2eTHJeOVufPNtaL6Gp1hzK5scdqdwyuTcDQz0BeGXpQSL9XJk1ONia4KjLaNLYNTNpImyX1pq0wgrCvCWhIIQQQggheial1Dat9UnTdWWGQhdUWFbNjuR8xkT74uZ06hDmlFQyf9MxftyZyuHsUi4aHsqQcG+e/Xk/B9KLAPjmjgnEBrq3a3tHg0ExY2Awj32/hxd+OcAbV44g0NO58QOBlPwyNiblArAmPptbp/RmY2Iu+WXVfHDdaD5Yl8hzSw5QY9I8+eNe7AyKT24cww0fbyE+q4TXlh8CYErfgGYnE2qPm3LCbIaHzjn9zA1JJnQvSilJJgghhBBCCNEASSh0EVU1JlbEZbHjWD4/7kwls6gSdyd7Lh0ZxrUToukT6G7dV2vNDztSeez7PVTWmBgW7sXcUeE8ef5APJzsifBxobzaSKSvKyMifTpk/L5ujrx0yVD+sXgvE15aQai3M/+7ZhSDw7ys+xRXVPPpn0dYcyiHt64ZgZeLAw8s2ImjnYGzBwaxdG8GWUUV7E0rxNHOwJS+AfQL9uCc19fw5I97AbhpUjRn9gsk4fnZ2NsZqKwxcjS3jIAWJBOEEEIIIYQQQpyaLHnoIh75dhcLt6bgYKcY18uPswcEsiulkCW706kymhgZ6c0Fw0K5fkI0n244wj9/2g/A8xcP5ppxUZ08+uMOZRYz87U1AEzrF8C860bjYGegotrI9P+sJrWg3Lpv/2AP4jKKeevqEQwO9eKs/6yiT6A7hzJLGBLmxU/3ngHAUz/u5fONRzmzXwAfXDf6pG4UQgghhBBCCCFaTpY8dCFaa0oqa/CwrM/PKqrgm20pXDoynH/OGYR7nWUOT5w3gAcW7GRdQg7bjxVgUIr5m48B5un6c4aHdcprOJW+QR5cOz6KzzceZeXBbCa9tIKrx0Xi6mhHakE571wzkueXHCC1oJy4jGIeODuW84eGAjDv2tE89sMeAK6dcDxJcu9ZfTiSW8qzcwZLMkEIIYQQQgghOojMUOhgcRlFvLkigavGRHJGrP9JX88pqeSVpQf5dlsKd03rQ2WNkfdWJwKw6O5JDIvwPumYksoa9qUW8sDXO0kvrADgX3MGcd2E6PZ8Ka1yy6dbWH4gi8mx/qyNzwGgt78byx6cSk5JJesTckgrKOfuaX2sHRwAyquM7EktZEy0T73tQgghhBBCCCHax6lmKEhCoQN9sj6JZ5ccwGjSzBwYxLzrzPEorqhm6b5MFu1M5c/DuRhN9WMyvrcvw8K9eXRW/9O2XEzIKuZwdikhXs4MDvVqdnvGjpRXWkVaQTmDw7w4klPKb/syuGh4GMFeTSvWKIQQQgghhBCiY0hCoYPVbR2441g+b688zPIDmUyO9cfD2Z7l+7N46dIhLNufyR9xWVTVmAj3cWHO8FAuHBZGtL8rS/dl0svPjSHhXo08mxBCCCGEEEII0T6khkIb+3zDEQwGVa/g4bw1h/ltbwYDQjz5ctMxvF0dGBLmZZ3SD/DU+QPJLKrglz0ZPLhwF/7uTlw9NpILh4cyIsK73jT+C4eFduhrEkIIIYQQQgghmkoSCi20Ii6LvWlFzB0VgaO9geziSl5fHo9Ja7YfKwCgoKyatfE5nDc0hCFhXgwK9aRvkAd9gzz48e5JlFbWMK6XrxQSFEIIIYQQQgjR5UhCoYWunRDFTZ9sZW18NsFeztzxxTbKqox8des4fN0c2XY0Hyd7O0ZH+RDt73bS8cMbKK4ohBBCCCGEEEJ0FZJQaKGJMf7YGxRvrEhgV3IBAH+b0ZeJMebODf2DPTtxdEIIIYQQQgghRPuShEILOTvYMSjUk13JBSgFZ/Tx57qJ0Z09LCGEEEIIIYQQokM0mlBQSkUAnwHBgAmYp7X+r1LKF/gaiAaOAJdrrfMtxzwG3AwYgfu01kvbZfSd7NoJ0cQk5PDcxYNxdZTcjBBCCCGEEEKInqPRtpFKqRAgRGu9XSnlAWwDLgJuAPK01i8ppf4O+GitH1VKDQTmA2OBUGA50FdrbTzVc3THtpFCCCGEEEIIIUR3cKq2kY22F9Bap2utt1tuFwMHgDBgDvCpZbdPMScZsGxfoLWu1FonAQmYkwtCCCGEEEIIIYToJprVr1ApFQ2MADYBQVrrdDAnHYBAy25hQHKdw1Is2058rNuUUluVUluzs7NbMHQhhBBCCCGEEEJ0liYnFJRS7sB3wANa66LT7drAtpPWVWit52mtR2utRwcEBDR1GEIIIYQQQgghhLABTUooKKUcMCcTvtRaf2/ZnGmpr1BbZyHLsj0FiKhzeDiQ1jbDFUIIIYQQQgghhC1oNKGglFLAh8ABrfWrdb60GLjecvt6YFGd7VcqpZyUUr2AWGBz2w1ZCCGEEEIIIYQQna0pvQ4nAdcCe5RSOy3bHgdeAhYqpW4GjgFzAbTW+5RSC4H9QA1w9+k6PAghhBBCCCGEEKLrabRtZIcMQqls4Ghnj6OZ/IGczh5EB/ECCjt7EM3Qk2LTHLYUR4lRy3REDCU27a+1cZQY2YaG4iixsX0nxsiW/jb2dK05fySO7a+9f79JDFuuo/72RGmtTyp+aBMJha5IKbW1oT6c3ZFSap7W+rbOHkdT9aTYNIctxVFi1DIdEUOJTftrbRwlRrahoThKbGzfiTGypb+NPV1rzh+JY/tr799vEsOW6+y/Pc1qGyl6rJ86ewCiTUgcuz6JYfcgceweJI7dg8Sxe5A4dn0Swy5KEgqiUVprOcG7AYlj1ycx7B4kjt2DxLF7kDh2DxLHrk9i2HVJQqHl5nX2AMQpSWxsn8TIdklsbJ/EyHZJbGyfxMh2SWxsm8THdnVqbKSGghBCCCGEEEIIIZpNZigIIYQQQgghhBCi2SShIIQQQgghhBBCiGaThIIQQgghhBBCCCGaTRIKp6GUUp09BtEwpdTflFIzLbclTjZGYmLb5PyxbRIT2yXnju2TuNguOX9sn8TFdtny+SMJhQYopeYopT4FhnX2WER9SqmZSqmlwKPAdQBaKovaDDl3bJucP7ZNzh/bJeeO7ZPzx3bJ+WP75PyxXV3h/LHv7AHYCqWU0lprpdQ04FmgGpiglDqqtc7v5OH1aJYsnAPwD2Aq8CLgCIxRSjkANbZ2YvUkcu7YNjl/bJucP7ZLzh3bJ+eP7ZLzx/bJ+WO7utr5I20jOX5CWW5HA5XAAMxZoI+11qs7cXg92gmxGaO13mK5PRX4SGsd06kD7OHk3LFtcv7YNjl/bJecO7ZPzh/bJeeP7ZPzx3Z1xfOnxy95UErdA3yvlPqrUipYa31Ea52utV4BZAJTlVJhnTzMHumE2ITUOaEcLL/oEpVSszt3lD2XnDu2Tc4f2ybnj+2Sc8f2yflju+T8sX1y/tiurnr+9OiEglLqYuB64A1gKPCkUmp4nV2+BPoC4044zqYKYXRHDcTmCaVU7bquGqWUL3AUMHbSEHs0OXdsm5w/tk3OH9sl547tk/PHdsn5Y/vk/LFdXfn86dEJBcwny/+01iuBZ4Ak4L7aL2qtdwNbgMFKqbOUUo9atss6kfbXUGzuB/P3X2udB7gA0wCUUj39Z7mjyblj2+T8sW1y/tguOXdsn5w/tkvOH9sn54/t6rLnj80MpD2dmFWrcz8RuBpAa30UWAK4KaUurLP7fOAW4GvAv6HHEy3Xyth8AYxVSjlrrU0dMd6eRs4d2ybnT9ci54/tknPH9sjfH9slf3tsn5w/tqs7nj89IqHACd0s6mTZvgXKlFJzLPfTgVXAQGXmDvwX2AMM1Vo/fMLxovVaFBvLNhdgATY49acbcah7R84dm9Oi+Fi2yfnTAZRSdrW35fyxLS2JjWWbnDsdo957VDl/bEqLYmPZJudPx5D3b7ar271369YJBaXUeKXUl8A/lVKxtW8elFK1F7H5wA/AnUoppbUuBNwBZ0twK4D7tdbnaa3TO+M1dFetiI1TnRNvkdb6fa11dYe/gG5OKTVBKfUN8LJSaqCcO7alFfGR86cDWOLzLwCttbHO9to3BHL+dJJWxEbOnQ6ilBqrlPoCeFEpNURZpvXWSQDJ+dNJWhEbOX86iFJqdJ33B2fUeX9Qe80n508naUVsbP786bYJBaXUYOBN4GcgC7gNcysUtNY1lt1cgKWYM0DzlFKhwAjMfVjRWtdorbM6eOjdXitjU/v1em8GRdtRSgUCbwG/ALmY12/dBHLu2IJWxkfOn3amlLoe+BRzoavLLdvsod6nEHL+dIJWxkbOnXamlDIopZ4GPgB+xTyD8W5gGNT7vsv508HaIDZy/rQzy+yCl4B3Mb+/zgTuASIB6kyPl/Ong7VBbGz+/Om2CQVgPBCntZ4PvA+UAdcopXoDKKWexZwFCgL+hjm4XwEFwEudMeAeRGJj24YBh7TWHwP/Ab4H5iil+gMopZ5D4tOZJD62LRU4C5gFvALmN2h1Pol4BolPZ5HY2DDLm+oU4Aat9ZfA80AUYF2aIjHqHBIb22dJiq4FZmitPwU+BjSQXbuPZXaWxKiD9YTYqO6yJEYpNRWo0FpvstwfhnkN0C1a6wRLZnUIsA/4N+YL2ae01ofrPIar1rqs40ffvUlsbJtS6iJgILBLa71EKRUA/AnM0lofVuY2NfcCrsA/MX9CIfHpIBIf21YnPru11j9bLk4NWutqpdQ6YKXW+inLvoHA60h8OoTExvY18PvNFagE7LXWlUqphcDnWuufJEYdS2Jj+078HVdn+2TMxfvSgE3AIsydG+YB/9BaJ9TZV2LUDnpabLr8DAWllIdS6nvMWZ3bLW+uAQ4Dm4GPlFI/AmMwF7twA8q11ldb3oxbvwddJWhdhcTGtimlAizf/weBPOBjpdRlWuts4DvMF6lgzo7+AfhiXmMn8ekAEh/b1kB8PlJKXWyZjli7Hv924D6lVBCA1jpL4tP+JDa27xS/3y7WWpdprY2WC1YHIBw4CBKjjiKxsX2n+h1XZ5c8zLNJJgC7gBuBAEuMEiRG7aenxqbLJxSAKmAF8BfM2Z65AFrrEq31I5jXqHystT4fSAAG1a5VUUoZtA213OiGJDa2LQZYr7WeorV+F/MUqwctX5sP9FdKnW2JQy7maViVIPHpIBIf29ZQfGqrYVcppey01vuAb7BMV1RKza49WOLTriQ2tu+UMaqjP5CptT5k+YBiLJjXI0uM2pXExvadNkZa631a65WWu6sBDyw1EuT9QbvrkbHpkgkFpdR1SqmpSilvrXUl5im+y4FDwCilVN/afbXWu7XWiyx3zwI2KmWu5txVg2bLJDa2zRKfMy1TF7cBn1m22wH7MS87AXO7oAXA60qpPsB0zJ/sOYDEp71IfGxbE+Kzx3JfYV4fidb6FuB6pVQ+MKzupw+i7UhsbF8zYlTbrcYPcwu1GzAv8xpiuWDtHmt1bYjExvY1NUYNmIn5eq8Y5P1Be5DYmKu0dgmWNwHBmAtUmDBPm79NKXW/1jrHss8GoC9wOfBcnWNHYS5eZgRuk194bUtiY9tOEZ9bMbcFyrR8WmdUSg0AvMD6S+0TZV4X+XfMn0bcqrUu6IzX0J1JfGxbM+PjA9YCTFopFQW8hrkY091a672d8iK6KYmN7WthjGormp8DXIV55tU1WuvdHf4CujGJje1rSYwsxzkCU4D/w1yM9hFtbkEo2ojEpr4ukY23BEVjnhaSqrWeDtyFeR3Ke7X7aa3jMWeGQpVSfZRSLpYvHQGe1lpP13WKxYjWk9jYtkbiM++E3WdirmWBUioYQGv9b+AurfUZWusDHTfynkHiY9taEZ8Ay7ZC4CWt9VS5YG1bEhvb14oYBVm2/QxcpbW+SS5Y25bExva1Ikb+WusqzG3Zn9ZaX6i1juvAoXd7EpuT2fQMBcvUqn8BdkqpXwBPzJ9k17Z6ug9IU0pN1Vqvtmz/wZIN+g1wV0qdpbXej3mdimgjEhvb1pL4ACVAkjK3rrlEKTVLa51i+eUn2pDEx7a1UXzO1Vofw1yAVrQRiY3ta6MYzdZar++M8XdnEhvb14Yx2g1IsqcNSWxOzWZnKChzq8FtmKeJJADPYi5aMU1Zir9YskP/Ap6pc9xc4AlgJTDUcsEq2pDExra1JD7KvM7rJsxZVE9gmtY6pcMH3wNIfGxbG8bnWIcPvpuT2Ni+NoxRcocPvpuT2Ng+iZHtkticni3PUDABr2itPwdQSo0AegH/AP6HucCfAXNLwmlKqV5a6yQgA3N/9rWdNO6eQGJj25obnyjMvwveBT7TWm/vnGH3GBIf2ybxsV0SG9snMbJdEhvbJzGyXRKb07DZGQqYs0ALLdkdgPVApNb6E8xTTe7V5sJk4YDRcsGK1nqtXLC2O4mNbWtOfExa66Na68Na6we6+y88GyHxsW0SH9slsbF9EiPbJbGxfRIj2yWxOQ2bTShorcu01pVaa6Nl0wwg23L7RmCAUupnzP3Yu32gbInExrY1Mz7bwFqtVnQAiY9tk/jYLomN7ZMY2S6Jje2TGNkuic3p2fKSB8C6/kQDQcBiy+Zi4HFgMJCktU7tpOH1aBIb29ac+FjWfYkOJPGxbRIf2yWxsX0SI9slsbF9EiPbJbFpmM3OUKjDBDgAOcBQS/bnKczTSdbJBWunktjYNomPbZP42DaJj+2S2Ng+iZHtktjYPomR7ZLYNEB1heSJUmo88Kfl38da6w87eUjCQmJj2yQ+tk3iY9skPrZLYmP7JEa2S2Jj+yRGtktic7KuklAIB64FXtVaV3b2eMRxEhvbJvGxbRIf2ybxsV0SG9snMbJdEhvbJzGyXRKbk3WJhIIQQgghhBBCCCFsS1eooSCEEEIIIYQQQggbIwkFIYQQQgghhBBCNJskFIQQQgghhBBCCNFsklAQQgghhBBCCCFEs0lCQQghhBBCCCGEEM0mCQUhhBBCCCGEEEI0myQUhBBCCCGEEEII0Wz/D3agjl18vcmxAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from zipline import run_algorithm\n", "import pandas as pd \n", "\n", "start_date = pd.Timestamp('2018-12-30',tz='utc')\n", "end_date = pd.Timestamp('2023-05-26',tz='utc')\n", "\n", "results = run_algorithm(start= start_date, \n", " end=end_date,\n", " initialize=initialize, \n", " capital_base=1e6, \n", " analyze=analyze,\n", " handle_data=handle_data,\n", " data_frequency='daily',\n", " bundle='tquant'\n", " )" ] }, { "cell_type": "code", "execution_count": 6, "id": "045bdf0e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
period_openperiod_closeshort_valuelong_exposurebenchmark_returntreasury_returnpnlshort_exposurecapital_usedreturns...treasury_period_returnalgorithm_period_returnalphabetasharpesortinomax_drawdownmax_leveragetrading_daysperiod_label
2019-01-02 13:30:00+08:002019-01-02 09:01:00+08:002019-01-02 13:30:00+08:000.00.00.00.00.000.00.000.000000...0.00.000000NoneNoneNaNNaN0.0000000.00000012019-01
2019-01-03 13:30:00+08:002019-01-03 09:01:00+08:002019-01-03 13:30:00+08:000.0215500.00.00.0-2.850.0-215502.85-0.000003...0.0-0.000003NoneNone-11.224972-11.224972-0.0000030.21550122019-01
2019-01-04 13:30:00+08:002019-01-04 09:01:00+08:002019-01-04 13:30:00+08:000.0208000.00.00.0-7500.000.00.00-0.007500...0.0-0.007503NoneNone-9.170376-9.168633-0.0075030.21550132019-01
2019-01-07 13:30:00+08:002019-01-07 09:01:00+08:002019-01-07 13:30:00+08:000.0213000.00.00.05000.000.00.000.005038...0.0-0.002503NoneNone-1.893153-2.608781-0.0075030.21550142019-01
2019-01-08 13:30:00+08:002019-01-08 09:01:00+08:002019-01-08 13:30:00+08:000.0211000.00.00.0-2000.000.00.00-0.002005...0.0-0.004503NoneNone-3.141155-4.087705-0.0075030.21550152019-01
..................................................................
2023-05-22 13:30:00+08:002023-05-22 09:01:00+08:002023-05-22 13:30:00+08:000.0531000.00.00.0-1000.000.00.00-0.000734...0.00.362247NoneNone0.8161721.250657-0.2024330.45518210632023-05
2023-05-23 13:30:00+08:002023-05-23 09:01:00+08:002023-05-23 13:30:00+08:000.0530000.00.00.0-1000.000.00.00-0.000734...0.00.361247NoneNone0.8139541.247253-0.2024330.45518210642023-05
2023-05-24 13:30:00+08:002023-05-24 09:01:00+08:002023-05-24 13:30:00+08:000.0525000.00.00.0-5000.000.00.00-0.003673...0.00.356247NoneNone0.8042831.232180-0.2024330.45518210652023-05
2023-05-25 13:30:00+08:002023-05-25 09:01:00+08:002023-05-25 13:30:00+08:000.0543000.00.00.018000.000.00.000.013272...0.00.374247NoneNone0.8350191.282067-0.2024330.45518210662023-05
2023-05-26 13:30:00+08:002023-05-26 09:01:00+08:002023-05-26 13:30:00+08:000.0566000.00.00.023000.000.00.000.016736...0.00.397247NoneNone0.8730091.345075-0.2024330.45518210672023-05
\n", "

1067 rows × 42 columns

\n", "
" ], "text/plain": [ " period_open period_close \\\n", "2019-01-02 13:30:00+08:00 2019-01-02 09:01:00+08:00 2019-01-02 13:30:00+08:00 \n", "2019-01-03 13:30:00+08:00 2019-01-03 09:01:00+08:00 2019-01-03 13:30:00+08:00 \n", "2019-01-04 13:30:00+08:00 2019-01-04 09:01:00+08:00 2019-01-04 13:30:00+08:00 \n", "2019-01-07 13:30:00+08:00 2019-01-07 09:01:00+08:00 2019-01-07 13:30:00+08:00 \n", "2019-01-08 13:30:00+08:00 2019-01-08 09:01:00+08:00 2019-01-08 13:30:00+08:00 \n", "... ... ... \n", "2023-05-22 13:30:00+08:00 2023-05-22 09:01:00+08:00 2023-05-22 13:30:00+08:00 \n", "2023-05-23 13:30:00+08:00 2023-05-23 09:01:00+08:00 2023-05-23 13:30:00+08:00 \n", "2023-05-24 13:30:00+08:00 2023-05-24 09:01:00+08:00 2023-05-24 13:30:00+08:00 \n", "2023-05-25 13:30:00+08:00 2023-05-25 09:01:00+08:00 2023-05-25 13:30:00+08:00 \n", "2023-05-26 13:30:00+08:00 2023-05-26 09:01:00+08:00 2023-05-26 13:30:00+08:00 \n", "\n", " short_value long_exposure benchmark_return \\\n", "2019-01-02 13:30:00+08:00 0.0 0.0 0.0 \n", "2019-01-03 13:30:00+08:00 0.0 215500.0 0.0 \n", "2019-01-04 13:30:00+08:00 0.0 208000.0 0.0 \n", "2019-01-07 13:30:00+08:00 0.0 213000.0 0.0 \n", "2019-01-08 13:30:00+08:00 0.0 211000.0 0.0 \n", "... ... ... ... \n", "2023-05-22 13:30:00+08:00 0.0 531000.0 0.0 \n", "2023-05-23 13:30:00+08:00 0.0 530000.0 0.0 \n", "2023-05-24 13:30:00+08:00 0.0 525000.0 0.0 \n", "2023-05-25 13:30:00+08:00 0.0 543000.0 0.0 \n", "2023-05-26 13:30:00+08:00 0.0 566000.0 0.0 \n", "\n", " treasury_return pnl short_exposure \\\n", "2019-01-02 13:30:00+08:00 0.0 0.00 0.0 \n", "2019-01-03 13:30:00+08:00 0.0 -2.85 0.0 \n", "2019-01-04 13:30:00+08:00 0.0 -7500.00 0.0 \n", "2019-01-07 13:30:00+08:00 0.0 5000.00 0.0 \n", "2019-01-08 13:30:00+08:00 0.0 -2000.00 0.0 \n", "... ... ... ... \n", "2023-05-22 13:30:00+08:00 0.0 -1000.00 0.0 \n", "2023-05-23 13:30:00+08:00 0.0 -1000.00 0.0 \n", "2023-05-24 13:30:00+08:00 0.0 -5000.00 0.0 \n", "2023-05-25 13:30:00+08:00 0.0 18000.00 0.0 \n", "2023-05-26 13:30:00+08:00 0.0 23000.00 0.0 \n", "\n", " capital_used returns ... treasury_period_return \\\n", "2019-01-02 13:30:00+08:00 0.00 0.000000 ... 0.0 \n", "2019-01-03 13:30:00+08:00 -215502.85 -0.000003 ... 0.0 \n", "2019-01-04 13:30:00+08:00 0.00 -0.007500 ... 0.0 \n", "2019-01-07 13:30:00+08:00 0.00 0.005038 ... 0.0 \n", "2019-01-08 13:30:00+08:00 0.00 -0.002005 ... 0.0 \n", "... ... ... ... ... \n", "2023-05-22 13:30:00+08:00 0.00 -0.000734 ... 0.0 \n", "2023-05-23 13:30:00+08:00 0.00 -0.000734 ... 0.0 \n", "2023-05-24 13:30:00+08:00 0.00 -0.003673 ... 0.0 \n", "2023-05-25 13:30:00+08:00 0.00 0.013272 ... 0.0 \n", "2023-05-26 13:30:00+08:00 0.00 0.016736 ... 0.0 \n", "\n", " algorithm_period_return alpha beta sharpe \\\n", "2019-01-02 13:30:00+08:00 0.000000 None None NaN \n", "2019-01-03 13:30:00+08:00 -0.000003 None None -11.224972 \n", "2019-01-04 13:30:00+08:00 -0.007503 None None -9.170376 \n", "2019-01-07 13:30:00+08:00 -0.002503 None None -1.893153 \n", "2019-01-08 13:30:00+08:00 -0.004503 None None -3.141155 \n", "... ... ... ... ... \n", "2023-05-22 13:30:00+08:00 0.362247 None None 0.816172 \n", "2023-05-23 13:30:00+08:00 0.361247 None None 0.813954 \n", "2023-05-24 13:30:00+08:00 0.356247 None None 0.804283 \n", "2023-05-25 13:30:00+08:00 0.374247 None None 0.835019 \n", "2023-05-26 13:30:00+08:00 0.397247 None None 0.873009 \n", "\n", " sortino max_drawdown max_leverage \\\n", "2019-01-02 13:30:00+08:00 NaN 0.000000 0.000000 \n", "2019-01-03 13:30:00+08:00 -11.224972 -0.000003 0.215501 \n", "2019-01-04 13:30:00+08:00 -9.168633 -0.007503 0.215501 \n", "2019-01-07 13:30:00+08:00 -2.608781 -0.007503 0.215501 \n", "2019-01-08 13:30:00+08:00 -4.087705 -0.007503 0.215501 \n", "... ... ... ... \n", "2023-05-22 13:30:00+08:00 1.250657 -0.202433 0.455182 \n", "2023-05-23 13:30:00+08:00 1.247253 -0.202433 0.455182 \n", "2023-05-24 13:30:00+08:00 1.232180 -0.202433 0.455182 \n", "2023-05-25 13:30:00+08:00 1.282067 -0.202433 0.455182 \n", "2023-05-26 13:30:00+08:00 1.345075 -0.202433 0.455182 \n", "\n", " trading_days period_label \n", "2019-01-02 13:30:00+08:00 1 2019-01 \n", "2019-01-03 13:30:00+08:00 2 2019-01 \n", "2019-01-04 13:30:00+08:00 3 2019-01 \n", "2019-01-07 13:30:00+08:00 4 2019-01 \n", "2019-01-08 13:30:00+08:00 5 2019-01 \n", "... ... ... \n", "2023-05-22 13:30:00+08:00 1063 2023-05 \n", "2023-05-23 13:30:00+08:00 1064 2023-05 \n", "2023-05-24 13:30:00+08:00 1065 2023-05 \n", "2023-05-25 13:30:00+08:00 1066 2023-05 \n", "2023-05-26 13:30:00+08:00 1067 2023-05 \n", "\n", "[1067 rows x 42 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "markdown", "id": "02c268a3", "metadata": {}, "source": [ "我們可以發現之前使用 `order` 紀錄的 trade_days, has_ordered 與 TSMC 確實以欄位型式記錄在 __results__ 表中。 " ] }, { "cell_type": "code", "execution_count": 7, "id": "b82fd799", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
trade_dayshas_orderedTSMC
2019-01-02 13:30:00+08:001True219.5
2019-01-03 13:30:00+08:002True215.5
2019-01-04 13:30:00+08:003True208.0
2019-01-07 13:30:00+08:004True213.0
2019-01-08 13:30:00+08:005True211.0
............
2023-05-22 13:30:00+08:001063True531.0
2023-05-23 13:30:00+08:001064True530.0
2023-05-24 13:30:00+08:001065True525.0
2023-05-25 13:30:00+08:001066True543.0
2023-05-26 13:30:00+08:001067True566.0
\n", "

1067 rows × 3 columns

\n", "
" ], "text/plain": [ " trade_days has_ordered TSMC\n", "2019-01-02 13:30:00+08:00 1 True 219.5\n", "2019-01-03 13:30:00+08:00 2 True 215.5\n", "2019-01-04 13:30:00+08:00 3 True 208.0\n", "2019-01-07 13:30:00+08:00 4 True 213.0\n", "2019-01-08 13:30:00+08:00 5 True 211.0\n", "... ... ... ...\n", "2023-05-22 13:30:00+08:00 1063 True 531.0\n", "2023-05-23 13:30:00+08:00 1064 True 530.0\n", "2023-05-24 13:30:00+08:00 1065 True 525.0\n", "2023-05-25 13:30:00+08:00 1066 True 543.0\n", "2023-05-26 13:30:00+08:00 1067 True 566.0\n", "\n", "[1067 rows x 3 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results[['trade_days','has_ordered','TSMC']]" ] }, { "cell_type": "code", "execution_count": null, "id": "9108266d", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:zipline-tej] *", "language": "python", "name": "conda-env-zipline-tej-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.13" } }, "nbformat": 4, "nbformat_minor": 5 }