第8章2节《MonkeyRunner源代码剖析》MonkeyRunner启动执行过程-解析处理命令行參数

时间:2023-03-08 17:42:06

MonkeyRunnerStarter是MonkeyRunner启动时的入口类,由于它里面包括了main方法.它的整个启动过程主要做了以下几件事情:

  • 解析用户启动MonkeyRunner时从命令行传输进来的參数: 由于MonkeyRunner须要依据指定的參数才干做事情,比方输入的一个须要执行的脚本。

    假设确实不知道不论什么參数的话它就会进入MonkeyRunner的交互模式,事实上就是Jythong的交互模式,让用户能够边写代码边执行

  • 启动AndroidDebugBridge: 事实上就是启动ADBserver,由于MonkeyRunner跟设备通信的一个很重要的方法之中的一个就是通过向ADBserver发送命令来请求目标设备的服务
  • 启动设备监控线程: 事实上这个是在启动AndroidDebugBridge的时候一并启动的。设备监控线程主要做的事情就是取监控设备是否有接入进来或者移除出去,假设有新的设备连接进来,或者说设备变成ONLINE状态(一个设备有多个状态:ONLINE|OFFLINE|RECOVERY|UNAUTHORIZED),那么就须要取监控设备里面的每一个可调试进程,这主要是用来给DDMS等调试工具使用的。

    它维护了一个最新的设备列表

  • 启动AndroidDebugBridge:
  • 启动Monkey:
  • 执行測试脚本:

本小节我们会先去看下MonkeyRunner在启动的时候是怎样获得命令行參数并对其进行解析处理的。

