Files
notes_estom/Python/androguard/apk/callgraph.ipynb
2022-01-05 22:20:39 +08:00

54 lines
26 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABIv0lEQVR4nO3deZhc1Xkn/u85tVdXV++L0IKQ1CAJWsgCgWQbCySxCGxPICheIF6GGBOIMxlPPCHYcRwbLHvinycTB/9sg4wXSOKAwWMbZINaGIhRm81aQBJqCTdaUO9rddd675k/qm+rqrq61lt1z733/TyP84Reqo6qq+57zznveV8mhBAghBBCbIIbPQBCCCGkmijwEUIIsRUKfIQQQmyFAh8hhBBbocBHCCHEVijwEUIIsRUKfIQQQmyFAh8hhBBbocBHCCHEVijwEUIIsRUKfIQQQmyFAh8hhBBbocBHCCHEVijwEUIIsRUKfIQQQmyFAh8hhBBbocBHCCHEVijwEUIIsRUKfIQQQmyFAh8hhBBbocBHCCHEVijwEUIIsRWn0QMgRDZDoSgee/UUjvRNYCKSQNDrxMr2ILZfsghNAU9RP5vr+wIo+HkIIfphQghh9CAIkcH+k2O4/zfH8NzRQQBANKHOfs/BAAGgqcaN1efU4dxGP06MTGPvW8NzfpYzQAjA73YgpqjgjM35virOPq6S5RPod3G01HrgdTkQTahIqAIOzuB1cggAsZmveZwc57cFcPGiBmxZ2YquIwMUSAnJgwIfMb1ss6rFjX4wACdGpguatd3zxAF0HR7IGoTMzOPkSKgCrbUeLKz3oaXWg3BMgc/NEU2IrK9LMTNeQsyIAh8xldSL8qnRME6PTWNgIgoHZ4jliVp8ZtbWHvTgihUtYAx4vmcIfeMR2PlDwJB8XdwONjs75Rkz0cwZ78ZlTRQIiWlR4CNS0wLd3reG8MY7ExiZioEzhoRKb1sjsZn/E3A70BzwYlGDDwGvM+9skhAZUOAjVTPfElrq3tRwKIbhqRjC8QTGw3GMTcchBGw9IzMzjyN5k9Ia9GBhvR+LGnwUDInhKPCRisuVNELsR0v+CXgcaK71oLXWi8lIAgwCDTUeNAfcFBxJRVHgI7rKnNUNh6J4450JWpokRWEAGANWtATwhRtW433ntxg9JGIhFPiILmhWRyop6HXij9YuxH/b0kGzQJtLDVmMsZIegwIfKUrqjE7bjxuajGAgFDN6aMQGGID2Oi+uWd2Gv9xMQdCOhBAlBzwNBT4yr7lHB8IYmIyCMyButQNvxJRqPQ601HrRUuuhfUJSMAp8ZA5atiRW4OLJCjmUUUoyUeAjAM7O7na9fgYHT4+DclGIFWkl3668oAV3blqBixfXGz0kkkGPpcx8KPDZXOrsLqEIKPR2IDbAGOB1OvD561fi1g1LjR6O7WlhiDFGgY+UJ/NogcfJZytrTEYUHB+YRN9ElA6HE9tiSJawW95aS/uCBkkNetVCgc+CaI+OkNK4HQyMMVoKtTgKfBaS7DJwEF2H+y3XZYCQanNyhgvPCaIp4KG6oxZDgc/khkJRfGtPD54+1I8z4xGjh0OIZVFiTOn0OHSuJwp8JjQUiuKfu3rwzOE+nBmPGj0cQmzHwYAtq1qx48Y1NAPMw4g9vHwo8JmItne358gA1b4kRAJOzrBlVSvNAE2GAp/ktMzMp14/g9fpfB0hUuIM6FxYh20XLaB9QBOgwCep9PN1KiWrEGICTs7g4PbKCq3GuTu9UeCT0HeeO4ZvPH2UljMJMSk7HJDXAh4FPlKW/SfH8DePH8CRvkmjh0II0YGTM6w+J4hmCx2JkC1DsxQU+Aym7eH9fP9pHDpDAY8QK6MjEXKgwGcQbQ/v2TcHkFAElQ0jxEbMshRqxmXMQjiNHoDdUHUVQogQQDiu4N6nDgOAdMHP6vMhmvFViTbDo4BHCMl0Q2c7vvzBiwzf+zNzwkoxKPBVwcPdvbjvqSMIxxWjh0IIkRQdhq8eCnwVljya8CaoQQIhpBBOzvC5a87HpzetMHoolkWBr0L2nxzDV3cdxu/+MGL0UAghJrRqQS2+duMa3Wd/Vl/GLAQFvgqgpU1SCLoAkXwcM7O/O3SY/Vnh/J1eKPDp7OHuXtz75CFEEvSykuxkrFZP5Fbq7C/z8k7vuSQKfDp67JWT+J+PH6BC0iQrCnikHG4Hwxffv7qoow+0qpAdBb4ypXZPOHBq3OjhEInJehHSLgFCSYA7XQaPhuTCGXD7Fctw97ZVWb8v63tMNhT4SkTdE4iZCFWFUOLgrrPnxNR4FGAM4eMvY/K1p+BuWw53y1I461rhrGuFo7YJYJwupBL6xMZz8aUPXjT737R/VxwKfCXQklciCQX06slHCEGzlwyhQy8gMXICvuWXwVHTAAEBdWosGfRe/SXU8MSc3+G+IBqvvQv+jsvBHFTkSTarFtRix42dWLu4gWZ6RaLAV6Rk0DuMcJwO5skmOauJYez5RwDGZmcvnkWrwTg3eniGURMxJEbegavxHAgh5pn1vYKJvY8i1tcz5/cDa7ehYcttYA63rV9HGXEGbF3Vhh03dhpe9cVMKPAVYf/JMXzoe3sRodPoUkldsktevI/Nfo/767Dorh/aesYihACEyBm0tJuG0a6dCO3bNef77vYVCG7cDv/y9QB3UgCUjIMBW1e3UdWXAtn3alCk/SfH8Kkfv0JBTzJCVTHR/RgmX3sy63JdoHMLhKrYNvDNLoHlWQZjnINxLxo23wYAWYIfS/6P8byPRapPEcCv3+jH80eHpO/4IAN7Xg2KlDybd5iCnoyEgBqPZg16AOBqWZq2tGc3xe77cLcXDVtuQ6yvZ3bmTEud5hGOK7hP0o4PMqF3cR5nD6RT0JMRczhQc9Hmeb/PPTVVHM38jNhRKPU5mcON4MbtAM4GPe7yUtAziXBcxX1PHcGBU2NGD0Va9E7O4bFXTuKLP3+DqrBIzt1yLpo+8NdZv6dGp6o8mixjiEUAtXrl64SqlpXlxziHb/l6eM9dOxv0iLmE4wq+/Ztj+X/QpijwzePh7l6qwmISjDHUrN6Euvd9bM734oO9yeQXAwhVhRqPYHTPTkwfewlC1XfVIHNGp8ajUBMxxIbehlDi5T446rf8GZjDXd7jEMM8c6gfwyFj3vuyo8CXxcPdvfjKk4cp6JkIYwx1G/4Y7vb0Yr6hg11VP9+kBaDpnr3of+RuhPbtwsTeRyGUmK7Pk5gcwtTh5zHd8zuEDu7B2AuP4PT9n0B84A/gzvICFnd54G5eTMubJqYI4MZv/xb7T44ZPRTpUHJLBm15k4KeCTGO4Hs/gqHHvjL7JXV6HNPHX4G/Y0NFL+JCVRHu/T3UqXHEBnsxdXA31PAEuL8OwctvgqtlKeIj78Ddci4Yd5T9fGo8islXfoHJlx6f8z1Z9jX1QoezS3diNIwPP9BNmZ4ZKPCleLi7l4KeiTHG4DvvEnBfMC3Lc2Lvo/AtWwfGK7NXJYTAdM9eDD2xY/Zr7vYOBK/7C/iXXzrn0LguxaoZw9TB3Vm/pde+ph4BWg8U9MoTjiu498lDACjTU0PrGDMe7u7FV35JQc/sGBhqOremfS3W14PRrp3JJJMKEEocE3sfnf3vwNptaLtlR3KW6XTPOU7BGANjrOSsS6GqCB9/ed4jHHrsa4oqJuOQyoskBL748zfw01dPGj0UKVDgw9nlzSh91osihICaiJefSKEj5nDA3bJ0ztdD+3ZhdM9OqPGIrkkmQoljdPcDc868FZL+X+pMRiixtECbyYh9TSI/VQCf++kBPNzda/RQDGf7wEfZm6URQiDy9gH0P/w5jP/uZ4acU5sP92bf44r1HUP09JsARNnjFUJAJOIYeeZ7s1VO3O0dFU//V2MRjHbtTCvLNudnZvY1Sw3wQlURHzppWDZsqYQo/+9qdaoA7n3qsO2Dn60Dn1aRhYJecYQSx+ie72Pg3z+PWN8xuJoWQqY2FWpk7h6XtvzoXdIJxh0FzYiyXUSFEBCqisjbB9D38OfSSnsFN24vOf0/3wU79WhEtlqamcrJIhVKDCN7HjTdrNFs4zVKhA642ze5Zf/JsZnWQlSRpVDaxTk2eALRk68DSBaB9i+/VJq0dzUeRWywN+1rqcuPhRJKArGR04CaAPcFwcCgTI0ifOylrHVBy30dtD0/kYjN2zMvswB3Ltq+ZsPm28Ddhf+71VgyuEZ791UlG1Z3QkBVFXCb1mYtlHbA/Tu3Xmr0UAxh23fH/b85hkicNvWKod1Ru1vPQ9stOzDatRPc40ummxs8tlkZ2Y6lLj8yhxOu+jb0P3J3QcEm0Lml7NdBJGKI9O6HGgmBe2ugRqbSjkYUS5sZFlJnc7Y7Q8qMUs9sWKGqVQmgjHNAMDoCUQDtgLsd2xnZMvANhaJ49s0ByLM4Zy6plfxjg29LUwQ6W7ZjOcuPWs3K1GMK89GjGDZ3eaBGQhh+8ptlPU6q0L5diPX1ILhxO3zL1wPz9uObO6OsjY+UNGtMpQXU8PHX4Ft+SVXeK/kCHgXFJEUA9zxxEN/9U/vN+mwZ+B579RQStLEHoLBebfPhbi88C1bk/8Eqycx2LHv5caZmZea5wGz0OjQ+X2JOOWJ9xzD0xA5wXxA1nVvhblmad0bpcrkwPDwMDBc+a0yVGVATE4NYdOdDuv/bSjG7rKwkwJ0uo4djqN2HB3Dg1BjWLKo3eihVZbvAt//kGL7/2z/IlIthqNmLQKl3wUz/5atSDnhre1OpMxY9lh8hBGo6t2atkJL2/DodGs+WmKMXNTyR99+hicfPHlEpZNbIuANKaASJ8QEkxgeyBlSZ9gyTPQqB6WMvw1HbpFtFHbNRhMBXdx3Gv39qo9FDqSpbBb6Hu3tx31NHEKa9vXQzB6pL+1X991NEIoqpQy8g0LkZYDznY2fbm9LotfyY7Vwg99ch0Lkl+RyeGjgCjRBKoqyGt0JVoERCZYy2ckqZNWaa2Pso/B2XV2nEBeBOMKcbfQ/9pa17Dna/NYLvPncMn94kz+pNpdkm8CWD3mGE45TFmUmm/Q5t5hbatwuh3z+J4Hs/At95l4CBgTnO3pEXku1YieVHd3sHghu35yxFVjLGUbv2WiSGTxZ0ZMEIxcwaMyUmBqQ69sIYg/fcNahdfyMmX34i56zW6vuCX//1m6jxOG1T0swWgU87ukBBrzKSsz4VrIxlz2wzt1jfMQw99pWSZxl6Lz9mzgoyL4PlXhgZY2AuDxo23wYA0ga/UgU6txg9hDkYY6jf9DGIeAShfbuyzmpFIgb/Be8BLBz4VAF88edvwOty4OZLFhs9nIqzReD76q7DtLxZaUKglM00IQSgJDB9/KV5Z26lzjK0mpXlLHdq5wJLOQtYKu72omHLbYj19RR8bs8MXC1Ly1oKrhTudKW93tnebwv//Ptw1rUaNMLqUAXwP396AJG4YvmZn+UXs7/z3DH87g8jRg/D8qLv9BRdBFooCUy/+SJO3f9xDD2xQ/eLvC41KxlDvP+tqnci145SWInM7ZLyvd7TPd22KIemCuDeJw9ZvqSZfLdfOnq4uxffePpNo4chvXL3L9R4FNNHX8TU613FHZbu2onpoy8isGbrbJKIGp1CfLAXoQOlHdpOG1eZvfi0c4GBdddXvRM54xz+5etR996PwlnfrvtrYwS9lp4rId/RlfEXf4Lad10PSDhj1VskIXDfU0ewZlG9ZY85MGHR25j9J8fw4Qe6aYkzj2QhY1FWKreaiOH0/Z+AGp6Au31FQYelw0d/B9/5G7IniagKhBAI/+E1TPznvyHW11Py2NztHWi7ZUdJszU1HsHAT+9F281fBCuzo3kpknVB08tvnX0NX5lZGi79tam24OU3of59H5NyuRNIfhYmX/0FRrseyPr95hvvkeY4RqUxBly7us2yJc3kfAfq4P7fHKOgVwChxBA9/eZM8ebSZ0XaXXIhae/+C96DxuvunD9JhDvAAPiXr4d/2SUY734c48//sKR/X2JiAOHjr8HfcVlRF1wtu9TTtsywkmyMsTlj1m4Q/B0b4Fu2DqNdhRWtlkHoYBfqr7jV6GHMi3GO2kvej/jwqayvaaUbGstECKDryIBlS5pZcsY3FIriPV/fgygVoM4p9dB3ObOi+epZZp51U6NTYE4vfMvXFVcwWghMHXoOw7/4RsG/k+vYQc7nSlmGDe3bhab3fxaBizYX/LzVlnr8o1zZ/l56L60233gP/OdvlPpogFDS202lCqzdVlYJN7O5dnWbJUuaWXLG99irp6Do2GzUioQQaRfMcir5Zwa9fGfdir3oMcZQs3oTEuMDGH/+R3l/Pt+xg6z/lnnOBcqckAGczQB1ty+Du20FHDUNAABlegzhnt9l7SQx+7szgc6zZA3cbcvg8Ncl/14ZS6t1V9yq29LqxN5H4Vt+qSFLx4ViDhcatn4qa1at9nlpvOaOvMUVrGD34QE83N1ruSxPS874/uonv8fP9r1j9DCkFhs6gTMP3pn2tUKrV2TOikp5jFIIVUHfj/5HzuzPkloQqQqmj3Zj5Nf3zwkSss/4gPlLvGl1WCMnX8fYsw/NBq3UGxMwXtAScK6/ebECa7eh8erbwRzy1skUQmD66IvzFiivufAqNN3wV7Yoc+ZzOfCT2zdYKtHFkjO+g6fHjR6C1IQQmD78wpyvl1PJHygt6BSFcdS996MYfOzLWb9dcgsi7oB/xWWY6H4UsYzAp8dZwEqbb9aRrEfJ4F3SifZb/xdGdn8PQPEFp4H0jhxAYYfrcy2dAkDj1tsBh1OXWZNQFV1nYIwx+HNkeU698SyYy4vGa+6wfPCLWLB3n+VmfPtPjuGPvv1bajmUg1BVnPrWrTn3bYqtllJO9mQxhJLAqX/5WNYxlJN1J4RAfOQ0zjxwR9rXub8Oi+58SOqluUIJNZHsxFHmTCvXvi4wM6N870fhP+9dyTqwPFupuVcQPtqN+qs+AWegsazxAED0TA9EIgbPotW6BT+hJDD63I9yFk9ovvFv4T//3ZZf8nRyht/97RbLJLpYLi/3q7sOU9DLQQiByImDeZMVtOoVw09+E4M//QqGn/wmJl96fN7fK6fvXVEYQ03n1jlf1qMDuqtxIeo3fyrt69pZQGGBPWPGnbosL+Y67F33vo+j/WPfSP4tHM45syHu8oA73fB3bEDjdXdCCU+WPR4AUMITGO16ECIR1eXxgGQz4mwFylON/PrbgJLQ7TlllVAF7nnioNHD0I2lAh9VaSmAksDYb/Tti1Zu0CkG446sFyOtBVFZj80Ygpd+AIG129K+PrH3UQglVtZjW0nqYe9UTR/4a9RtvDl5HCXPDIhxDu7ywt2kT11Ihy+IWF8PRrt2Jpc9dZKvP2LyxuhlS9wY5bP7cD8OnBozehi6sEzgoyot+QkljpHd39O9NJgeQacY2S5GerQgApIX5GSW5NkWLdoFtdiSbJY206cQSN74tH74PtSs3lR8xq7ON0uhfbsQPaPfof5C+iPa5cZIEcC3f2ON2rGWCHxa9wU6tjc/IQSme16qyGFnvYJOobJdjPQ8dpBtKS+0bxdG9+yEGo/oHuSFkjBdHUju8sC7pBPNN96DRXf+AN5z1xi6z5W6BB8++iJUHZYfhZJAbLA378/Z6cbomUP9GA7pt5xsFEsEvvt/cwwRqtKSE2MMIl6ZN2w1z7pp3RLmfF3HOpDzLeWF9u1C/yN3Q5ka1eV5EqFRhA7uwfjenwBKPP8vSMa3bF0ymcjpMjy5w9m8BE3v/yyCl9+E6Z6XwIQOd8FCxdTB3QX9aNqNkYWXPRUBfOtZ85TJm4/pA99QKIpn3xyghJYC5NuvKFVViw8zlvViFB/s1XVvJ3UpL1Ws7xgivft0eQplcghggLttBZSpMdNdMBl3SFO30hVsQeCizah77y1Y8F//GUp4sqxZtBAC0yml+Aqh3RhN9+ydrTdrRb/cf8boIZTN9Of4Hnv1FBKKNd9ggHY4WZTV5FVTyH5FqkJLWGlBp9LnmVLrgmaOTShxlNQQcB7c5Zk3o0+Ps31CCLhaz4NnQUfa10h5tL8Jm6lgUyqhxDGx99Gif0+rVetduhat279kyW4OQ1Mx09fwNP1f5bmjgzaY7elzwNfVsgTBy2/KW3sxV8mxbCWshACgQ2DO+29QYggf7U6e18va1UEtu8VSKkdNPYKX3zQn8E/3vFR2seVsBaiNXi60Em0mWsr7QShxjO5+oKwksEjvPow8813L1vX860f346FPXmb0MEpm+gPsK/9uFyKU1VKwfG1tii1bNn20GzUr31Px8lNqLILpnm74z99QkXJo2QhVgVASWavXqOFJOGoapFnqI/Obr6Rb1p9TEhjZnb1AdSkCa7fpWqFGFgzA/73rPaYtY2bqT+13njtGQa9IqQeI227ZkXZmLbXkWL4LunYOq2b1pooGPaGqUONng14hY9PleUWyR2Hmcqb2+jlqGpJNy4guhKpATVQowUcIKNPj8+67Jfseqoi8fQB9D39O18znWN8xCKiWCnoAIGDuow2mXepMnts7avQwTEurvdh49R2o6dyK2Jk3Ebj4muLrXOpVHipjSSq9aW03Gq+7q+Ll0FIVcgAbKL97PUkSQmDsuR+h/n236D6jZ5yDe/x458E74V+1Cf4V68Fr6sHAoEyNInzspZxdLMoR3LgdjMtbjLscZu7XZ8qlTuqurj+hqsm6igZdxLWMTGV6HLG+44icODhbF9ROna/tSAgBZXIIk6/+AtG+46hdd33WIunlUONRjL3wSM66m3qzUp3X+Zi1X58pryTUXV1/jBvbWyyZGu+Aw18P77mdELHwbPZmtcqhVYKV09r1whiDM9iCuvfegtbtfw+AYfDRL2PshUcQOrgHiYmhsp8jV5ZupVS7opERnjncj4e7e40eRtFMdzUZCkXRdbjf6GGQCtH2Dhs234bA2m0WuHgYN4s2m9T955abvwARC2P4yW8i1n9cn8ev0DnW+VS7opERVAHc99QR09XwNF3g+9aeHlj42B6ZoXUW9yzprMrFo1LB1awzVSNl3vzoVSCh2HOs5apmRSMjaf36zMR0n8qnD9Fszy6Yww132/LqPBfNyqSj3fyokclkslMZ5it1V0lVrWhkIAHg2TcHTVXD01SBbygURd+49QvBkiTGORz+OqOHQQzEHG446xeUf2MyT6m7StIq/NgBA/DYa6eMHkbBTBX4Hnv1lA2qtJBUQggIGzT6JNkxzuFduhbTvftKrmWaWuqumkIHu2yzkhBJqDhyRp+mwtVgqsC3/6Q+VfGJeXCHE6hwDVAiOSGgjJ4pueedUGIl1d0sF/cFoURCJk/OKtxExDwdRkx1gP3A6XGjh0AMYJe7ZpIdd3ngW3E5wsdfg2/ZuqJqX6qxCEb37MxZd7PQYuyFqrlwM+qv/DgcgUYA9nn/Br3mOahvqsDXP0H7e4TYkauhHY5AAxh3zBQ7YAXVkh3ds3PeEmTFFmMvRNMH/ho1qzcBsE/A0yxp9Bk9hIKZJvA9d3SAOqwTYmNaYEru9Ylkl3VVyVpEPHz85ZmAlX2ml1mMPTNEaY/p79gA37J1GO2aP4BqtKBXTsAzcwm8t4enjR5CwUwT+O598rDRQyCESGC2Tmo8ivDxVyDiUXBvDdTIFGKDvbOl7uaTWoy9kOdiPHmmEMC8wa/mws1lBz3A3LPEXW+cwT/hXUYPoyCmSG4ZCkVxbCBk9DAIIRLhLg98yy+FGp2EGp0C99bA3boUgTVbwX3BrL/jbu8oOOilPdfMmUJ3+4qs36+/8uNFj99qogmBF44OGj2MgphixvfPXT10jIEQMgdzulG77v1gKZm/ufbnghu3gzlKKxrNHG4EN27H0BM70r7ubFoMR6DR1LM1vXzlqUN4+vxNRg8jL1PM+J453Gf0EAghEmKMpQU9YP6ek+UWPGecw7d8/ZzZZMNV/7W0wVvQ0f6QKSq4SB/4ktVa5H8hCSFyqUjBcyFQ07k17Uuu5sU020txzxMHjR5CXtIHPlrmJISUQ8+C59naGzGntTswFOuZQ/3Sd2uQPvCZdZmz1PJKhBD96VnwPLO9kUjQilQqFZC+W4PUgc+sy5xCCICWPgiRhp4FzzPbG8WHTla8LJkQwlSlz2Tv1iB14DNrUWrGqPkoIbLRo+B5tvZGo89+v6zHLETyemKe4CeEkLpbg9SBb7/k68RmlvkBUhNx03yoCCkFdzjLX4nJ0t4oMXwSSmik4p8fxqS+XKeJKULqbg1Sn+OTfYPUrNRYBOG3Xp2teAHG4Qy2wNW0CII7aLZKLEuZHofDX1/SkYZc7Y3GfvNDNL3/v+sxxJzM9NkcknipU+rANzAh7wsno3x1/rIV7s2sWUiIlcX6jsN7bicYL65yC5C7vdHUG3vgXbZOl7JlVnF6TN7andIGvufeHEBcpaW3QgkhoISGk4drs1Saz1a4t5iahYSYnRqPInLiIMLHXkLD5tt0b280/ItvAIBtuzNkGgyV1j+xGqQNfPc+RUWpiyGUGAZ/ei8S4wOo6dwKd8vSnIV7S61ZSIhpzezPaZ+DQlY6CmlvlGr4F99A5K1XZ/rxNc08rT0DYCiSwHAoiqaAfOccpQx8VJS6OGoijtHdD87ejU6+9Hje3ymnZiEhRhCqAjBeUiDJ3J8L7duFWF8Pghu3w7d8fcGrJIWYeuNZTL3xLNznrET7rV8HmCP/L1kQA/DYa6fw6ffpc35ST1IGPrMeY6g2LT17dPf3Crob1ZRbs5CQahNCINZ3HK6WJWAlrFJk25+L9R3D0BM7wH3BglZJihV75wime34Hf8cGW37WVEDazE4pA9/+k6NGD0Ea2RJWhBCAUBE58TrGfvNQUXejAGZrFtpzAYaYEWMM7vblGO/+KYKXflDX/Tk1PFHQKkkpJvY+Ct+ydSUl01iBrJmdUga+o7TMCSC5tKOERgEIgHEIoUKdGsP0sZcReu2XJd+NulqWll2zkJCqYxzu1qUY3bOzIvtzlRDr68Fo186ik2ms4vRY2OghZCVl4Ism7F3nUpvlMe6AM9icst8wt79YKbinJv8PlSnf0QpCisUYg++8dRh+8p8qtj9XCVrQ1ePYULIGsJjTiklWA5MRo4eQlZSBT7H5MYbMgKF9qP0dG+Bbtg6jXeXdwarRqfw/VAYhBOIjp+AMttD5QKIvxlDTuRWTLz1e0f05vaUm0/iXXwY4nKUl6SjxZAUXkwS+UFSRMrNTysA3EYkbPQQpMc7BeLK/GICSg198sBdqPFrR5U5nXRuiZ3rgrGmAs74NAOZ0yWYOF0B1TUkRGHektQXKtj/H/XUIrNmaXNL31ECNTiE+2IvQAf2CIffXIdC5pajnSE2mabz2Lvg7LgdzFH4JFiI501Omx+GoaTDNDaWMmZ1MSFagcSgUxaX37c7/gzanxiPof+TukpZxuL8Oi+58CMxZ2eMM2lsrNbAJVQEAxIZOIvT7XWjY/Ek6S0iKkpgYwuSrP58TZNztHTMzqksh5l3+LG+7QM/nKLVqklBVU90wXn9RO759yyVGDyONdIHvO88dx9d+dcToYUhPqCqme/Zi6IkdJf1+8433GJpmLVQVQigQsTC4t9Y0H2Iih8wg425fUVzCSwnbBYUGqmKew92+IrlXueJysCLr5JplH31FSw12f/ZKo4eRRrqlziN98qzLy4xxDt/y9eC+YEnLN0anWTPOwcABn8uQ5yfmlrbvvXw9GENy6TwPbbug8Zo7UNO5BeGjLxa0BFpMeb9itiRifccwsfcx+JZdWtSyJ5BcSUkebRJSL3vKmKwo3as1JHF9N+kIgZrOrSX9qpZmrcbp9SbmxTgHd7oKCnrpv+eAd+FK1F1xKxbe9QM033gP3O0dWX+21PJ+3O1Fw5bb4G5fkfPnklWUSrsBZIwBWgCUlIxjk27GNzol54FHGXGXJ5nNVsJG+6yZD02+JZNs+3WEmB2f2efOlTFdTnk/5nCj7r0fxeBjX87+/DpUUZL9MyljswHpAh/VEymO97y1WLTqoawb7XVX3DrvRnvtZTehftOfghd4p8kkv6skpBzzLU+WG5i0LYnmm7+Iif/8tzmfQztUURqcjEp3pEG6pc5ar3SxWGqOmnowp3vO0QTu8oA73fB3bEDbLTsQWLsNQHLZpvUjX0XDVZ8sOOhpZL+zJKRcmcuTWmAqB2MM/mWXpn0ONXapovTYa6eMHkIa6aLMZCRh9BBMhbHc9y6pd7KexRfCf8HGZFYaBTFCsmION4Ibt2PoiR26Bab5ZpTOYGvZjy07VQD7T44ZPYw00s34GPVlqAju9qJm9SZwp4eCHiE5pGZM613eL3NG6ay3fuADgKP9cnVpkC7wBTyU3l4pFPAIKdBMxnQlyvtpM0rur4OjplH3x5eRbEcapAt8k1Fa6iSEGEvLmNbK++lJm1HWvuv62UpGVufkct10Sxf4aKmTECID7q1B6GBXZVZKhICv43JbJLYAgMclV6iRazQAGmrs8UYoBR0nIKR61MgU1OlxTB9/ZaYdkH64ywNX4yJdH1Nm4ZhcM1vpAl+txxztNqpJjUehJmJQpqgzPSHVoMajiA32AkiW9xOK/hWO7NSYdnBSrsIk0gW+cFyuTdB89J6FqfEoVCWB+PgAIideR+jgHoy98AhO3/8JRHr36fpchJB5MIapg8kuMbPl/WJyNlU1g+m4iuGQPMFPunN8EtdanSWEgDI1CqEk4KxtBsrcA9AKzUbfOYrpoy/O20SzGn30CLE7oaoIH3857TOoZxd1u5KpL590f723h6eNHkJBhp/5Dpw19bp8ABhjYJzD3boUIhaet75mxTbaCSEpBMJHu+d8NbRvF/ofuRvht16h/fYSHDkjz1k+6QKfbOc9slISqO3cqvubP18190pttBNCUjE0XnfXnPJiQLKN0OBjX0b4D/voc1ikIYmWOqULfLKd98iGOV1wNS2uyJIjc3rQ8sd/N2+LlEpttBMiGyGEITMrxjm4K1leLDP4uds70HzjPfAtuajsLQ67GZ2W57ol3R6f2yldLM6KFdmbq+DHZQyOQCPabvkaxl54BIxhTruhsecfQf0Vt9gqK4zYixACU4eeh6tpEdxtywDkrjxUibZZ2gpMrK8Hsb5jBXdgJ9nJtDosXeBzmWDGBwAiXrkML8YYmMuDhqs+CaEkwJ1ny7ip8SjAGOJDJ+FqXgzGnfQhJJbkajkXfd//C3jPvRj1W/4M7uYlAJJNZDVqIjbz3wyAANjc41BCqABYSUFRKy8W+cO+kprRkrMaa0rraVgJ0gW+GhPU6hRCBfcFIVQl7UOoN8YYmDP99dCWV92t50GoccQG/gBX82Igox9fIc1lCZEVYwzu5sXgviAib+9H3/c/A+4LoqZza7L5srcG3FcHz4IVAFiem7/Sgh6QXPb0L78MvmWXUNArU7NE/fikC3xT0bjRQ8iLMQ6HV9+q7UWPgXMw7oGrcSHGnvsxwBjcLUvhblsGV8u5FPSIBTDUdG7F5EuPAwDU8MTs/3922TH/JazszwLnYKDCGuVgAFYuqDV6GLOkWyOzdi9i/XG3Fw1XfgzeJZ3g3ho4mxYaPSRCdME4h/+Cd8/5uru9o6rLjow7aDtBBzevk6dEm3R/zSaJ1oFNgzvhX7Ee/o7LwR0umu0Ry/AsOH9OZmVw43YwB10nzKQp4EaTREud8gW+AL2hi0WBjlgV4xwNWz81e7aV++vgX34pzcBM5oI2eZY5AQkD38r2oNFDIIRIhDlcCG7cDgAIdG6hqikm5HXJtUcqXeDbvLLV6CEQQiTCGIN/+XpwXzB5ppVq1ZpO0CtXtr50gW/PkQGjh0AIkQ3jqOncCu6pfjY1zTDLw5lcGZ2AhIHvSF/2As2EEPtiDifcLUuhRqeq/9y0h142mTI6AQkD30QkYfQQCCES4t6a2dZcxDzag16pMjoBCQNf0CvdmXrbSBYFVud8jRAZqJEpas1lQtdc2Gb0EOaQLvCtbA/CY5JC1VYUPf0m1FhktjI+XWSIDIQQcLUtgzPYmmzNRTdkpsAAfOaq7J1mjCRdhLn5ErnWgu1CCIHE+AA8C1eCuTzJOqEU9IgkkrU7l6Dtlh2ID5+GUI3bEqGgW7gFdfItcwISBr7mgAebzm8xehi2oc3s1FgYzrpWCnhEWlqfvOClH0C45yXDAhBjDEJVKQAWYGG9z+ghZCVd4AOAu67M3oGc6Odsk08BqAocHj8FPGIK3O2Fb/kliI+cNiz4hHt/j+k3X4RQFQqAOSxq8Bs9hKykDHwXL65HM5Uu05VQVSixMBKhUSSmxpNJLEKAMV5QhXtCZMIcbiihYQjFmG4u6tQ4hn62A30/+h+YPvoi1ERsTrap3QOibB0ZUkl7xVt/bgN2vdFv9DAsQygxDPzr356tbF/BPoKEVBrjHJ6FqzD23I9Rf8Ut4O7COzWUm7SlxqOIDfYCAGJ9xzD0xI45vQKFUOFpXQbHzPaBHQnId35PI23gu3gxBT69qLEIRvfsBMAs20WaMlDth3EHAhdfjdhgLzztKwDGcxavFqoKocSTzaPLWeVgDFMHd4P76xDo3JIso+apgRqdQnywF6EDu6GGJ9B84z3wB1uAEt6XVng/+1xcysQWAGBC0vn4UCiKS+/bbfQwTC35QY9htGsnQvt2JT+IHRuqXtm+Gh9ioaqAUAHuMP0FgxRPTcSSAQ0MQk2AO89ulajxKMAYwsdfxsTeRxHc+Cclfw6EqiJy8iDUyBT8yy+FECKtdujsc/Xuh3/pWjBn6TUqhRAQiZhpa5OeU+fFi3dvMXoYWUk742sOeOB3cUzH1fw/TNJkftBjfccMbedS6UCkzWhjfT2ov/KT8C7pBCg71Va0QCdUFWAMkdNHoE6PQ41MITbYi6mDyVkYAEzsfRS+ZevAePErH0JV4Fm4Cow7wTif0zZbC1L+ZZeUNNNLe65EDJHe/RDxKPwr32O6VkxBn7ThRd7ABwDNtR6cGAkbPQzTEEJAjU5h/MX/SPugu9s70HTDfwMc1auQXq1ZnlBiGN2TnNECwMC/fx7cF0Tbh++Du+28ij4/kU8yGHG4W5amvS9Sxfp6MNq1Ew2bbytqb1BNxMEYCmqCq0eQ4i4P1EgI8aFe+DouA+Pmmvk5mLyBWurAV+uRenjSYYyBO91pQS+wdhsattwG5nRXZQYkVAUAK/tuN5dsM9q074cnEB97B67WpTTrsynu9qJhy22I9fXMeX8AmA2IDVtuA3O48+8NqnEwcLAq3jwCyfqkZm3F1Fgjb2a+vCEZQEON+f7YxdJ7i1UIgZrOrQDOBj3u8oJV8O5LCIHYyDuYOvw8pnv3V2SZUagK4sOnED3Tg/jQCUROHISIR+E9dw24L715cWDtNviXr6egZ3PM4Z5tYJtNaN8u9D9yN6Z79mY9jqDGo1ATMUz37EX09JuAAZnQamQKzqA5e5Q2S5rYAkg+47PDWT7GmK7Lgtzlgbtl6dljCxXO4BRCQAkNY/jn/4j6q5L7a5UIOIw74GxYAKEk0u5+haqgftPHERs6ibGuB6FGp2ZnuMTeGOfwzTSw1VZAMs13HCF1bxCMYdGdD1V9j02NR8FcHngWrazq8+pB5jN8gOSBb2V7EAzvQMq0U4lxbw2CG7cXtBehh/Bbv0fbLTvAnJ6KzrIYd8xk7qV/DQDcLeei9cNfgRqdqtq/m5jAzArI5EuP5/wxNTwx788EL78peXNaifHlwLgDvuWXgHGpL9NZMSbvGT5A8qXOmy9ZhKq/2wyg+7JgIlaVDE4hBKJnelCz+oqZ5VTj/lhajVHuqTFd9hupHG0FpBxG7LFp2almPXMrYw++VFJfIZoDHrQH5X3xZKQtj1TyeKZW5zP81mtwtyyR6sNJ+3okE/fWZP96gTdI3JP99ytLwMx3/deslq8HXyqpAx8AXL2q3eghmAtjUOPRit+hTr/5IkQiSsuKRHpqZCr719UCzwjHqnukSo1Hk3V0Tbpy4eQMn9ksXw++VNIvHv/llg7860snkFBppy8foaoIH38ZzpqGyj3HzPLmyNPfNmTDn5BipNbVBJC3zFg20YG34D1/Y1k3k9oKTK4VCe1cavitV+Fbvt60872tq1qlXuYETBD4mgMebF7ZiqcPUd3OfIQSQ3z4NPwbNuj/2DMf3OiZHgw+9g9ouv6vDEnvJqQoM3U13e0dCG7cPm+ZsborbkX4+Csz50J70h4idLAL9VfcWuYwWLKFkaJCCDV7mbOZc6kNV9+RVnLNTBiAO03QVk76wAck+/PtPtwPmvTNT41FMN3TjeD6D87JfCxXck9PxdS+p8Fr6rDozoeSNTEp8BGJaSsg/gvek3ZQfd4yYx0b4Fu2bra2rUadHsf08Vd0qHPLMN37GqIn3sh6bEINTyCwdhs8C+ReJsxlaZMfaxbVGz2MvEwR+C5eXI+LFtbhwKlxo4ciHSEEhBLDxCu/QHD9ByqSaMIYg1BU1KzZMlujkBDZaSsghZ5nZZyDcS8aNt8GAGnBL1nf85KyyoYxzuFb+i6MPPl/MJllWVU7e2vmG0q/2xQhRf7kFs31Fy0wegjSEUIg1n8c/Q//DVxNCyuaaMIcTnBn7tJOhMhCjUUw8fIvEFz/waJvBrVyZ+72s0t2sb4ehN96pfxs6ZTKSkByzzF4+U1oev9n0XLz34E55d4by8csSdXmCM9Inun72q+OGD0MqcT6etD3w89WpfMCHRMgZpBauNx73rtKvhnUyp0NPbHj7GPHo2V/DlIrK82352hmDX5z7E2a5va9OeBBrce8SwB6UxMxTB3+TwBAoHNLRc/tEWIeAiO/uh/TR18s62YwtdyZRq/zfK7WpWi7ZUdyz9DptkzQA+Suz5nKNIEPAJa1BIweglSmDiYb9Zq1ejshQlWT+9SFnqnLi8F3/gZ9bgYzliXVaPbzgMVyt5ybrHRksW0D2etzpjLVK39esxEVFOSjZatp546MqSxBSOGESA9sqZ0Phn/5zXk7JBRLm6m52zvKvhnMLHcWH+wte3xCCFMnr+Qie33OVKbZ4wOSRatdjjOIK/Ze1hNKDBN7H539b73uRI1QjYa1xHixvuOID53MmsIPAFNvPAvuC6Lphr+C77xLwBxlBAch4Go5V5dxp5Y70+M8n5V1tAakP7iuMVXgu/mSRfjmM0cBG/drUGMRjO7ZmdZcU6vNaaYAomqJAtwBMGveAZMkoSqYOvxCQR0S1EiovKCH5ExNrwzn1HJn5Z7nM9tntFhfuGG10UMomKmWOpsDHpzb5Dd6GIYQqgo1ngx6qeeLAmu3wbfsUqk/UEJVoCoJxMcHEDnxOkIH92DshUdw6v5PYLrndzru7xBZafvR+ei1bC8S0bKXJTPLnQHJ83xCiZX1uFbUWuvGFR0tRg+jYKaa8QHAOfVe9AyEjB5GVQkhoEyPYezZH2DqjT2zXz/bbFbe5QWhKAi/9SqGn/qnrLUQkweD14FxeTo8VILV7/bnI4RAbOjkvHUwM+m1bB8fPAFXQ5lnf2fKnaWK9fVgtGsnGjbfBu4u/D0rlASYw3SX24L9f9vXGj2EopjuL+GwWCZUIRhjcPjr0XjdnfCtvALOQD0cNQ3gvlrpO40Locwb9IDkhWTi5V+g7vKbyl7iInIa7Xqg4J/VY9lejUcR7esBHI7SlyUzEshSaSsuqWXQcj2OUGJIjJ6Bu/W8osdhBmab7QEmDHxBr+mGrAutnJJ/hdzLmqlyXTw0gbXbEFz/AfOUfCiBUFXEh07A1bxEmhT2asxAtcpC0bf3F/Tz7vYOfZbtZ2Zq0RMHS15NyEwgyxTatwuxvh4EN26Hb/l6IEvh69TC07WXftCygc9ssz3AhIFvZXsQHmcfogl77guZJegB+S8egbXbCq6jaGZCiWFkz4No+5N/MHooMzOQeDKlvsJLb0JJYORX/1Lwzwc3bgdzuMp7zpSbrVh4oqRlyWwJZNnE+o5h6Ikd4L4gajq3zlt4GkgehbDicufqBbWmm+0BJgx8N1+yCP9791Gjh2E7xc4Q8l08zu5PWjvoaa9DtHcf4sMn4Wo+tyo3L5l/r8wZSHDjn+jQbWB+ajyK0a4H8wYPjV5l9zJvtkpZlsxMIMtHDU/kzVgNHexC/aaPF/yYZuByMHztpjVGD6Mkpgt8zQEPNp3fgmcO94OqdFWRkoAKFYy7dLl4JO/u5d6fLEe212G0aydaP/Tlqjw/Ywzx0TOID53IOgPRo9tANrP/7q78wSO1Kay7fUXZ/R2TSWATqHvPR9IazBa7LFlosC6GOj0ONRaBw2udYhN///7VpmhBlI3pAh+Q7M/3Qs8QwnHF6KHYwtnZmz4Xj2oU1a6WfDOr1Nch0vt7xPrfgrttWVVmffGhExj86Veyfi+ZnfggGq+5Q5dKIsX8/StVoJkxBlddK1x1rbNjSm0wW+iyZCW42zuKWm6VXUvAjVs3LDV6GCUzZeC7eHE9Pn/9Snzx529Qc9oKyjZr0ePiodVRNM9uZW5CCCQmhxB9+2De12HkV/+Ctlv/F5izvL2sQqQevs4mtG8XHMFW1G28uaRALJQEoqePIDE+UPDfX9vXna8prJ7mazCbb1myEoIbtwPM/Dd6mvVLG40eQllMGfgA4NYNS/F8zyCePjRg9FAsRwgBqArCf3gN4//5r3Pu3gvZ08ilEkW1jTonpz2ns7YZUc7zvi6xvh6M7v4eGrb8WUXPX2Y7fJ3N+PM/BCBQd/kfF3WcRFsFKGYvzKhkplwNZiuN++tQu+4G+M/fYKrEtFw4S04+zMy0gQ8AvnrjGuw50oUETft0xRiDYBzepWshlMTM0lWPbo9fiaLajLFkBRjGDAuANas3IfLWq5h649mcP1tMwkUZAyq4Wsr48z+CMjFY0QQQGZKZuNuLhqtvR2L0HUTmOWKRuu/IPTVpe4XFLIWmLecyDmah2Z6DM9MUo56PqQNfc8CDzStb8cyhfhtX76yM5F2ye84ykaacC0SlimrrUT8x2UWg9OBZf+XH8wY+IP85sHJmsIWcnyx2POUmgMiSzMS4E60f+gqme7rTbuhy7Ttm7hXmuwms5nKuEbasbDVNMer5MGHyDqb7T47hww90U6JLhaUeT8h1gUheHHNfIIKX34S6995ieKk1IQSUiaHkkiDncASa4G4p77iBEALvPHAHEiOnC/6dOXum8RicgQZ4Fq4s6dyXGo+g/5G7S85O1DsBhPvrsOjOh6SqMpSafQoUedwhR8aq1c+mep0c//HpjabN5tSYPvABwMPdvbj3qcOIxO15qL1aRCIOUcyRhnkuELJcCIWqInLyINTIVDKQcwe4Din14WMvY/Cn5R9bCKzdVvLh66n9vyq/EatOZLnRyUYocQgB8CKSjebb33S3d6Dtlh2WDXoAcO9/udDU2ZwaSyw837phKb5w/SrLLSlIx+EEd3ryLikyzsFdyWSCwNptc76vtXcxuisD4xzeJWuSB7md7rKDHjCTUt+8WIfRJZcfR/fshBqP5H2tMrt3aEHP7Tbu5kJ77kokM+mFOVxFBT1gZq9wy23Js4cp6q/6JJhTzn+nHjac12iJoAeYfI8v1a0bliKhCnzpF4eMHoplFbsEqF0gYn09c5bdZOnKwBjTvU4o0/GOv9y9t1jMuBY6sVgMjLGKJDMZjTndaNn+91AmhpIJVU4vXE0LLZO5mcnBGO7/6Dqjh6EbywQ+APjEu8/D/c8ew2CI+mXJgjncCG7cjqEndqR9vdT2LmYg4hFdH6+YmpCy4ZxXLJnJSIxxOGsa4KxpMHooVXH1avMntKSyVOADgG/cfDE+/oOXjR4GmcE4h2/F5eC+YNrF2d3eAe957wJzuizVq04IgfjQyYo8drnnJ42gKArig71Q41FplztJbl4nx51Xrsj/gyZiiT2+VJsuaEVrrTzZYwRg3IHGa++a/e/A2m1ou2XHTJFkR2lVQ1QVQpUzk3f02Z1GD0EqoYNdlrmxsaMv3LDK9FmcmSw34wOAf7z5Ynz8IZr1yYIxBv/5G+BuX1H2QWY1EQcgED7+MpTJIQTWbgOXKU0+ES3qKINV5DzXOZPMVMluEKQyNiyzTkJLKksGvk3nt2Jley2O9E0aPRSiYRz1V30SnnMuKCvdmzGg/z/+AdG398+Ug3q/joMsX3zYHkFPC3SeJZ1wty2Hw18HCJF27jD14Hf4aLcUyUykcBzA/R+xTkJLKksGPgD4+k1r8Eff/i1VdJEEYwzexRcB5R46YQ7Urrs+pau3XEto8cG3jR5CRaVVOAHLeRQgs0j09NFu+Ds2WC6ZyaquubDNUgktqSy77nDx4nr8zXUXGD0Mkorxspe6UpNlAp1bINSEToMrX67C0E6n09AzdXpI25t1ugs+/6ad6/R3bMB0T3dh5xKFkOYAvh35XA7LJbSksuyMDwDu2LQCP9v3Di15SkKvBAfGHQi++0Nw+Gql2t/LVRhaVVUkEsYH6VJrrOpRiou7vfCfvwEjv7ofvvM35DyXGD11GMztg6d9hWGFx+3K6+L4/PUrLZfQksoSJcty2X9yDDf9/7+FYul/pf0kxgegRqfgbj3P6KEASGaZTvfsTTuvyGdmt2rK7IYxZshMJl8R5lw1VvUsxZX6OuU6l+i/4D2V7V5B5mWVsmS5WHrGBySXPD937QX42q/eNHooREeOYDMcQp5mmEKJYWLvo2lfO+ecc3Dq1Km0rzkcjqwzv0oGxHzdAuZr2KrRs7MC4xy+5etnz3VmO5do9ULPMnv/mnbLBz3Awnt8qe7YtAJBb/l1GIlMGBiX475NjUUw2rVzTrmwzKDncrnmXe7UO+hxfx2Cl9+Etj/9BhqvuQPc5S2pxir318G//FJ9Z11CoKZza9ZvydC3z66cnOEfPnCR0cOoCjmuHFXwR2sX4Ufd1s64k52eFVpk2PMptilrY2Mj+vv7y3rOfHt06VmXKGkPNLXGqvfcNcm/W1mjznh8lwfulqVZvydL3z472rrKWmXJcrH8Hp9mKBTFhh3Urd0oWhafFfZr1HgUjDHER95BYmIQEGreJBHOOfx+P0KhUEnPWcgeXXzoJFzNi/K2jSqEEAKRtw9ACQ0jcNHmsh4rm8TEEGL9x9NeNzAmRbsqO3Jyhsf//N2WTmhJZZvABwC3//gVPH2ovDtuUho1HkH0naPwLr7I1MEvPjEENTYNd8M5yWzDlFZGqUki6sFdGDn2+9nvOZ3OgrM6M2d13F83k92Y+ziI3jVPhRCIDb4NT+tS3R4zm9nAPdoHV+M54CU03yXl+dvrLsCnN1n3+EImWwW+/SfH8KHv7UUkQQ1rq0moCkae/g5ifcdM36hT+7jkCjBCVQEljpGuBwtaAtXkmtUZRahq1W5UrFSs3ExWL6jFU3/5PqOHUVXmvfUuwcWL6/GFG1aB02eraoQQmD7aPdtXbrRrZ/IO36RYAWfKGOdgLg8atqQ34s31e3MOh0sQ9IDkv6Va98YU9KqPM+BrN60xehhVZ6vAByQb1t5+xTKjh2EfQsXIr++f/c/Qvl0Y7XoQQlUsX5mDu9I7dc/3701N3zfzMrAsrP6+0tPVq9pss6+Xypafsru3rcKfb1pGM78KE0IgNnRiTrJHaN8uDD/5fwBR2pKzmS5sWiPebLi/Dg1bb0fjNZ+WevnXqEP3paKZY2EcDPjqjZ1GD8MQtt1F/pvrVmFhvQ/3PnmY9vwqaKzrwaxfn3pjT3I5sMgO7Go8mkwoMUkCROaBbSB9Lw/ckZYgQ0i1XL3aukWo87HljE9z64al+I9Pb8T5rQGjh2I5QgjE+t9CZLaLwlyhfbswumdnYUWLVRVqPILRrgcxfeylvD8vlZkD24yxOXt5Zgl6NIuyFqsXoc7H1oEPANYsqse/fmoD3A7bvxS6m3z5Z3l/JrRvF/ofuRvTPXuhJmJzEl/UeBRqIobpnr3of+RuhPbtwsTeRyGUWIVGrT/twHbNxdfRXh4xnM8GRajzsdVxhlxu//EreOZwP+jV0Ee2os355CpanLlPGFi7rehlUiNFTrwO94IVUu/lEetzcoYvfWC1Lepx5kKBb8b+k2P48APdCMcVo4diGUJVMP7bf8fka0/mbHlTqsziyzJLjA/AUdss/TiJdXEG/PCTl+GKjhajh2I4CnwpHu7uxX1PHUY4bqL9I8kJJQEh1Hlb3pSD++tQ9+4/gb9jIxy1TQAg5Z6ZUBQAAswkCTnEehiAay9sw3duvdTooUiBAl+GZPA7gkhCoWVPHc0WdO4qrKBzLrkqnBRSWaXaVFUBlIQ0h9KJ/fhcDvzk9g223tdLRYEviwOnxvDt3xxD15EBxKmDra7UWKTgbgbZBNZuQ+OWPwMc5RdirgYhBEQiSnt7xDDJZJZVtt/XS0WBL4fhUBQffmAvegamjB6KpajxCPofuXtO/7p8tKDHaOZESEF8Lgc+f/1KCnoZ5L9lNlBTwIN/+9RGOKnEi65yVTMBkl3KM7nbO9Cw9VMU9Agp0MZljfjJ7Rso6GVBgS+P5oAHm1e26tqI0+4Y5/B3bIB36dqs31eUuZm1jdv+AszhqvDICDE/J2e4+7oL8G+f2kh7evOgwFeAu65cAa9LvmxBU2Mcrdu/lNa9YD61l90Ed+syqRJWjCJUNfk/2qEgGRhLLm1+6QOrcYeNeuuVggJfAS5eXI/PX78SPhe9XHphjIE5nGjYfFvO4Odu70DDpo/bPugJVZmtYDP85P+GSJi3tRPRFwPgcXJcu7qNljYLRAeLCqS9meiog764O9m6J9bXkzXZpf6qTwJVzt6U7UiEUBVMvPpLTLz4E7DYFBRFAXN5TVW5hlQGZ8BnrlqBj21catuC06WgKUwRbt2wFD+5fQOuXd0Gt0OOi6IVzJfswv118C6+qOoBqJBms9WixiIYefo7GOt6AGp4Ynb/s5gC38SaGAOuWd2G/371BRT0ikSBr0hrFtXjO7deir13b6GuDjpJbd2TqnbdDclPtw0JVYWIR3Oeecws8C2URJVHSYzkddq7w0I5KPCVqCngwT/efDF8lPSij5nWPal8Ky6TZuZVLandKKJPfS3vQf9Y3zEMPbEDp+//BGLDJ6s0SmI06rBQHtrjK4OW9EL1PcvHXR7UrLoirRODw19v7KCqJD56BvGhE2htqMWJA92zr0GhQV8r4eZuXlLhkRKjMZac6dGh9PJQ4CsTJb3ox922DAvv+sFsQWs7UONRTP5+FyZfehyTXi8ikcjs9wo5smCmDhWkdF4nhwBw1QUtuPPKFTTTKxOVLNOJVt/z2TcHwQBEEmdngG4HQ4xqfhZMK2itTE/AVddq9HAqSk3EcPr+T2Rt28T9dQh0boGrZSm4pwZqdArxwV6EDiRnhFrQozqg1uNgQOfCOjQFPAh6XVi5oBY3r1tESSw6ocCns+FQFI+9dgpHzkxiIhJPe9P+856j+OHeE0YP0TSEqgCMW3afb75mvTm7T6jJrE4lMgWHN0CzPItxMODq1W00q6swCnxV9vVfHcZ3n38LKr3qBRFCWDbwZSvWXczSpZVfGzvacF4j7v/oOprVVQEFPgM83N2Le588nLYcSuZnxQu8UBKI9h2DiE6D+4OAEIDDBXfzYimb6ZLK4Qz49BXL8DfbVhk9FNugwGeQA6fG8NVdh9H91ojRQyGobnCVrTIMMY7XyfGFG6hXXrVR4DPYd587hn98+k3Q5M84Qgio0Slwt5/2zEjFOTmDgzPK0DQQBT4JPNzdS8chDCYSMQAAc7oNHgmxKs6ANQvrsK1zAWVoGowCnyRSj0MIIej4Q9UJRPuOw9W4iAo/E904GeBwcJrdSYYCn2RSj0McOD2GtwanQH+g6hCqithgL9yt59H+GykJY8k2QU01blx4Th02Lm+i2Z2EKPBJTpsJPnOoHzQJrA4rZpGSyqJlTHOhwGcSw6Eo7nniIHYfHoBCfzJCDMcAOB0MW1a20jKmyVDgM5lcpdEIIdVx4YJafHDtQprdmRQFPpPKVhqtzu/E66cn8Mrbo0YPjxDLoc4I1kGBz4LobCAh+qHOCNZDgc+i6GwgIcXjAFa0BrCiNYBoQqXOCBZFgc/CaD+QkML5XLSMaRcU+Gwg237gkkYfDpwax3NHB0HhkNgVLWPaEwU+m9NmhbsPDyBBvZKIxXEGrGqvRXudj5YxbYwCHwGQnBV+a08Pnj7Uj76JCPULJJZBszqSiQIfmUNbGt17fBhvvDOOwVDM6CERUhDHTMGdtqAXC+t9WNTgp1kdmYMCH8mLqsYQ2VHJMFIMCnykYLmyRDkDLY+SqqIlTFIqCnykaNmyRFcuqMWWC1rR9eYAfvrqKRwdCBk9TGIRnAGrFgTRWuuBz+Wg83WkbBT4SEU83N2Le588TGcHSUloNkcqiQIfqZhcS6NuB5s9PsEAarlkIw4GCJztWXfxojoAwImRcNoKAs3mSKVQ4CMVN9/S6M3rFgFAWgbp8FQMnDE6U2hytV4nVrQEsKDOi3BcoSVKIhUKfEQqqUHy1Og0To+F0T8ZhZMzRGnZVEoMyc4F7UEvrrmwDZ+5qoOCGpEaBT4ivcwZo8fJ58wipmMJPHd0EFFFpaLcFaYFOm2pcuPyJprBEVOhwEcsI9eeopPT8mmpMvfkKNARs6PARyxnvj3F1QuCeOR3b2cNjFoW4bol9QCA106MQVFUJCT/dDhY6YlBQa8TzTUeLGzwoTngSTuSkm0/lgIdsQoKfMR2ciXbaBf3zLJt2ZJuPDOZqW1BL9qCXsQVFdNRBeOROEan5/48YwBEMvFjcaMfEIAiVETjKhKqgIMzeBwcCVVgLJz9MbKl+c/XfQMAegZCONo/iWhChcfJcX5bLS5eXE+BjNgaBT5CClBIsCzn5/V4TkJIYSjwEUIIsRVu9AAIIYSQaqLARwghxFYo8BFCCLEVCnyEEEJshQIfIYQQW6HARwghxFYo8BFCCLEVCnyEEEJshQIfIYQQW6HARwghxFYo8BFCCLEVCnyEEEJshQIfIYQQW6HARwghxFYo8BFCCLEVCnyEEEJshQIfIYQQW6HARwghxFYo8BFCCLEVCnyEEEJshQIfIYQQW/l/O8qQTVSVHqYAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import networkx as nx\n",
"import matplotlib.pyplot as plt\n",
"cfg = nx.read_gml('/home/ykl/gitee/notes/Python/androguard/apk/callgraph.gml')\n",
"nx.draw(cfg)\n",
"plt.show()\n"
]
}
],
"metadata": {
"interpreter": {
"hash": "c2a16f405b67518a01207a8ddd2f79ff7dca31779c5d64f3d54ced15b2703024"
},
"kernelspec": {
"display_name": "Python 3.8.10 64-bit ('graph': virtualenv)",
"language": "python",
"name": "python3"
},
"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.10"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}