波浪线绘制
本帖最后由 King、 于 2025-11-24 10:18 编辑data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABL8AAAGrCAIAAACuYaLqAAAgAElEQVR4Aeydi5LkuK1E5/9/ehxt7OZmJ0jqUar3cdxog2AiAR11lcTb9vrPX/4FAQhAAAIQgAAEIAABCEAAAhDYIvBnS8A+BCAAAQhAAAIQgAAEIAABCEDgL6dHfgkgAAEIQAACEIAABCAAAQhAYJsAp8dtRiggAAEIQAACEIAABCAAAQhAgNMjvwMQgAAEIAABCEAAAhCAAAQgsE2A0+M2IxQQgAAEIAABCEAAAhCAAAQgwOmR3wEIQAACEIAABCAAAQhAAAIQ2CbA6XGbEQoIQAACEIAABCAAAQhAAAIQ4PTI7wAEIAABCEAAAhCAAAQgAAEIbBPg9LjNCAUEIAABCEAAAhCAAAQgAAEIcHrkdwACEIAABCAAAQhAAAIQgAAEtglwetxmhAICEIAABCAAAQhAAAIQgAAEOD3yOwABCEAAAhCAAAQgAAEIQAAC2wQ4PW4zQgEBCEAAAhCAAAQgAAEIQAACnB75HYAABCAAAQhAAAIQgAAEIACBbQKcHrcZoYAABCAAAQhAAAIQgAAEIAABTo/8DkAAAhCAAAQgAAEIQAACEIDANgFOj9uMUEAAAhCAAAQgAAEIQAACEIAAp0d+ByAAAQhAAAIQgAAEIAABCEBgmwCnx21GKCAAAQhAAAIQgAAEIAABCECA0yO/AxCAAAQgAAEIQAACEIAABCCwTYDT4zYjFBCAAAQgAAEIQAACEIAABCDA6ZHfAQhAAAIQgAAEIAABCEAAAhDYJsDpcZsRCghAYA+BP/avPXo0EIAABCAAAQhAAALvRYDT43vdL6aFwIsSsJPjf+GLzspYEIAABCAAAQhAAAKnCHB6PIWNIghA4DeBOjJWTsfH3xJWEIAABCAAAQhAAALvTYDT43vfP6aHwCsQ8KNjzcMB8hXuCzNAAAIQgAAEIACBawlweryWJ24Q+EYC/fT49+9fDpDf+KvANUMAAhCAAAQg8NEEOD1+9O3l4iDwEAKzg+LwVPmQiWgCAQhAAAIQgAAEIHA9AU6P1zPFEQJfSEAHyD9//vtW4fT4hb8JXDIEIAABCEAAAh9M4L/3vA++SC4NAhB4AAEdINWL06NQEEAAAhCAAAQgAIEPIMDp8QNuIpcAgVchEMfF9fJVhmYOCEAAAhCAAAQgAIF9BDg97uOECgIQOEWAA+QpbBRBAAIQgAAEIACBVyTA6fEV7wozQeBjCMTpsf5ZrB9zdVwIBCAAAQhAAAIQ+CoCnB6/6nZzsRC4hoD/o3HKsWeU9606THrmmoFwgQAEIAABCEAAAhC4PwFOj/dnTAcIfByB+ItiLP1yY0unRw6QTokYAhCAAAQgAAEIvAUBTo9vcZsYEgIvR0DHQgWzEXVQ5Og4Q0QeAhCAAAQgAAEIvAUBTo9vcZsYEgKvSECnwfVwkilY69mFAAQgAAEIQAACEHhNApweX/O+MBUEXp2AjoIVLMZ15ULGFgQgAAEIQAACEIDAixPg9PjiN4jxIPCiBHRo1OFwNuimYFZIHgIQgAAEIAABCEDgpQhwenyp28EwEHgbAvpvM9b/CIcOk7qAEChPAAEIQAACEIAABCDwpgQ4Pb7pjWNsCLwWgf4HRj89vtasTAMBCEAAAhCAAAQgcIoAp8dT2CiCwBcT6H9mLBhxgJzJvpgclw4BCEAAAhCAAATemwCnx/e+f0wPgYcR0OFQQW/tW/ztsfMhAwEIQAACEIAABN6aAKfHt759DA+BBxHQsTCC3t4FfZcMBCAAAQhAAAIQgMD7EuD0+L73jskh8CACOhB6v2GyBPzV0UERQwACEIAABCAAgY8hwOnxY24lFwKBexGYHRRn+XvNgS8EIAABCEAAAhCAwFMJcHp8Kn6aQ+DlCeiIOPyLonZf/joYEAIQgAAEIAABCEDgVgKcHm8lSD0EPptAHRrrlNivlNNjZ0IGAhCAAAQgAAEIfCoBTo+feme5LghcTGB9gLy4GXYQgAAEIAABCEAAAq9HgNPj690TJoLAqxIY/qVxdqp81YtgLghAAAIQgAAEIACBkwQ4PZ4ERxkEvoRA/Ncd+wGS0+OX/CZwmRCAAAQgAAEIQIDTI78DEIDAlEAcHUunA6SCaT0bEIAABCAAAQhAAAIfRIDT4wfdTC4FAtcS+DP9ftC5cXi8vHYK3CAAAQhAAAIQgAAEXoTA9O3wReZjDAhA4DkE5kfHmkcHyOeMR1cIQAACEIAABCAAgYcT4PT4cOQ0hMDrE9g6OtYV+AGSP0K+/l1lQghAAAIQgAAEIHAjAU6PNwKkHAIfR2Df0bEuWwdITo8f93vABUEAAhCAAAQgAIEkwOkxibCGwFcTOHJ0/Pv3r06PXw2Ni4cABCAAAQhAAALfQYDT43fcZ64SAjsI/Pz98PjpcYcxEghAAAIQgAAEIACBTyDA6fET7iLXAIHbCfzzHz09eHq8vS8OEIAABCAAAQhAAALvQoDT47vcKeaEwB0JcHS8I1ysIQABCEAAAhCAwKcQ4PT4KXeS64DAWQL//QNv+MPjWYbUQQACEIAABCAAgW8gwOnxG+4y1wiBKYH/jo7//2fgTHVsQAACEIAABCAAAQh8PQFOj1//KwCALybw6+jI6fGLfxO4dAhAAAIQgAAEILCHAKfHPZTQQOADCeTRkdPjB95kLgkCEIAABCAAAQhcSYDT45U08YLAuxAYHB05Pb7LzWNOCEAAAhCAAAQg8CQCnB6fBJ62EHgegfHRkdPj8+4InSEAAQhAAAIQgMBbEOD0+Ba3iSEhcBmB6dGR0+NljDGCAAQgAAEIQAACn0mA0+Nn3leuCgJDAqujI6fHITKSEIAABCAAAQhAAAL/EuD0+C8J/h0Cn05g4+jI6fHTfwG4PghAAAIQgAAEIHAjAU6PNwKkHALvQWD76Mjp8T3uJFNCAAIQgAAEIACBpxHg9Pg09DSGwMMI7Do6cnp82P2gEQQgAAEIQAACEHhPApwe3/O+MTUEdhPYe3Tk9LgbKUIIQAACEIAABCDwnQQ4PX7nfeeqv4XAgaMjp8dv+aXgOiEAAQhAAAIQgMBJApweT4KjDAKvT+DY0ZHT4+vfUSaEAAQgAAEIQAACTyXA6fGp+GkOgbsROHx05PR4t3uBMQQgAAEIQAACEPgMApweP+M+chUQ+EXgzNGR0+MvhCwgAAEIQAACEIAABJIAp8ckwhoC706Ao+O730HmhwAEIAABCEAAAq9JgNPja94XpoLASQInj4784fEkb8ogAAEIQAACEIDAFxHg9PhFN5tL/XgCHB0//hZzgRCAAAQgAAEIQOCJBDg9PhE+rSFwJYHzR0f+8HjlfcALAhCAAAQgAAEIfCwBTo8fe2u5sK8iwNHxq243FwsBCEAAAhCAAASeQoDT41Ow0xQCVxLg6HglTbwgAAEIQAACEIAABCYEOD1OwJCGwJsQ4Oj4JjeKMSEAAQhAAAIQgMDbE+D0+Pa3kAv4ZgLnj45//vz9w8f/m393uHYIQAACEIAABCBwmACvj4eRUQCBFyFw8ujIufFF7h9jQAACEIAABCAAgXcjwOnx3e4Y80Lg/wT+OzrWaXD/TwBCAAIQgAAEIAABCEDgFAFOj6ewUQSBpxL4OTrq/546Cc0hAAEIQAACEIAABL6HAKfH77nXXOmnEKhz46dcDdcBAQhAAAIQgAAEIPAuBDg9vsudYk4I/J8A/6gbfhEgAAEIQAACEIAABJ5EgNPjk8DTFgInCHB0PAGNkhcksPnk2RT8/fv3z///79DVhW0sD1ntF9/S5VztoaoZxkMmolFu52plsg5uMT9aG/pYruesX9FNzUxwtNfMh/zsN7yTuZF5lO/vW5NEeR+vZ6Ikll3vmaPjHa3d479n4D0an+3GeM/YN7b4iPIH35aPYMZFQOApBDg6PgU7Te9BoD956pkdPzdbH33Shz6Wm+1OCNRCl6xg5uaCKvfMrEr5oyXSDwPZ9iCmivKuvyRTXfxgFmP0Li7QkF02zKhWhcoM9ZFUVeT3LHWle8RoFgT234VN5uu738t7Zj3nYne4pXl0jcoM9ZFUVeT3LDcvbShQRw822x26qJnbcJ4Qa6rIs2wELrknzZUEBCBwLQGOjtfyxO25BPSQXgebQ/YXgsUzbSiWvu9udl8I4rr0l1LlN2tLIL3mXBR6l7UsdoddNju6YOgQXW5Zun/17ZmZfylr16tmes+7XrELIvZeuh2hmS2dpx+PZ3ry+wkE20Wh7vIimJXH3T9xE/fPWTMMh5yN138h+8DrWt/dHHU4W0+65yzuc97SfdZFfGSuYFHyrVuw+dY7z3W/EQGOjm90sz5y1P7wvvEy+ztEPItmHXu+W81m68qemdUezW/OuTB0FPJRsC702oUytjqH/e28NmwvXPZ59vd1JvJRsB5SXUq2WdUFclCw6BijLpQ751k4eC/J1kMudhdbGlVdPFDhcB5X3hLvMS9NzVO9fDbtLsbwWjks9P14edRBE6rd+kqH/jLpuz587K4b+Tzu74b98rXbe7lJ7EZVVyoj5TBwmcdDcSVLthAstha1a7bDQg08q53lz17I2m9x3WxBAAKPIPDP/zjHI1rRAwK/CfgD6dpnRX/+RSaWmitGmi2lVzBTzhqp8FzQcSmjYObsAo2noFfp0uJtzH16lWfkEIFrerwYqYtvzPRrUUbBrIULNLOCWVXlQxbLYW1p1j+HhdHRxx7qo8VQ05NeFbu+1bvHrgtiy219y/MV+27FXXMi06182viYyF9VIZZgViiBHEpZS/2UzIPoJXEEXuJxyZSJpfIKwna2lD4C6TdRVOHw6twzBNpSo3UgvYIwrHLtroNZr1mV62eaRb7PttNwXRi7pz0Xk/9/K0hvydmHAAQeSICj4wNh06oR8AfPtc+KeML1d5EuqOlipJhqXSUHvdspCJ9G4nCiGyqjYGiq3Qr8irQVhZ6fxZ2wm6gq8Lqmxz5b3702owllq4wCbXmg3Qp8Zm25PmLX67clNLFUiYKdheXT5wx/yeRfwZ7L0SSqlXk3ccPQ+9Jj+Xdbd/NLCKWWtwQxUk3lTbtAk/c5fZLhbrnt+elW3nFdG1W+jAuJpSsrViN193zXR0b+CkIQy8DVq0Kgcs05LOlJFUZwQqmR1rXarUBVMcBsOaxScuEmjZwrs16GRuIKumcIRsvFjCM5OQhA4FEEfo6OP1/xfEgfRZw+MwLrZ8+sapHvhv5rPnuY9apo4Sa+5YXd3He96pZYXTRSD4b+XVYZGQ6rlJRsFkipYKasvGQ9GArCrVedy7htOXRQQ+cuO8FTznJTpgfSOB9P9hLP+Hg9r4ybx0lAmkUQ5UMHzdx3dTv6VmWidW/XC4ea8Nm/1ISLoLvpkj3wwZSP2t6lBDO9dmeF8t/jsFMczOW85wKjhZcM77guUIXD7pphJvO8PIdVXRkdhwIl44r8ono73bUTI3lJd96cOVp3fb+QrtFVa2tY5bIWD2dvKhIQgMBjCfxzdPz5bPMhfSx6unUCxx8t3eNXRo/AdfCrZv4/0eEmUaKno/Iu9liCSwJ3VlzOWvZPtjKu8Xg2m2sW8Z5y18jKk4q1uw6kvyUYtihD34oWp3nKp8x9qXgWbDaVYObgv7R+dSpUUg4xp/KzoOvXmcXuYkvdu8avsWSl0TWq9lwgNwXuM5ynRophonw9ntuWcqHvYp9QY/SkZ9zE53eNx66vePjTS4axrsvLu1IQXBbxsEr+vuuFnl/EVbIQ1JacpVRGgbZu/9WV5+IyvZ3iYWElQ6NlBaHxXb9Hnt+Kh7NvFbEPAQjckwBHx3vSxfs4gcWz57jZT4U/BT2W26yji4exHBT40zFKSnPjY3A4aniGxsfQnHr5890odLGGD700URsjhSxM+lJ6BV0THaU8FAznjKQvYwzvVbIQeK2LFftVeNxvkEo86O2UcZnHEqwDlUgWGS03g3Jw2ToTHV3scRnuyehLQDP0Km2dCOIur5fyl6yGqaUPJoFKPFCVBy7wWLYKfLfiYTtPRq0P7DI5+2ARS9ODUM6W+wulPDqkWsshghIoOfTXrgLZzgIpK4gu/Zc59LH02xRba6thYQwTy9nAkR9W9dkssxOtVRBCAAL3JPDf0fHne4RP6D1Z472TwPFHy4ZxN4zf9C6QY235T22tA29RsUw2C6VcBG6iXq4vQWVc7HnpJVBGgbZUqEB9+1uIb2lXnh7IP0qUH7aL3cXSe83iKNck0ktQGS0VSBmCyMs5Ch1RbfXCWW3l1VeBWkQwdPYqjzWYm8jBk4s4DBeeZRL+Xu6xi7171/jurKpr9mfi1qyXspVMA1fgeYl7EOKi2mXKlG2vKoGaSh/5KNTSg15buz6bMiHW0g0j1kjDaSPZG4VAHfULqXa+tYhDr6WCXltbi459SJXIrWe0FYGUCmaCnq/MrHCxOyvRpc0EMYMtVWo5QghA4EkEfh0df77O+IQ+6U7Q1gkcf7R49SCWYf2Cx1IP8kHl/1P6WKhwpvR8iWc/XakBZmLPR2EtXTCLe6ErtevJirXlgcsq72KPVSX4M/2wKsq1XAc+3joe+qxLhnPq6mI3rPa0k8at9EuoXf3aVGZPI9WGc5j7bnSJXjJcB2EoT/XV8O6jpGQqlEwaZbrGtxS7p5Kng3DTcjieunRZ6CVQiQclrkwUuqzH3dathnr5e62qFESt593BTaKkli7wuO96uZQVqHvkvUSxNPX7o/w6UIuSxTXGrjQ9cKVPImUkXV+a2U8VzkoW+Vl37yX/SPa8N/LYC+dx95tr2YEABO5JII+OP1+afELvSRzvnQSOP1o2jGVYQfzcfN3Ux6IXLhqHuJall6GXu97ze2I3V4vqMuwlTy/sAyxqXaxG0rutevlgUa5liH2pLp50z8jv8YwSLfv8yugaJfZAMv1SRcbFiteespJeQZjX0pNSzgKVuCAcYql5NseW59pBM7ihJ4d5H8MFyqt7D/o8XXMoE9MOl91QY0sfw0vQa6VUbQVDZSTd1stDpqXrlfRg1trz3mjTUOaqUqYu3JeK1U5VHiwKY6vGU638h4Ffi8dDsScl1ti1q7zEIdCtl2AWeKHHrh/mfYahoBxmW8P8Tk+fzWKvtjQhBCDwWAKDo+PPVxKf0MfeBroNCQyfPUPlzqQMK9CvuQeKw9NLFCsIsZYl8GXFKpy1U8mhINy8e2y5rQ+jkh54ScWu0auMksr0Qm2VuP8clqjponxReGIroOnSFAw9h5ejEgW9NtoNBUONe0qgMbpPz0isckGW2LtUUlXSrIPuoC6yco1i31ULTyrWrpw947HMPXlLrBl6sLYVcx8p4oWD2pXGCxdVxedQieac2c5ae14mMfbM0yd0H58/aiXzFkouCuN3RuUKopEvdV1rfy+pWIU+4dAkBDFtd1ZGLRYl3TxmGAoWhsOtMImlBp4HfilzFTsQgMA9CYyPjj+feT6h9+SO904Cxx8tG8YyVBBPOM+Hl295HLJYlnL9M0puWdYHV+3q6uIaw1/iCnzX3TyvWN8TrpSPnKX3QLserEf13agqZ83jjW6J47qc58zWB4t53G1YHvquKfNZPlr7spd4xpVqoUBKySKj5WbQPVWia3eNx373VaU7MtyN8qhSR8/fGIdnLGfmktXA/rNKJBg6xGVqKZ9hlYhJP5Mpvx5DhtIr0CTDQLJZ0KsWvXzLLy3ida/a3bxeN3Gxx64ZxhLHhMqrygWV7BmJFZRm+FMah6bksCQ6xlK1FfTdPZ5h8nvZqfzeZwUBCNyZwPTo+PM9wif0zvSx30OgP3v2VC00MlQQT03Ph49veRyyWJayPk9R5VtRdWIptxNdVBt9Z/mS6UvCO6okgnAW9pC5VS+pKnXXAFL2jLaOBjGYypVXpgczzSwvh835y0F6BSpUCwXSLAK3VaxAhd2zayQeBnv00iiQVWV0scr7r1NPekbx0ES7VwU7u0g2u0AJhoOpahGsC4e7PbkeQ3dhUdgn7OKeqarKK1aw0Lsm4l4V/v5tMxN73uF47Joez6byvKp6smckVlCa4U9phvduWBId11caYnUZOvsw83jdcF7HDgQgcAWB1dHx5xPOJ/QKynjcSKA/e64y7E+vcp51VN4L9wyjT5IK9VIizz0+a43M1c71hxq52GM3rFi9QlbLSG6Wl9u6ync91jwaqbc7lCnz3uJEIzfxeDjP5vxDB09W7D+HjTwpsZKLe+G99C6ows0gyod6aRS4bJjUJAFwLZZtyGIp2Ykg5pk5SKYglJGvCRc/o3y2DFvJZgRmei9UrMDd+sySzQKVSFBjuK22KtCWahVIECXKu/nm9bqJiz12TY/7qDGJl0jsmv29vMpt13kpo7s+dPsFUirontqaBEcvd2JDGgIQOE5g4+j486XAJ/Q4ViouJzB8tFRyuLU5gKrcRHF/HMpQhZWJpWSzQPr6YKnjhZ8zOccM+3uFUksZ+rQRL5Yqj0D+FQi+Ww1LKqkqaXpGWyeCGqMPo7E3PaWUVUw4NF/bhkOJe1Kt126z8kU+evXlumPoeyMXeNyV+oUZbh1KRqNa9rtTnod+7jTZlHVBn1mDxZbyPei2pZk5zPRyHgrCrZaRlEMPZspZ3n8xvJfrh3N6oTj0eWYZ9/R4pleLEuunahXIQZfjtZIpkH4YOAcXzPLShKC3C0HnKSsFvURbk6C3nQhJQwAClxLYPjr+fOb5hF4KHbNzBGaPlsqf+CV1w2H5LNnzbrW+OlfKx5Pr8kO78leVMouOteUCxSqvV4FuO3xF8CqVKIh20UtL6StQlS9dMyt0zdG4X4gyCrqnRpVGsykTPMvEd2e2kZez5zWAJ4dxKDXA0Dbuda+dVan1UOBJDaBesStB5WvpGvWSQ8+oVsFQ48lzsaZdl89kyisY+vSrmAGJ8pntrHymL9th1f5kzOae6uuB4l7oTYeyWbLn3ao38ozXVly1/tP1iiWIjJYeaJ5DVUMHTw4/LAuBukewKImtWupyhrujpGMe7ZODAATuQGDX0fHne4RP6B3oY7mTQDyQhg8YaXZ6lkxVi6Abzj4NMuklypTGlxVHXoIbAx81WsRSjXreMxWXrZurfM9rRxe7lVooqaAXKuNVEUtze+CTVBd5xrLymkSy4CPBujxkvnTnMI8ZfPio0rKPsei19lehzD3QrgLtKlOB8rq6mWCWXxRGiZbDpp48F5+7Beql8RY+0qiqglneZTPbqnVleMq8B1HVrbwkxH3ZJ9xT7ppZvKdXaeQwLNHuzqCb6Nc1tsowkhLHrrp3vTLSKKgtLRWoZCiIGVTlN8uTFW96hmCy9CYTCWkIQOBSAnuPjj9fDXxCL0WP2SEC/cEz/H0cPpPWjYbOkQyHdZeojTmjti+j141L99dg7jlM1quAZF2jTFxdlGi5GYSP/FWojJTKDDWSafeSoJqWVR/AX6Ginc/TC5VxWXRxTcSLXjGSCqNEyxJoWYGq+niu7LsqdJli7SrQVgWVj6SWi90+iXNQu5L50mM12jNMiGfLxcxespZpSC9RfEutKJWbGilQl5lASg96lWdKGYYu8HjzzrrYY59nFrs+UMSWdt1KGk8q1u5msChZb3Xn0ve8MjJUUFtaKlDJUDAEUrUqlJUCbc08QzBZDn8pJlrSEIDAzQQOHB1/vhr4hN5MHIMHEDj6expPuD5hN+yZYVWX9V49061uychfQbhVfrard4KoquW5qqFVJLtzn3MP3rC9fanBFIRnn3MoiGQth579Mr22l7hew3iJ7mnf7W4q7GJtfUPgVG+53gVht92UzQR7btOsVgPIpAfSVLDTyqucpPxdcKffT+8b7XQtnt+8NFVtOrvtOp4B8aqdg3nJp8cX3oFPR8X1QeBmAseOjpwebwaOwesSWD981ru3X9Vj/O/UZWG72NoDbbN8KBgm97Tbr6kWd2rUbXsmRg2Bluu3zOGuaqNFLde7w5KPSV547TutNmVdMLynw1vQa4eyPclNqxBouZ627/ZMjCfnyNdyvVtH1mHhw5KbF6hJNq9Fyu8I4PEd95mrfAECh4+OnB5f4K4xAgQgAAEIQAACEICACHB6FAoCCNyRAEfHO8LFGgIQgAAEIAABCEDgIQQ4PT4EM02+m8CZoyN/ePzu3xmuHgIQgAAEIAABCLwgAU6PL3hTGOmjCJw8OnJ6/KjfAi4GAhCAAAQgAAEIfAIBTo+fcBe5hpclwNHxZW8Ng0EAAhCAAAQgAAEIHCXA6fEoMfQQ2Evg/NGRPzzuZYwOAhCAAAQgAAEIQOBxBDg9Po41nb6KAEfHr7rdXCwEIAABCEAAAhD4BgKcHr/hLnONjybA0fHRxOkHAQhAAAIQgAAEIHB/Apwe78+YDl9GgKPjl91wLhcCEIAABCAAAQh8CwFOj99yp7nOxxDg6PgYznSBAAQgAAEIQAACEHg8AU6Pj2dOx48lcP7o+OfP3z98GD/2F4MLgwAEIAABCEAAAp9BgBfWz7iPXMXzCZw5OtahkXPj8+8eE0AAAhCAAAQgAAEIbBPg9LjNCAUENgn8c3TUaXBnsOmLAAIQgAAEIAABCEAAAi9DgNPjy9wKBnlfAjorvu8lMDkEIAABCEAAAhCAAAS2CHB63CLEPgQWBOrcuBCwBQEIQAACEIAABCAAgU8hwOnxU+4k1/F4An9+/vX4tnSEAAQgAAEIQAACEIDAUwjw7vsU7DR9fwIcHd//HnIFEIAABCAAAQhAAAKHCHB6PIQLMQT+T4CjI78IEIAABCAAAQhAAALfR4DT4/fdc674RgIcHW8ESDkEIAABCEAAAhCAwHsS4PT4nveNqZ9IgP+u4xPh0/qDCex8HO2UDUHdUvv3798by4cjPSbpk/85dSHu8JiZ6QIBCEAAAi9JgAfCS94WhnpZAhwdX/bWMNgbERg+eXaeaoa1de2LLQk2NQuMOydcOFy1dWiSLu6ZzcFOlGx6IoAABCAAgTckcMuD9A0vl5EhcAOBn3/CKqfHGwBSCmlMXJgAACAASURBVIF/CMSTp5Y7zyeSVdB/LiirdqFZbN1YvnA+tOWXvKdQ+hKfu4pzVXvGQwMBCEAAAm9FIJ7hbzU7w0LggQQ4Oj4QNq1eiUCcPS4ZLY4iarHnieS1Ktz5Hyv1Wr+QPX2rxU6lmx+NFy38evfbxlX7ctEr/L0qti5Znru0S1pjAgEIQAACRwjsf3QccUULgc8i8M//riN/ePys28rVbBPQO/3lhwc39C6bM6lQQZXseZp5iTf1/GKAkMVyUbhzSyN1vbZONA0yYRW7vXVlom8sZ1U78zHSzipkEIAABCDwDAI7nxvPGI2eEHgNAv8cHX/+8sDn5TVuCVM8hkCcEGJ54wxyi5OD8jP/ENSHcvOjOewiKwWzppWfmayrYnfWy80XJV7usSac1QqUN+oOUa5lr9pfGyZaViBnX4aGJQQgAAEIvAyBzUfuy0zKIBB4BoH/jo6cHp/Bn57PJBDHg1jePtniPLN4NOmwEeWLebykX4V2Fw61tV+5sOoDuHi92//TswKl2ZTRzB5I1q18jB57Yd/dmRleXSQvabRzHmQQgAAEIHCcQDxnjhtQAYHPJfDr6Mjp8XNvNFc2JjB8rR9Lb8iqi4KhmQ4VHpRSmWGhJ72Fnn6edHGP9yt7rTJrk/WujnwlG/5UI4kVuF5J1y/izcEWtbWl7qEM55ksqlhCAAIQgMCTCOj5+aT+tIXAqxLIo+PPyxafl1e9W8x1DwLD1/oLG9XnSZ8qHRsURC/pVeJHoJg2amsp52EwLKkWXq6mPsasNvLqG3kth1ehqkWgqWSljKqGGdf3WNeowRR08TrjY7gyDGPpSmIIQAACEHgBAnoyvMAsjACBlyEwODr+vHjxeXmZO8QgDyAQv++XvNbrCLEnGF7j0cJN/bCLJxcOe2SlmZm4g053kfR8+UjgS4+9aZXrZ2zJahjMxh7+bnSx95rtnhtsOC1JCEAAAhC4P4F4Aty/IR0g8PIExkfHn1ccPi8vf/MY8H4Ervr1Lx8ddRaHiuG1dP3MSuUhqLySks0C7yhNL3eZx97O892hzlELziofjjE0dE85dx8ZRiClat1QYpd5XALPeKxyD7yR54khAAEIQOA1CPA9/Rr3gSlehsD06Mjp8WXuEYM8gUC99F/VuLvpULFoIU2UR374WKukF3o8PBFpklAeEvdhupsarZ21Ww6bVyTb6KilAil7cGj+MDxUW63Doc9DBgIQgAAEnk2gf7s/eyL6Q+B5BFZHx59XNz4vz7s3dH4igXqnv/DXPw4JWqqFMnXVGmBPMAQ1K5Q4OiqvM9s6o93wieXQTbXrXb8EKd3fY3kWUq8NyFqqxIO+O+xSJbEVS83s/h5rSE8SQwACEIDAixHoT4YXG5BxIPAoAhtHx59XHz4vj7oZ9HkpApf/4se5Qks1UsY51K62KtBPV/ZYsiiXUnllFPiW+0jggYuH56UQeO1QL8Hi8kvTnWPaWKqd8uqlwD0l022SbDiA1w4FvTwyLCEAAQhA4PUIzB4CrzcpE0HgngS2j46cHu/JH+/XJXCnp4SOFjqT1GGmQGi3c+lbclAQVcp7bY9nVxrlvoxGOo8p710q2TMS93JtqUqBxJXRT5VI0Pu62A291quk92AmVr4794yLFRNAAAIQgMALE5g9LV94ZEaDwNUEdh0df17F+LxcjR6/FycQr/uxvGV4fZjcc5iMLqXf/OlVIa6tSNbSqxSH0sulURA+sYwTnaoUdH2UhKCW4iafHoRmZ6Fk3tdjbxT5WMaFHCp0MTEEIAABCDyVQDxPnjoLzSHwDAJ7j46cHp9xd+j5TALx9l9LPTRi9+ig5RMmahF5Nw+Nlq6J2HuF82Z5CFSuoPcSouF5yQtdWT6+O8yEIJYxjJYlG7aTpgdRpfJZ08jHMmjILfJ92QcjAwEIQAACzyPg39/Pm4LOEHgSgQNHx593Gj4vT7pPtH08gfWrf81TmkMfC5V44FenvCfVbni0qJKuV8YnXPhL70HVysF7eaySSKqwC0JZgp6MTCwLiMx7UHqv8rjrPXPLtQ+7KOlYlFRr31WSAAIQgAAEXoMAX9KvcR+Y4hkEjh0dOT0+4x7R82kE6p2+/4yBJIj8YqnHjmo9WBdK6TIZelLxbHdopaoKShNH1mFShW4rpXZl5TLtDpParWDoGRpXdv2eLprTA4+7rXYL+FrgN0XzeDC8IpIQgAAEIPACBPwr/AXGYQQIPIrA4aPjz7sRn5dH3R76PJ2Av8p7HINpK/KHljIZBrLSrjIVLD6XVRJ6X8pTQeyqhbq4Z69SxmXuKcNIRqHaDWWRnC1nM6jXrLCOgrXrJj32OWXrst7CS/zM6eW9igwEIAABCLwGgfgWf42hmAICdybA0fHOgLH/JgLro8IhEn5+GD6deq+e8Y5DExf004t2w1lWClSrkmHGd2+PY6rThuXj1+JW3iViyTxfyZ6RmAACEIAABD6FwOzR8SnXx3VAoBE4c3T8eSnkw9JQkoDA4wn0D2LPXDJV2MZSLSL/gBNUdNQkJ4KZlec9jhax9YBrjwFYQgACEIDAwwnEd//D+9MQAo8lcPLoyOnxsbeJbhB4PoGjj8c6O+nn8y/ghgm++dpvwEYpBCAAgW8gcPQR8Q1MuMaPJcDR8WNvLRcGAQhAAAIQgAAEIHB/Apwe78+YDq9B4PzRkT88vsYdZAoIQAACEIAABCAAgecS4PT4XP50fxABjo4PAk0bCEAAAhCAAAQgAIHPJcDp8XPvLVf2LwGOjv+S4N8hAAEIQAACEIAABCBwngCnx/PsqHwLAhwd3+I2MSQEIAABCEAAAhCAwOsT4PT4+veICc8T4Oh4nh2VEIAABCAAAQhAAAIQ+E2A0+NvHqw+iMD5o+OfP/yvO37QLwKXAgEIQAACEIAABCBwDQFOj9dwxOXVCJw5Otah8Q8file7mcwDAQhAAAIQgAAEIPASBHhRfonbwBDXEvg5Op74v2uHwA0CEIAABCAAAQhAAAKfRYDT42fdT66m/rcZ+fshvwkQgAAEIAABCEAAAhC4mgCnx6uJ4vdEAvz3FZ8In9YQgAAEIAABCEAAAp9OgNPjp9/h77m+Pz//+p7L5UohAAEIQAACEIAABCDwYAK8bT8YOO3uQ4Cj43244goBCEAAAhCAAAQgAAER4PQoFARvS4Cj49veOgaHAAQgAAEIQAACEHgjApwe3+hmMeqIAEfHERVyEHhLAjufSF3WM4vr//P37yH9wuoztm6kAc/P+DXgKiAAAQjsI3DjQ2NfE1QQuB8B/ruO92OLMwTuRGB23tj5RIryWu6srSs6JL4ThJ9/QPRrnGP7GEf5dIf7QcMZAhCAAASeSuDoI+Kpw9IcAkGAo2MAYQmBdyEwPG8Mk3FFXeMZj6PQlztlXnJ5XDO8ziS6wD0jxbvDnhL5E0AAAhCAwDsTiCfAO18Ks38ZgZ9/wiqnxy+76VzuEwjokHN5737k6JneVPOsg17omWh0jyfh2jMG8NmujUVpYRvD7CwJw7pe1cblz/Jhcm4Z858zoQoCEIAABPYRiC/4fUWoIPBsAv/8j3Nwenz2jaD/JxPwN/57vKD358+eLn0qz8zuR/SKRrE7M9mfD38v1NblTb1LxU5GfWcyL+mayHTnYUZVvqvkJYGcL3HDBAIQgAAEtgg84PG1NQL7EDhIgKPjQWDIIXCKQL2XV6nHp8wGRf35s9lFJToz9MygU/tvGEajWA4delKtfasPFrtaernH9d+HlGxPMJw/krF0W9+KSVzmcZX4zz3/NU5v5G7nYu++c+xzjaiCAAQgAAEjwDeuwSB8BwL/HB1/3lT47X2HG8aM70vA3/X1pn7Xy/GOw0YaYxYMq/rBJhrFcmYS+cU30B5DlR+9lhijX10JYgZ1WZRrpK6JjJurypOhr+WmYFi1Ti6ua13ILgQgAAEInCKgb/1T1RRB4LEE/js6cnp8LHm6fSOBeNeP5e1E+vMnWoSgljotDIPZVJvO0Wvmo3wYKl/BelfnveElbNYOe/X5w0e9ojyG6bvDjJvP7ksv9Kq+ey6zuK5zhlRBAAIQgMCSQH/gLOVsQuB5BH4dHTk9Pu9G0PlbCPjz4dp3dLmphWciLtyV9NhldQRa3Bgv7+LYVZeZoVqvBbGrqlkgvbBUZjiei4eCSMZS5To9ekZxTOL5Mlz/lL6CxQyh1HKzRAOohAACEIAABO5JYPZkuGdPvCFwnEAeHTk9HmdIBQTOE7jqHV0+OhVERsvFrNJEsFkiQTz6+jKcXdC3fLdalEbtFCivYKiX4bDXzt04JEdHjeSnx3W7XiL98CpcvymQla5Og/mW77pnz/fuZCAAAQhA4AoCfONeQRGPOxMYHB05Pd6ZOfYQ+IeA3t2vIlKPnbItTz2IPLlop5Ei2CyZHUg0gBzk7CXaVdIzHq8vRObq63qP1UhJBfvblVK9wrMM+0/377GPEbVdrIxXKal5KhMamYdM5S5QkgACEIAABO5GwJ8nd2uCMQRuIDA+Ov68SfDbewNWSiGwk8Cd3s7jkFDDDJN9To0UQVcqE0ot1VdKZfwLpvSu6Zmjuz6Du3k8G8Z7zY5Vrpl5aoa6WL9kL++xDN1Bya6vzFAQSRn2kthywf7JZ7ORhwAEIACBfQT4xt3HCdWTCEyPjpwen3RHaPu9BOIt/0YQQ7dhsjeSrAL97Epl4lnXl+tMb6EZ1MKDxa6sqmMsh0fBcIvlsGTnMCWToQIvH8aOaxb3wqF/JGspz+GuO4fet4ghAAEIQOAOBPQNfQdvLCFwG4HV0ZHT421sqYbAYQLxHn+4/nfB0G2Y/F33V6eFHoRSy/6gi0zvu5npArVbH+fUugK/ChVKU57RK5aq8gE8Djff6v6bYpWor19Cn83bDXd7ucs8VsfuuXNsLySGAAQgAIFTBPjGPYWNovsT2Dg6/rxG8Nt7/9tABwiIgN7ylbkl8FOBPsqenJlrjKjqeTl0W9XONMMSr+oCWQ0PObUrBy+vuP+UoYuH5iFQYYl9OYy93OOhuJJxIVWln7PCobmqIlAj9Vpcu2tm3clDAAIQgMAVBPjGvYIiHlcT2D46/rxG8Nt7NXf8IOAE4l1fL/euOR3LXMHwbDD01ySLwAu9ReXjy2MocM2mwNstLkSeYVjLSMoz8rFct1PHQzK1HgY+wCzeLJTAHZRUELux1EX5ZaqWAAIQgAAE7kCAb9w7QMXyNgK7jo4/Lw389t4GmmoILAjUa7p/yOLFPZYLq+GW/BctVOjiWSxxD/qo3lQnEC+MklhGyXpXtt40SmKpkgpiN5Z9GJV7x5BJ0/PlH7V79IuS4YXMkn6BHvdRldls7fMTQwACEIDADQT4xr0BHqV3ILD36Pjz0sBv7x1uAJYQKAL9CBHv8Te+uHd/GQ5vgX/cY5JY9vIucLdh3yiJZZSEW+xqHpcNDaWMIMTuU0oJFNQM3ScyUa6q8umNpA8f7xtbvhzKoldo1kuhno3q3YkhAAEIQOAKAnzjXkERj4sIHDg6/rw08Nt7EXdsIDAk4K/18RIvvWuU3BMMDYfJcOsdN6u6QF8eclOm2nle8WwSr5VYQVS5/3CrJ2WlIDTKV+AthluL8mGt671FF7vS4xgjTPquHwsldlkXSOZ9iSEAAQhA4GoC/tC72hs/CBwhcOzoyOnxCFu0EDhJIN7Xu4sEfWsz058/ew4AJ6o05DrwgUPpWx7PhvFy1ysugZbrwN16R9XGVlQtOkopq34205Z3icJYqqS79WF6rTISe2aPpw9ADAEIQAACFxHw58BFlthA4DiBw0dHTo/HIVMBgbsQ0Mv97e5rq9nuLK95SuA/tVVBd+iZKLlxecj/kPjEYPv9paxASzX1fN+VjAACEIAABN6WAKfHt711HzT4maMjp8cP+gXgUiDwH4HZQ0nHkv+kFs2qJFkL+u4DTj69qaaN4N7DHJrE/+gXc2qpm7XfWbUEEIAABCDw2gT4an/t+/MF03F0/IKbzCVC4K0IvM7hxyfhcf1Wv0QMCwEIQOBTCfA4+tQ7+x7XdfLoyB8e3+P2MiUEIAABCEAAAhCAwEcR4PT4UbfzvS6Go+N73S+mhQAEIAABCEAAAhD4cgKcHr/8F+Bpl3/+6MgfHp9202gMAQhAAAIQgAAEIPDVBDg9fvXtf9bFc3R8Fnn6QgACEIAABCAAAQhA4DQBTo+n0VF4kgBHx5PgKIMABCAAAQhAAAIQgMBTCXB6fCr+72vO0fH77jlXDAEIQAACEIAABCDwIQQ4PX7IjXyLyzh/dPzz5+8fflff4iYzJAQgAAEIQAACEIDAxxLgjfxjb+2rXdjJoyPnxle7kcwDgacT6A+unnn6kG83wGmGpwvfDhEDQwACEIDA37986/Nb8AgC/x0d6zS4/+cjpqMHBCDwWAKzJ88sH9N1Wc9EiS//vNKj79DkfhWXx6cneSmel2PBEAIQgAAEfhM4/bj4bcMKAnMCP0dH/d9cxg4EIPAtBGbnjVneuZTGn1094/phvKfRsPDa5InJrx1AbjdO8iI8dTkEEIAABCBwNwL+BL5bE4y/mMA/R8cvJsClQwACAwLD88YwGcWuqSeYftbWnseam4T/Y5Yadc+0DxgpgGxOFYIo//lf5X3A0LSAAAQgAIEnEOAL/gnQv6hl/cnxiy6YS4XAhxLox4PbL7R79kzvUprNn1EYz7poFLtRe2458/TJzzkfqtrTzjUeLxrp6lzf44UDWxCAAAQg8J4E9AR4z/GZ+pUJ8E9JfeW7w2wQ2E9Ap4L9JXuU/flTjda1MYxM1rWSlXmIY7keYL2r8aKj960tF3h84R/u/Lo8jkuImRdKFXpJxNIQQAACEIDAJxKIR9YnXiLX9BQCHB2fgp2mELgHAR0PrjXvz5/Nc4tKNFLPDIcM5/Vy6NCTau1bfTDf9djLFe8vDys5KL/zGkPmZ9fu2c293GMpCSAAAQhA4LMILB4On3WhXM0jCXB0fCRtekHgrgTqSPCYg8G6Sz2vpPHBFM9QqKoE8eiL3ZlJ5MPEd/cYauZh4G6b8bBdJNUl3CSTIILQ11JVcdr02mEhSQhAAAIQeHMCi6ffm18Z4z+LAEfHZ5GnLwTuQeB+54H+/NGZRE11RX1LmdJ0N9XWCccFHvddL5zF0T1kw91Krn+WT4wX5rGU4TCv5FCm5CKQgwcLvW95CTEEIAABCHwEgUPPqI+4Yi7ingT4J6zeky7eEHg4gToJnDtfDYf1o8XOWD56XlXQy6XsgS6ktmSlpWfkPLxw7XoQHaOddr2kd3SZDyY3BX3XnX3XPb2jX5pqPRmxfNxchR6EUsuhRkm3VYknpawgNCwhAAEIQOBRBOJh8qi29PlEAhwdP/Guck3fTUBv6gpu51GPHTdUrGDdpWT956IqnNe1fdfLh7vR2vWxVUuZ+FJKPZkli8CrYku1cnOxklXVt064qaN7qpG3cPNZPky8xOPwZwkBCEAAAo8ioG/9RzWkz4cS4Oj4oTeWy/piAv4e7/ElSIaGw2RvV7L+syuV6eLISFlB7SoZy/Xf5XbuaoDQb/bqz+1eosmHlzPc1TwRhLgbbuol6LW6dl1UidVUeVd6UkoCCEAAAhB4CAG+gx+C+dOb/Bwdfx7t/Dp9+p3m+r6KgL/He3wJhKHhMNnblczFHne9HzxqN76rYim9rNQxMlpGsJ5HbpIp6K17xsXVt2d8ntrt1yhNbUkm5cJWW6qS2zCQvnZ96XFc7GJr2IUkBCAAAQjcn4CeEvdvRYcPJfDP0fHnqc+v04feYy7rCwnc+8U9/IvwMNnhl6z/7MpZJr6ret/IqJcMQ6B8BYtdbdUMctZIEsgzMrGME5eqFHS9tipQ67BaFEaJfBYlMi+NHKLElx6rPIZnCQEIQAACjyWg7+/HtqXbpxDg6Pgpd5LrgMBvAnrF78Fv4clVHAzKZZiMBjFPP1T0x9pmRp7q1SeJTCxVuHkhNYyXVxw/3dDF/XqHGZVHrfIKXBAz+Jb0FfhV9KoQa0IZKtCWSnwrdmNLJQQQgAAEIPBAAv2h+sDmtHpzAv8dHX+e8fwuvfntZHwIOIF6Ux/+dNnp2E8C+vLw5MJZU+l0oczQoSfVUV0iEyXyd32UaEtTeaZilcz81UjK7ha1XeB93cfzir2jxzttfRiP5V9BbPnS42HTEuhnOLOEAAQgAIHHEth8sDx2HLq9D4FfR8efRz6/S+9z85gUAkcJxCt+ld/yoZehmygZ4+nksD9wh27rTRcnFpkMHcJE4qFhJMMwlm4VhX05zJRD2MYyNHU5rvHYR/J8xf7TldFCW91huKVLc72UBBCAAAQg8AwCi6ffM8ah55sQyKPjzzOe36U3uXmMCYETBPrr+/rAsNlC5a7sXbQrfQQ6YEjZg24bX1dDgWvWgvWu5tk0lDKC8I9lEIgubtULq3amGepnJTNxjFe9SlyjRuFwGUkfmBgCEIAABB5LwJ8zj+1Mt7clMDg6/rwf8Lv0tneUwSGwSWD4+l7J4dYthkdrNwfogvi6GgqkqV0tazyVKPCxh8lDgpl46KykAp3ZKqOfbiuNkpLVxbpbaLSUyVBcMtnGctglfFTrgXcnhgAEIACBxxKI5+Fjm9PtDQmMj46cHt/wVjIyBHYR8Lf2eLP3k8MuLxN1K7mZahD2wp6JMhdUPPzpVSHwLcWuGSZLoC0PFlsuq9gbDR/aQ0Ekhx3D7WiJ9D5nn193VjOo0IOZzM3lMOxCEgIQgAAE7k8gHh33b0iHdyYwPTr+PPX5XXrnW8vsEJgR8Pf74bv7MDlz83z/zti0GgqGyWhUmvXPXlLnGc9HPLsEbxQltdyc2ask7u1CFksfQybS9IzObx5I70l3lkBJZSLw+StWyWLpJsOZXUAMAQhAAAJ3JuDf5Xduhf2bE1gdHX/eKvhdevMbzPgQOE3gqk//+mww253l/XJKo5++VYeinrnqosJZy/3+ey5QtjuDTc+hoGaeYdTxUoL91zgcO2aI5bCEJAQgAAEI3JnAjV/td54O+5chsHF05PT4MneKQSDw3gRmD6VZvq52vXuUyFWHn6N9u94nufwae7vI9I6V6fleuKmJktkyCFxlO2tHHgIQgAAEtgjwTbxFiP2fPyvu+D3ZowEmBCAAAQhAAAIQgAAEIPC2BHacCt722hj8EgK7jo787fES1phAAAIQgAAEIAABCEDghQlwenzhm/MCo+09OnJ6fIGbxQgQgAAEIAABCEAAAhC4KwFOj3fF+97mB46OnB7f+1YzPQQgAAEIQAACEIAABLYJcHrcZvSdimNHR06P3/lbwlVDAAIQgAAEIAABCHwTAU6P33S3d1/r4aMjp8fdbBFCAAIQgAAEIAABCEDgTQlwenzTG3fHsc8cHTk93vGGYA0BCEAAAhCAAAQgAIGXIMDp8SVuw+sMwdHxde4Fk0AAAhCAAAQgAAEIQOClCHB6fKnb8eRhTh4d+cPjk+8b7SEAAQhAAAIQgAAEIPAIApweH0H5LXpwdHyL28SQEIAABCAAAQhAAAIQeBYBTo/PIv9afc8fHfnD42vdSaaBAAQgAAEIQAACEIDAvQhwerwX2Tfy5ej4RjeLUSEAAQhAAAIQgAAEIPAsApwen0X+VfpydHyVO8EcEIAABCAAAQhAAAIQeG0CnB5f+/7ceTqOjncGjD0EIACBzyXAG8Tn3luuDAIQgMCMAN/9MzKfnz9/dPzz5+8ffnM+/zeEK4TAHQmc/grxQo8Xs3ZZzwzLN2ULQd/qmWHTn/8y+f//z3f31w7L3crjoW3v7iUeR3ksXenxTDbLe23F+5WHaPRGaneo48yHPAQgAIGPIMA34kfcxuMXcfLoyLnxOGoqIACBAQE/osSDKJZRrEIFLpjVRl5LBW6iuFps/pTeg+48HNhLFEsZrSXYDOSwVs5kffjuo9m0NXOToAIV9iCUs+XORtHO3fZcYOiPlng5MQQgAIEPIsDX4QfdzN2X8s/RsY6Ch37uboEQAhCAwIqAHwD6KWLxaFLhsEq70Vviyms50w9lXrX5R63u3DMxpJbeSLF2h0EQ29lrZr6n3DXVXZmZbU2uXZ9ZtcOri+Qhcd0pd9hT7rNt3usw9yUxBCAAgY8jEF+QH3d9XFAnoONi3yIDAQhAQAT8LV+xdm8M/A0+zH2rd9GuqiLoJZVRoR8GPNkLfVdPSyUV9EJvoV05KDMLyln6daMykVhLmazLh7vDpE8b5oulV81m22wXJif07rCn/ChPJ+C9bozvZHvjVJRDAALfTSC+IL8bxsdfPf+504+/xVwgBC4k4G+uiq/yL8NyiweRb/V22lUgTc9oK45z6rizpGTDn97CY7VQMjKxlCxG7UtXKh7OFkmJPSiNZ/Z0dOeqlc/iulzpDqqNMWbLE3pZ7azt4/WMPEVsp7kXLuJ1x0UhWxCAAATuSWDza/6ezfF+JIE/P/96ZEN6QQAC702gv7xe+BXi79luq6YzdhKEg/KzwnrFr111dJNeKM9FEFWu9F7RSLIoV4km1MlkqFRS/gp2FjqW7qaMB2qhqzg0rco1oWe80Sw+oS+r/YVSKtC0s6n2CBa1fesQ1V5OBgIQgMB9CPiX03064PoKBDg6vsJdYAYIvBcBf2++cPKyXf/s7db62O3lfkYqcWk8XlcNzwb9ERqTrJfDjr3R5pBe4mLFfc5Za2FZCHRRoqqMgj3lEitYVPlW6T2zjuvyD0FQCwUBedjRxUPB/mRY1fLQJezvhRICEIDAEQJ8FR2h9arazT8qbgpe9cqYCwIQeB6BeH+9ZBC9BPdA/rPnUuU11cJBVhW40s8AiiWIQi0lGAaS9Xal90auiUItVbVHHJrhhGGoRjWYL+XWZ/Yt3+0du6FnQq8t5ZWZBf6boKrZr41GnbkN82WrWu+iuBeqqm8dzfQuF5ofHQY9BCAAASOw+Lo1FeFrE/j/Xxant5Kj42vfPaaDwKsSuNPbm2DxpAAAIABJREFUqr/616XHt1csA4+mUqBX/FAqX0rZKlD3EPS8BD0YNlXS9UpqMM9UsjJVpV0tFWhLgTeKWBoPQrO5VK3oLUokHgaLQm31Qm0tgl5VGc3sAvl4UrF2eyBND0rc85Xpu8qoi2pnGQkIIAABCDyJwPA79Umz0PYsgTo9Dk+Jw+TZPtRBAALfREDvrwquunoZ1iNIDyLPKxlNh5pKhrKWahGBxLNGOuNJ4F2UlI8C3xpOK2eVVFCFKtGuMgq0paC2wtknkVIauUVfWXlJj7084kNiDakgysNcy5DNltIvgl5bYrEqwWxClatKGRV692FSgqgN8XCXJAQgAIEHEtj8LnzgLLQ6S0CnR86KZxFSBwEINAJ6nfWgqc4k3DDisqvk0Dr0s2XUzmTKh96X0vTAZYr9uaqSOoe4xmWVl1hB5OMwIzc3V20FrhnGQ1mfrdeqMDrOaisfVWXrDsNGnpTYkxFL04NQzpa6inCY6Stf4tBEUs66m8qE0n0WWy4jhgAEIHB/AvrSun8rOtyHgJ8Y1/8R1vv0xxUCEPhQAvHCGstbLrqs/KfepBUMn04qcZmSHsR4taWkK4eNpIxGyi+qwlytFchTbhW4ILa0nGk0Twn8p2qHwdBQbsOSSnqLiM9VDSfpVt6r7yojWdGeMZc+AhGQj4JQ+rI0nul9XeNxV8onZMoTQAACEHgGAX1BPqM5Pe9AQH+HvIM3lhCAwJcR8EfEha+wZVXmbtszxXuoHyZn9ye66LoUzAr1Tq92GnJW4krvKysP3CTEvqV4NrDnNeFOQ6+tRj2jART0y1RGmh5Io9k80/WRiarYnS11OSqfKZVXSd0s3TLPS6xg6B9JX3qsFnKrIDSxyxICEIDAwwmsvwgfPg4NryDAAfIKinhAAAK/CVz1Fls+7qYHkbZ+d/5ZhSZetX2313bxpt5NNFUErvFY5tHXl375qh0mtVuBm2tLhTGhllL2YGbYlZGReQQhi2WIYxniviy9SA6HH1ZVUuVd4xnJYjwtXeyxCpVUSQQlCH0sj16mmhJAAAIQuCeBnV+99xwB7zsQ4AB5B6hYQuDLCMTzQa+/N2IoW39R9kYeDxupMAKNN3To4no1H7aIpDu7T8i09AGkj13X+NYwvynwLpp25wWqo4Kdhf1sUw4awA3jElyjWJpZUErtxlL5Hvgke6pcU7EurZt7xgsrr/IIfFcOs3IJCCAAAQi8AAH/Tn2BcRjhOgIcIK9jiRMEvpJAvMvG8hwSPXPcTck955YqXP/ss7m+dn2ArveM13rsGo/jcnwp2Sw5zHvVUODXoliByodBGYZ42MWPi6Xf8zOaqlGvDWVfqra2Ytn1ysTlbBZKUMEQkcw9UKGS7qCkgtCvl3s+HXImgAAEIHA3AvGderc+GD+DAAfIZ1CnJwQ+gkB/6x2+2kZy89L1zPFCT26+Ivtgit1BsQ8TSi1dM4tLXLsqHHbpGq+V/zCps5lkPRgW9mRlFhO681C8qJXegzJcVKmjV0lfSWmGwVAzTPZyNRJkz4S+e1Zm**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
自己写个半成品,在慢慢写
(defun c:tt ( / )
(setq mspace (vla-get-modelspace(vla-get-activedocument(vlax-get-acad-object))))
(setq bulge1 0.198912) ;起始点和终点处凸度
(setq bulge2 0.414214) ;中间点凸度
(setq len 0.54852814);一个波峰到波谷距离
(setq h -0.3) ;深度
(setq p1 (getpoint "\n请输入起点: "))
(setq p2 (getpoint p1 "\n请输入终点: "))
(setq len1 (distance p1 p2));计算起点到终点的长度
(setq ang (angle p1 p2));计算起点到终点的角度
(setq n (fix (/ len1 len)));最大波数
(setq len2 (* len n));最大波数需要的长度
(setq len3 (/ (- len1 len2) 2));计算起点偏移长度
(setq newp1 (polar p1 ang len3));计算起点偏移点坐标
(setq startpt newp1);起点坐标
(setq nn n);保存原始n值
(setq ptlst (list startpt));初始化点列表
;循环生成多段线的中间顶点
(setq i 1 )
(while (<= i nn)
(if (not (zerop (rem i 2))) ;判断是n否为奇数
;奇数
(progn
(setq p (polar startpt ang (* len i)))
(setq p (polar p (+ ang (/ pi 2)) h))
(setq ptlst (cons p ptlst))
)
;偶数
(progn
(setq p (polar startpt ang (* len i)))
(setq ptlst (cons p ptlst))
)
)
(setq i (1+ i))
)
(setq ptlst (reverse ptlst))
(Make-LWPOLYLINE ptlst)
)
(defun Make-LWPOLYLINE (lst / PT)
(entmakeX
(append
(list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length lst))
)
(mapcar '(lambda (pt) (cons 10 pt)) lst)
)
)
) 思路应该是错了,在研究研究
(defun c:tt ( / )
(setq mspace (vla-get-modelspace(vla-get-activedocument(vlax-get-acad-object))))
(setq w 0.54852814);一个波峰到波谷宽度
(setq h -0.3);波峰到波谷高度
(setq bulge2 0.414214);中间段凸度
(setq bulge1 (/ bulge2 2.0));起始段和终点段凸度
(setq p1 (getpoint "\n请输入起点: "))
(setq p2 (getpoint p1 "\n请输入终点: "))
(setq len1 (distance p1 p2));计算起点到终点的长度
(setq ang (angle p1 p2));计算起点到终点的角度
(setq n (fix (/ len1 w)));最大波数
(setq len2 (* w n));最大波数需要的长度
(setq len3 (/ (- len1 len2) 2));计算起点偏移长度
(setq startpt (polar p1 ang len3));计算起点偏移点坐标
(setq ptlst (list startpt));初始化点列表
;循环生成多段线的中间顶点
(setq i 1 )
(while (<= i n)
(if (not (zerop (rem i 2))) ;判断是否为奇数
;奇数
(progn
(setq p (polar startpt ang (* w i)))
(setq p (polar p (+ ang (/ pi 2)) h))
(setq ptlst (cons p ptlst))
)
;偶数
(progn
(setq p (polar startpt ang (* w i)))
(setq ptlst (cons p ptlst))
)
)
(setq i (1+ i))
)
(setq ptlst (reverse ptlst))
;计算每段线中点坐标
(setq endpt (last ptlst))
(setq midptlst '())
(while (cadr ptlst)
(setq midpt (mapcar '(lambda (x y) (/ (+ x y) 2.)) (car ptlst) (cadr ptlst)))
(setq midptlst (cons midpt midptlst))
(setq ptlst (cdr ptlst))
)
;加入终点和起点坐标
(setq pl_lst (reverse (cons endpt midptlst)))
(setq pl_lst (cons startpt pl_lst))
;创建多段线
(setq tmp nil)
(foreach pt pl_lst
(setq tmp (append tmp (list (car pt) (cadr pt))))
)
(setq pline (vlax-invoke mspace 'AddLightWeightPolyline tmp))
;设置凸度
(setq nn (- (length pl_lst) 1))
(setq ii 0)
(while (<= ii nn)
(cond
;起始段和终点段凸度
((or (= ii 0) (= ii (- nn 1)))
(vla-SetBulge pline ii (- bulge1))
)
;中间段凸度
(t
(if (not (zerop (rem ii 2)))
(vla-SetBulge pline ii bulge2);奇数段
(vla-SetBulge pline ii (- bulge2));偶数段
)
)
)
(setq ii (1+ ii))
)
) 还是有问题,在研究研究
(defun c:tt ( / )
(setq mspace (vla-get-modelspace(vla-get-activedocument(vlax-get-acad-object))))
(setq w 0.54852814);一个波峰到波谷宽度
(setq h -0.3);波峰到波谷高度
(setq bulge 0.198912);1/8圆凸度
(setq p1 (getpoint "\n请输入起点: "))
(setq p2 (getpoint p1 "\n请输入终点: "))
(setq len1 (distance p1 p2));计算起点到终点的长度
(setq ang (angle p1 p2));计算起点到终点的角度
(setq n (fix (/ len1 w)));最大波数
(setq len2 (* w n));最大波数需要的长度
(setq len3 (/ (- len1 len2) 2));计算起点偏移长度
(setq startpt (polar p1 ang len3));计算起点坐标
(setq ptlst (list startpt));初始化点列表
;循环生成多段线的中间顶点
(setq i 1 )
(while (<= i n)
(if (not (zerop (rem i 2))) ;判断是否为奇数
;奇数
(progn
(setq p (polar startpt ang (* w i)))
(setq p (polar p (+ ang (/ pi 2)) h))
(setq ptlst (cons p ptlst))
)
;偶数
(progn
(setq p (polar startpt ang (* w i)))
(setq ptlst (cons p ptlst))
)
)
(setq i (1+ i))
)
(setq ptlst (reverse ptlst))
;计算每段线中点坐标
(setq endpt (last ptlst))
(setq midptlst '())
(setq tmp_ptlst ptlst)
(while (cadr tmp_ptlst)
(setq midpt (mapcar '(lambda (x y) (/ (+ x y) 2.)) (car tmp_ptlst) (cadr tmp_ptlst)))
(setq midptlst (cons midpt midptlst))
(setq tmp_ptlst (cdr tmp_ptlst))
)
(setq midptlst (reverse midptlst))
;点列表:起点、中点1、点1、中点2、点2、...、终点
(setq pl_lst (list startpt))
(setq j 0)
(repeat (length midptlst)
(setq pl_lst
(append pl_lst
(list
(nth j midptlst)
(nth (1+ j) ptlst)
)
)
)
(setq j (1+ j))
)
(setq pl_lst (append pl_lst (list endpt)))
;创建多段线
(setq tmp nil)
(foreach pt pl_lst
(setq tmp (append tmp (list (car pt) (cadr pt))))
)
(setq pline (vlax-invoke mspace 'AddLightWeightPolyline tmp))
;设置凸度
(setq nn (- (length pl_lst) 1))
(setq ii 0)
(while (< ii nn)
(cond
((or (= (rem ii 4) 0) (= (rem ii 4) 3))
(vla-SetBulge pline ii (- bulge))
)
((or (= (rem ii 4) 1) (= (rem ii 4) 2))
(vla-SetBulge pline ii bulge)
)
)
(setq ii (1+ ii))
)
) 知道错误地方,圆弧与圆弧中间还有条线{:1_12:} 谁能帮我查下BUG是什么原因,有的时候可以,有的时候倒数第二段线有问题{:1_4:}
(defun c:tt3 (/ ang bulge1 bulge2 bxc endpt gh h i j jj k kk len1 len2 len3 mspace n p p1 p2 pline pp pt1 pt2 ptlst1 ptlst2 startpt tmp w)
(setq mspace (vla-get-modelspace(vla-get-activedocument(vlax-get-acad-object))))
(setq w 0.54852814);一个波峰到波谷宽度
(setq h 0.3);波峰到波谷高度
(setq gh 0.08786797);拱高
(setq bxc 0.21213203);半玄长
(setq bulge2 0.414214);中间段凸度
(setq bulge1 (/ bulge2 2.0));起始段和终点段凸度
(setq p1 (getpoint "\n请输入起点: "))
(setq p2 (getpoint p1 "\n请输入终点: "))
(setq len1 (distance p1 p2));计算起点到终点的长度
(setq ang (angle p1 p2));计算起点到终点的角度
(setq n (fix (/ len1 w)));最大波数
(if (>= n 2)
(progn
(setq len2 (* w n));最大波数需要的长度
(setq len3 (/ (- len1 len2) 2));计算起点偏移长度
(setq startpt (polar p1 ang len3));起点坐标
(setq endpt (polar startpt ang len2));终点坐标
(setq ptlst1 (list startpt));初始化点列表
;循环生成多段线的中间顶点
;起点、波谷圆弧中点、波峰圆弧中点、波谷圆弧中点...终点
(setq i 1)
(while (<= i (1- n))
(if (not (zerop (rem i 2)))
;奇数
(progn
(setq p (polar startpt ang (* w i)))
(setq p (polar p (+ ang (/ pi 2)) (- h)))
(setq ptlst1 (cons p ptlst1))
)
;偶数
(progn
(setq p (polar startpt ang (* w i)))
(setq ptlst1 (cons p ptlst1))
)
)
(setq i (1+ i))
)
(setq ptlst1 (cons endpt ptlst1))
(setq ptlst1 (reverse ptlst1))
;循环生成多段线的圆弧顶点
;起点、第一个圆弧终点、波谷圆弧起点、波谷圆弧终点、波峰圆弧起点、波峰圆弧终点...最后一个圆弧起点、终点
(setq ptlst2 (list startpt))
(setq jj (length ptlst1))
(setq j 1)
(while (<= j jj)
(setq p (nth (- j 1) ptlst1))
(cond
;起始段
((= j 1)
(setq pp (polar p (+ ang (/ pi 2)) (- gh)))
(setq pt2 (polar pp ang bxc))
(setq ptlst2 (cons pt2 ptlst2))
)
;中间段
((and (> j 1) (< j jj))
(if (zerop (rem j 2))
(setq pp (polar p (+ ang (/ pi 2)) gh));偶数点
(setq pp (polar p (+ ang (/ pi 2)) (- gh)));奇数点
)
(setq pt1 (polar pp ang (- bxc)));圆弧起点
(setq pt2 (polar pp ang bxc));圆弧终点
(setq ptlst2 (cons pt1 ptlst2))
(setq ptlst2 (cons pt2 ptlst2))
)
;终点段
((= j jj)
(setq pp (polar p (+ ang (/ pi 2)) (- gh)))
(setq pt1 (polar pp ang (- bxc)))
(setq ptlst2 (cons pt1 ptlst2))
(setq ptlst2 (cons p ptlst2))
)
(t nil)
)
(setq j (1+ j))
)
(setq ptlst2 (reverse ptlst2))
;创建多段线
(setq tmp nil)
(foreach pt ptlst2
(setq tmp (append tmp (list (car pt) (cadr pt))))
)
(setq pline (vlax-invoke mspace 'AddLightWeightPolyline tmp))
;设置凸度
(setq kk (- (length ptlst2) 1)) ;多段线段数
(setq k 0)
(while (< k kk)
(cond
;起始段
( (= k 0)
(vla-SetBulge pline k (- bulge1))
)
;中间段
((and (> k 0) (< k (1- kk)))
;设置偶数段
(if (zerop (rem k 2))
;偶数段交替设置
(if (zerop (rem (/ k 2) 2))
(vla-SetBulge pline k (- bulge2));k=2,6,10...
(vla-SetBulge pline k bulge2);k=4,8,12...
)
)
)
;终点段
((= k (1- kk))
(vla-SetBulge pline k (- bulge1))
)
(t nil)
)
(setq k (1+ k))
)
)
(princ "\n两点距离不能形成一个完整的波,程序退出")
)
(princ)
) King、 发表于 2025-11-26 18:29
谁能帮我查下BUG是什么原因,有的时候可以,有的时候倒数第二段线有问题
(defun c:tt3 (/ ang bulge1 bulge ...
(and (>= n 2) (= (rem n 2) 0)) King、 发表于 2025-11-26 19:46
(and (>= n 2) (= (rem n 2) 0))
ifn奇数n-1更好,对,哈哈
页:
[1]