整个过程事实上跟monkey在启动的时候的命令行參数分析相似。往下我们先看下牵涉到的关键类之间的关系:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgYAAAHPCAYAAAAoMBJBAAAgAElEQVR4AeydCbxWU/fHt0QK0UXqn8irlCRD80xSpIE3lVlEhCaKyFQyvURUKiSVRiIapTKVUhqQpFEoittVUbxk/z/f/baO/Zx7nueeZ7r31t3r87n3nLPPns7v7Ofstddeg1KOHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8Ah4BBwCDgEHAIOAYeAQ8Ah4BBwCERF4KCod5K/kc66k++dq8Eh4BBwCDgEHAL7PwI61Y+Qqslb6uEo54X2dVauU913V59DwCHgEHAIOAQKMgIwBfIHDv7zhLBJxaQtzIDUdbBSij+uhTngKPcT6qgr5BBwCDgEHAIOAYeAQQAG4G+LEeB6774/MgiDwDFuKhx3icgCNlPA5H/w4YcfvvqQQw4pvi+bYwYi8XJXDgGHgEPAIeAQSCkCBx100NdZWVnn71uAwzDwB+UJY0DDTP4wGDAGhxYpUuTozMzMo/7XJ/ffIeAQcAg4BBwCDoF0IfDf//5XlSpV6l9KqSL75uG/lFL8wRwwP8fNHCQrMZBnpfFD9jEITkogqLijQ8Ah4BBwCDgE0o8A8+5h+5qBEbClBnG3nixjgJSAOg7dxxgUc7oEcb8DV8Ah4BBwCDgEHALJIABjcIQ1/8oC/c/clhjQMH8oGsIgIMYomsyTubIOAYeAQ8Ah4BBwCMSNAHPx4fuUD5EWoIgoc3TclSUjMUBcQcMwBWwjIDWAMSDNkUNA/fHHHxEoHHzwwapw4exDjj0yrf/ZBouWL6KyA/jCj4f9qAUdGxsLzhljn332mdqwYYPatm2bOumkk1SVKlXUKaec4s/qrh0CBzICzLtHKqWQEKBfIEfO4yYm9WRIGAOkBjAH/DnGIBlED6CyGRkZ6rDDDvP+LrroomxPl5WV5d2XvN27d8+WL50JX375pTr00EPNX7t27dLZVKi6zzrrrGyYCDb0s1y5cgos586dG6q+AzXTq6++qk499VRVq1YtdcUVV6hu3bqpSy65RJUvX161bt1arVq1Ktuj//zzz+r77783f3/9ldA3M1udQQkwd9LO9u3bg7K4NIdAKhFgLmdxLtv6XCc8vydc0BJTUAfLQGEOUvmwrq4DCIFFixapvXuRcP1DCxcujJAW/HMn986QVvz555/mL52TRSqeiL5u2rRJzZo1SzVt2lQ9//zzqah2v6tj5MiR6pprrlHffvttYN/ffvttde655xqs7AyXX365Klu2rPn75ptv7FspPV+8eLHXTteuXVNat6vMIRAFAbbzWZzL9j6L9IQW6tnlulFazCGZxukM3Iojh0AEAqxy//77b/Xrr78ase8555zj3V+wYIE5L1asmNq9e7eX7k7+h8C///1vVbp0aXMBU7BlyxYFM7V161aDaa9evcwq+f/+7/8KDGS7du1SXbp08Z73hhtuUC1btjQ4LV26VD311FNq48aN6qefflIdO3ZUc+bM8fK6E4fAAYoAc7AwBZyzYE+IKQCfZBkDGpY/OpKMBOIAfV/usdArqFSpklq2bJmCEQhiDKpXr64+/PDDqGAxKa5fv1598cUXavPmzaa+M844Qx1//PHZyuzcuVPt2bPHpB9zzDFGr4FJ4qOPPlIlS5ZU1apVU0WLhtOT/e2334wkgcoKFSqkihcX313KpH/11Vdq5cqViomZeo88km2+f4h9b9G1OProo7Pd//HHH7366VuRIjD9/9Add9yh6tWr90+CUooyp59+ukJEDTPFc7Vv314hvoZhgNh6OO6447xySGpgKiAYNcENhg1sINqmj6R98sknZs8ejP/1L0yk/6Fk8EUykxNm5OEZoSOOOEKVKFHCSJrmz5+vKlSooNatW6d4LxDbCCNGjDDncn3xxRerk08+2UiiKAMuPLNfWsVz8sd7tYktgNWrV5s2qL9UqVL2bXOemZnpMbJlypQxdfzwww+KbanGjRubeqUQY5e2aeegg/75VofBgjpitdWkSRNpxh0dAiK5T4opSBZGRjh2kyWUUicppaoqpc7LyMj4TTtyCGitixUrhkahPuyww/Ttt99uztu3b+9h89///lcXLVrUpPfq1cscyX/bbbd5eTjZvHmzbtSokXd/n/mNPuigg/Sdd96pqcemDh06eHnnzp2rGzZsqAsVKuSllSlTRs+ePdsr8sUXX3j3Lr30Ui994cKFXv9o88UXX/TuUe+JJ57oleM+bVx99dX6jz/+8PJ17drVy3Pttdd66Zzs3r3bYEPZQw89VGdmZpr7p512mldm/vz5EWXkokmTJl6e4cOHm+SPP/7YS+OZbVq/fr1378wzz/RuffPNN146zz5s2DB97LHHemlgfOWVV0ZgHC++0lhYzOz30alTJz127Fh9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xwwfPtyK+GEgLrvsMstE7Lln0UeNLlu2rLnqqqvsOOhbSRHYQhGQDQXM68z1/GTut7rNwiZ84SyEQdhCMdBh5xIBVm1vv/22QTrABCd6X1ZhrNYrVqxo+GijJ44i6ixatMiKhdHnoj8+9NBDTeXKleOK//LLL2bDhg02nzbR+/7000+2fz7cjKVMGVRpyQn98a+//uoKwrwgzhdigv7kk08Meu0jjjjCiq/l3iizcuVK88cfxCEyZvfddzflypWTqvb4ww8/WCkFJ4wtbIPRu3dvc/zxx8fVOfjggw3ibBgrcG3btq1B1M14IFQPYCrEfcBUQIxfcIO5ABuIvhkjeUy4jB2M0dP7lA2+TNKff/65mT9/vmVmeBZhTCgDLhCT7h577GEYP9ImbAfQ4X/66adm6NChblijRo0yXbt2dedIEsCkadOm9p0CFybv8ePH2zLcs0gZ9tlnH/s+cr8ffvihqVu3rqlVq5ZriwSY8BPifWRM2267rR0jzwnaYYfojVpghkqD++aewPUf//hHXPlMnoeMafXq1ZYhQqK02267mTp16pjDDjtMLutREUiIQIEqQRb7PlOQsA4XYAb4GpY3xmBZ8w9jDF+rh0aMGLEpUFIEIhC47bbb4DLtr2/fvi79+eefu9KDBw+2+WeffXZw4IEHujI//fSTK7NixYqgSZMm7pq0uc022wR9+vQJ/vzzT1eWRKdOnVzZ6dOnByeccEKw7bbburxq1aoFr732WkydVq1aueuffPKJvbZp06bAzz/kkEOCNWvW2Gu//fZb0LVrV1dHxlSpUqVgxowZru0ePXq4Mh06dHD5JNavXx/svPPO9vqOO+4YrF692l7/xz/+4eq88847MXXk5JRTTnFlHnzwQZv93nvvuTzu2adFixa5a4cddpi7tHTpUpffsmXLYNSoUcFee+3l8sD4wgsvjME4E3zpkGdRvXp11zaY8Vwuuuii4I8//nBjmjdvnivTpUuX4PHHHw8qVqxo815++WVbrn///q5MgwYNXN1w4plnnnHldtppp4BnCjVr1szlf/zxx3HvyIknnhgsX77cNUcf8oz948iRIwPeT8njHQ7T6NGjgzJlyrgyUna//fYLPvroo5jimTwPGhg2bFiw6667xvVRv379YP78+TF96IkiEEagY8eO640xtxljTjbGwE3WMMZUKNilwPwfST5j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uGWCP20XVk/ajhpDUeT590F7iXApbJypjDHRPWZTlzElq5+o3yjsot5r/j9w/MW7ivdJAl7hGZJAWYVRpvUKazPqGt8knJMxNvyRMLai8NZJX9xDMnyjxlTMeSIIgA+In5RDnbMroZwxBj+edY0xBIQfPWLEiE1FEYmicuXKDCDyR4AVgqmMHj06+Ouvv+K6q1evXmS9qPbef/99V7+wPv26TZo0cXUk8eKLL8b0efHFF8uluOMDDzzgyh5zzDFx18m44YYbXJmWLVvGlPHHGRVUh8KfffaZq++PvbB0FJYxHUec+IGRpO2oMfXs2TNuPD/99FNci3Pnzo0JVCRtcixTpkwwdOjQ4M8//4yrR2AcKXvRRRfFXSfDD4z0xhtvuDL777+/qxs19vA99ujRw9VN9137+++/g7p167r+CMwTRd27d3dlqlSpEvz2229RxZLmLV++PACPqIBFvEd33HFHTGAgGnzuuedc34JpouPpp5/uxvDUU08VWo9APkcddVTQq1evmPt58sknXT2e48aNG12bfqJx48au3JAhQ+yldPGX9vzAVOF7A6saNWoEp512WjBt2jSpUmRHMPD7XLhwYcK2/f91vw7pZN/BbOpmg0+mzwQQxo8fHyQKknb22WcHCxYsiMQq03qRjSXIpO+TTjrJPru99tor4D532223YKeddgpuvPHGgGBm2VKtWrVsW9m2k239giBKxJZvZow5whiDa1J2HsK1ixQhxBL89wIFCPhezWMMHs4FY+D/g/CgNmzYEINDpi9mYf9Ifp9RjEE4ohkfQaLRRdHWzhgMGzYs7raPPvromI8heIYZg2eeeSbYfvvt48r52JMmylyYifEZAz7sPsMng8mEMXjwwQdjxsOE7VMm71qYiZwyZYrfZLB69WobZU/u+/7774+5nuoJ719hH3hp/5prrolpsrgYA+mP44EHHhgQnRCC6fGfXzgCJmUo678bMplmgj/tpYIL49x2222D++67z46zKP58+eWXMe8TfQwaNChh06l+k6K+g9nUzQafTJ/Jo48+GoeN/86QrlixYkDESZ8yree3kSy9cuVKy4g1atQo+OKLL1xxom0+8cQTNnpl7969XT4J3utDDz3ULtJiLhRyAjN67733FlIiN5c8xoBoYzAGNYwxeyHg8mwNTFiVIJyC/yBlh4JcK7LjRRdd5KKlEayE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PsGff/4ZU56TYcOGBbvuumtcnfr16wfz58+35V966aW467Rbrlw5e90fb8uWLYNRo0YFe+21l6tD/xdeeGFc/0uWLAkaN27sysk916xZM+jbt2+wadP/oDz77LNduRkzZgRHHnmkO99uu+2CK6+8Mti8eXNw2WWX2fuVtg455JDgq6++irnv3377LejataurL2UrVaoU0HaY3n777eDTTz8NZ8edr1u3zvY9ZsyYuGuS8ccffwS//PKLPV2zZk1Qr149i1X58uVtmvELNWrUKJg2bVowadKk4JhjjgnARaht27bBuHHj5NRifskllwSrV68OOnbsGHAv3FeNGjWCu+66y5XzE99++23QqlWrYO+997Zly5YtG3Tp0iVYu3ZtcN111wX9+/f3i2taEVAEFIG8QKBjx47rjTEjjTGnGmPqG2NqsSY1xpQxxiTUIOSMMWDy3XbbbeMmMT76d9xxh3tIK1eudJOBTHTh4xlnnOHKkxg9erRrlz5q164d01e1atXsJJYOY0CdROMdNGhQTP/777+/65+xhuv5E5PPGOy7774x9eQ+o5girjGp+sSEK3XCx5122il4/vnn/eJBrVq1AibiVKhZs2Z2op0+fXrS4n/99Vfw7rvv2rYZE+kFCxa4envssUcwdOjQoEqVKnaifuGFF9y1ww8/PBg5cqQ7HzhwYACedevWDYYPHx4w6fNOPPXUUwHtDBgwwJUl8fnnnweVK1cOjjjiiGDq1KnBqlWrgtmzZwfdunWzbcDgde7cOaaOnigCioAikA8IlHrGgInruOOOC6ZMmRLMnDkz8Cc1Vs1CV1xxhZvskDKw2v/999+D//u//wsqVKjgrtGOEKtV2mfFvXjxYpvNhHLyySe78kySTGCshv2Jd86cOTaPSr7EgPaaN28ezJ07N0AiwIQqk2/Dhg2l6+DDDz90+SeeeKJdka9fvz544IEHXD73IeQzBgceeGDw2muvWTyOP/54V55+evXqFTA28PAZDZEaTJgwwZVHmgDTwz3feOONLv+AAw6Qbu0Rhmbs2LExeYlOkAIITuDbr18/++xEShBVjzG3aNEi7hITOqt47idMUYwB9//II4+Ei9rJnrZ8CQzPBSYCCUaYkNYg5VHGIIyMnisCikA+IFCsjAGibVZh4Z+/KowCOTzR+mJsmAOZaFk5Qxs3boxRNcyaNSum2Wuv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N86dc/+XXHJJsHr16qBjx45BpUqV7L3UqFEjuOuuu1w5P/Htt98GrVq1Cvbee29btmzZskGXLl2CtWvXBtddd13Qv39/v7imFQFFQBFQBApBoGPHjuuNMSONMacaY+obY2oZY3AJWwab9niW4L85OWMMmGhk4gwf77nnHndr48ePjynHJOyX32233exEIRV+/PHHoEKFCjFl/PI777xzMHv2bFs8ijFYtGhRULFiRVd/yJAh0nTw2muvBUzofnt++qSTTgo2bNhgy/uMQbVq1Szz4JeV9KBBg1z7JGAW5Jp/hBGSew8zBrVq1QqYiFMhmIjtttsuuPTSS4Nffvml0CowD++++65tGyaA9IIFC1ydPfbYIxg6dGhQpUoVO1G/8MIL7trhhx8ejBw50p0PHDgw2H///YO6desGw4cPD5j0V65cGTz11FMB7QwYMMCVJfH5558HlStXDo444ohg6tSpwapVq+xz69atm20DZqtz584xdfREEVAEFAFFIDECpZ4xYNI77rjjgmeeeSaYPHly0LRpUzchspr87bff7N2deeaZLv+RRx6x+cuWLQsOOeQQl//qq686JPzVdoMGDQKkFFynL5loWbFCYcaA1eyBBx7oyvXs2dO1yyT5j3/8w11jxbp8+XLb9qGHHuryJ0yYYOv4jAH9Nm/ePJg7d26wZMkSO9HKWBo2bOj64LowHjABTKZMxoMHDw58RirMGMBcjB071rWTLDFmzBjbHpKI1q1bW2nG/PnzE1br1atX0KJFi7jrTOis4ufMmRN3LYox4J55hmFisqetTZv+J5SC0YGJ8KUwUq9v374WJ2UMBBE9KgKKgCKQHIFiZQw2b95sV2+svP2fv5qMGqKvSmBVzypQ6Oeff7YrT5kwp0yZYi/deuutVuXgqxj+/vvvGFXBQw89ZMsysSARkDYWLlwozQdff/21FXUj7j7hhBNsvs8YnHHGGTZf6rZv3z7gPoXee+891y7idZ+efvppd61Zs2b2ks8YMMkj/hZiEpZ+kE4IwYhIPqoWnx5++GF3LcwY+OVSTaMmQIR/+umn28mdfvfdd9/gpptuClAl+FQYY9CmTRu/qEtHMQa77757zOQvhXnW9M+YII5gBtMYRTBwu+yyi0oMosDRPEVAEVAEEiCQKmOQkfEhW/swuAtT3bp1Db4BUiHq+850dtttN9OwYUMzefJkW33RokX2eM011xgM8cjv1q2bwSnPxx9/bNasWRPXzYoVK8zGjRttfsWKFU3t2rVdGRz4LFmyxJ2HE1jRs31RiL58B0z0K0QfrVu3llNnpEjGrFmzXL4kMDL0jf0wnhQSA0fOFy9eLNmmadOmLk0CPwuXXnppTF42J3vssYfp0aOH/W3atMl8+OGHZsKECeb/2zsPMKuK64FP/lETawxBlCSWhNgJBgISkKJoEEERAwiKwipYQVAWBUREURF1EbEh3UVBRUVFBBUEEZBYUOyCFQuxxIINY7v/7zfuuZ43e+/b+96+93bXnfN979027Z47M+fMmVMuu+wyM2fOHPsefJOKoFUrVFCSwR577BGpPEj0Q0D8J4AHFDWj+hjpCKWMMyYPHgMeAx4DHgO5x0BWjEEumrHLLruUKwbLAYGPPvrIni5evNh07tzZYL0ggKY+RF+YB7m/fv16OTU777xzeJ7kRDMFpB88eLAljsIcEL5XYN26ddZCQq71EWsGF2BSNMRp1uv2N27cWGex2vswF2jn5xpwmgRTxg+TxXbt2pmxY8eaSy+9tMKq6tWrV2EaSYB1RhLAPBJI5wch0++bpF6fxmPAY8BjwGPAmKwYAwgJhNOFdBO5m5ZVvwuY0gnAOGzcuDGFKRg2bJg56qijrKnihRdeaMaMGSPJ7VFLIN57772UZ1zgpheA2EeZ1fXs2dM89NBD1szw8ccfN9OnTzd9+/a1efAKKMC9448/Xi5zdtTtx8yyadOmYdlIOyrLFLAiRyLQtWtXg3QnCg444ADTunVra1YZ9dy9V5HJqJs+ybWES0ZSFMcAvP/++yaJRCNJfT6Nx4DHgMeAx8BPGMiKMWDFqz3j/VRc8rM1a9YYpAJCDJEIPProo2EBiJ2x+RdJwWGHHZaygsWfgQuIpCH6rP43bNhgWHnWr1/fJoPQY78PIKZfsmRJSvZmzZpZUfrkyZPN6aefbp8NHz7cElFW6njyE8APQdu2beXSfPHFFyEh3XrrrcP7mZ7wzkuXLrXZli1bZnBXLLBo0SI5zfoIM4SDI9oLgxAHSDhk1R6XJp/32fbhO7K9EcUY4NMCHxLgy4PHgMeAx4DHQG4xEGu3mNtqypfGHjL79DADMAm9e/cOV/T77ruvYeWqxfKffPKJ3XdGvwF9A9FFoGTZBsBJEj7/BY477jiDo54VK1aYoUOHyu0Ugis38fKHJASXwPj5B3BQNHLkSHuOQyXZC8dr4EUXXWTQaaB8JA2HHHKI/U2aNEmKzPiopRC33HKLJeJr1641d955Z9iOjAt1MrRo0cLMnj3bOllyHtlLpBIwJ3H7+1F5cn0PRgypxvjx4+03d8uHuams9MQt0197DHgMeAx4DPyIgSpjDJAUQIBgANhPv+OOO2yLkEZcfPHFdsXInrd4QkSpD+LNdgXbCXKfTKyABSDYsk2AVAACh2j84YcftkkQoUN04gDmoKSkJHw8ceJE6z1xyy23NDfeeKNtFw8JNkR7KP++++6z6fGC6G5vhAUlOAEXPXr0sClRSjzjjDPMXnvtZbp162ZjOaAwGAXt27c3Q4YMiXpU7t5VV11l8dWhQweDVEID2xd4PgQHKH0K8J5RWzPyPB/HUaNGWbyjdIkHSwBGkfZPmDDB9pl81OvL9BjwGPAYqO0YqDLGAOJ83nnnpewTQ/jmzp1runTpYr8L2wAQY9HoR7yNRcBZZ51lxf7y8dAFQAIBoK2+atUqG0ZYnsuxY8eOVkIBkU8HpEMCAKCxP2DAAHvepk0bQ4RIpAcuQFCRfMjWhfs86fVNN91krS90ehT8UMJ0lRglDdsqQjzlXtwRBU8YMhizAw880Co1sk3Cfv1+++1n+AZsW2h9kU6dOlnRPXofBGAqBMh35N3YTgCvWCNgOQFDg86H1zEoxJfwdXgMeAzUNgzg6VAD1wQgIGDBNsYYAgTUMcb0KSkpObG4uDjnjAQEHaVDtgFYHYsVgG4USoiI7FF023///UOJgE7jnlMuZm+YT8IIoMgHYckFsHWBMiBl4+ufuAeiK5GL8ikD/YvVq1dbgsjWSpwlQ2Xq4x2wsGDLBELL3n7Unj51sFqnPZheIkEoJIALYlOAB5Ga7L777ubUU081xcXFhWyKr8tjwGPAY6DGYqCoqGhTaWnpRGPM/eyWG2M2GmM+Z4pHP59Au7xcVsqHucQKBM81zXPLZ2Xo2s289HoAACAASURBVPW7adxryoXQ8cs1wLxAINMFQapsnTAabBHkE9CZEL2JiupBqRKJSaEAfQukSkiPwIX2l0BwKSQJBx98cKGa4+vxGPAY8BioNRiIkwDANYinvVqDDP+i1QcDMIODBg0yL7/8ckqjkC6hYIqORNSWTkpif+Ex4DHgMeAx4GJA6Dv35TyF3qeTGIgbQDm6hftrj4G8YeDKK6+0ZaP3wBYC20CYKOK/AGuTylh/5K3RvmCPAY8Bj4GagQHUBoS2yzFseZyOAS7qti0Lv4wq/KDWrVt3JSgR/oHC3P7EYyDPGEC3AUdHn3/+udluu+2sAmZFyqN5bpIv3mPAY8BjoCZiIFiwYAH6WtjUE3sAHYNPlI7BtxXpGLjE/5vvvvvuF1999VXc1kNNRJJvcw3AAPocWGOIRQaKnzg48uAx4DHgMeAxkBkGfvjhh++MMcIAQOddWm8LdLcSkAjIT9e4qWvXrkFxcXFkITqhP/cY8BjwGPAY8BjwGKh+GCgqKvp27dq13xhjWOTrHYAUuh8lASABIEoJMANyr+yRP3gMeAx4DHgMeAx4DNRADEDPoe+AHDkP6bzLGGjRwi/LuIqUDLYo/+cx4DHgMeAx4DHgMVBTMSBMgND8FF7A3UrQLwknIdyE30LQmKnm5ziEwsyPHzEmcAaE8yj8LkQ5kMr163z88cehm+q6deumuK/OdV25LG/KlCnmX//6VzlnVSg+Pvfcc+aVV14x22yzjcUl8TRy4XQKz5q4v8bBVyEBd+FYeQjgEwLrD7yIahfjOJESF+P33HOPDVwlsUQkbzZHeW/6Y5Jw3JIenEt7sqk3kzx4WaVthRgzUe3CSRsRUV0oJA7cuqvTNdFyMV/G0Rz+avCHw/jMN0hfLPSYzfF7CU0XBkGOsdXALIDd3xtjiCZ0gDFmUklJyfeBh2qNgW+++Sa4+OKLg1//+td85HK/f/zjH8Gzzz6bk3f43//+F7z99tv299FHH6WUedJJJ4V133LLLSnPquvFxIkTg7/97W/BDz/8EDbx+++/Dy6//PLgN7/5TbDZZpsFe+21V/CnP/0p+OUvfxk0adIkeOKJJ8K02Z6UlpZaXFFXIeHkk08O6tevH/Tt29f+HnnkEVv9kCFD7PWhhx5q27Vx48awWTfddFPQsGHDgG9fWZD33nrrrYPPP/+8wuLOOOMM254WLVpUmDYXCT788ENb33PPPZeL4rIq4/bbb7dtiBrL22+/fdCoUSM73t3xl1VlNSjT+++/H3Tq1CnYYost7LjcZ599gm222Sb4v//7Pzsu16xZk9e3kb5b6DGbi5fq06cPmtuXG2Pw+b+fMWbXMu/GW2hFxBTxQRmrACeh74uoIZaT8A+qHgOsOgkWRfwJVjpRQCAqgj7pyJRR6ZLcI4w17pP5DRw4MEmWapvmzTffNGeffba54IILUlaHl156qQ2WNXr0aGsJgVtm3Gy/9tprhrgRrLLdGBVXXHFFRvggDggutatiVcrKf+rUqfZH3wFoP/eIR+LCsccea6UbBDnLFfDeRA9NB/Rtoo0WYjWYrh1V9YzYJgQ4kx+rZHCGdAt/H+3atas1ljqPPfaYadKkidmwYYN54IEHDNJRJAZyRCpKBFli7OQCosZzVY7ZXLxTGQPAboCoC4j0ICxeMwDc1EwA53Cscr/s1B+qIwYuueQSw6ARKCoqshErCfpEREJiIQBMsoiHiT+QLyAA1Zlnnml/BGiq7gBDsMcee6SE7Ia5giGA0YLxIU6HwK677mpuvfVWi1OieWog0BeMRlLo3LmznfCrgjFI2kZJhwibqJdMlrxnLoDIoaWlpWmLuv/++61IvVABvNI2pgoewsDBPMqvUaNGlhngWxDwDIZhxowZVdCywla5adMmywzh9Gz58uU2CJxE2aVvsl16++23W2a+b9++dvuvsi2MGs81acymeX+h7yKV0rQ/NlaCJIZxED2DNHUYO3C/+w4TSWODFiWd6NhDw5sdQEAiuDH21h599FG7isLtLX76NUDcJAwwqwgC67Dvs2LFCrufTvhjgc8++8x2EPZTScvgYqDpiV7SyhGiABeKP36iDBKqmQiHUUBbWElSPvWyIuc94uDpp5+2gYtw3AOxJrR0XJRAiDfBo9avX2/TQLwYFC4wMehwzzfccIM55ZRTwmSsBgnnTLwJ9A7AN4SbSI4AQZREykCAJL7dBx98YJ544gn77m48Bb4PPwF8C4B/Bid5mcDh2oGo4FJJvwl10DaAvV7pGzBAtI9vGRevIinukADMmjXL3HXXXbYe+QNP9M1DDz1UbqUcaQ+xLGC8sgHKzmSvHD2HdP1Kt+HTTz+1zqD4HrkG+hHMEMyBeKesTB29e/e2khf6OAxXFMycOdN0797dQBjSAWOKfV/ChieFTPCatEzaudlmm6WdY5KWVVE6Vs8w30gRcgXgESdiSftPJjhk7OOoLCnocXLNNddYnSmkAS5N0OUNHTrUzJkzx5x77rnm3nvv1Y9SzimbX64lUcyH6OkkHa80KinO8eEC7UpHv1JeMv2F0HlSwRjEAg/Za+DLaR2DKRXpGMgeIFIG9p6TwqOPPiqNC84888xg7NixwY477hje22qrrYJJkyalFMe+n+y7sVc6a9asYIcddrD3Fi5cGKadMmVKsOWWW4ZpJc+f//zn4MknnwzT6ZNrr722XJ7NN988KCoqCr788kudNHjooYeCXXbZJaV89rmOO+64cvuwL7/8cnDAAQekpKU9vN+5556bUi4X4IH9V2mzHNkHf/7551PSjxo1KkyHd8o4uOOOO8J0v/rVrwLZI2vfvn14/+mnnw7atGlj9+ukzgMPPDDlm5Z5wAzzSLpx48bZqtPpGGTyTd58882wjqOOOiq44YYbgrp164b3fvGLXwTHHntsgG6FhkxwN3z4cKs3oPNzzt465c+YMcN9FF6z1/7ZZ5/Z648//tju+dK+7bbbzp6feuqpYdpWrVoFixcvDu66666gefPmwW677WafLV26NGjZsmWYjhPe84QTTgjYO+7Tp09Qr149+8677rprMGHChJS0cvHOO+8E+BpBb4DvwZ4rY+OTTz6x/Ys+ooFn7dq107dSzu+//35bjtYxkATXXHONLd/VNVi+fHliHRbZpwV/7BGPHj1aik850n766rJly+y3dnUM+PbDhg2z+h+MPcYM4+zee+9NKYeLTPAap2NAe9jfRjfj22+/Talj8uTJQePGje2+N/vf6KHo+Yi28q1nz56dkk8uvvvuOzv2br31VntLdAzee+89SRJ53GOPPYKhQ4eGz+Q9wxvq5PXXX7d987///W94d7/99gsef/zx4LbbbgsY2+jQMC8dcsghwVtvvRWm40TKzqRvvvvuu0H37t3Dfkwf7devX6RuSdw4oW7G1oABA1LaE3cxb948239ffPHFMEnnzp0DcPrSSy8FHTt2tO/JGN99992DQYMGBZs2bQrTphvPUWOWjODw4IMPtjpJjEH0kRhnUWMoE5xT9rRp0+ycIWP78MMPD6BV9JlMoEzH4ApjDBHotI4B2s+xzIEwBr8xxiB7RvmwlTGmIIwBE58QGfdIhxTQjAEThSb+MhAvuOCC2LIom4HLRKZhxIgRafMcffTRYfIHH3zQEg63nXLNpCsd7Ysvvgj23HPPsOzf/va34SCR9FdeeWVYNsRT7jPZNWjQIIVQ/+EPfwgJEpl69OgRptd4CgssO0GxDkU6KfvVV1+1TzRjEPcNIGTyPtkyBpl+E80Y8M7gQtquj5qoZIo7BiiTfBSAFyYxGMCKACKxcuVK+y2Y3Dh/4YUXwmx88zFjxgQ77bSTJdRCuO65555g2223DdNxcuGFFwZ/+ctfLMG84oorAoj+Bx98YCduygGPGpjoYKYhRIsWLQqY9FevXh2cdtpptgyYqhNPPFFnsRNWtowB9YF/GB0NTIT0xSQgjAGKhzByvG8UsCigXPouTKBmDOiPMAH0TZjeDRs2BBACcAYzUVJSklJkJniNYgzAKziGuLuTPQSrTp06wY033mi/F2OLMQ2BhWEQ4DvQ5iiAGUPJVRiBJIzBY489Zr8FeQV4z9atW8tlyhH88O2kDh5CHFE2pV0rVqyw70Y6iDn9VafNBIeUzSKGMrp16xbQVhgKmDzGCMq8zI0a4sYJzAXtlvld54k6h7CTHmZHAAYKBuB3v/tdwCJm3bp1AeWysGT8/P3vfw/nuHTjOWrM0v/oc5SPUjL9h7FIX6He//znP9IMe8wE57wD78I4YeytXbs2QFkaJvjss89OKbeiizLGoKRM+fBvZcqHvzPGJGIMtjfG/NEYs08hGQNenoHPgKADwLFyjx8SARmMmjHgGRxu27ZtA1ZoPIPLFc18VvvXX3998Omnnwbr16+3k4uUCYETLXSeSR6eM6kwsTMQ9P033njDrhT23nvvsG2s+JGSPPDAA8Ff//rX8P7NN99sv9PcuXPDexAh6oTTk4FPfaw0BNA2lveCwwcgDnCj0nY6p4Ck5xkMSzqAEEoZ8+fPt0k1YwAuIbQM3quuuirl3SFsAINZVpSUBcPEt5EVZJTEIJtvohkD6mHyQuOYb6CZIawtBAQXvEdFuIPYUi5EKgqYXOhXpKFcpAv33XdfClPm5jvrrLOCI444wr0dMOGxin/qqadSnkVNMvQ56mSV4ALEnrJE2sNzcMGqW/Cv82BlwCSUS8aA8mGYWKlroN/E4VKn41wzBvRtmD6IkgsQq/PPP9/edhmD8ePH21WkO+mSGGsYJmotvcwEry5jgCY8Y/uggw4qR8xoNwT9mWeecZtvCRMrXbG8IC3f9pVXXimXtmfPnil9R+YH+jvSSvkhZYE4MD6ZF5Eq6W/Pe2bKGLBw+eqrr1LaBF7pO3rRkgkOKYw5XC+opAIIL/iE2GmIGycPP/ywxRuEMSlQFlZaAhBo3ufuu++WW+GRuYIFJtIwDVHj2R2z4I3xwMLSBZhXpLz9+/dPeUQ7kuL8yCOPtHhMKSAIgpEjR9pFhSsxddPp6zLGYJwx5p/GGBiDPxlj6qIB4BgdpGwriMSgShgDPiQDUACkwnEzkPjBgQEuY+CaxIEwydOhQwcpzh4ZVAxieb5q1Sp7H6In99gK0MBHZVXCDyKvtz8gGBrmzJkTlgPBBaZOnRreg6GAqMogXLJkiSXm8m6k/+Mf/ximp7O99tprthyYFwg/PyF6PGClIm2Pmpxs5rK/f/7zn2FakS5oxsDd1pCJgPL1Sgdpi9TZq1cvXUUQxRhk8000YwDhQIwrwEpE6mdyFMgEd6yqKUNM9aQM98ikxFYZKxzSw2yCM5gnF6ImEtLQt6MmSHeSIS04xxxNE3+pB8aENsC0ABzBDSuWKGCFxhjKNWMAM3bMMcdEVZnonmYMyAA+6Tca6PdMoEJEXcZg5513Ds477zydJTyH+UZErJ9nglfNGLCq5Nszl8i4DSsKggCxLsQ5CmgHUji9JQVB0O0iHwsXFiDMLwLCGEg/jzoiqnaB98yUMZBtQLesZs2aBQMHDgxvZ4JDtmtpM4xNFEyfPt3iRj+LGycssigLPCUFTGv1dh6MQdOmTWOzs5UNs6Ihajy7YxYGHqY/rm2Y+SKh1lvR9OukOKdv7bvvvuEiVtoHs8nizpW6yPOoY1LGIGvtJEyXcCohPxSEBFq1ahXe5/nDDz8sj9IeUdzTSn4oElGWAMqALqA4gkKUBhQHBdCQ14BCSPPmzcNbklaXLYpzkujaa681b7zxhv0dddRR1tGNPENpD8Uo+aHIJoB5IIBZkTjDQFGxQ4cOVpGuZcuWhjRo0+p29urVS4owWBs0aNDAoBQopoik1QqBu+22W5i+Im1xUdokg84nBXTs2FFO7VFrgmscpSRKcCF4Jql+V67jvokuFiVDlA8FtKIaCqACmeBOlF4lQJOU4R7btm1rrr76aqtkSp7rr7/eKkVyf/LkyW7y2Gvdl2MTlT1A0TRK+Uu+O0pTAMqTKGkydqKAcNUNGzaMelSpe4xTFEBzBSghojCmFQxRjmUsMoe4gMLb22+/bTXT3WdcowS7//7722+mnyfFq+R56623TJs2bazS7hFHHGGV8uSZHFH8o1xxKqaPa9eutWMXE1cBNOaZL1FSE7jtttvsODj88MPlVnhk/kS5WX4oG3PvjDPOCM1Nw8RZnsQ5raK/SV+TopPiELzUr1/fKjZrnMg5Co58Qz1+qSNqnDD/AXr+kvbEHUkr+SQN3zIOmjZtahXO457H3WduQ0k+TokcBXNwyFjVkBTnxx9/vFVYh27Nnj07HHfQvk6dOqVVxNT1ZXKeNWPw7rvvWntuOjw/7EgF0DCW+xzRuEwCEEAXMM0RwKOeCxBV1wJC25bjDcsFPqKApKXNAtjmpwM6s8C6deusWeAdd9xhj3iHE5D3xmoCk0Gt/UpHWbVqldWc5R00Q4F5nNuBwTcTJaYyECS0ewV0B0tHvLEc0KZ01OuC+w3Q/BeIwr88q+goeCZd0m+iy3SJdxTRJH0muBMilE7DWbeBcwhiv379rGkoTOKAAQNSPAW66fW1Znr1/ajzJN4AySeMINYzcVBRf47Ll+4+k7r2kJgubZJn4BIGR/vYoL/DMEQBBBvQFkhuOoiSHqs8T4pXKatnz57WcojxO2zYMCP1ynPGMX2b51ipRP3IoyOC8k7Y4eOfQKC0tNTA1EZpmzNO8UopP8akMKuYe2JWW1nIBC9J0zL3Yx0UhRPunXPOOdYySxh0eYeocSLMIQu0JEDfJFw7TIyGdGOBepkTsOrJBPi+FfVDysu2L+IvhQUkC7n+/ftbSzmYGCyDXKYtk3anS5s1Y4CJDKsU+emPSceV+xzjOCm3YXxIFzCZE4j6qGLHKmk46tUkjnhc0GVKWm1W53KlEFTcb/LjXHwCUC7cP9x71O+hhx4Kq8Z8kEkcRy1wgLoMJo2TTjopNNukky1btsyaIGFjDwetJwxseC+88MKwbE3gWcHqlUiYyBhre89KCwBvOOlxwf0GTz75ZJgkCv/hwwpOBM8kS/pNKigy8nEmuMNdMxDl0wH78IkTJ0bWwU2+x+DBg+1qB5PSJKC/YZL0SdLstNNONpn73XRed+LVz7I9pz7BX7Zl6Hz0R+3TAHNlCO7RRx+tk4XnshJMJ7XA1DXdhB0WlubkmGOOsat7GM5mzZqZk08+OSU1Jqcw/JhuQiDifuPGsa37I8DEsdITJzy42uZ98T2SKUA0IDhRfTiqLL2Ai3qey3vMqcwZcTiR+/Itpe6occJ3pDx8WiSBBQsW2GR6YcmNdGOBPo1kNym9knbQ/or6IWkr0xcxS0WixndGEoOUfMKECZZpzQdzkDVjAAGCaMhPi/P5KHKfY5RoSJCqj6yghXBxH+5NxPFcixhV54k6h7MWWLx4sZzaI9zg6tWrw3uSVq+U9XMSIkKkw/BbuXKltRuWAugQcO/ygxHCnwM/4azZihgyZIj1rMf2AWJEJj3qkYmdd0VEiASCtPyw18eJCYwAHaK4uFiqTcELk5cwSJRx2WWXhenkBEnByJEj5dKceOKJ5SQtPMSbmAa9qkmKf51fzgXPXCf9JpI36TFT3IkUImpQI3mBGGjJjNsOya99Orhp8n3NSgqJmWZ2dZ0wnYigcw3gLJ2UIpv6+vTpY/sGq2mkBYw7pG1RwOSNRGDNmjVRj+095p7KOthCXI90ChxPmzbNjn/XmRBzB7E04oD5UG+lkY7xN3fuXCt1QVqAFC3KR0lcmXJfFmSaMWDe0deSliNbG4UC8IIkNm4MsfrHf0iS8QP+kTDglTPu3fR7jR071iCFcr9/1KJE8jGGZDzJvSRHJLYvvvhiuS0RyUs/pP3ErMkGYCBF2kBfhNnBUytzM/2fuCe5hqwZg1w3hPKYENiPX7hwoRWzs2/PKh1AJMReTRJgdS7iYZCH8x86KEST1TqrfgCGhVUAwMqEjwfQ+ZgE6Lg41XjwwQftfToNzoLYihAiiQMNHL4g6mfliOiRPXR+kyZNsvlwasSKgR8rfXkn9s01d4qoCBGtpMUtrTguYVWiO5bWD2AAaje1w4cPt178CAo0b948y5AgehIxHKt33P1GAXoM1E+HAwecCzBxCwiuuIYgw+ik41yz+SZSV9JjprgDb+CV7+MCfQ3mDqYuDpjUGKhRWyNxeXJ9H72Lrl27mvHjx0dOsLQ/U9FoRW2E2YDAZEPI0pXN9hkrTPode+5x2whSBgwxuh/uHjXPWVnSRt1nJV+2R8ZcSUmJlRTJFg5lMacw1qJW42wxIh1wiRm6POjW8J4sFE444YSsmiWMkya+tBNCpbcNpXCcnxUK2C5glc/K1gXGFnM982vctqCbByYN50hIVmSb1k2DtBTHRsz1ek6UdBBRpDMuEGwOho9twkwBvRAWdlrPTsqA6UGapBdv8izpkS2DKBxCjxj/zL35hiq1SsC+NErzlnta61pbJeCMJwowN4wri/vYgOKQQgNaz3F50CJFi1YAjXTuxaX//e9/b+2qSY+JnTZ5RKsd216dH2sBMZ1E21uXi9UBWq9yD1M8VyMeDXZtcSBp3SMa6toCgvZpq4S4b4DJjdaSx0KA99Dli5ZtlFUC9WT6TbRVgrZfpyw0fKVuNPgFMsVdnCkQ5aGljMY/zoG0RQTWMphwYQ6nfSiQBxygye0C2tZ33nmneztwNZxJkKlWOeMBp0o4OBLzPDSVMeejH2IKm0urBPoPuBdrAXkp+l9xcbFcpj26VgmSGOsV8IqlietAyLVKwMIIywT8MYjmO2Z7mKOBj8GDB0ux9pgJXrVVQkohQWDHGf1GAEsFfI2AZ74FAP753oxz/AFEAU6JeE801rXDIUkrVgnaj4A8kyNmi3wLrFUEwAvjGCdCX3/9tb2NOTHX4pBNl8k8FOerA0sardmfCQ6pGD8UWIEx9kV7Hosi5gjMA11Hc3HjRN6N9Fh5MB9hnSWWALwn1mL4S2CuFCdRko8jVgnMdfgsAF/0L+ZcnLqh9R9lPhg1nqPGLKajvA9+LATn4nSM+QmLMg2Z4Bw/GPQRjmKaSx2MNd7VLVvX454ntUpwGY0qZQyY1C+55BI7WGTShyjiLU5DEsaA9DATdDQpS450qih7WOxBcRihCTZ5mGSiJnVM9ihLypUjduzYyGugE2sfB5IWIt+7d++UiQEzFMzjmCAlnRzx2siEEQV0cnw2aCdGko8j5lbazFHK0IwB/iNwygFBlLw4yNGEUfJhX06HlXQVMQbky+SbZMMYZIq7mTNnWqYtamKmP1x66aW2D4EPTCExWeWcyYX3FWZOcIKHSyYICBY23AJxE17UJJPp5Esd+NwQHxUQI74LDlsg3pjTYXaloTKeD+mbmIK5kK2DI10O7aU/4SjGBZcx4DnmzTBEjFm+CQw449W1RydtJnhNxxjgk4M6tJk0ZqNdunSxRBCizNiFIIIrbaam30mIOsQsCpIwBvhDoT6YWA2Y2OIUjH4AM8A8A4MiptaFYgxoE+/Bt6EN9E2+L2bbmGq7EDdOdDpMcMEZizu+O2OS92Shgkm1diym88EYYKK9YMECixOIKvXxnZizxQRY54kaz1FjljwwI7wnbcGvAW3DDwrzmAs8S8qMkfeyyy4LTfeZW+hf0B53gejW414nZQx+lJ3/xB5wTbSYrcpCL+MauY4xpk9JScmJxcXFdusBMc7pp5/+U64szxD3I4Zj3x1A3II5BvspiJ7xN46oPamoKaoZiHLQW0CcilILohfZj49Kzz1E4qRHZEr96dogfrF1+WKa6JZPWkR+aMxSB+1ANIYIPArYciA9+AYX4CtdW6QMeWfyUg8iS/KJzoOk44h4bsSIEeF2CeJXtm3wN852AqLKqHxShihmcuS9oxSHJK0cpX0aZxV9E8mb9FgR7tgiQXkOkSbvyxaQjjeh6wH/iGbRsuYd2YphXzHuO5Me/RG2ilzFKl1uPs4RWWMSi06HiJnZgiJwltZRYXyhR6EVZHV70DXBrBbxuPZtjwid90Lcj8lydQHGFPv8mGfyvpWZMyrzTpgv0w622tjfZuzFAbhk62T+/PkW13Hpsr3PmKTPskULTrTCc7ZlViYfIm/aw/hB8bmy34h5ROLUsLXL1la6uYrvgcIwfR+AztAm8qWbfzIZz8zxbNmCc5TwmXdzBWxX8L70dfCnt5OT1lFUVLSptLQUrWq0OAlEgzkhGumYDrJv/1MQHFVoIokBHJusEitzRMQiHCzliMMU7bymMuX7vD86hkqHB1bwWmLAKgbAgU26fDX9mYieeVdxUMIqsSYCDrlcqZq8B+5Z+VaISzVkKzEQR0+Z+mjXdfvzHzHAKhCxuN6i87jJHwZEYpC/Gqp/yUklBpsppiDxKSuRXCg8wDFGKcjA2eWi/MQvVIsTohwU5aQHpcV0yoQ1HWViDcJ7oPiFZjhKPlEWHdX9XVmVDBo0yDrK0qarKK4eeeSRdjWqfXfI+7CiFKU1pFZIe5CusephleQCCrYo5iJNyCSCoVtObb8Gv0jm6G8oAVd25Vzb8enfP/cYyIoxQEyWK7FUFGOA2DxX5eceZbWjRDHFqw1vS39GNI6VCmZAubTPLwT+JPwxIlG2EBCnY6KIzfZxxx0XWsfotkCMCFNOWuDmm2+22ymIZNniAVziD9OEGBbLHA/ZYQBbebaXYLqxhMrWGiG72n0uj4FkGMhKxyBZ0clS4YREnFEwKbke/5KV4lNVBgM482FPDMD2V+8pV6Zcn7ewGMAxF/vb7J0yltjjrGlMTmExVvja2BfHrJkx5nrlK3xraleN+MRhb74yjoZqOsaS6hhkJTHIJXJYmebS1jiXbastZel4CLXlnX+O78n2iN4i+Tm+Y01/JyQ1+BTxUHgMJPWDU/iWVb8aq5WDo+qHHt8ijwGPAY8BjwGPgdqFAc8Y1K7v7d/WY8BjwGPAY8BjIC0GPGOQFj3+oceATrnk8AAAFq1JREFUx4DHgMeAx0DtwkDBdQwkToCgGc1nrBBcQGsXsx6BuHTy/Od8RGEpyh+8vHM6px6SprYd6Ts4U8EsjOh1mNhiyodjokIoV2IKiHkfQP+uSQpP+P3Hjz2mrBrA48svv2wjyeGnvWHDhuXS6PSZnIMv+nic06hMyipkWsKso0SoQ58Xsn5fl8dAPjBQcIkB5lEMfvkddthh5d6LgBbyXI5nnnlmuXT5vEE0NEKq8osL/ZrP+nXZBGIRPEQd8a5GMCi8ekXZn+uyasM59vsoGuHtjQAnBKMi8Ar3UM7Ddjwdo5UJjjA/w+cGP7woCmAqiIc3fu3atZPb1f5IkJ3rr78+NGOkwXh9JLwvBJCogAQuwj8CJsXnn39+TvxdzJo1y3oAhQmuSYDfB+aHn7PPj5r0PXxbc4OBgjMGbrMxIWG1oIHwy1paoJ8V6pz6IR789IRfqPozqQcXmYT2JMIeYZ/FDj2TMn4uae+8806r9R0XXhW3okRfI0x2Lr4rrpRxa8svyidHTcIr7cePwwUXXBBGGsWcGKsVCB/SAq5hvD7++GMbjY4+RzRPDTCnhIbFfWtSwFU55pU6amfSvFWZDrfQzBFRkfyqsl2+bo+BymCgvAy/MqVlkJeVOKsDiBoTTZMmTcLcK1eutOf4ryZegYefMIBzFFZrAuI/G2YKQHROaGcm7NoGEC1iAgjBh1gPGTLE9i1s/BH74sgHAF/EbCfMdD6AcM4i5apXr14+qsh5mTAESAV0/yJsM0wB4cUh3gKY3RHbBKKIkx6kMhIXAkYffwr0zaTQuXNnw6+mAXgYNWqUlaScdtpppn79+jXtFXx7PQbKYaDKGAP2XdnzxdkHjEAUY4C97yOPPFKu0XJD9pGZhNjPpTxWHTvuuKMksUcYEIgGwH48Exz3HnvsMbtfSh4CwyQFVkRMiAATg96z5r4E9mBfmRW8DqSCjsUHH3xg87I6kslU6oYRktjtbBu4Hgh5RyZrF1gFIyIHiEUvjAGTOmJtwC2PCVwcG8GoCd5wkyuTOvvMfCvwt3z5cgOR453cwE/Z5LGNMsa2D+aQLST6AfvX7soRnAiTiAgbvBOEhi2fQw45xBZFQChE+wDflABBGn/dunWz0gQh2BdddJHdS99nn30s8RM88b2kjxC7nbbgUpggVhpcSRd9ih9tgzFgaweICiyVtO+SvzK4ffrpp826devsFhN4YzslKrDL66+/bhDn33XXXfoVLdPevHnzFKZAJzjiiCPsOzOO3b6s08Wd0z/pe0mAcUe/A78VAeXy4zvkG3r06GHoS7g4Fi+U+a7Tl+8xUEgMJAqiVJlQEVtttZUN6kJ41AEDBtjzHj16hEUS6pawtQR+IQSyBOvp379/mIaTd99914a0lOdyJJwlcaopR0CH7yWEMKE369atG5ZNHkK66jw6tDN5BFatWhW2jzqnTJkij2wYTYl3Lu0hRC9BbogTDxCOmTCf8twNgzxq1KjwmcS2v+2228J7OpRvWHEQBCtWrAjTEPJTQAepatOmjdy2x9deey3MQ8hegaKiovA+oUHJp8MwE86VMNIasslDfPZTTjklrEtwUq9evXLhRAmtK8/XrVtnQxrz3Zo3b26bwbfTeNXx6XU7CZOsw18T5hvQeCKE7dixY20IVamTfktseQFCt8ozfdx2221tEvqn3CfOu4ZM+i75ssEt4WIJQSttkCPvce655+rm2PPhw4cHhE12gT7YoEEDG7vefSbXGzduDMfOmDFjbEhm6tt9992DRo0aBc8884xNOmvWLBsu96uvvrJjgn4q42fp0qU23LeUyZE++fjjjwf0//3339+G7aX9jAFCH0cBY7tJkyY29C1tIDQtYXLffvtt2xaJZx+VtzL3CPNMGF8Z55Upy+f1GMgXBpIGUXKZjoIyBkwUDF7i3AswEXCPWNszZ84MJzbNGEBcIR6ki/t17NhRirTxsCUdRE0TObnPcfTo0WGeKMYAQrrDDjuEdQpRIROEEkKly9Pn7dq1CzZt2mTL79ChQ5ju6quvDuvkREc1XL16tX2WhDGYOnVqWKZmtDTBy4YxcBkdeScYKx2/XBOvpHlatWoVtlnKlSPxxpnQBTRjcPDBB4f5hDF46aWXwnvEfE8H48aNC9PCtAEaT0S8k3a4RwgPkC1jkGnfpa5McQvDBTMibSfmvDterrzySvse8gcR7tu3r1yGx+XLl1uC3K9fv+Czzz4L78edwOgyFqh7+vTpwcqVK8N8EyZMsEwZZfENr732WkuwKSsqxj3j6dBDD7UMDowvDMiLL74YdO/ePeAbv/feeynNGDhwYLD55pvbcQxjBBNA9FDi148YMcK2KY6hSCkoiwvpf4sXL84it8/iMVAYDNQIxoBJRCYvVvXA+PHj7b2DDjoomD17dvhcMwacS74WLVoEhGn+8ssvg3nz5gV16tQJn8mqUUsMyMdks2bNmoDQuxBRKQuiLOAyBoSa1pPtoEGDJKldTe29995hOazIWKE88MADKavTm2++2ebRDA9tEaAOYVoIESqgGYN99tnHTrhMuvyYXAmFK5IYVi2svgQ0wcuGMdhiiy2C0tLSYMOGDcH8+fPtqkjwdf/990s1KcQrSR5wIeU0bNjQEtp33nknGDlyZHifFaeAZgzIx2Tfs2fPgNC1wNy5c8N8LVu2lGyRR0IUS91Nmza1aTSeeEa/uv3224OFCxfaFaqkhzGEQH377bf22LZt27Csp556yt6jwDiJQaZ9l7I0Y5AEtxoXEHukJIRJ5n3kPRo3bhziBmaF+3znKJgxY0aw3XbbBUhDIMowR4y5OAA/lCeMraSDMaD9jDk31HAcY8CYQ8KgAYIP06CZmxdeeMHekzGm0/MtCPFOm/LFGFAfEpBhw4bpqv25x0C1wkBeGQMmGga9+2NwVgRCwNhKAOD8GbBID4Bu3brZazj8KMbg66+/tqsC8vD797//bfPJ39ChQ+19ngnR1YwBhPeTTz6R5HaCk7KY9AU0Y4D0AaIq6Xr16mUnW0mriQqiUw1z5swJ87Vv394+YuUl2yWsjD///HN7/9Zbbw3TsqUgoBkDaUPUcccddwxotwbdtmwYg8GDB+viwu9D/dddd134TBOvJHnAhbwDhEwDzI88o/2AZgwg5u7qFcmL5NFbP7pcOWcVK2lFuqDxxAr7/fffl+RW0iP9lnyLFi0Kn2npxSuvvBLej2IMsum7FJgpbrX0CIYVBk6I65IlS+yKXr8D45j3euSRR8L2uydIhyDshx12WMgcwpydf/75ITMkedIxBtQTNU/EMQZId6KgWbNmARICgbPOOssy4XLtHmVeyCdjwMLimGOOcav21x4D1QYDSRmDirV43M0GY6zWNwpo7q979+4RqdPfatGihU0glghybNmyZWRGFKlE8Q8FMTcgiSiikRnFNBdQMtTa1diZC0i5ci3HhQsXpihBon2sleNw/CLw9ddfG/AgPxS6BDDNBFBuQ2kLQBlx8eLF9pw49wJofGcKKDXOnTs3p6aeWimU9iTBV5I8GmczZ84M8QXeUBoTEJzJNUeUvbRCJ/d22223MAlKiekACwUBnU/u0a+1JQFKm4RkFnj11VflNKNjZfsulSXBLc6JaDOAImyHDh1sn2dMgU8UWPU4EaVLrajpvhgOogYOHGgjoWIOi1UHVgSEYkY5cePGjW6WyGv8mKDsmRTiHAcRPVL3E/qTixtdB+ap+Qb6jCgW57suX77HQD4xkBVjkMsGacYAO2omdYhuXCQsHMkIoHnuxoxHe1wAjXu0xDW4k18SDWfXpwLa5voeYW4FmPxxSCQ/TOQEtPMh7J8F5s+fb0+FMWCC23PPPeVxyhECJQ51ODLxX3fddVZTmzZhOoVVQq4gG3wlyaNxdvfdd4f4Am+a8GqcyTtFEQt9Dw17/X0knxzxiCgAkXShQYMG7i1rly83seHPBirbd6kzCW4h4ldddVWKRj5EFGKO9QrvrBlWsUBxrS7i3pExx/jEOgbLD/CN6WcS0AxXkvRJvXoyb4hVTVS5mK7mG7CYwPzag8dATcdAVuaKTAxiiqURkG5g6nT6XBgDTA4XLFhgH0EUWVlEgV6xYorFKl+bgz3xxBNhNiaDJIQ/zJDmBEc2TIKY7eE8Z/r06aZv3742B2ZgAtw7/vjj5TL2iMdHJBesvnhvzPXEdDCdtICVoK6PCpjoceyzZMkSWx/OjsSjpH5/17xOr5xjG5qnB7zD+vXr7beDkXEZPKlWf2+5h38LF1hBQkTEHBSzO1bOLsAoTps2LbytGQq5KSaPcs3R7Vf6WdJz/S757runnHKK6dWrl4HppH/RN8RFM2afJ510kpUaMGbr1q1rXwGTUE1AYSaQCHTt2jV2lX/AAQeY1q1bW9PfJHjQYzVJ+qRp8GgZ9d0kv0hF5DofR+oXXOajfF+mx0ChMJAVYwCxGTduXE7ayFYAkwUEnlUOELeNwDNs3IUAwJ3ji0CLeUUsT9p9993XllfZP9wN4xhn8uTJ5vTTT7fF4e2NCRPirlf3iBK12FLaSCa9IsN2G7v6qVOnWinJmDFjbLlIS2BCMgUtEteeD7XN+htvvJFSrCZ2KQ8KcAHOYAz47uBQi4GfffbZ0O9EFBMQ1TwYC9weT5o0yT4eNmyY3WbaZZddUpLjoQ4nUAA27mxLuMDKGle3sl3BilpvacCEZAOF6rus5MULI+J/6U/4GujUqZOBIeSdwDNeDUUK4YrB6aOURR+GQYgD8le0fROXN1f3ccykx75bbpwnTDddZa7BH3OFB4+Bmo6BKt9KYAXcuHFji0fZd07HGDBZ9e/fP8Q75+glsNpmr5oAMAJRUg15lskRxy0QnpNPPjkMloLkYOTIkbYYti+EWOAhDmcnrM6YiJmU2c/lJ0RL6tbbCXPmzLG3WX1l4yhGi1zF8x8FUpas0sARWw20i1XziBEjpCkFP+rVfO/evc2yZctCN7vsWYOv9u3bZxT74fLLLw9xR1+C6cQL5Lx582y/QK+D9xeAGdOreLkPnmgfuiUwCeg9SPAvCJDe5tK6JqRNt9deqL6LNALGnR/vL21Hv0YzisJMsnUCk0Q+F5DozZ49O3bvHCZ06dKlVt/IzVvIa2I4PP/882bRokXlqoXJk0VHuYc5uoEUBoZzv/32y1GJvhiPgarDQJUzBry6bCcIGtIxBqTBja2sBFn1IDFANN2nTx+70iMNgU0I/JJLgDkoKSkJi5w4caJddbG3eOONN4YKiQSWgSCjxHbffffZ9HhBFKmAFIBkwY26l24bQfJFHdlXFhDPiVwz4UPYBEaPHm3b1a9fv9jtGkmbzyNMlijAoSR64IEH2kh9TPAocALgURiuJG3BAyUMj3hlhHnDzS8ufqlPdDkoC4U8zWDq8vH2yOqzY8eOVnol35A0fEMdDVTrtMDgaFG8LlPOC9F3kRKI8iFbXkg+cNXL9pxIS5AUIMEAYFgYK1ErbggqEgPwBfOmgbEHs8W4OOecc8JHSMaQAhVyq4pIj7hmRgqHzoooJhIAir4li4+wkWUnMJ+4zdaAXhAKkq6ELe4+efGQSZ30GQ8eAzUdA9WCMdCMgITHTYdY0rC66dKlS7lkrI4RF99yyy3lnuXiBgNfCBp79gMGDLDFtmnTxlouaEIh9TF5rlmzppwfdbZkRMxLWtrOxJYN6O0MFPi0ch/EElyJ5IDymSyjCEE2dWeTh5U2EzhbMlraQVl8X76fXt0nrYOJnpUjxyiAYBFBkH13rX+h05L3kksuCUXsPIOoorfA9pEGGCyUYJNCIfouq1akJNIutmsg0ihkQsRhYMCvlnbwXitWrAjdccv7IFVAIgCzRJ+ByaCvIXmgHt6HVbrWL6IOJC70ZaQRojskZebryLYc4xEdH5hE2oQOBIwh3xPQEhOuUXTVSqHcQ+qDUq9IWmzGNPd5Dr5hToTZkjz+6DFQEzGAp0MNXG9ujEG7Cyfj2zEnGmP6lJSUnFhcXFwtGAndYESZKC4i/mXCQpnMJTQ6fb7PmXxZabAKZhJlcnbj2us2oHgnioIQb9dXvU5b2XNW4kx4aIa7CoyVLbsy+RH1gi/2qVGkJFyyXpVnWzbWA6yQ2VaAgFE2EoiostkGEAYVqQ3icxQV0cNgBUy/guDFAf2Q+lh9J90Kynffpf1YyaDLQV18c3Cribi8D9tPbJPAqLqSLUlDv6Y8JDGUBRFMJyHhmyJih4EAL4UCGHbqhvFj5c8RKwwCbNHXcg30W7ZpYMD19mCu6/HleQxUFgNFRUWbSktLJxJSxxhDACHsjBkUX2I9b4xJNeMrqzDvLpGrjaeHatAQHEWdcMIJobOde++9txq0qnY2QTs4qq1OaqZNm2adF3344Yc1rhMwdnA8hofHKOjUqVPQpUuXqEeVvofn0b322iu27kpX4AvwGMgRBirr4Ei4BoiWhzxggNULK7cZM2bY0llxiOQgD9X5Ij0GKsQAe/RYhxAlsKYBkgHE+SgEa7NcpGToECCZO/vss3P+WigZs4WBxVI6iVLOK/YFegxkjwFN1+VcjrbUdFsDnjnIHvEV5kT8iEgWQLSNBrmfWCpEm0+QRwygc4A4vLS0NK1PgDw2IeuiYayxCGIrDkXLdu3aWasUdA2wVsJ5mGwVZV1JREbMOPEZgTWRB4+BGoIBmABN3/W5fYWK/BhQAL/vUcTJx/5cDUFkzpuJpUCjRo2s1ACrDPZ3PX5zjubEBeIgBysTAIW72votkGKJ2XBNwwHSDnRF0DkS75miEAjznY/3EaXGfJSduPP6hB4DCTGAInIZUwAzIAwB91IkBnHKh7/CH0+Z8iF2cB3q1Kkz0BiDhEF+5HXzJ2yeT+Yx4DHgMeAx4DHgMZBnDMjinuMPP/zww3effvop3soeM8bg2x3lQxQP+cE1WGbBJexcY5WACjGMAZYJ25dZJuyAq3Ysfsrub2mMgYFA6uCWk+d39cV7DHgMeAx4DHgMeAzEYMAyAsYYItLhGAbCDxMAM/Dfst+nijHYpBkDdytBuAu4hu8JpFhWMGYMZCRCCEwAz7kHY4ANVzpdhZh2+9seAx4DHgMeAx4DHgN5wAA0GnoOY8DvqzKzRI7QbrkPnZe0pLfgMgZC9ElABkQLmimACeA+94jrinTBLUPK9kePAY8BjwGPAY8Bj4GqwYBe3MvCXnwWiISAxT/pRChgW+oSdeEYRGIgjAFcBkwBz2EK2EYgL4xBvNeXqkGGr9VjwGPAY8BjwGOgtmNA6DjEn+0EzRxwjdSAZyIxCPHlMgY8EGkBGZAgsE0gkgTuwSTIFgJMgWcMQnT6E48BjwGPAY8Bj4FqgQHNGAhzwMIefQOYBJgD7ovEIGx0HGMgzAEMAQVxTSVIEFBMFIZAmAKvYxCi1J94DHgMeAx4DHgMVCkGoNkARF8YBGi5ZhA455dIYkBhwhjIOUcyI3qAmYAhELNFngEwER48BjwGPAY8BjwGPAaqHgOyoBd6DpPA4h5mAFouTIOkC1scJzGQrQMyyI/CNENAGn5eWhCi0594DHgMeAx4DHgMVAsMsJgHhDGQIwyBMAXlpAVkSLfKF8IvaWAK5J4wA/Lsx+r9v8eAx4DHgMeAx4DHQHXBAMwAIAt8GAFhGIQpkDRlSdMzBmEixUAIQ8AzzxRoDPlzjwGPAY8BjwGPgeqLAWEEaGE5ZqD6Ntu3zGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGOgmmHg/wHza/PCu6bV9gAAAABJRU5ErkJggg==" alt="" />

