@xq-labs/data-ui-v2 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,565 @@
1
+ 'use strict';
2
+
3
+ var echarts = require('echarts/core');
4
+
5
+ var defaultEmptyImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAKMCAMAAAAkByx7AAACdlBMVEUAAAAgICEeICInJyfv8fTu8PHs7e/n7PXz9/vo6+/v8PHk6e/////5///i5+3////////g6PL+/v72+fzv9Prq7/f7/P3t8vjx8vPx8vTv8PL4+fvw8fL19/jr7vDQ2+v5/P7K1uXx8vTg5Ou8z+Dx8/X+/v/l6e2pwdj9/v6vyN3v8fLw8PDx8fL7/f729/fx8vP9/v/j7/zo8fowMDHZ4+zd5e7P3Ort9/7////k6fLj6PHq7/Xl6vLi5/Hw9Pf4+frz9vnl6/L7+/3y9fnt8vbp7fTu8/f2+Pv4+vzl7PT19/nt8fbo7PPi6PH8/f7k6vL3+Pvr8fbn7vTh6PDe5u/f5/H09/rm7fTK1ubh6fLt8PXC0OLD0uPb5O6mvtW9zeDk6fHv8vi6yt7G1OT6+vz9/f/H1eXr7/aov9XAz+HJ1eatwte7zN/U3+ra4e3w9PnY4uzc5e/L1+axxdre5e7W3+y3yN3S3Or09vqrwNazxtvN2Oe1x9vQ3OnF0uO4yt2vw9ni6vHT3ert8fjO2+jL1ufn6/Lp7vXM2OfX4O3y9Pfv9PjR2unP2eny9PnZ4+7+//++zeH29/vM2ee/z+Cnv9Xj6/P+/f7s8ffv8fbg5u/i6vPe5vHl6fL/w1Hn6/Tv8/bG0+OkvNOhutLi6fDk6PLk6PEfd8+et9AiKXMmL3rz9vscImkogNgSE1i7y9z4syT3+vwxiN2ww9b8vY84juL2sYM9k+j/wkinv9cSb9BCmOwQHHr8vT6Sd3GbsMkwj+zv59rz0pL3xnH6yk+Hja/206703cLZr4Vdpex9sughU6FfZZVrU2zj18S/u7Zlk7vniCSDAAAAOXRSTlMACg8GQX/t9va9vX/2Eb3z+/Xv9/P3GvnKjmsmsTOk7/jvWe/wS+jw999wh+7ZyqOZ1/j+FKHczN0/fZ7qAABuT0lEQVR42uzdT2vaYBwH8DzPE7vURNNGl2nSOLEoiHVrI7oVCmOssNbLGINMcvAgbPQ0xEPZ7h5EdkhPTjCwF9DTXuGexDn7RzdYTdY8/j5J41igh9Zvnz95fH4cAAAAAAAAAAAAAAAAAAAAAAAA8B8RigMA3ERwQucLmihqRR1DSAC4Cunis/T25/PhcHhupp+JOuIAAFNEr6dNGo1fho6ZThYxBwCgEiKNxzwfn6cReWZAKwIAR4znpkPjQU//8EwjUk9wAKwXghCmECLcFBIFd7iQYz7ROQDWCNK1erKxu9tI1sWC6nWhcD3lOsPFHLfMcwCsCYKLScF0XF/PG4hrqprsWs5yllDgAFgLSGsIZs+Z67nb242e/z/DJYczEaANAWtBT6Zqbtu5qt1uO23nz+wyjEMA+whfrrm9Ho0EbTJ6/pfjHW2Kvi47qFoSZnsB65CmTHpTzu+vGWd6dZ1r19ktNyXCwhPANiTmR67b87n0nF5mXP9y66QX/2VUUjkAGEbz0fTz4d486Dl7XXTTv7oP9nmeVzFC0JIAJhWUpmW5/8qik13baWV3M1vEMBwB7DGUlnVn9mQi5HezPKyEB4xRyzXLtu7KtW0vI0pDhBEJYAnK9Sf2SlheRppCuQAdLcAOXhlN7NWZTGqpHDQigBW4cTlZsWb3wOAAYAHR8s3myhNSK8EKLcAEtdRvjlatSRMCbQiIOkII0oRmIPplGIeACCNIL8RiMa08aDUD8L11uQNzWSCqkC7G5dTDR48eDt61AvFuIMFHqUA0IT4u58dnA08rKO/6ZdjSAURRIiufjI+OBq1BoI7ysAweRJBxQFuPs8FR4PpVGIWAyCko3fH4LATjvgxTvSBqjNIlzUcoxvkY9LFAtKjlkPJBjb/GoY8FIgXlTjudcUg6lxuwvzWIFF7pdl6HpdOFQQiIFLTzpvM6PB0ZnhWCKFGV424nPF0BnoSACCGadPw1RMepyvoEhBBEwaxElKHcl+MXITpO7a/JGwapRU2sJ5PJekGFXSsiC1d/fDkOUz63DgEhqJBMm5+GPqjfGGF448f7lyF6n1+HFgRpjZo5PJ/xMlLnYX47ilTlJOSAZJnvbhDDK6kyz8fnoR+RJNRvjCAakJP3ITphf60JFr14UOfT43f9RqECjUjkJJTTtycheisXOZYQhLFqGCrGs9kqNSksqU/n1pJQNyVq8EaoAXl7qrD0HkGqlmvsCqYp0AqOlWKCcJx+YLadhQFxhk6tDOsIIgbFP5y+Dc/pqyo73Qyk19Ne+UaHcl1320xXdP255fyBVWKrAWUf2pdOwySxM0bXc9PyjXM9Wr/RoYaLT3pxbAHakGgpSB9OQ/PhlcLK+4MUS2av7dzQbjt/YR/A3keRospvXoXnIsNIDytRESY950rtRo8zP5ccUL8xclDm26vQfFQY6YKrcdPtTc3qMzpXizYuPXqum9KY6WWuA5Td+hiab4zsHKc+seflG915Dcf5v5cefv1GQiAjkaHLh6EpsTHHizdrluX+s1FcFMWikYAljJGAcluHIWHkISGq5+075MNyre0H1na6tFkxICMRoCuH4ZCyTHSwiCi37DuXpqNGgtKAZb73H9GkwzBI+2zsO8orNdu2VsC2JzQjOVjDeN+hnTA6WYrIxhshcdCyV8Qv4NhVsmz84WCY+iTwhEgZg43uNhEfTSb2Ck1GtSdszF0wTN0JtpclVZmpcquXmpOV8kqclgps/PVgF44pF4c3bMny4SpsyezEg0O5bnOyaqOaAg8P7zmi7yjS1u+QbEnyxn6RL/1jJCT/G11c0IztZSosjUJ1pRlI/UZWlhgwDKnFbHxDkWVZ2avuxAyMOM4oHy5TWt68yNlKfG9vrxqPZws6xozEgyAK5y6bgegz8gyVbQRhVef9j8eR2ZqjJYOTsl4sLcuHiAjCFENbQhGkarnNzc1YKpj6ja3WJezqHQBCcYHCWXlRH8qbdzEOLhbdKheZ604TVdtU8o/G4/FDWoQrEIMzCYYhK4YwL1IFPdD1CoivSrfaiP3EtHm5HR5ph72POyQqSorW3/K1AtMtsfeT+59Qsf5YMIfD88C3JcNiaev6nO2sjcCFqnxx/ZbGXEeBGAepMMo3HrG/30uIUNHfesnfT2bomOmczgWH6NkNWdr6Nbt1LQO4GFf8G/6tDDvTub8lRKV7dnZ0G9RvvHfmAw61PosHNfQjEuh7k2A+lsvsbdDZLR6R61E1KhlvyirzNMYz+AtG+1If6jfefwSrfEEUNcOfNDWemzd2lnHcVB1zQSIIYYwRWXQHexCLHYSf7N3/TxJhHAdwjisjhUBqF1+CDD2TiChsmlutMWgKv5S1STTrnLoizcbURWhmLea0OUdfxNz0l/AXN37qx/66Pncg4QULuLsHwc+r7NrYWqt783gPz/O8aYs+WT4e2N94RNCMpU/jbW9v92r67A6d7dxuSuzzE80ZfMiTnc2YvfeQkO0YzvTW/JQMO6BTPNjO2d7ZOQuBEJ8qk4LTAJrkQISjQ3cjS7C/cbwbl/XWwtZ3dmcWMvEMzpTJHaIBv0+JPYPvsrC8SV60RTtOsJ9uvKlOnSSFZrt7R2YrstM0h04dEWp3eH2QnHUN9jdWjzWG4ACNUnYP/YSv3d7TN5v0Ybk+bKT7Gy0qVCVbd2hkt1Ijsc7OzjNtLIMPe3KgXWT7G2NncRqrWsyNcucDlDgrA3Y5b4W2dk5pjGccOvynloxqDRPtbzxWBafyoOy9VW3vHDnYxalxWnBKS3o1xBDh/sbmOPaFIMfZLQhI9WAXZ8dpnBKRSEe8ng5HkOqo+7JbOzUKxbCsRSLGGPaRFMaP0qtDWzpCoQc1ufNgK9TbjQmRXHBK0hAea11V9Z2acSZDUiSduPhECoZ4f+MJFaoEZbXY3ZcvO5OPH0vbxnkcOsmVo77qJ1pPFzTiG1pFGLu+43wymYxK28C2+jiqxwd1CSgT4f5GE76fVYBmndnobd6j1dVH8FWrR6vRDhxCJKCudwTJ+RXU4jN6Bag2fXY7uhoFt6WKJnHQlsKh9QeJ8ftxrWKl+diWbw8OLn9rmP5GQ5PUbymLhR068m3R2dbg91gSqN0/7hPzHNdiV/Rfcn9w8J5ctgcDzdIqWxeUS/ucGIMd38v+j9UH1uXcYZBtwYA0QvkWwA+tKusLDMRi4/IJ4FO6FLSZWH+jET8krADlHkgkEtmKhEtL+AKB2HphBTV+EiKxDWSADL0yU7yUurkw5xIS+RKwpudbOJEICHx41pI0DjIl2XoXpZIbTTFsW//FgkvK6iKgp2t+Ic3jCjJcpqS90vb3M2Ovo+Gh4aFvCR8I4wgiDW0m0XBqlP/EVppp6/e2v9v413fBWpGVYtN5L0QmRZ6WMZo3JfJVZGxGABeRCcGHA3FB7rI4//FV3oLIS5F0OnfleGkIUgGEhBsN/QoG+aWow/gMIhF1XfGEaE1W+f/allupDbjz5yIFL3Km8/d70R2/PDn58+dTwfKy6FYvKLrVp8BmDtzoArjkzZS74ydy4h9y4J4vtpS3uLR4yPzBNe8jgF8LXkFkii0UrvngFAL0OxccjhMyMnU3CEtRh/1unMWSiHLpB5SkNbGUSm62fu9bGA0ikbnpyHSeKCBFlnnigIyWDwiY2hzjFQVkRhSQiQOiISEePxyQpdyPxXIBEZEckNyoktnfez8M6yQMHpxcl4pib2gV6m/8osyB35TjFAwfEI/GCEguJQQDAjgYRTbD9/1aPEhGBrqTJqNWa/jb3+g2n4CCrZro9QbDF6BgfyPV5v20tjYXaaSAAIIBARy3t7/oG8BHELkmhByuC6aWq8Dk+V9/o9ZUPjzdLOu60Mozs1ZlzjCDfLxdW4s0VkDi5AMCCZnHc2R4Mh5vDwp3tfWaoXQ+7GortNOVYnDahD9IoFIG7RDy0WABIT+CgMxeFw4gCmI8pR5E9C5KVH5Ktp/OdovPR6MFpB4jSJrL9FzBEURBFOvW/jNGOGgVULuMBvFLRhL9dDo35GOl4QICyAckzb3swhU+ilKfPJQDg/46U+it84hfstIqxdGWN5CPxgtIvD4B4X73Y+WEEsT9jTApBZNbLebiDFCMq4WfsjIIL7mgaJUA3a2NhgwIqEtAuB4cQpQl9Dd6WlsvmPl+PPFLrBmmrDz8S7SKBNqSerfSiAGJ1ysgGRxClEdTPLrsSzStIkTdv9GYAanTCAJ6cLXiMWLzyh6QqfylaQNyBRebHBt/2Ld/1raBMI7jTZwhEDJ46dClBDKUjoVSOCMNN2gwXKe6W62WCkRwbNHWDR7SP9DB9lDTpV4C5oiEvXruq+sFy+7pHlmmJJme33c4Cc/68CDzqPaofrkNSLySkHdtS6CTwpy/CxkHxZxVxO5yubQhuNu4xgCpGoITheBu8+bXqckAsFbip+b+bCuQP08AhE17zyflQOL4urigbouwB8RmGZ1kb+faA+J7kQL1sH0kFAWUlSugENYPuoGw+7sQc5q7sBzI9BQvIWzae/G1FEhshsen3md/4VUmpfTymk5yZ808vcpr6mJKrc5N+u5SQZ7WAe3dVXvQvTEypUBMp3gJYdP+yaAMSByNL3xvJoSYV+bNtuXdPi3/q+H6aiULFfXlaWVl/yp7b80QIUDwRy+r9k8mJUCiaHI1E/OGv6tF4x6bifvLq84wU4FS4zBLy4A8fYCYdPxsMnaBdKI3ieFhnn+2QG6SQx20zrOUAsE+Fp+OH18SIFH00RMvfe5ADBE9El+ycAogfHOBmOJv7ZkZHwBihKhAnmchgPCtBEh04S18AFmlglaahQDCNgok/ukJH0DypNK9LA0BhGsESCd6JXwA2SS16mcAwjYCJB54cwCxGgaJGSEAwjQXSCdqiQaAWEkd9DMA4ZoLJI7NAAEQOxXEAMI2AuQHgDhJ/StLAYRpBEgiGgBSSKoRgLDNBRK1hA8gxbQ+S0MA4RkB8hpA3FTQBxCuOUA6kQAQN6W6GYAwjQDxAYQCeQ8gXCNA5gDipkYAwjYAARAEIACCAARAEIAACKoIQAAEVQQgAIIqAhAAQRUBCICgigAEQFBFNTsAARBU6OGR3QGAAAiyOzisb0oOj2oAAiDIBlJPPuQlSR1AAARRIHkAAiCIAGn/C0AABBEgyToAARAEIKsABP1l345V2wbCAI5jo+KWgkA0a6fs7tKhtNAH6GAy3HdDBr2CiuAepFOHS16iT9izpE+6C7GSIQ4x3/8vG07m1h9n6SSAAIReFsh2sx5AAGKrAYjWf6uf6DNAAGKqAkjbi1/p3n+qAAIQUx2BLEfXprpTn9A2AAGIrRKQ5wcQgFjrIZDu9AEQgNhrdQUJw0frAAIQc5VAumYqjUXHoWUFAYjVqibMOkL7pRr72AS5qqb2fRvaENK8ABCAGGsCErp0hLSTPv/qr7fjeFP7cQ0BCEDslSgMOtrUGpAUQABir3EF6QJAAEKPAumXMiD97QLkttcAAhBjJQqtdhKITgEIQKxVNRI0yYBIDkR0AkAAYqwSiD7uPgD5Oo63tQcIQKyWAwn3+rj7Por8rqeuJAAEIEYrgIj4sSgprwEEIGYrgQQZC8NXTwByCUCO73uSduYVJOQriADkAoBs6g81QrQzAYnZNYhbrkE8QN4+kO31n3TfkbTXvIt14C7WJQD5BxDtXEB2j++D3AEEIFYDCEBoHchcAeQuBzIFEIBYCyAAoVUgcSkDEjMg36MGEIAYq2qcaC4D4jIgB6cTAAIQY+VAJC7vpLvD+2pq7wQgADFaAcQ1WnR+PnEAAYjZCiAS3dRRw5wABCBWK4E4549NQPwQQABiuAQkZi1/sdwPHbt5BkAAYq0SiF6kvysu0n8CBCBWK4A02W3em2wfxAEEIEardguQYh/k7wLkxs0TAAIQWz0HyC+AAMRq1e7gtP/s3duPC1EcwHFVUjSauCxeiETcRSJIZOrsw3nowySdTOJU6lYmJEWtpVXbUKwtppV0IoJGKk3jGokHEU/+Or9zmxk1pR0dhPNVuz07UyT6cTqzZ8rwATF0HxBD7qCAKCD/WQBkWjYUiNxFAflLgcTj8QN7PuxZHI+r9374B2eQt70Rn2e9UdMCsyzkJndBsp+M5QN6SDYw1jBiYdlvBBJPQus765PQkkWqCIHIS24BiHfJrRYtkDTq0+c+4mGctXXMs20bf5f3NRvb34e/D2GZbyviz2/c5+moJ8YiIWBgbCI5xgNjZCMatvkwa9u/D8jiLZvhW1e5HHzYnFRzSGRAiOG+acMbQ1uTEq1NkyiBvEWVS9egm/TnzVu0+blbc/Pz83NnZ+ZnZs6e/Qid4T2lXeSdPHnyzp1T0J07L6FzvGPHisUi/a15ddr9+879+/dv327frtXatUajUWtUkQahfg2GtNo7RMe4IaoZfHxdbi/zB+TEA2rXmRA07Y5tTH3ojcZlWqORxb8RyEJOtEoBiRJI2uywDEgzOzzTiBZI/+T7969fv34lgqfLBdoN3iXoLu3aXcaIIYLb3NwcCJqnzdA4HwEHonKATfHcuWKxVCpVKJlW5cmTJ8AFvBRwj72Acpw2zXE4iKxvzAGJcb2AenSCKdTFF2o23QFX5bjNQNimI6qjMYC82rErFg9uNCDHc/KqaQUkSiDBRQ3k1Huqgj5hKAu4XYKbB4N1E7oFzUFMxVk6szAZM/65ReK4w6eUl0XgcYxPKBIHzCXtdkFnQLDj1Ght5w0H0m7XWA7BDEhDjsuYASk7bf6ARh/RcVeOawIIFwa/4FhAXh1MBrd0qwLyJwMgVtrNMkVpw7JMmWW42yMB0gMgzy5cgNuXGxDwoDYuMRt3qQ3645bgMc95fJyfOUtxgI6nZx5THUADbqdOgo1T59grLqBRLFYYDtDRqj954lAg7dvgo12VQGq80YHUBoDUBoDUeOMBeV1akwhs86bYKEDkVdEKyCSL81VXXtY+eQwCPjYvZ3eXp9ZiIooGCFJAXr0vaWliBLQwFEjc68CW412ROM+i3od0EsHJj0Qi7fPhncVKWL6zWNhSQKIGUrQMEpDRGQYknvS1bDonmpbnWXYrIb8OZLtuWcTLcudnCmS7+32QvAISOZBj2EoHZOkAZOi/bjL/RZ/kOJxXWeh8Wq6ATAQIUUD+FiAkoB8B6bgqjuZ8EfbhhXonawXkPwfyguQCU0AmB6SvvfOl+YBofRfIcncvTQGJ7BhkfCAm6Q6NaKkDi92UlbBA8qbly/QBMfMekCOm3EEBiWwGsXvvAtJCAYGMD1vctqvZJAogvsWKCkjkQCpZbAVk5kMCIYap8zqmOmCfCBAo4V6TnjDxGveadNMaDUiMtS4ckNNBQO7+R0BQIJAfHqR3fxDxMtUMMhkgAEBmmiaW9/GIQDamWCvqrbHXYr0Wy7CecSiw3IRToX2+C8nlJgwKJJzMiAUn3641ASQn79DVJlCRMoE/BRhpVeqVuvOkDkYc31KTNqsugMixBFITYwmk4Mi1WBxIVY4lEPcXHBeIOS4Q3SAjZXQUkIkAgUwZvy8HowFZsqxMm22NCQQ9hcWKPG+9IrVCk0zu0h8Qc3LtGnMyR2PLsmZAiliUxZgIJxCbTOj63hI1cqzSojMJ3GbFYsW6w6oLILY7JogDqYtxgQN55PDqDIiGy/IBDgOCFx6Icas3iRkE9X8EZHqkDF0BCQukiQaAIJOGevI+hLx90I+BrCrQZh+MByTdKzSuX78suk67evX6VfYZeviQfpydvSqbfTTLe1SYlRW8ym7yPybNlXMy+j54rO40X72Ou8RgEYQ0CmBajKdNvsNxQ6T12Ng0iMHj25F4AJnOIghnyRuLZhA8ESD54UA6BhkpBWRiQFBChhCy5X2MfgYkxgIg7LlaGgcI9FaT1wD2IBRZQL2PZeIKQYTk2BwYIzFGYjzwANgwMOYesJ3l2RhN4CAdH/kOyMolrK3LNAUk4gAI/taHd5COde8gHcu9cDCQ2O4UbUM1FBAo/dZLC8wapXc/KZ1GlKLsL7omfRwgS1YnoLVTumZQIV06ffHP8o73WQGZKBDsO82Lj3jfST/yMyCpT/thtUO5wKqWWupNG6IEkrDoq7jE+vWJtGGRBdCyYNAvQJZhpQl89jbQ9VwKyKSATPmANF0gy5s/BbK/4OuBAhICSMZGAeFmEBBC4Iz80mTykGm92QCLeTcsWOa+JLQGw4bkNxsIUUD+BiDlVW7HFJDfAGRJPB5LgYdkLB5LJiycWhyPL96CBzcoIL8IBPnCU0uHAEG84UCqK5Ky3RUF5HcAYWsc2PrSOAVCETAg/g0KyN8CJLE0FhepN44LA+RJJo8D0scDsl0BiRZIMiyQqd2LY6J1CkgoIFkcUHZ9ABCNravm66yZg6UJTedA+gMb2L55BWRiM4h4mjMg8pLb5f2fA+keSsk2tNRLrGiBmJZlcgd5UzgwBRB9YAPbVwEJDeSwjn3p+Z3LeXt1Pb85JQbL8rrcYSiQXI4sHGeRqjqLpYD8GwkgXnq2eRhqNvM6CIH7bJDV8c+AHM15VUsPFBAF5F9o8fbz2cG/EJuWtcV9OZBbp4YAOZ7z6iogCsi/EQMyRsOBaF0vBSQUkMMZO6BAIMiykDgWR8IByi/nB+kDG6bovn11wdSfBtIhORkhCkg4INmAMgrIGP29QF4oIL8RCLYszB0cwQIIFkDyAxum6L5HFJA/DUQj4hpP+KheYikg/0iTA3KPGB0RJuo0bwgg9RNjAEFIOMhwB8kEznIgmYENU3TfjAISHog9TkOBXOks2yLbVldAQswgJw6HANJnq4Ni4KDPgTQHNjAgTQUkLJDnmew4Zb6yd7evTQNxHMCNNtqu6rQmzeZ8qMImpTqfUF94UqxrovOKMFGUoOAheCBIVPTl3hi1YEFfKNK9UvGN4Cv/Qi/pJbmmienSB0v3+6Ik844Jxs/ud0nuGjuCaJXtXuBVk5GXWOw77JKdpWzMwWl2PL2r9m05w3LgWy3UcAWATAQQ9vMKPuV2ICCbKrH4gminQN7lhB1V5/iNnXQ3AJCJAGKxxbpeFo9CiZWqxNIjEglk1Xmpoba62vO79w/drgDk/wN5tMvPfpikjxaI2nA+6ldlYRtE1G47Jw0W97jaCDW8Z7dWEAD530BWHwW5DLd5hwekGQOETTHyebmsN97PyWxlLbs0ZZml1GiEGmoAJDk79mSGBESJBpITNqCr1QBIGiA4EgiKAdJwV9bmmg3VWVkrqw3dXXJ7otnTAECSIi1Ulg5J/QHR3dzWdX7Ov0gEclvYffErAEkB5G0MEDsGiDOWdxywxx0uENbPBSI2AJCk7JAyRwqlW30C0VUvzrUJzhOBNIXdF2EESTeCmOmAyBxILgxEBiB91FbH52ZLtv2nTyCqv3GcqqPCIv9iGQGQyQLy/j0HgnwHqAMEhRo0py8FIJGRipVyidi2Te3+gOjBpg2q3g7WpK/piSVWDeYgg5ZY/QPR2ZXoOKA6B6JzIDTUoDl9AUhU3NrKZqHUtvoEokUDaScC0f0tb9kvAJJmBKmbKCoGABlFWG01M+uMHm0ndisGyM62LqYbyE4fiO21xwL5Xfumetl1H4AMDYhJAMjwIxXlcsniPMYD5N6czJOX4Un6EIFAiTX0SIdZbUVsh0ciELsp+mgKQJq2AKTpdYgFkhU2jgMgaYAYGEWExgFRQkAoAElRWyUDQSIQJABBdjAH8XuheCDCxnEAZGxA1uKArIlAMADxa6v8WV5bpQTC/5s7QIKN49aSgTTP5vzAu1hp7mIRbEYEk9EA2bFtC0ZaOLPEa6t0QPQ1f+M4hOjuHE+B6klArusN1HaiUdoAIJsG8vPXW6MeCaQ1EiBSvrjViOzYs5gTaysxthUHhHQDQSbuhCImBHtBiUCcHv7LKnCbNxUQ3D8Qlg4QrGvcgSkCERtYtJxbGHRd+aVKcSvVXVLxoFtbRad/INFJBkIZDx4AMnYgkggk3MBiFlgdMFORxCt/q7Q0v7BViEgL80sli0EYGAj1xgxxBDGTgbRFIE8ASAog1f6BNHW9qbora1FTc1fWqk20nGGZpT0NOutM29jel+sCcsO2S0tntgaRw4fc27pDAGKKc5Br/hwEbwYIAiDpgGxEArF6gSiIv0qqIBaNHTX3yE4oQqEGvzJodwOxbJZS4cgWICLN72Y8UgKJu4ulIBLcxcIoGYgfhKDESgXkexSQejUOSCiJ1TEOA2FzU5v8KRw5PO1EpPlsAhCyEgfEQGKE5yAKMoIHhQTxxANB3iUDICmBtAiOiBE7gmgsiEXjJyY/hhoCIM5MvRsIJ3JoyokMAoSYSIiZDYCYJADSMr0OcUD+IMr/rnZdh3exUo0gmwOinZZluUyRzlbWyssawp0ltxSFGnQv2JmpHw4B8Yhktm+b3kwEELu0k+fESfiEqeEBIR+jgSDVXVmL2aDvrKxlQHLOktud7VCDOIRgezYTAsKJXCvMLE4vkYkAciDYOA5eNRkHkM7dXBvxxx2dKQYD0tMgzg6VMJBgFJliIoMAsSgSQoU5CLUEINTrEA8k2DgOXlYcORCWjgMjDKTe0yAmDEQkcmN27vieqXy8PnogdjIQDTaOGwzIerVaj4ixEgHERMjkDkzuwORAjJ4GsULoAhIO+Th7diqJDA8I0oI16bRdyPAsmygRiKkpXtR3MElPAWSluhGR6oGxAWEhpbMH92ybtgwEBJtisKbwmBjj4NxvjwPSwn7q+Ol9ADI0IFEjCEWIdhwQyh1QuwOEhBqyFAWhcUBEIuWD0zaKDBGIib2I59iMBcLWR7lAhO9Tx08AyOQD+U3sqBBilcr54rZpyn8DIi0cz+fzme0AZDhASFSigGB2JbgDzIFgwoGEGrJYvLpJQDiR3aem6oaWNH/AIv+MtekSS2MsNhQeHF1iFS9kzz1/dk65tOhcD9PLxgYAGRuQlu/A6AbSSg2E5fdOABINJJikK9gINo6rC//CfOk587F8/uHz18+era8fPT5jGNgLMQBIKiAr1ahcHT8QAkBigGDhNi8Wn4PgQJDcSWbHhfMvPj1/9mZ9/fPLY3MbBHupkscAJAWQqx8ACM/4gVztE0g2GshHHPTQsk5mKwvK3RfPHSBvP798cJEEqRIYQQDIJGWMQFiwO3vX5IP7Xz30gRz7bmmKK0dhgbd5xwbE8hyEJ+kWABkKkJW6CKQuAKmvBEBYr1C0ygUByI8v1QPwJH0kQD7cTADiXDLJATLjAREbAMigQAwsxBCAGAGQGdYrFKWy904XkJL4LhaMIH/Zu7enJq44DuAjKI3RdoRQa+/0YqcXynTq5QHR5CRL2G2gmMoSU5PVhmVWjQIJxHVNAwiNF2JL2pVOwbHDRZnpDA8Oj/3r+ttb9uwlJoSqEfcbkrNwFh6S/eS352x2qQUIsgNCoA+ONhgDb17wXvaWfGbtSrdyZu1b3Ssd0B5u6bF04G+AOJCx8puLA2RrQPZWBpJo+6r0Oh50gNQCJETYAiH2N5nydiu8AADB4/Ekenp6XNC6unt6xjxtbZ6xHksH/vo6QLYLRD/lFoCUTrm9VxEIotqatLQ618XaNhC8hJDGuN6WDlIBiM3+TfCAt9oC3tYCJOIAKQFJ9OJJfLHXDdnr7lhKJODCcW45LQmjjqWlxFvfGMYgUwTybvz1e79AkpGIN+rMYtUAJIIK9iGMcb39pvRKJVram9qHYdKwDdo2aIfbm5ra+xOWDvzldTlAtglkaUyJ8mtqvBYgXf4HzQ90IFx8YYGjEVJeT68zzVs7kMpRgbQebmg46h5LuPZAu8eVGNt7FBaaxswdDhAZSIVEqgVSJkYf57rO+P2PBzAgq7GFq3zsjDzORIRzoLAykOB2gbjkyap5cACzuRIQZRYLgOAdDpDqgAhVAxlTsoRXEBsgZ01AQMhQLncPETKQpAOkBiAhoqoAEOlEKhkIzC+qDnrGlOMgRE+rqQM/+8oBslUgqKcbS8ILYxApeztWeu4F3Oo3LWOGtQxARmY1IBeGsuMiKhQEp4JUAWT5qrWCOEDU1C0QwywWKs1iuQnDWis4kLwO5Cp/MyIQBEJGIFH2lAPEAuRM1gRklqyugiCYxZLOE1GBeFUH3nkViKUDP7nEAbJlIN4lLF7sOIhX0I+DGNYyAJnEgUxP+CMIhRBnAkI7QMxZDl5Zqw1IoRKQ1mqBlA/pANkSEHe1QLJ0fzj8F0oagXCjnSccIIb4l/vWzBVElIEUUKWbA+SlBTLEX7c5UBhlR047QExA+uhHa5cMQEbIEKoqMAZJQFQgpckqDYipw5PA4wB5sUA+PWzzUZMoFz257gAxAgmOW4GI0u5p6Olf8AAVxAtRHCCv6sBLKNO8gqUDi1NBtgxESBiCAUlsYGOQBJ5uHMh9A5B3rReOAyDsKQeIMbeDMEa3AqkqDpAagMw/3cf8U4AsYTECadc/zYuvZQQyPjJZmuad+Fw+SffwR0kcCAiZO7nuANHj9y93PlpzgJTN8wcilgMS8RriKp2T7vIS+oXjCsa1FCB0Jm0EMp075YJ4XKwJSJI71XnCAYIN0YPSURAHyHMKACGeDoQgqwICcWmBZUJftgOSLqYZBUhUBTLjC5OhUNhnBAJhZ0+uO0BK+S44+mjNAiQshqrK/wREnC//fuoAwYBsOSvaIJ2ZZFL3AUiSU4FMz4TDJOmzAkmymZPrDhAtQf8V8GEB4qsOiEcGUlAcCAXVQQGpQCwdXj0FB8jzBEJPcgwASSbHozKQJ/zNEYoKU2YgEI578Pe6A0TfwbIBshneChDCtbsBPuOACI/04Yc9HiLihvZoU8TS4dVDYEBIovzmsukAqX0Xq1sGckYCksnH70ZZLl+axZq40QdAKAuQ8SQbPdW57gABHreDd1Yfrf15abtAiA7pTB1EEF9A+wVBoBY3JIDMHQ6QWoFUHqQftg7SoX5IQIIzACSTZn69fJmbLE3zXs1diVIUtWkDJMlyD052nnjlgUD58Mv1Y/tAiP4D/RFokNpG+g9IC6YOB8g2gRRwH9iBQldB1A8UCqW1CioQPzMjAWG4+AgAiapA+IlseJjy2QCBYcjU6MnOzvVXGIjff3t5uY+5CfXjTxsgVFisKhoQAbZ/ARxsBFQgAQCyQeAdDhANiDD/1AhVAil47IGEzEBgF2uWHkjDIJ2VgUzFY5dlIDfCAcrHRW2AJFmWG/V3gpEK+ftZ5vYzTF+lLPcFBy48kvavtgfEJZ23OS/vSUUIJO9JIUJQdrEES0dBDw5EdIBUBYTAgRAYEILEgBAlIN0akMe35mhmVAHCsmoFyU549u/3JJN2QJLc6lR0lq58lNmP5XaN0X7db0qfFtvNerlSyq5yFu5BLfifDOo/DX5/Nws8zoMOWyAUWU2kXSxlW5dORCDhJYMWxuKCMkgnzR1lgQjlNxcHSO1AwIcyi/XT4+gthpGA3Iqz2i4W/ylctver5C07IBB2lY1PcclbWqJYlDW4JKctQuSyI4e1ZMqQuBrt25iayxWysHBBCjyaclV5tOSJnGklQ9Ol8Dwv3flcbno6Z5eJG+dBhzL6qB0IBIBIAwxlNpdEHmU2F0WUaV7S0kHokfsawU0DSNrYEAQHyLMD8vjxABdPReMjXCxaGoNMH2tobHz9w3JAAABs2fK2LW/Kq1NxPTE86uYL9z/w6NsvnqEh+JKjb6+m5Pgclmwuq2ViQnqARslNtdFzxZgbxvx7ScqNS6ac17Om5vzaeYnDv+WB+MLVxKcC8dQGZNf7+469cfyTD48Uv78jihvCqwCksTIQsRwQsiog+lpj3m79OAg9HmPjbHz8fgkI/yXU+YNlgUAM5WCVtZQAqxW8EixoUZjgYHA3qhe50eQoDc/rfCxwQI4pIAd3Ay2QwfXcNPExAbqktUqg3SYQSBkgYmUgKOT6+I3mb5kiU5wbyd+PcqmCKOxcII1apApCPDXCRsduJQctQApY5INLciQg+im3gr7WvA4kQzPjsfhqXj8OkuUPwcDwULQCEIjaslgwJ7qXWNwWilpZLqs7SFBaVDDgxCIFx6JXGLWd1qBA8BJjgmKMzAQey0MptWYo268gtQMRQl3NNFOU/qkLXGzjNxg7Rs+RNqfC7wwgje/s0dKBBKKCEMElp+WdRgsQPDDzoaQDfme/W02LgK3i1c8HgVksNq5/WPEJP5GCqcYDvmTSAVIDEMpXTWoHgsQ+hmFSKQnILFyNJg9CVn8ghR0KpOHQfo8ahIhKEZR4KgAhhBApRYS/qC2TooCvNL+y0gVAZmYG6DRTTEpA7kdVHz8H+gOBfop9WYHwLxLI8HC1QFy1ARF/YExA4JqY3HwE7Uwguw5tbmgRKgfWEkXRCsT07CAt+DIyruHtCp45e/a115qbm1NJdlIBcgG2NDrQD3mJgbzICnKNClDPFEgolElnzECS8RQpWrYVamcACeMw5m1vWgAHxB7IloNQorf70D45x7ljcgPlJEhJOoaJczPsyzoG4V8kkEBgeJiiqgKCEIooQDYjioO2CKkA2bR0ICWhcFeatgCB644TOxYItYHxMAf/OcjYWPQPMKnM4HvvNzTWCgQnAkeh5PkB99xuuTkg4Yj0nmbmUkUmWZ9AlCLB12UFWfuHu3gvHFCR1A6kvSwQMZyhbYBwsUFxY+cDKVNBtOrxCy3PW+QnJ69/+9FX7+7SgYRrBiI7a/ioebfUuAOoazAlZ5SpSyBDfE7e0uGeq8MKsvZPnC7OMafPiQFJCfX/AyG9tB2QaOy+KO5oILoE24CPsYFrKQAiEQEhsw+/3fe6AUgBbf2mAWma293w7sfHWtNFWUeRYZh0Jnm37oBM81k+P7C4uHh2JDaRy9VhBVmlmVFp4x0dOCcE5AxDNbFJW01AQmSQHrADEl8QdjYQNeXrR1cKojwrIyAkn8/PuQ/iQEJb9kEoQBp3HbzGub/2tD4cTEsy5NA0XYdA+OxvXYsX4ba42JvmJ/j6qyDsIJ1mIMViMTU3GCxQMhKrEV+NQES/PZCphd6dDUS3YF8/elPwrOtA8tLzkt/7ug4EggqARHqo8o4ASEPD+/ve+IyLp34cpOk0lnoEwmdHFxcvXrx4585FMHLnj2z9VRB2QH0WwYiMhO7zDtsZASChUEhUHFCi6kAMK4N0ytIRkiP6HgzaV5DLZ8MmIeJOARIRKiaCMkwmYwYyfv2dxhKQ6qoGAV/yHaEQxOX+4LjnyJHBePy6xKPOgfC50d5F0AGRiPR25bL1V0EAiB6tknRFAv0SEqyCKEBIj/x/cnxk2x74xzl72kifG9qj7ZSlQwNC2wNZXXj8CgOJiP5MxgJkfPxu80EVSAjhCdnd8X453X6aSQ9KlWMwFpt8WP9A/mPv7poap8I4gI8vd+qFeuWFMzp+AW8cZ2qVmlpMCmQTyDnQtM0s0k5XWFJb+oKWdEpqd6EqdmzXKOCM7NIL7nYYP4AfzeckgaZtDpAqNgb/MNOyXS7InF+f8+ScNFra9mET+bVcqlX9WkFGkORXD0ULiR0CBCK+AXdci3Is+yrcae3VCCtGzVuwiezICzYQcY4CJPOkHFgg3WuBsJ+VkRuQrcorL5lAuOVLGnPwPfQF344ANrYrzn2x8JvViiMSvL5ex74HUtVC4MMJ5Nv1WtXXFeQi1nRLWZnJwiIsMBkAYSNQTkSWdTxms+TJyAtz1wOJ3Fkgy+ysKxDI668NgFyfOVPHp7P9fAcCPKwQIL0xINhvp3mrP83/uufMg3m1pvmsguQGx3GskMBRb+O9r++ZRiwgEDAw+si6vkASmaNOsY7uLpBuFyFXIImE+vIYELoOtsvOHS4goGHaQJc52tnqSWgkkt9282oHpIAMlZCVkuazCtI7QrTY061Ch/kC6sg7b73Z9R5RpAIJ3d0pVvc7KpAEzLFGgNBLx1xSVqzKMVosio96beutzwGkl/AVkIa2PQ9AnPl1vuSvCgJbTQa9HK2S5CFHyTfff5MTRc9AOEQ9i8V2u3cUCBuTJBqQD14YAKHrgNIxs4RtG2g8uLLfQ5g8wRjlK2pFgSfb/tqs2NDyUEFGSoi/Ksiz0zOM0XWxepLCe8wMaS8iEfamiXAil2UoQFJJUbTAXQLJ3hkgS4gGpPfhdUBMHUlGARzAA7kHS61em+DAirq93WyqTfip7bcK0hypIA/8VkGene7KGN0oRXMxUQovZ6EFj9zMx3k3yUgQ1yY9zSw+WBTNhn7ZChu9I0DgJK9EBfLui2ThlaN8YjK8n0Tm5vt214HowcX9HSSVC/UfiA5VragdjDYe+QnImrY/1oOEfFVBnsFWLAoQuhE0282am7bEKxOBxHS9TwOSMy8Gvb+DPuXO2f+BjAFhXXSwcEyh7bB0oGuCCy21DVtYwEelUqhU2m0k7ST2/QSk2pgfFvJg/qDkp3UQmGEVMEYeUiw6jVztY2aFgeh9CpBMOrVOLnfb5CPnYqCAZK8D0hV17BUI6IDCnRQIjnIZXZsjjGAHJOFh+mgX2u2OXNnwFZCG1hlZBwlrvloHeXb6UJaQx5hXd3Rgrd00QveRXFhaAiKrTiBN1QHkaZoQ2WxoW19zYpCAcOzy1elGPAOBQyqe6J1OEYKuDZYwqoCP7YGPfDtfwPhRwk9A1qr390CIY51wu6T5qYKcnrUGMyzPhQQ9oBsBH0sr40Dqo0BScCTXaveXOTZAQLLXAWFF3dMUS2TFyOGYDnow8Dg4gOph+WgTH508AJHbG74C0tByZK/iZYeeL/lqLxYpIDKCTGzkk7DoeqUVF4mFw+FhIBC15QIEakgtI56zdwrIYw9AYGo1Y1gtOb5RZLnSOqhvEx6Wj0Kb+Oh0sCztbDzyERDYzZt7AERITB/+2s17eqbKePKYRhQ5GYmOfe5D9rvFpBuQniuQzWpJIp8QLN4dILPSlad5AYjYJRFBx6ezZXOxA98wMqq3gId17gqA2D6UjgKvFTc2/ARkrVFbyx/C5SCL8/O/Z2qan64HgVX0JzIFiDckxkx2+GpEbjkWcwWy7wbkPpSQTZG7K0C6rChyh1QgWxaQqCiKwCOynDxSUJnokG4WjHFr4MNsP2wf+TKWeLmQ2/ATkLUGtOWJZrnSvF+qaX66Jh1O8e4KOpb+ZjBC5WKxPPs1IcJdADlxAwLZcgeypu2GOPFOAOmyrPh1uC/RgOQSH8LnLL795j1zSfZzHY4tQthDJFlt/QA+KoP2HL7z5NQwwpLE62puw09ANmFPL4x60KFVfXVN+rPTb45C+B8JKpaLCgqzF2WEE5Mn7kASFCDVUo/j2PPgA2HFuRg5893v04Dkcu9CMmpY/HQJFRGVBx3Idv3SR9v0QcqHvSdFkmQixFdAyIXpEJ99LhasoRflT/A/FYSUorJ6yEWjHACZi1GA5ChAGrXqOXceGCAifevmj48ZRtf1K4DAB0en15+sNTbrvAw6vEbioX5A7Pa8YLcfStk6BQaA5HwGiPgJiO8+F4usEDZwiMf/ZMhUS3k8F4V8SgOSoQHRdr+6A0DEbnKBIQdlBIg6BOTpxW2hnmAZewciq/XmWHsOPhD4MMHxcvEREPkvAflXKwhpP05Pc0LIrB//tBFFOszeowJJU4BAE7IXfCBiN7wEGQPSdAECI2xT20QTCOE79UF77vSBfjuyC5LMVxKZzMZFKCg83f7gp6E47ncznLUBDzcgzlSdNGqjGYfhzICFE8RD2u0PAMXF48/PiI7TzaLg4dB7bEfKs5+deAcShx4/2ECgfiyGwy5A6q5AyB6D+7oueUyf7wMQR3tOfBSJD3SEJWz+l74uGMqBdZMoNxQk3m+g48ylB1vB84adtYEH+8nlP4w+EiRa7cYQhu+fMxj/1BvouAZwnH2Tw4Kgy33pVoJxuczMzLgDSdGBCAECcs66RORii+5AflDVbTcgcPr7qeBdiK5Aj15xtOe2DwQ6ZP6CkW5IBbW+s7MP2RpLwpENZ3J2Rm7B9nQQE5XlaxxZOvXTT3CbHQC1aSt6PhBTrRISg6JR+kNbd4cHeU78OeK8BRuJc6Zm16LGoJehliPtfqLAGLouS7cYpH9PAbKuqjQgetCBcJ8txsaBQNRW0xUIOf1dUoT+JEJUFeZX9vQKfBQtH5i3fNhlRA/pBmNQwhi3kqN2m0wqm/UfrD8XQJFBYA5uGLd//PEHKQVfmm/mZ39+EzduOcwguq7Dj4Yh6Lws3WoQmvEM5GGYCzaQczZGA9Kr04BUa+ljHXuNrMvFQqddcLbntg9+6P/969GPUaWimtOIHdtHCsbAAEjJEvIlEQKTndNjg/zWv5BjO7oMwbcdFPMIBM5ifRrwCnL+WSzmDqRCB9LQSviYxx5DRv4xLjjb8wsfRJtsf00jet76KOLWDgCx68e6CWQNgJglxBZCeoSzPwEInkLkW/3CuLjy/Yk7kCYFSE0Toxx3L8BAxNgJFUhLbVKAVEvqZEMEashwey7JwGPViU2mj4abjRJvQ8mM3PYGBB/LnoYrZaRTfnb7rX/pveOEAqSuUlbSm1FODAwQTnQJHcg+FQi8c+SYED9BZNwebs9J+Tjmpxz5uFLxBKRyLPNBzFH4ZN4FSIUGRNv9ApbggwyEYycEsiZMBISX2nlHew714yM+FOKnHa9AWkIwgWDpJOYCRAUg7tvdW9loJNhA5uhAej06EE0zjInaYQN1hk5f8eCDYeSpBpphj0Cewl8fyKCVEwcQjK4E8ry29nWUu7NACltXASlNOER06xqr3wY+DEFgBHmq0WWPQJ7HAwoES44KUlSksgUk1TKBgJBHDiCNJ19Es3cZyP5VQIQJh4guDaZXvG76iMcfy1ONjj0C+SOYFQTjfswBpK9WymULyI5qjYRcwglkj4sGvYKILB1IYusqIDKzOlmEPgIh0J5j4kOA+sE8ZmR+dXrhBaR6A/Jl3FgNXHhZ0k+GmnSp1SoreQKkZ+46SqS3hoBoT2ajAWrSo24VhJsQSC3O8BPG3DAh6/xHcsj2sbAw1Z53lUGeKsjp2Vnc4IMXaXVkJV1CiYyiECBbAKSeSe8PN+mN2m4xGpx1EDcgIjcTowHJXQGktskw/OSBtytIKPSxIBgMs7LATBeIoXgE8qcQF/igBfdPRoBgqZxJFZROE4A0W+n0Vm9sofChCnfrCQyQyHiyc3QgOSqQainFCH9/YEL5MB6vxBf2JH6KASAdr0AUI3BAoD+fGd3ujpCSWVeVOgBppVK91hiQ6u7DhXvRXwIMhIvEFmlAEletpP8DQPof/84w8YXf90LTBlJoewTSDB4QKQw+RoCQsZBebzZTiYNUioyEESBkM5Z2fi/IQCLZzxY9VxA4LEbc0P9uZCEO7cfKgizrU41gVLwCSawYerAiG+BjDIhSVDqpVCYN2am7AIF9q9/IAQfCJWlAMmqTups3Hhf+dnTSgcQZHZ5MNYbR9gokvRIXghU+6QCyxDCCBQRSSKfARwJ8uAJ5+DTQU6xsNjtPAZKhAtFKfPxYCEwMwTOQ53+xd28rTgNhHMA9gojeKHih6AuIgrdSLY666mBCtWlJaiZsNRJptTU92EXXiKmtqWApNRI8XHQrEbwT8QF8NL9JD04OK1T0IoP/BfFi96JhfvNNJtN8E86AlMrgYwlEGCE0B2LWzRoAMbrbAHn6/Pk3foFcu3stKxYvX2aASO3CAghJBELPcFpcTaBIWnmJ9Z2rCwApYRZIXq61bXFxFmtkEVLbDkin9fgSr0CgD/Cbs0WxKLBARoUFELIA4jarSug76ZaAvRw/wcWVK8gn7oBkWCCygAaW7RcpEIhLpsxZLJ08CwO5xymQu3e/CUWxJGK2gviaVSjMgagLICQMxMxjvoAUVgbygzcg4s0QECyjpi6J87myr5IlEN0g00gFcXgBcvHar1yE5zvXRdE/KwpXQvcgkqm3G1oICFEUFsjXDpEm2DvHS3K4vSqQLz+kCTrHUYJ79NAuFrJ7bzWp0DAhgwUQEDIlehRIhkMg4OPCWbrBKWayESDSI/rwdLHEgpWn6kbfavK05cKvcxOsrQiEPimUMeIpdhxIubtuBSWk3lRVAEKFVAmZxoC84w7IRfhvnh49t8FH9CxWoVgb17R5BelaRmXgJnwnfR3zM0JwfXUgNX4+fhA7EwFSlkR7Y13XYK4cKaratagQnei6oZMIkIe8AQEfl31R9BCiPqJAYBfLGvfgukBdrVm6qvTiQOCUmurwUkMwMlcH0szzDsQXfd8aV2oaACEq7eLZJ8SgIyEK5CpfQOjqyiv5OYRQDm9B4kDam2PDpEA2iGr03EH8sCI8HzJ5GSJ/BESVeZkf5kCEGBBJkqgQVzMNutruAgyl2Yw/B2ld4wnIXfg3XxTpIVrk2VvZRCCNhlJ5ZhJiEVVPPKxIF1lPebkNwd4fAHnKGZCcnQCkKEndSkWvKwCkpxLiukkPCt9e4AgIlI/bvg/lg6acDy5KwmleTauqJIi1DZBO6/6jCR8lRPD/AMjjNV4K6Dx0skw6rAhCiE6IQQiBoZB01KQrX+AFCJSPG6iUy6FZPl5mgQgYppE5EHOkGWrggwFCQkDoXYiA0hc8CQdNZIkFMqBA6JMw8BG8VRd4PKE8qI/5u0dhm/eL7OBoJijFyWWSgTQsVSVB3MTDiq3vWHYOnzy4I+0BIJArn0sfvcUlQdkttoK0EVoCqZumroKP7nZAoLQ+cdZQ6oIFORrnfH306hEI2QiAKEYUSKtFfSxfPEp9/PjhOMHfskn1xlYOJQHRNG1kzYD0rOTj7rozwfK+M3t27kh3KJAb2EMeXsRbCwHJyzWzbPu/3s1LCH2XBQNEDwFp3UcwJNIVGXuS75ciab+qmxQI3dUGJD13cxM+smIo1SksLOl4WCy4HgRkOnTN1S40INoyjcaomE/b9WDj3cwmATFHIwt4TKmPOJBO63kpL8tYfnEo7UUEgNwu5Tz2imTCFURGXQv5y8OKNTUMRH9GIkCk9A2IvL/pDuFGg7ZXaNLW7P2qUYUoQROr6rInCdF1wobtykPbJIwfQOcCtkkB9AR5rKZuwmDjeVvZ5AY6mk5Ir2slv7zacvLBzOMcPnN8944UZ9epd17Oi08Z7E066pIP4odfQNwlEMUgOokC0dIIZDgcvu71hq47dAeDzUF/1nWkP2v6tuwsEgB5xuCgOoIebmOaB3Rw3OkEWbRga91XnTWc4nyUs8ntD0ZkOyCdViUznxXklBeRg3sPOzgcdGsrCgTV1k1fmgHZWAIZwBAixjRWQdqOgFOWvD20Nl5b1mvKBKzQmw53s9+HjwgBIIwRFkhlBmQ8a3I4XnY0hL5TQZdoyJPnJN1AMBLeJwIx6R16HMgD2Kl5O3FkAUNSXkR2Hz99OFb/40DKCD1ab/qz07yWqg4WQAgx9DiQQgDkZYp+hH8NJGXXI/wDQmA0LLb8o0BmPqrTwEdl9sVSN8OOKlpE9qZyw3fn0UMvZBlH4sWA2LaNamOiFbQ6C0QBH8Y0DqTs4LTlfwX5bRC6CUDWgrEgfSgUGtrIhKiEKOweFuUB9cNFrA+IjF8c2H9sR+py5MSBuA8KJBsF4vu+XRu/7Ta0AEgzeJ8ePWKgJAFZc/72fBnKv5iM/1eQn+yd3WvTUBiHBfVOERT8wA9EUPDGj/tXxEmjFmM1Z0qmrVQ72KG6rrOjK8zVOqtGcSIy0eCNeiOoIyITLx0Ig120f5O/t0kn08Su9XSkwadZUjbSsybn6Xs+3iYtYgjmTXWdGxPn+MaeGNDku7lAkALG+HiE73YBuas4Su+GinHZ6J8vN8T6dGB/jw34rt199JMFP/6gj3wEwWEZfZ4dwMfG/VSSr/szk8LRKfgIcneMtLh6zAYW8b+smv8RpCV9TBy80cEbizGTqWSZyLLIBb+SEivNpwvaewO+aF49EUL3IS78BHn9ur+I7ILcM1xJD4IMeX74CJKVpCvGFCQllhOSSJJm6ooR1FVBiPTex4zrjFiC9GxDEKE1IaDhL767m7TlUA81s7bu2nAd78QXzJ365WL1XxzNZpPlMgRpTBEVZvwEmbhZJryuUPYAgiih5eZyF04OLMzrCUNtAVxE9wURPf74E4pnU9kZ0vQVIkS1Z5pZ3Lwi+BEgyFtfQfDIIf/Gg9N5/ZMV+0joShHQY6TmOM7CPFa199oXlKCW/xGkFX8aQ+cRQR6sXBAYcn3zjp5oZqF5lUcTMoi4FpjNW2wKMjQTkO5+97kkUykWJUZqs84Ss7UR5UV0VxBJZvSwGoIUpNXGLj3SzNq4ZwP7EUw8FpjunnMNGQhId0d1eIZDphT68v6Ds4wFS5pqaS3Ikh9NWA+G/UgzTTkynhlgcnxiMqqCaHQ5iw/K9s62sKoH14V90nDroU/EfgQTp+P+giDdPZdy50+DbqAzLFVXXknzHDec2dlZXuP5/EnlEl6evlcqlTBiWSpBEHhye8ZNzIIfhQfLIohH8jdDPEEq3M6suHZMckp8QxDLjByCLkGQwTbPhGXlN+8Ld0dk99GqZWl/583b4/6CIAGngMqR8xekUhm7e15amlIsW6s5nhkek69UF0Lnpu9x1m5piWn8lMH09H0XxBW8Z2jDwYUpNOHkRsZL2/IYdMEM8xDBEC1ySBYE8mttAUNCPd67dv+BfCs/IIgWOx4gyMgACxJ08eq7o6qrLgTRIUiTOq9q2mnVglhjY5O+jLem0iTDDGPhHxfeZtJXSUbPENnfiSAwRG7ZvnVNSOHuOZFoiQlDAiJIkCDsx1jurCShGJmYc8BsvV7/vvj1uwPmEoZQCsk7E3ChTSrjGcYzw8MTBAvLkcaCrtmNuCEtESk0eTGLM2+QaBeLqkdD2lVH93xFfrAhb0/5C8JThD4Xr07Dj8+XrsAP1dAX/aPjfFj8yvz4Wm+EEJvUliGfTYxn/o3h5aSX4NiaKZIkEhGC5FVEkKxFHexK+YPr1oQQdM9XfpZMeusJMjUFP9wMzuLos8HGV9Jn3GnCQe8yBnxZxUrprEFCPWRDkI/wwwO21MgWStGk6FwQDhdBcoDGIHCmkpySMkqGeIII6mRfK38ghF31nUdPtfMhZprkCoJLhTUznHO5UQiSbF7HgoMHRw9UkKFRw+hOBSD7vVNnM77xA5vvTiEhVRciU5OZDkkH2wE9+EvsAE2uUqSCCIIuC2JK0QEwZNP6sBmy+2CeSFs5QjRWuqbj2cOHutAfmqapD0CQ/vhLfJ0fTOE2tJen+s+RLaGH1hXo1DXnO7xw/cBmcf7MCVJdiHzcWQhpJYc3hQjSmezrGA5SRCA5woK8lFonwJANO8JlyO4D7EdH0C/klSEI8lL+DuG1uwTFjjl1COKCJ/W5k+rrmdR9BFEQOjw7eLokPVx5JIyoKEJniyzI+c4EYUP2HgnTcO869kPFYRnEUbm8mmeZDFpwFjl4YAGLzoK01Zdiv5jINFEbOrJMY5PmEd+IGEJXcjyKdU52uj+Gew+HxxD2QwlGQxCDVhEjptc+fHOBIx+dz0YXyo/d4xCiPnQAbwMwW/TOjBkUBYzy82T2+SWDOmfbrpAYwtODUpICDDsFQS7ZklYPaSf6Fr41WcQgb1V2oZC+sfGuhY5fICulaNg4fr2OtG/dLpee/ktVkFQNx5Th2n2b2Q91gly0aTWR+epcvSlIvaYnulG/7FPDE90LHUyywU/uzv+njTKO4+o0MYrR7IfF7yEmkhgTo9lvevFJ6z08Kldcjl4tXGnggcSGhdJCWjBCMaXIVg6tDWZe1WBNSIyCGBYUjIOs1IHORP8kP0/vkI71XLs+d1x93bZsQLjd03v1fe+7h7t8fnR2kPwPDJHl5FQyGo00ESGRiPaSCwzh6AcIEgJBcg4LgiM3NvYMP/Y2bmBqx94VwUsfTN5ldABV0QHcHh2hI0bgutHolKDLLa+IfgkmsE0putCMIbHTN+TMk/z8gD4wEgJBJAdfXVOQdUOQdajoGVsE0btBEC7RYW2HyWcDoa9wy4dIRFfYDE9BrvEpoFUM4ZgfgBxhgiSxcy9uRNf185uR6b8NQf76MbIJHxH4o8szM3ZGRzXQ1qeFllckokfnknPKic2AnY3dleAS7CstYcjzPP1ggvQ7KUhEP5+RhYVSqXRoCHJQKqmyft6GfUvWhyFCOEeHBTCG+ZGwKrX4+Sy5cy6ajF6q3gq4YOxb9Y8rgN8nROoxhD5+muey7jfOX/FCvsQEmXNKkIieEUr7K7u7uzu/GYKs7OyulA8W9Ax3RSJ6GASxOTqAfgOo6+95W/x0VkQPgCCJf3ewiKoL/jDYEQgo/sDr/nSdhjx0aoaAH2uyzNEP3MkEmSpKghPImUypDHJUWGF+lHcA+MihnNFlgSsqFmZmbI8Ok9lZmMeWH4higoXWjREVq/FkNilgFV4rVVKxTxkPK+CH3w+Pj0j3rfbBh+/8KgsPntoVw2dMP2ROCwwBE2S+Iohs8wK1IFNa2d1ZOQY0YYAj+z5mCNe1Ydo/aX90mHZUCI18013EEtu9WnIRVBxMxpPjWFZl+P3qeDiRgPTwMz+604NfXkinBbWeE8btL5/OvKynXuCaH5UBYYIsE0cSRM/4mB+1gAMtMETghaE7yc0wOQZsjQ7g+G9wnJVSSQtfWpf1QDye7SGqJATY44KUih/dFT8usBmtPrmuA5O2F+03xNoPmduikrdBkFAvkRwIEDUj7zM/LAwpyxm+eSXjzplJZ6Jj9gioIrMJSiBE5JZcBCzHs3GF+BI5sIPpscr8GOxOp8EP4ApESB2stT3g/M1Ozr3C/OCKSvqYIBcdSRA9s8D8sDTkMJPhmiACJqFJZ6LDZBiAFJn2tW6IqLgnnhtj4cHSo+JH2vDDC7AH+tUVIfLao8/d4zD3Pb3JOT/ge5E0CNI/bH+CANYBwoCyvpDRBZ4rlIvJSbN+2B4dTA4TSJE4pliWTz0PGl8gdomSM/3wMz9Y/TD8MB6N6pWF+gzpeOYeR7n34Xaof7yhq/lQf6ifSqrtyBkVOrk1UNRxRuWJRIMzIAh44EB0VDMb6l2gWFJbDywJ4AfYAfir6rmZH8GgL1jn2Evvv+LsBcPnz67pEd7oGWWA3W6TShHbyegHRoBYZ4iayUR4Qml+0rHoMKncQgu6SFKiVI+0ErpOpIgSH4PywfBX13PTD3ZDXkGv87vFHL0c8lTHGsYybzD5ejk1NzWPCZZtRs/glWM/LFuIzBNC5iZHq6Mjb290vAfAn4zZ0MU+jcCwtgoYEyIwPcz8MOs5+JGu9oMJUu83bH/RuaJ+7iXmB38IUaZggppCsWwzcI3QCBBrdsuYryCYXjAFyXOLDms7juQwH6P7TX9K1lrGENBDBT3Y4RXzI1B9+srL8FX8AARc97d89Pl7HOK+Zzdt8YMZEk1F51IqkW0mg/d3TRGsI0TN8N1KQoaGQA7Amegw7TD+8s3srEIokVsApkcgO8biQzn2I11dz3vAj07QQ+jU5TrR1zocuqHcmScfpUSyBUw7UzDJWUG05mcBiQ8xdec/BCmbx1iUSjwhdHpowLnoqLKDASEy30kpkdwOjLo/mQ0b7dyqnhvxAWCpTghZc6io3392zbZRpkiJJpNzkdtWgEmhSBmE8pAktgBTrlgT36+VHfs7xnmsIm9Bxj8cdTw6joDbXw/PjhUpwZKrobQnnoWjqxp+nKgfDFWqG0I2n3Xiivq5F9YIkeyCSMm5ZDSMblkDpgWq+tJ+NlxelcPaCSEH5R2gDC7cLsiBMX+xpFGJK1T6cNTp6DDl+GiiF3hvdsKLXB4i2hfJLOiRMP0wrn7UqueNCQIQ2ubA9cJ7n920zw+ABueSyahQtWsSSmWfn9W1QALeTkARKjUJoRhupliGo6hyLUEOd3Z3yltbh4S3IPTiUN756AA5TCBEhrNYc7EhmHbHx5gfd6rnxvQEQWoER2rIc2c1gm0EofFoNppD5kqKpIjk1bA5zTnQDe8lq2m12f8B0Uo/bwEH6kotQfbL5cpniYa5QlB4KO98dBwxUXlkz3BvH9IQdilISMZP+gGzS2rUc4asFnEDQA15ye6rIU91vEuwrSAcTWaTPRoGigThHgXGiw3V0Uil+7ykiJuCaIdbDFXdqSlI0fh0kfd7gSYPDZxOdEwwOypAXZ9TRUSwGyEonGV+nKwf6ep6XuWHjBuCkHabpy0+8tK7xOahLSJfMp4NFxHYQQsLbLSYH37TD2hqV9ICKuBmiKEDIyJKv9WiXCxtAT+rMb7bWkDiN0OnFB0G08BHve9dVNAiwgXsOpCUraOe3+JHodDAdhDtrK2PRjjzQDv4YTNoMZGMxxeQhtRVGC0l8VXAHKmjec4X0oXmIiRWhP3/970bN27s1QQ+vgWUYhRzhaD40GenFR3MjsvsAW+XP+q9+HEn0twXIgX0dTycqPLDup6rx/nRiOjkXVvP9T5jcwExRwnH4X0ECf6cMc25ap6B2dSudCLcBIQJsnftP/keBDnUeAuidY4OcIqO4YajA+QAOy5PA/B8iRxFqIjdRQGl41ZXz6v9kM38aByC3rLxXO99j79Dif3QWE8uNxbO5Soj5T/2Y/BLc6i83gJtagWlrf1r174Dvq/Jd99du7bHBIkRvsQ8s3lHogOoER1gh8nliYvzX4sxSomboLEr8XB99RzA/0IbWYV9U07OPNwWc2BAKY2JCfZTANV+GPXDHKq3g16heUGYHNYwQQ64C0LF5Gh+xJHouFwjOkyWl+c/noa6npVEzWWGeHOJE/U8bVHPb8mPRlbx5it2ncl6quNNJ/zQNEExpqkB/lvq+b9vJd5giwoS842OnGp0LDM7DCZ6J9I05ipDaCQ3fnJ2iVU9v1tBqE1nsuAS4WOaRmwFIaSJ+ng8V5mmBpys58yPIBsrXxGRu0a7syDfVQ6xYrwFQaIYyjsSHaYdt0fHMfPz0xNR1SO6RxGEPOFwdT0ftKznJ0CkbjTxrD2XC+8/K9rthyaKupKtTOMEatVzFrXsUDSImxJE3dqqI0FK3AUhyJMaaDY6AIvosOjkJ6MDSKVS8wA8DfILURQRcQlI9IZvvTdDnfW8kS3Q3rClpz/yyiZPP6z1yI0xP2rV86A5VJ0wWM0IQth1kGusolsulQRRY9y3WIv5B0ZOOzpMO4Al6CKpS6KoEZeAaFi5Uz0HP5oTRHyU/8UQmOTebu8BFuhBvsiOgR3jt/th1vPjQ9G7FERDbCO0WGxxa535YfB9jT9BkAMU0zQNAYQfIhoYcUF0AEsM+NfyR2HqmhBBscGE/7Z7M/h8lvW88RZiU08/12Hr2wyq6JHNsXZuXc+Pq1pngTSMJnq6YPGImhbbPFhft7YDAEG61mIi+3pPF8fdRxSn8yEXRAeQMpmfXvraNSGCkKJY/PDHcT1vUhBNa3+Sd0+/94k2ZCOLnyz2wdVBY5pBtR+31POeqqp2F+sQPVpwPpCJecCRTxeYINasr++VNt+FrzyfzWa/ZIrwQlTyIVdEB2OJAcdZy0nqEZErELESaKCemxQaXEnHOf4BgmxkUYjHjVmcx/X8+PSVt0bULqJG8XT1b/8A/DEZ1D7/1Lfx34Js3Fj8XMz037zOuMnRELEwMOKO6FgySAHwta8tiovIDYjYr6wOWtZzLoIg3vdaPPOinQGiiUI0O1bxw+L0VfDklSIVNYrYlb969aerV6/+8O23N7/a7KwIsm6xMEHo+V9+vb79K7B9/abYhTghir0j/S6Jjsq/phippemo5JIQWSx6/YErF9Jm5zRfc2s/GKhBxBce4Rwgdg6eWAQ/wqYfFrNLzNNXR+8ld+HH+e3r29vbP/109QemSG5jY52pYPELBOn/A76e+cEMyXs8vDbWE/4s5JromDom9bFfhK10AaKo+rx96Stv11XPGVLDq2jj2kLOPNAmIvvwJAw/6qnnJo2vo2uS+QGC/AQhAvy5DoZYsvE9aHGkBwjyR8zDbWvVfMg90WEQjc79Q935/zROxnE8O40/GC8YLjEav4RcosYYo4m/waB9ZmFPfQBpj/EAg0VwBCJxg2HnLS5HcigKA47c/EHZEcV4ZtEEZUSikpweh184SOD+Iz9dO6mw2XZ9tm6v3TjguK59+rx49/P0aTc3d21lzktqwhBQREApdMW8PNfZsP8CTAeyLr6EhKVKMYW8tspzQJZhpHbJFkS4fxf6umaIrgiECKSI8VnQ44cj+FkDO9sfoSVGIDo+VEvREQE7NK4uryhcAk0tuc/U1JSw5NP2ubkfQfu9U3jsMstzIJUMECHRPb1quTwHZPW2rUFOSNkpKkEQNRC0gyxAVST7PShyDtDj++2CHjvqz8OfzVvpFKvtJdGh4ZqKDgPXrnYJiZqo1lNCu6/fbPhKx5+yvcYCfdLD8CQ6BUFuVOghUPDDpDw/U6rJhVaxtlYqWoKcRkjhOOucInDkdZRXw8j25keEY7W9CXinudqKjjwRFUiRxdEEUne3yw9O6Oy3ePGHX+AAWwuHvcBu2vtDlxsqWYEIaHrVcnlu/F0CIWIjQej7IIjBEBBEP876wWiHGh87/2Ub/Lg/RThWJMgwCPK/0TFgLzqSTqMjohGPx1VFRlAthIiw1n9afpj6ccP24h9/lFWEeB6FAKlgggjTRSe39xjL8+JZy6UsJ4hA1kEQAAQxGJLdzB79AJz6kdWt0MaENTZ3DynimEUIjQyFx61Fh8nUdcvRYW5HXEVPkbhM3Q8RIfWmpXsz6L8mbQdUouFZVteBNKKKJgidDgXO+XGuPC/WWEHr65Ui9FA1xFio64aopUiBo234p7NsZnc+ogLDoss3NMwyOgCQQ8c8OiJFowPkKHwO5Xog5XqIpG50XTH1A1B7u/q0P9L7lIfVSUIkVBBEYiGt/Ch18Qf4UWomJ7LxMvL9YgdZWeDoO02P77JnzChIFKeIYRtQNDQ7XoPRAZ/rzC1HOgikiKug9k9Ny3MgiMpcPH3pIqMxXlJhQZpDMRvluRGZs75qhH+9iCGQIHmOgKxmhQHdj0XKtLMQem34vB01EB0FptVaROEocVURlDLPD0DeKNcQRmX6ww0VbiaysRqzWJ6faywbjYPyhvxc3BBgE74sQnY3e/OTIGLZV1Di9lC4NqMDmF7ME5mLtCLqriEbXhl2uRlyuYKQ5zxMrrSt9O8RRAIxNT/My3NnjQOGTL0P06uAQhWSN0TjrBfaI7u7uz2fCUUDAhHYQZeGZmszOjQ7NCKRVb+7IYKCE+1AhSIEUSZzei++UPE2Iu2hQIny3OxUqswJ1kGIp2/evwuKnC9D1L90LQyAH4dKQAlFowrLViB0ZbZmo0MlGp0GV+CHRlwNEcQZ9zn7KoTFhKyHLkOJXmEQ6Q3ZLs91OGTvlcjUIigCehgyRNdCfZ6xY/f+eDQG08Tg2YFYbnBgeLxWoyMKdhSIR6Y7iWshohtSuWMszOBUiOcZXAVBUkrAeG8Gk/LciN/W8BJC6c/fmlo8vAsYppwUBfTY+TD6+mAM/FCUmEIIuw1Ojw6Hazc6NOBT+BOPZFDaNUUQSgWD5oKkyj3GanyawREWpqjSUByM9dkpz43DWHaglKZUbsGlHiqqIMXlAB4c7P+xfwwnMcGPTF9glDLc4Nxn4VqOjmie1VX1O/FFL8Y0gdyBkpS+8+VgkCs1V5GWuXAGx1jPN1BUeSj+oi/Qa7k8NwpC7Qmy9+XW1tadL+/du3fy4MH2XRikKq5H9rctjeP1dUUJ9LZlvCwFwUp4sqajYxXs0IBSJCBgSpBLUII4f35GCaXB4oJwpMxFNz3ncXyW8BJFVYBiAS4jG+zpuW5enhsJCsReUu1vGTk4ARWK2PHgYKvAfmY9AH60dX+SJogVBAfDk7UdHQYgRboopsgtCE0QQhIEUb9JJ7Ad5I84FcTzZK46DUNoerQLyvTrPp9ZeW5Etqnh3pYReCOpcwkCdpz8dGdL5U7+w4t96+BH84iPoSCI4pnxGowOQI0OA6E804sKp4aIyxChaITIAioT7Hg+1hONGFUJStPp/EQls/LciN+WvnTpv4LAWxz8uatrsVvgAL6r2aEnyCD48W1PSwdlmpjR8RljdOiYRQdQvegInbK6uOhLYIpchrbLxTpBAiGXihAY5K1eoxBIESytwWUyBT+CZn7IiCAbYCGjdn3toQlysAtuGHkA39Tk0NgbHMz70cxhpgnSER4oel9p8+gA2EWHuR06UJi0Sy4rQiiSi3YCgsqDSs94nB1hvdZU3SYh1OvTyw/ZfKaa3G6vaWj6xf0zh1g/aXpkdw4/XF6++uvh4cnxvX2DIMe3bw22NPeMNK+lCWIIpuHJhdJXPbGPDqBEdOg1eUk5lFhBkTYkQSu4CKF++Vwn8Jd/7EfxC84mLF54RayyIOmufmvlOSDLyF64JrBfuWM05M7+T79ntw+/eS+5AixfvQqdLN+7po+PYaDreG+v+9a3Lc2tHRsUE8SStBQZX6iD6AA7NBRFgf/oJe6GCBHOdglZLdHLhjY87LQEoaSq4Cv9/+ph6keK2l065jJ//aLL8cfBycmPw1/DKe35+aTKyvLyXCQ+F4dboAKx9fX1vlt5P5p9fowJUyj2jc/XSXTAZ3ng62ivkMPERSiS5f/6gaiTxV1yVoQ83EBJdaHefpPy3FHTYEyDe3t//X3v5L2bN2cBbVbt/PwM9NaPwRBIEOha6nut5gXpbmtp9rW2+ro6COOWwCg8wDA6gEpFh4Z2U6ZYNNqFMSXuQYn3tFtAD3HkB6FNr3kc3c7kEibVBbdbuhAZ4CSpnOVLkpTjafwmoL5LBzgyDo7MzC8Y/NDeg0EJZNTxXR/o0d/1VZBxS/DitZlk3UQHyKGhhEIBjueJe2ACXuh6yJzDZMe8o+lYnqeaqi2IlOq6Ylae65S5ahjjnDT/AfgBgCDhsOpH8rwfSkDzo7Wro+NTr5eTCEswPzK5UD/RYUAJ+dK8RNyDF8ANwMsRp2DxlQuOZiqKmFQZvsNrzQ+5/B6LeeWDt98FhkJwjGXJj4mJIGGLxE3O11F0qGQyGc0QpVPkiYuk86OXmMVeaHzC2SAWplVGsnahJSAnyl25dI6+887bUIRMzA2HrfnR2dkpsG0LSVxZ+LiOogPk0FgHRWLXCS9h6hbpNAbS1DnY0TDWxcYcrTYYW8oPQF6TaJlI4lTy5mxcWBuaterHqH8Usd1QsXemzqIDWM/0qoAjXpzDtO7Bl5zcgvTZBheaABPvhNxuBRmlyzdElHI5cXFo3KofHJdClCk5/8BCnUVH7ymZQIbLSbTewU0vOxjnvdwk4arDi4I1P6AKEflyX0QSAfzurA0/hBs8z3Q7xWSy7qJDBdoGPvQpipcXoUnqGkl81eNglNcFQTRDJqwpknOyfpLYPWS1/kCjnIAQxSzhxdhC/UVHm2rH7V6gL5Np40Sxvg2RxEfrThDM88RrqQrxpp3sHVGcmx2wlh9ITDH3AwSZWFixel9p8+gArEcHEIuVFx0gh0rLt93dfYGAD4u8hOsXaezJCw7eN8cdQbDEpze8hbNBQElBqJP1E/HQ5IC146tRQm6AHxLb5hClZJJhdEQrER3F7AA5Wro1+nozazmxjg2R3njFgSAvuyGIrggFRVS88gYfLFmlO1g/XvxieHLeWv3BISIkII5FpiHCi9NJa9EBVDA6APPoaDNGB3AdniNApreH1HGISG88csHJiXT3NlziMRGWBEQlPueXKyLI9dmBUz8iIMj/1OcE/OB5th1BEvsX6jM6wI6RAm2ZTJCv3xARGy86uRqEl9yCByR4qCBvCUEI7+AFxnrD86f5EfculvJDqz+0NWIJL/LJlbqNDh3fyO3u7h40pjZOPcI7OJXuea42NprnSwji5R0J0jaZPPWja6wtauIHe0PG4is1Fh1gh8XoAHytIz0qUItAiNREX7GPg3tjeV4dE/laQBSKGhLc4J0w1j2Z1P0A8JiwGjLxgzXimO+zubqNjn/YO9ufpoE4jg+fXpgRFl4YnzDGRBKj8eFltXNlt5UdY5zFKegSEpbcwqsRTSAzMb4xCmE+Lb6wjsSwF/oH+Bf6u66jA6xs3l3Xbvep3XYUC6P97tPrXa+QjjbJ5P1fD35mcDh2ln6ZnOLoqxiSgIBC/nYtsp43eKCpZ6/38/ET49T6SqD5APDMuzdRVoeTjmQaePRzoZALze7SB3jyFMchFsZWGPiN/1YLWWzh3xYHGL9/XWufvwKBYPx5vYd8WELBqPom0uqAdHRYXX1QxiHZYfqAKyB3r4bkIwHj1hGFlLIG5jMISoJB2vkwEaV05Umg/gAoWn1XO04dL0KtDsZW++nRt7kcoka0wDx1kJvxkAQEopA95BC9ZPBuC4Srn2qbjCeIGhhtPHn4K8h8AOjzu1q01bHF0rGXXp5jJNMlI2LHWTwBOXk6LAYxIAwHLsFdXOTPB0Ti95ePNWgC2TUoK+3t/oINPxdYPgBKa7Woq2PPCUfBIfkoOYMiFRE0eY6jL1Z4AmJQcMia1/ukjgW4HCOUerBRbII/APp1d5X5o7DdWlsLJh/wGzysVSOvjkIXW9GSCCa3OK65hYCECDTDLqVye5+IWicihCDkFrILyS3wR54slZq++cBCQR+gGuQQbXUwTOcRDlI/U4SjAjnDEZBroQoIpij/odXKpvKYYikgc3XZ3N5eNHCmVfbyITUg+M3bvm5J4NG7OoDe1AHp+E91PDbdkJjmcmFLz0UmIYRn1IbrExSHCEoRRQAFsAQowmbaGZ+hOZP3y4fgn4zQxlvB6ui/63rf6vBPB6Cby8tzKYpoqHYeHyhXQKZYQKgRkgkz9rMhaqVs7qyeIrpdYNdHZcuZvE/9w/3JYh7Zj9RrVS51bHCqo+d0gDp6CIfD472CmUOIhmfn8dn2mCKegbHGJ8GU7ZXBv0E/s8mLBhaDt6727kpL2+z6j1TGNx/Od1MxjwDCH2tDow7vGRZkmUSMEOw4fs9sC9D43TGeYX8I7f6w9l4EXPbekvcFLE5L7iuYKTKa31n93N8fzndjMY+wNoTWq8Ojjs4L3Xl6xSSCcdeGDMWOtP+EYb7KMzjv2Fn2Brv2x65DhEDKXvFwUmASojZ36goLqpf/kQ9DrEGY4823m8OkDtO9tYu+vW2WjP3DrP1j2ZCUYXI+pSauc90eJN42yNG91X3pfUHCcq+EjxgDi/okObRW9m7LfvVzttytOwh7xChfqw6TOpx0tNnWzTpF7kfswQ0bkjJFrCGdp6UQ+UMRIGk5PVKEOSAIrmf82gexhB+H1jd3hkodbRb1UkkHiWDibTzvRVjKXO2E7DwvYuC/Tt2FvhfD1PuizkNQ4Bm/9nMLiYcUqsOmDmjQdYGFGQQR8dvmzkPAZXdyIOfHYhxcmiT+n7PIH4K9xf3/f4KPFuEhQKjhh4WF/yJk6W112NSxz/wadH+wiM82d7+AAy53c4crICduVf7TIMcLJMQGAfABhdCDGUFCIWhnM1zqSO/xq4Mxn50H1nQ9RQn6l0G8YjBlj/jpkzEOxs7+ryJg6XGGwT2uGoqDAFvuyBEgDSz1OIv82HwhTR2QjoGoA8Lhoet50oNBoIillw8Svx7j4eTpOBpdOud9EcJSq+okU93pNR1RUgejCTMrlVqU9KZTCWV/CHR25+LUBFJAVKyDCqFiA4LebvqHA4iqOpx0tLJAE76eRwSFjQR0NOFifDp8b2oQGIC8aggp7ggZV5qn67p/OAD9P9XRyjKazWa5XP4+3zJCtzNxVkHYwCYJoiAEH0kIEUm2ui5FHQt+4fAOrASqwycdZYfZ2fLsfAaRcMF5m3TWVBgnBI38RIzDWETk6mn1RQTVofekDiA1O5tiwEKDhGl/ItPjMU4uTbB3NPIztQ4HhIpbPbC7M7TqSEE4Osw2m3VEQrA92QwkLnNWQViHXo0oiH20SV3k2klpZ6jV0aYOMxxpGcgmISHuduXl6q+YILZNRn5C1uE6iNA/C32xPtTqgHC4fCiX69QmoZhst6ci54neSoUM/K0MfjosEKF/lQrZWB9ydbjU66ywhEKxT9lwdyluxm80KopKxbK682GRilCIvr4y5OqAl0CG8SFVx2HYq+IXY/ycvBmvKCoVZFlePHKoIpaG9WJl6NVRzzjMwFxP5VFl0DSmz8UEcGmioWg0KsSwvPp5pSEYsrIyAuqAdOw/pWhjwLBzWAIYO9/QFJrWcCvquZwt4Q9imysjoQ7n2eFzJk+0gTJxLSYCaCvUFA6GBeTkbNbc+suRUIcHHGhZtjZAoJVQCOcmNYUDwcQmRJMCWlkZEXV0yOdhRtrASFzwGkF4+2NpCodGQ5N1vGlvbfSvDpYOqeoAxKuDkW8zkxmcRCamYoK4PqEpZNNIrW8wdUgcVxoQog7edOQ7LC19ffUqT7XB4DWC8FfTNYV00JeXcm5J4H/VkxcOl8U+1DF7fDiOS8fXr7lcbilvEG0AxK/FRHHymqqmy8f++XKU1AHh6PA1TwcQkXvjMWGM39MUsrGbL5+OlDoYlsOrvIG0gOm0oqszvZEBrbwsjpQ6rDasbcmwgpbIDYECYR2yNIVsSPFJccTUYRn7WLlAJcI6uotUyGmlEOnY809GTh3dATFwgBKBRkKhnJvWFLLBG7sLo6cOBm4TXE3EGaxBKSRikOLuCKrDwB40qDO+7X68qhYSLWz96fPRVIcDpQhRjIKICKuBiEa1hcjH2l0YVXUAyCGQhEAbiHDGzqpe77IhxeJoqoOibqRHZPJUTAJTqkeWbGyzuHDM4KDDq44OhCAiNyEJuOWBBE7eVZ16JdP4XPwp8G42XOoA6oGrAxGXSkWTx/SlmIs61RsxSHEh0HGlhauD68CqQ4Uh64D+8Cle1eEkSthzD8Onjnqf6gB41AE0pFZ3j3YyUd3eo0Ij9fDHiKsDwiEXuO+zNKbUxbeSQcVHQamjOXLqcEjcPVBDVwdZ0cJOryp1SOWeTxu6ujw9EjRSq0odMpmciknlnOpxIhf6K6nUIQ//M1hqAIdoQL6l55Q6pHH772ewVHNhZLCzSaUOafg3Earr06OCcT+t1CEH/7FG1bne6EBW0wWlDikkrvif4VXneqOCXUordcjh9rlYIIypaohMrPRy3+NKK3X0AFRAAmL8tqaQBknuhWBc6aFSh8Pk9VhgXFKtIfKw9eXB3ZKAEbHOuT3CWkCC45SqqEujkZl7HAF1GJFRh8Pxd5NSFfWogLaUOoQDXbACZeyOqqjLwjYLSh2Cme6pC5ZqL4wEjUzBVOoQClTQA+eSSogssLkdAXXQSKjDYaLHYbDUqaxoQEwzUHUAw6oOh/jpsdggmFKDOMihkTJ1pQ5hxC+MxQbDKZUQOVBTV+oQReLKiViPqIREBGLqSh2CSFwejw2O66rBUAZ2CxKi1CGCxNnx2CC5phIiA0NfVOoQQYL3EkL+JnV1Ca4EiL4W1nGlo6KOP+zdzWrbQBQFYI0kb9wRM2ghbEnuQiCBcP23L8QlDm2xQXTVRXcBP0SfId2IbkJ2fdPKSdM4JJH1M8KjmfO9Qjmce+c66j0+94wzs9AhHbi9+riT8rvSvamOghT5QEI6kW9/yFYdl72qjnt85BgSsGK8ZQmXfdyhOlrioRT5wGtvF253P1Ad7dCFLPlAQsTLtztURyt0KU8+DGOC32UJdrnbfUZ1NEenpiETJESw7Ooa1dEcGxBDLvj1u1j59grV0RjzZcuHYXhz/I2hSPvdNaqjoSS2DPk473FUFyi7+4PqaCRfTQwpkXc4GYqTb+5QHfVJcj7HybB76+tfqI665Dp/4DGrS9n1RSfVIfHHQVuT8fkKq3pH8ptfmn0cVIAkknE9P+aE+KScIOsLbb4rLUieSrqeHyM+VnUxLi9QHbXQeWD0gGWvMGaJcHtzg+qowR3IvJ4f8zBmiZB/2aA6KstTW/b1A2OWYJcbVEdVdCTt9QNjVldubzaojir6NF5hzBIn325QHaf1bLzCmCXO/hOqowI67NV49ciarFAi7WQbVMdproS/ba/GmaJEWsm//ER1nEDnQf/GK5SIIPufqI4yfdzOUSICZdvvqI4SdD7pb308lggefJvLt79RHW/pf308cMYokcb235X4PzQ7oER9PLBsbCJNZVtVvyvdVq5GfWATaSffojpeRYeK1McDKxjiiw6NrL+hOl7iadTX28dbzCjFst5A9k2Tby3UwN1xL0/nJ3iYsxrI1qiOZ5SbrjBntbNHdRxRcrrCnNVGtkZ1PMnVnK7+s7yxq9E/p5iAoDr+UXi6ekKCEHNWLaiOR3Sl8HT1hMS4G9aRfUV1HPBEoctgOcdPEZHKMlRHgbtLT/Xp6og3TbCtV6V7dRywYaDDdPXECha4ilSkd3Uc0FWsVzwOiD3Ctl6J1tVR4Kmvy/LxnBlhFalE3+oocDbWafl4zvHxoFWBrtVR4K7G8ThwIkQEyuKh3/LxIiJz7CKAeJRFBOs6IB4lzBgRAcTjRERwOoQHNEE8XjDt0EVEoIhHOkA8XkOCZYInLc1xuvIdrR92yxBvgNuhzjgbxohHGcvxZ0zfu5jeuLuYYLY6yYyHWEY0RJOxZr/YbYxMFi4mLa1wmvrYzGsuI5i0dMHZMMLqUY/lRJi09IDZqiESjPHsqzrORr6DeDREHB8HdpVR971NMFu1YdoL1IiaOJu9w2IuZGGfoUaUQ1kYozzEsEx7mSAjCuFshFddoYgThbiNqIGzdBqgPIQjnj/Cw2/fcZosbdw8umGZwTTFqNVj1A0jPOp2yXKKdYQiI31EsXiUELqOLJCRvinSMcDi8QZkRHOUzZCOcsiItop0TCdIxxkQDxmRHUc6zqrISIgToqTy++4wkY7zIl68nDHcECXDqTscIB1yIOZkMHIxbEmDsnQReZisJGIdFhIMWxLglI2mNq6BEiKOPUWRnBVnH0If1SEviwR+mDD8OfsZcMpm49hEOv62Z/c6rsJAGIaFsSm8IBCFZfyTwhLbAMK3yh2fMWSLFKuz0SbZAN9TJkr5amacN5fTIBGyxbb1SimOS1AZFqt9yDPVdxO2rdco609nPEbHzuRMmbmoEclTNXWbTnLEsUt5ev+VLSJ5jrRXRbzm7tx2knwikkdPjjUOhqPjCCgSLxwiedxaleLA0XEoKZIPNyKS398cHZ6rDirdJMYVbdngf5L7NWWKo0ccx0aR2NDhKLm7jWk2vEIc55D2LRM13rf+b6E4Cid6nBxnk2dZxT/mCZV8p6E2RtkFizZOK8+Y6sVlrQSZfLnuVLIznmGpgjRLfBgchsmWRt3qaLhiGQYH3A4TbqIe65Nm0qxjw4lgK6QB3w4TZmnn0mNbn+cxuCnXNAbDK5wb8LNMVG+iLA5+myzbQjWL4FMaaAPuzYSbLt0mR+ukWYdGoaPoLaYG/PI2qWxvhlkX+w9lSWGkdSqK4HGGw8Pk6zzxwXROj/sLpVnDGCdJYXBboQzYPCkUTqHMel293rqUrYt2DcNwy1iGQwNeYQulsjyIzulirNdU3uTZq7npovcVwoA/Q6FkjFEpRsRZTsXY/kUsyzWKehwn7eIgQu8VuoA3km+pMOUpliE6qVMtbU1KCoYsj8uBlKQmLTUxSXfp0rCwLFWR5egC3hnFstVSKUu9BCOGeKFktJ6oGkLhfCk3zWZZmqtyU39pW/pdMU2T1tLNkXowoefeKoYoYOdyKmbFrpSy1nvO+57qMUYIMXQxzs5JKd18ibEbhKAvQqAIuPfWKlUxcq0BQcBp5JvsFn2CBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4HH+AfYKY3eXk9ChAAAAAElFTkSuQmCC';
6
+
7
+ //
8
+ //
9
+ //
10
+ //
11
+ //
12
+ //
13
+ //
14
+
15
+ var script$2 = {
16
+ name: 'BaseEmpty',
17
+ props: {
18
+ /**
19
+ * 空态文案。
20
+ * 由图表基础组件统一透传,业务也可在后续其他场景复用。
21
+ */
22
+ text: {
23
+ type: String,
24
+ "default": '暂无数据'
25
+ },
26
+ /**
27
+ * 空态图片地址。
28
+ * 不传时回退到组件库内置的默认空态图。
29
+ */
30
+ image: {
31
+ type: String,
32
+ "default": ''
33
+ }
34
+ },
35
+ computed: {
36
+ /**
37
+ * 优先使用业务传入图片,否则展示内置默认图。
38
+ */
39
+ resolvedImage: function resolvedImage() {
40
+ return this.image || defaultEmptyImage;
41
+ }
42
+ }
43
+ };
44
+
45
+ function styleInject(css, ref) {
46
+ if ( ref === void 0 ) ref = {};
47
+ var insertAt = ref.insertAt;
48
+
49
+ if (!css || typeof document === 'undefined') { return; }
50
+
51
+ var head = document.head || document.getElementsByTagName('head')[0];
52
+ var style = document.createElement('style');
53
+ style.type = 'text/css';
54
+
55
+ if (insertAt === 'top') {
56
+ if (head.firstChild) {
57
+ head.insertBefore(style, head.firstChild);
58
+ } else {
59
+ head.appendChild(style);
60
+ }
61
+ } else {
62
+ head.appendChild(style);
63
+ }
64
+
65
+ if (style.styleSheet) {
66
+ style.styleSheet.cssText = css;
67
+ } else {
68
+ style.appendChild(document.createTextNode(css));
69
+ }
70
+ }
71
+
72
+ var css_248z$2 = "\n.base-empty[data-v-dc9f854e] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n padding: 24px 16px;\n box-sizing: border-box;\n}\n.base-empty__image[data-v-dc9f854e] {\n display: block;\n width: 180px;\n max-width: 100%;\n object-fit: contain;\n}\n.base-empty__text[data-v-dc9f854e] {\n margin-top: 12px;\n color: #94a3b8;\n font-size: 14px;\n line-height: 22px;\n text-align: center;\n}\n";
73
+ styleInject(css_248z$2);
74
+
75
+ function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
76
+ if (typeof shadowMode !== 'boolean') {
77
+ createInjectorSSR = createInjector;
78
+ createInjector = shadowMode;
79
+ shadowMode = false;
80
+ }
81
+ // Vue.extend constructor export interop.
82
+ const options = typeof script === 'function' ? script.options : script;
83
+ // render functions
84
+ if (template && template.render) {
85
+ options.render = template.render;
86
+ options.staticRenderFns = template.staticRenderFns;
87
+ options._compiled = true;
88
+ // functional template
89
+ if (isFunctionalTemplate) {
90
+ options.functional = true;
91
+ }
92
+ }
93
+ // scopedId
94
+ if (scopeId) {
95
+ options._scopeId = scopeId;
96
+ }
97
+ let hook;
98
+ if (moduleIdentifier) {
99
+ // server build
100
+ hook = function (context) {
101
+ // 2.3 injection
102
+ context =
103
+ context || // cached call
104
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
105
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
106
+ // 2.2 with runInNewContext: true
107
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
108
+ context = __VUE_SSR_CONTEXT__;
109
+ }
110
+ // inject component styles
111
+ if (style) {
112
+ style.call(this, createInjectorSSR(context));
113
+ }
114
+ // register component module identifier for async chunk inference
115
+ if (context && context._registeredComponents) {
116
+ context._registeredComponents.add(moduleIdentifier);
117
+ }
118
+ };
119
+ // used by ssr in case component is cached and beforeCreate
120
+ // never gets called
121
+ options._ssrRegister = hook;
122
+ }
123
+ else if (style) {
124
+ hook = shadowMode
125
+ ? function (context) {
126
+ style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
127
+ }
128
+ : function (context) {
129
+ style.call(this, createInjector(context));
130
+ };
131
+ }
132
+ if (hook) {
133
+ if (options.functional) {
134
+ // register for functional component in vue file
135
+ const originalRender = options.render;
136
+ options.render = function renderWithStyleInjection(h, context) {
137
+ hook.call(context);
138
+ return originalRender(h, context);
139
+ };
140
+ }
141
+ else {
142
+ // inject component registration as beforeCreate hook
143
+ const existing = options.beforeCreate;
144
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
145
+ }
146
+ }
147
+ return script;
148
+ }
149
+
150
+ /* script */
151
+ var __vue_script__$2 = script$2;
152
+ /* template */
153
+ var __vue_render__$2 = function __vue_render__() {
154
+ var _vm = this;
155
+ var _h = _vm.$createElement;
156
+ var _c = _vm._self._c || _h;
157
+ return _c("div", {
158
+ staticClass: "base-empty"
159
+ }, [_c("img", {
160
+ staticClass: "base-empty__image",
161
+ attrs: {
162
+ src: _vm.resolvedImage,
163
+ alt: "暂无数据"
164
+ }
165
+ }), _vm._v(" "), _c("div", {
166
+ staticClass: "base-empty__text"
167
+ }, [_vm._v(_vm._s(_vm.text))])]);
168
+ };
169
+ var __vue_staticRenderFns__$2 = [];
170
+ __vue_render__$2._withStripped = true;
171
+
172
+ /* style */
173
+ var __vue_inject_styles__$2 = undefined;
174
+ /* scoped */
175
+ var __vue_scope_id__$2 = "data-v-dc9f854e";
176
+ /* module identifier */
177
+ var __vue_module_identifier__$2 = undefined;
178
+ /* functional template */
179
+ var __vue_is_functional_template__$2 = false;
180
+ /* style inject */
181
+
182
+ /* style inject SSR */
183
+
184
+ /* style inject shadow dom */
185
+
186
+ var __vue_component__$2 = /*#__PURE__*/normalizeComponent({
187
+ render: __vue_render__$2,
188
+ staticRenderFns: __vue_staticRenderFns__$2
189
+ }, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);
190
+ var BaseEmpty = __vue_component__$2;
191
+
192
+ //
193
+ //
194
+ //
195
+ //
196
+ //
197
+ //
198
+ //
199
+ //
200
+ //
201
+ //
202
+ //
203
+ //
204
+
205
+ var script$1 = {
206
+ name: 'BaseLoading',
207
+ props: {
208
+ /**
209
+ * 加载文案。
210
+ * 默认与当前图表场景保持一致,后续其他组件也可按需覆盖。
211
+ */
212
+ text: {
213
+ type: String,
214
+ "default": '加载中...'
215
+ },
216
+ /**
217
+ * 无障碍标签。
218
+ * 供屏幕阅读器描述当前正在加载的状态。
219
+ */
220
+ ariaLabel: {
221
+ type: String,
222
+ "default": '加载中'
223
+ }
224
+ }
225
+ };
226
+
227
+ var css_248z$1 = "\n.base-loading[data-v-26cc66c7] {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n background: rgba(255, 255, 255, 0.72);\n}\n.base-loading__spin[data-v-26cc66c7] {\n position: relative;\n width: 32px;\n height: 32px;\n font-size: 32px;\n transform: rotate(45deg);\n animation: base-loading-rotate-data-v-26cc66c7 1.2s infinite linear;\n}\n.base-loading__dot[data-v-26cc66c7] {\n position: absolute;\n display: block;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #1677ff;\n transform: scale(0.75);\n transform-origin: 50% 50%;\n opacity: 0.3;\n animation: base-loading-move-data-v-26cc66c7 1s infinite linear alternate;\n}\n.base-loading__dot--1[data-v-26cc66c7] {\n top: 0;\n left: 0;\n animation-delay: 0s;\n}\n.base-loading__dot--2[data-v-26cc66c7] {\n top: 0;\n right: 0;\n animation-delay: 0.4s;\n}\n.base-loading__dot--3[data-v-26cc66c7] {\n right: 0;\n bottom: 0;\n animation-delay: 0.8s;\n}\n.base-loading__dot--4[data-v-26cc66c7] {\n bottom: 0;\n left: 0;\n animation-delay: 1.2s;\n}\n.base-loading__text[data-v-26cc66c7] {\n color: #475569;\n font-size: 14px;\n line-height: 22px;\n}\n@keyframes base-loading-rotate-data-v-26cc66c7 {\nto {\n transform: rotate(405deg);\n}\n}\n@keyframes base-loading-move-data-v-26cc66c7 {\nto {\n opacity: 1;\n}\n}\n";
228
+ styleInject(css_248z$1);
229
+
230
+ /* script */
231
+ var __vue_script__$1 = script$1;
232
+ /* template */
233
+ var __vue_render__$1 = function __vue_render__() {
234
+ var _vm = this;
235
+ var _h = _vm.$createElement;
236
+ var _c = _vm._self._c || _h;
237
+ return _c("div", {
238
+ staticClass: "base-loading",
239
+ attrs: {
240
+ role: "status",
241
+ "aria-live": "polite",
242
+ "aria-label": _vm.ariaLabel
243
+ }
244
+ }, [_vm._m(0), _vm._v(" "), _c("span", {
245
+ staticClass: "base-loading__text"
246
+ }, [_vm._v(_vm._s(_vm.text))])]);
247
+ };
248
+ var __vue_staticRenderFns__$1 = [function () {
249
+ var _vm = this;
250
+ var _h = _vm.$createElement;
251
+ var _c = _vm._self._c || _h;
252
+ return _c("span", {
253
+ staticClass: "base-loading__spin",
254
+ attrs: {
255
+ "aria-hidden": "true"
256
+ }
257
+ }, [_c("i", {
258
+ staticClass: "base-loading__dot base-loading__dot--1"
259
+ }), _vm._v(" "), _c("i", {
260
+ staticClass: "base-loading__dot base-loading__dot--2"
261
+ }), _vm._v(" "), _c("i", {
262
+ staticClass: "base-loading__dot base-loading__dot--3"
263
+ }), _vm._v(" "), _c("i", {
264
+ staticClass: "base-loading__dot base-loading__dot--4"
265
+ })]);
266
+ }];
267
+ __vue_render__$1._withStripped = true;
268
+
269
+ /* style */
270
+ var __vue_inject_styles__$1 = undefined;
271
+ /* scoped */
272
+ var __vue_scope_id__$1 = "data-v-26cc66c7";
273
+ /* module identifier */
274
+ var __vue_module_identifier__$1 = undefined;
275
+ /* functional template */
276
+ var __vue_is_functional_template__$1 = false;
277
+ /* style inject */
278
+
279
+ /* style inject SSR */
280
+
281
+ /* style inject shadow dom */
282
+
283
+ var __vue_component__$1 = /*#__PURE__*/normalizeComponent({
284
+ render: __vue_render__$1,
285
+ staticRenderFns: __vue_staticRenderFns__$1
286
+ }, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
287
+ var BaseLoading = __vue_component__$1;
288
+
289
+ //
290
+ //
291
+ //
292
+ //
293
+ //
294
+ //
295
+ //
296
+ //
297
+ //
298
+ //
299
+ //
300
+ //
301
+ //
302
+ //
303
+ //
304
+ //
305
+ //
306
+ //
307
+
308
+ var script = {
309
+ name: 'BaseChart',
310
+ components: {
311
+ BaseEmpty: BaseEmpty,
312
+ BaseLoading: BaseLoading
313
+ },
314
+ props: {
315
+ /**
316
+ * 已构建完成的 ECharts option。
317
+ * 上层业务图表组件只负责生成 option,真正渲染由 BaseChart 统一完成。
318
+ */
319
+ option: {
320
+ type: Object,
321
+ "default": function _default() {
322
+ return {};
323
+ }
324
+ },
325
+ /**
326
+ * 是否展示 loading。
327
+ * 使用共享的组件层遮罩,不再依赖 ECharts 原生 loading。
328
+ */
329
+ loading: {
330
+ type: Boolean,
331
+ "default": false
332
+ },
333
+ /**
334
+ * 是否进入空态。
335
+ * 为空时不渲染画布,而是显示统一空状态组件。
336
+ */
337
+ empty: {
338
+ type: Boolean,
339
+ "default": false
340
+ },
341
+ /**
342
+ * 统一状态展示配置。
343
+ * 用于收拢空态文案、空态图片和 loading 文案。
344
+ */
345
+ stateConfig: {
346
+ type: Object,
347
+ "default": function _default() {
348
+ return {};
349
+ }
350
+ },
351
+ /**
352
+ * 图表容器高度。
353
+ * 数字按 px 处理,字符串则原样作为 CSS 高度使用。
354
+ */
355
+ height: {
356
+ type: [String, Number],
357
+ "default": 320
358
+ }
359
+ },
360
+ /**
361
+ * 维护组件内部唯一的 ECharts 实例引用。
362
+ * 所有渲染、resize 与销毁逻辑都围绕该实例展开。
363
+ */
364
+ data: function data() {
365
+ return {
366
+ chart: null
367
+ };
368
+ },
369
+ computed: {
370
+ /**
371
+ * 统一计算容器高度样式,保证外层容器和内部 canvas 高度一致。
372
+ */
373
+ chartStyle: function chartStyle() {
374
+ return {
375
+ height: typeof this.height === 'number' ? "".concat(this.height, "px") : this.height
376
+ };
377
+ },
378
+ /**
379
+ * 统一归一化外部状态配置。
380
+ * 空态文案、空态图片和 loading 文案都统一从这里解析。
381
+ */
382
+ resolvedStateConfig: function resolvedStateConfig() {
383
+ var stateConfig = this.stateConfig || {};
384
+ var emptyConfig = stateConfig.empty || {};
385
+ var loadingConfig = stateConfig.loading || {};
386
+ return {
387
+ empty: {
388
+ text: emptyConfig.text || '暂无数据',
389
+ image: emptyConfig.image || ''
390
+ },
391
+ loading: {
392
+ text: loadingConfig.text || '加载中...'
393
+ }
394
+ };
395
+ }
396
+ },
397
+ watch: {
398
+ /**
399
+ * 监听外部 option 变化,并在实例已存在时立即覆盖渲染。
400
+ */
401
+ option: {
402
+ deep: true,
403
+ handler: function handler(value) {
404
+ this.applyOption(value);
405
+ }
406
+ },
407
+ /**
408
+ * 监听空态切换。
409
+ * 进入空态时立即销毁实例;退出空态时重新初始化并恢复渲染。
410
+ */
411
+ empty: function empty(value) {
412
+ var _this = this;
413
+ if (value) {
414
+ window.removeEventListener('resize', this.handleResize);
415
+ this.disposeChart();
416
+ return;
417
+ }
418
+ this.$nextTick(function () {
419
+ _this.ensureChart();
420
+ _this.applyOption(_this.option);
421
+ });
422
+ }
423
+ },
424
+ /**
425
+ * 组件挂载后按需初始化图表,并同步初始 option。
426
+ */
427
+ mounted: function mounted() {
428
+ if (this.empty) {
429
+ return;
430
+ }
431
+ this.ensureChart();
432
+ this.applyOption(this.option);
433
+ },
434
+ /**
435
+ * 组件销毁前释放图表实例与窗口监听,避免内存泄漏。
436
+ */
437
+ beforeDestroy: function beforeDestroy() {
438
+ window.removeEventListener('resize', this.handleResize);
439
+ this.disposeChart();
440
+ },
441
+ methods: {
442
+ /**
443
+ * 按需初始化 ECharts 实例。
444
+ * 仅在:
445
+ * - 当前还没有实例
446
+ * - 不处于空态
447
+ * - canvas 已挂载
448
+ * 三个条件同时满足时执行。
449
+ */
450
+ ensureChart: function ensureChart() {
451
+ var _this2 = this;
452
+ if (this.chart || this.empty || !this.$refs.canvas) {
453
+ return;
454
+ }
455
+ this.chart = echarts.init(this.$refs.canvas);
456
+ this.chart.on('click', function (params) {
457
+ _this2.$emit('chart-click', params);
458
+ });
459
+ this.$emit('ready', this.chart);
460
+ window.addEventListener('resize', this.handleResize);
461
+ },
462
+ /**
463
+ * 将最新 option 应用到图表实例。
464
+ * 统一使用 notMerge=true 覆盖渲染,避免旧配置残留。
465
+ */
466
+ applyOption: function applyOption(option) {
467
+ if (!this.chart || this.empty) {
468
+ return;
469
+ }
470
+ this.chart.setOption(option || {}, true);
471
+ },
472
+ /**
473
+ * 窗口尺寸变化时触发图表自适应。
474
+ */
475
+ handleResize: function handleResize() {
476
+ if (this.chart) {
477
+ this.chart.resize();
478
+ }
479
+ },
480
+ /**
481
+ * 销毁当前图表实例并释放引用。
482
+ * 由 empty 切换、组件销毁等场景统一复用。
483
+ */
484
+ disposeChart: function disposeChart() {
485
+ if (!this.chart) {
486
+ return;
487
+ }
488
+ this.chart.dispose();
489
+ this.chart = null;
490
+ }
491
+ }
492
+ };
493
+
494
+ var css_248z = "\n.base-chart[data-v-02a71d2a] {\n position: relative;\n width: 100%;\n}\n.base-chart__canvas[data-v-02a71d2a] {\n width: 100%;\n}\n.base-chart--loading .base-chart__canvas[data-v-02a71d2a] {\n filter: saturate(0.9);\n}\n";
495
+ styleInject(css_248z);
496
+
497
+ /* script */
498
+ var __vue_script__ = script;
499
+ /* template */
500
+ var __vue_render__ = function __vue_render__() {
501
+ var _vm = this;
502
+ var _h = _vm.$createElement;
503
+ var _c = _vm._self._c || _h;
504
+ return _c("div", {
505
+ staticClass: "base-chart",
506
+ "class": {
507
+ "base-chart--loading": _vm.loading
508
+ },
509
+ style: _vm.chartStyle,
510
+ attrs: {
511
+ "aria-busy": _vm.loading ? "true" : "false"
512
+ }
513
+ }, [_vm.empty && !_vm.loading ? _c("BaseEmpty", {
514
+ attrs: {
515
+ text: _vm.resolvedStateConfig.empty.text,
516
+ image: _vm.resolvedStateConfig.empty.image
517
+ }
518
+ }) : _c("div", {
519
+ ref: "canvas",
520
+ staticClass: "base-chart__canvas",
521
+ style: _vm.chartStyle
522
+ }), _vm._v(" "), _vm.loading ? _c("BaseLoading", {
523
+ attrs: {
524
+ text: _vm.resolvedStateConfig.loading.text
525
+ }
526
+ }) : _vm._e()], 1);
527
+ };
528
+ var __vue_staticRenderFns__ = [];
529
+ __vue_render__._withStripped = true;
530
+
531
+ /* style */
532
+ var __vue_inject_styles__ = undefined;
533
+ /* scoped */
534
+ var __vue_scope_id__ = "data-v-02a71d2a";
535
+ /* module identifier */
536
+ var __vue_module_identifier__ = undefined;
537
+ /* functional template */
538
+ var __vue_is_functional_template__ = false;
539
+ /* style inject */
540
+
541
+ /* style inject SSR */
542
+
543
+ /* style inject shadow dom */
544
+
545
+ var __vue_component__ = /*#__PURE__*/normalizeComponent({
546
+ render: __vue_render__,
547
+ staticRenderFns: __vue_staticRenderFns__
548
+ }, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
549
+ var BaseChart = __vue_component__;
550
+
551
+ // 为公开组件补齐 install,供组件级发布入口复用统一注册语义。
552
+ var withInstall = function withInstall(component) {
553
+ if (!component.install) {
554
+ component.install = function (Vue) {
555
+ Vue.component(component.name, component);
556
+ };
557
+ }
558
+ return component;
559
+ };
560
+ var withInstall$1 = withInstall;
561
+
562
+ exports.BaseChart = BaseChart;
563
+ exports.normalizeComponent = normalizeComponent;
564
+ exports.styleInject = styleInject;
565
+ exports.withInstall = withInstall$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xq-labs/data-ui-v2",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "style": "theme-chalk/index.css",