图8-2-1  MonkeyRunnerStarter类图

从类图中我们看到MonkeyRunnerStarter持有了一个MonkeyRunnerOptions类型的成员变量options,这个实例保存的就是解析出来的命令行參数。同一时候该类会提供一个processOptions方法来专门解析命令行參数。

我们先进入到MonkeyRunnerStart这个类的main方法:

178   public static void main(String[] args) {
179 MonkeyRunnerOptions options =
MonkeyRunnerOptions.processOptions(args);
180
181 if (options == null) {
182 return;
183 }
184
185
186 replaceAllLogFormatters(MonkeyFormatter.DEFAULT_INSTANCE,
options.getLogLevel());
187
188 MonkeyRunnerStarter runner =
new MonkeyRunnerStarter(options);
189 int error = runner.run();
190
191
192 System.exit(error);
193 }
194 }

代码3-2-1 MonkeyRunnerStart - main

这里主要做了三件事情:

  • 179行去处理用户启动monkeyrunner的时候输入的命令行參数
  • 188行去初始化MonkeyRunnerStarter,里面主要是初始化了ChimpChat。ChimpChat又去开启AndroidDebugBridge进程和开启DeviceMonitor设备监控线程,我们往后小节会进行具体分析
  • 189行去把monkeyrunner执行起来,包括带脚本參数的情况和不待脚本參数直接提供jython命令行的情况

我们这一节会先去分析下monkeyrunner是怎样对參数进行处理的,我们跳转到MonkeyRunnerOptions这个类里面的processOptions这种方法:

 93   public static MonkeyRunnerOptions processOptions(String[] args)
94 {
95 int index = 0;
96
97 String hostname = DEFAULT_MONKEY_SERVER_ADDRESS;
98 File scriptFile = null;
99 int port = DEFAULT_MONKEY_PORT;
100 String backend = "adb";
101 Level logLevel = Level.SEVERE;
102
103 ImmutableList.Builder<File> pluginListBuilder = ImmutableList.builder();
104 ImmutableList.Builder<String> argumentBuilder = ImmutableList.builder();
105 while (index < args.length) {
106 String argument = args[(index++)];
107
108 if ("-s".equals(argument)) {
109 if (index == args.length) {
110 printUsage("Missing Server after -s");
111 return null;
112 }
113 hostname = args[(index++)];
114 }
115 else if ("-p".equals(argument))
116 {
117 if (index == args.length) {
118 printUsage("Missing Server port after -p");
119 return null;
120 }
121 port = Integer.parseInt(args[(index++)]);
122 }
123 else if ("-v".equals(argument))
124 {
125 if (index == args.length) {
126 printUsage("Missing Log Level after -v");
127 return null;
128 }
129
130 logLevel = Level.parse(args[(index++)]);
131 } else if ("-be".equals(argument))
132 {
133 if (index == args.length) {
134 printUsage("Missing backend name after -be");
135 return null;
136 }
137 backend = args[(index++)];
138 } else if ("-plugin".equals(argument))
139 {
140 if (index == args.length) {
141 printUsage("Missing plugin path after -plugin");
142 return null;
143 }
144 File plugin = new File(args[(index++)]);
145 if (!plugin.exists()) {
146 printUsage("Plugin file doesn't exist");
147 return null;
148 }
149
150 if (!plugin.canRead()) {
151 printUsage("Can't read plugin file");
152 return null;
153 }
154
155 pluginListBuilder.add(plugin);
156 } else if (!"-u".equals(argument))
157 {
158 if ((argument.startsWith("-")) && (scriptFile == null))
159 {
160
161
162 printUsage("Unrecognized argument: " + argument + ".");
163 return null;
164 }
165 if (scriptFile == null)
166 {
167
168 scriptFile = new File(argument);
169 if (!scriptFile.exists()) {
170 printUsage("Can't open specified script file");
171 return null;
172 }
173 if (!scriptFile.canRead()) {
174 printUsage("Can't open specified script file");
175 return null;
176 }
177 } else {
178 argumentBuilder.add(argument);
179 }
180 }
181 }
182
183 return new MonkeyRunnerOptions(hostname,
port,
scriptFile,
backend,
logLevel,
pluginListBuilder.build(),
argumentBuilder.build());
184 }
185 }

代码8-2-2 MonkeyRunnerOptions  - processOptions

这里首先请看99-101行的几个变量初始化,假设用户在命令行中没有指定相应的參数,那么这些默认參数就会被使用,我们且看下这些默认值各自是什么:

  • hostname:相应‘-s'參数。默认值是'127.0.0.1',也就是本机。将会forward给目标设备执行的monkey。所以加上以下的转发port等同于目标机器在listen的monkey服务
  • port :相应‘-p'參数。默认值是'12345',也就是monkey默认监听端口
  • backend :相应'-be'參数,默认值是‘adb‘,事实上往后看代码我们会发现它也仅仅是支持’adb‘而已。

    这里须要注意的是这是一个隐藏參数。命令行的help没有显示该參数

  • logLevel :相应‘-v'參数。默认值'SEVERE',也就是说仅仅打印严重的log

代码往下就是对用户输入的參数的解析并保存了,这里要注意几个隐藏的參数:

  • -u :乍一看以为这是一个什么特别的參数。从156-178行能够看到这个參数处理的意义是:当用户输入'-u'的时候不会作不论什么处理,但当用户输入的是由‘-’開始的但又不是monkeyrunner声称支持的那几个參数的时候,就会依据不同的情况给用户报错。

    所以这段代码的意思事实上就是在用户输入了不支持的參数的时候依据不同的情况给用户提示而已

  • -be :backend。如前所述。仅仅支持‘adb'
  • -plugin :这里须要一个背景知识,在google官网有说明,用户能够通过遵循一定的规范去编写插件来扩展monkeyrunner的功能,比方在monkeydevice里面按下这个动作是须要通过MonkeyDevice.DOWN这个參数来传给press这种方法的。假设你认为这样子不好,你希望添加个pressDown这种方法。里面默认就是用MonkeyDevice.DOWN来驱动MonkeyDevice的press方法,而用户仅仅须要给出坐标点就能够了,那么你就能够遵循google描写叙述的规范去编写一个这方面的插件。到时使用的时候就能够通过python方式直接import进来使用了。本书并不会把MonkeyRunner插件进行重点介绍。

在解析出全部的參数之后,processOptions方法最后依据这些參数来初始化MonkeyRunnerOptions类。

我们进入到该构造函数看下它到底做了什么事情:

 38   private MonkeyRunnerOptions(String hostname, int port, File scriptFile, String backend, Level logLevel, Collection<File> plugins, Collection<String> arguments)
39 {
40 this.hostname = hostname;
41 this.port = port;
42 this.scriptFile = scriptFile;
43 this.backend = backend;
44 this.logLevel = logLevel;
45 this.plugins = plugins;
46 this.arguments = arguments;
47 }

代码8-2-3 MonkeyRunnerOptions - 构造函数

所做的事情很easy。就是把解析出来的全部參数保存到MonkeyRunnerOptions类的实例里面。今后须要的时候就进去拿就好了。

注:很多其它文章请关注公众号:techgogogo或个人博客http://techgogogo.com。当然。也很欢迎您直接微信(zhubaitian1)勾搭。

本文由天地会珠海分舵原创。转载请自觉,是否投诉维权看心情。