TOA功能(四层转发)
TOA
令闻云端国内cdn产品可开票
-
+
首页
TOA
## TOA 在TCP负载均衡时,TCP源站读取到的客户端IP信息皆为负载均衡服务器的IP;为了解决这个问题,很多云服务厂商推出了TOA模块,让我们可以在TCP通讯时传递客户端真实IP。 ## 原理 老的网络传输过程如下: ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3cAAADVCAYAAAD0DwluAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAGwAAAABAAAAbAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAADd6ADAAQAAAABAAAA1QAAAABw609EAAAACXBIWXMAABCcAAAQnAEmzTo0AAACzWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4xMDg8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjEwODwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE0NDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjgxMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoKz8/pAABAAElEQVR4Ae2dCbxdVXWHd0IGiSRAasBokKGCCJioICpGwABlaEWqgIgTzhNOVEXRCopaW9pSq23VggLOYos4owgIAQRBCQJSUhQMggHLEDARMtD3bbJezju59737zpvOPfdbv9/Lve/eM+z9nf129n+vtdee9HCfJU0CEpCABCQgAQlIQAISkIAEuprA5K4uvYWXgAQkIAEJSEACEpCABCQggUxAcWdDkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSEBxZxuQgAQkIAEJSEACEpCABCTQAAKKuwY8RKsgAQlIQAISkIAEJCABCUhAcWcbkIAEJCABCUhAAhKQgAQk0AACirsGPESrIAEJSEACEpCABCQgAQlIQHFnG5CABCQgAQlIQAISkIAEJNAAAoq7BjxEqyABCUhAAhKQgAQkIAEJSGCKCFK699570x133JHuuuuutGLFirRq1aq0evVq0UhgRASmTp2aNt100zRr1qw0Z86cNHfu3LTFFluM6JqeLAEJSEACEpCABCQggXYEJj3cZ+2+bPLn69atS7feemu68cYb0z333NPkqlq3GhHYcsst084775y23XbbNHmyjvMaPRqLIgEJSEACEpCABLqeQE+KuzvvvDNdeeWV2UvHE5w2bVqaN29e2nrrrROD7xkzZiS8LpMmTer6B2wFJoYAcyZ4f1euXJknD5YvX55uu+229NBDD+UC4c3bc88901ZbbTUxBfSuEpCABCQggYoEjHiqCM7TBiVgxNOgeDr+sqfEHQPua6+9Nl1//fUZ0GabbZZ222237EXZZJNNOobmgRKoQmDt2rXZW3zdddelBx54IF9i1113TfPnz3cioQpQz5GABCQggXEjYMTTuKH2RgUCRjwVYHT4tmfEHQPryy67LC1btiwPpBF1u+yyS1LUddhSPGzUCNAWb7jhhoTIY8Jhm222SXvttZdtcdQIeyEJSEACEhhNAkY8jSZNr9WKgBFPrahU+6wnxB0N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Pm2zzTYDrln+5fe//31629vels+hvAceeGD5EH+XgAQkIAEJtCWguGuLxi8kIAEJNIcAnq+3vvWtuUJPfepT05e+9KX8wweIpz/+8Y9p0003HVLw3H777QmRg4B51KMelf7whz/kayJ4Fi9enFasWJFmzpyZxRxfvPCFL0x77713PgcvHx6+EEb5xMI/CCVE1w477FD4NKXLLrssC7t99tknIaI6Na511llnpec973lp/vz5ifsfd9xx+fStttoqffjDH073339/WrBgQXrZy16WDjvssMR+btOnT09/+tOf0qxZs9IZZ5zRfzuE50knnZTmzZuXpk6dmj+Hx5577pnL9bOf/Sz98z//c4Jv0WCC2H31q189pLh717velRlyn9122y397ne/K14qv8cTCcMnPvGJG33nBxKQgAQk0NsEFHe9/fytvQQk0AMEECCETiLiDj744FzjW265Jb+yKfV5552XxQLhmkPZpZdemr1o5eMQI/xgixYtSvvtt1+aMmVKmjZtWvrRj36U/vIv/zKdeuqpaccdd0x4zlrZZpttlrbffvssrorff/nLX86/cv3JkztbTbBmzZrsAXvMYx6Tvva1r2URetBBB2Xxttdee2Vv4k9/+tMs0q6++up8/RkzZuTyIu4Qb4jXoiFosauuuiptvfXW+f1f/MVf9JcXMcgPorJoP/nJT9K+++7bL3iL3xXf4+FEdGPUlZ929rnPfU5x1w6On0tAAhLoYQJTerjuVl0CEpBA4wlcfPHF6cUvfnEOCyRs8PnPf/6AOiMgEHcf/OAH+4XfgANKvyAOWfuGpw7xw7qwnXbaKSE28Hzdd999WYB98YtfTAhHDE8e4Yx///d/n17zmteUrrjhV7xRZa8eIu3ss8/OB33qU5/KYZkbzkh57eC9996bDj300P6wT0Ts6173uuxJ5NxVq1ZlcYXIveiii7KnDZGKR/Hkk09Ou+66a75kiMji9Yvv2wnL+Lxc9jgXJhgc2hkCGAH+Z3/2Z+l973tf2nbbbbO3MY7Hq3nUUUelpUuXphNOOCG96lWviq98lYAEJCABCfQTUNz1o/CNBCQggeYQQOCccsopWQjgQTvnnHPSIYccMqCCCArEDR4txN1gRvgi4gzPFOGbIWhCuCAii4lLSKSCuGONXBhr/bgG3juESif2sY99LN11111ZlHLvsnEP6oY3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) 此时源站只只知道负载均衡服务器的IP,而无法知道客户端真实IP。 增加TOA模块之后: ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABI0AAAE7CAYAAABQY3H7AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAGwAAAABAAAAbAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEjaADAAQAAAABAAABOwAAAAAhaTX5AAAACXBIWXMAABCcAAAQnAEmzTo0AAACzWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4xMDg8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjEwODwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE0NDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjgxMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoKz8/pAABAAElEQVR4AeydB7xcRfm/JyEhkARI6CWhQwBBIBAp0pGO0hEFRakC+pOiIqJIBxGwUgSRIkUQLH8BqYIQpQeREiAUA6GFHiCQxv3vMzDLyZZ79967d+vzfj57d/ecOXNmnnPOndnvvPNOv46cBU0CEpCABCQgAQlIQAISkIAEJCABCUhAAhkC/TOf/SgBCUhAAhKQgAQkIAEJSEACEpCABCQggUhA0cgbQQISkIAEJCABCUhAAhKQgAQkIAEJSKCIgKJRERI3SEACEpCABCQgAQlIQAISkIAEJCABCSgaeQ9IQAISkIAEJCABCUhAAhKQgAQkIAEJFBFQNCpC4gYJSEACEpCABCQgAQlIQAISkIAEJCABRSPvAQlIQAISkIAEJCABCUhAAhKQgAQkIIEiAopGRUjcIAEJSEACEpCABCQgAQlIQAISkIAEJKBo5D0gAQlIQAISkIAEJCABCUhAAhKQgAQkUERA0agIiRskIAEJSEACEpCABCQgAQlIQAISkIAEFI28ByQgAQlIQAISkIAEJCABCUhAAhKQgASKCCgaFSFxgwQkIAEJSEACEpCABCQgAQlIQAISkICikfeABCQgAQlIQAISkIAEJCABCUhAAhKQQBEBRaMiJG6QgAQkIAEJSEACEpCABCQgAQlIQAISUDTyHpCABCQgAQlIQAISkIAEJCABCUhAAhIoIqBoVITEDRKQgAQkIAEJSEACEpCABCQgAQlIQAKKRt4DEpCABCQgAQlIQAISkIAEJCABCUhAAkUEFI2KkLhBAhKQgAQkIAEJSEACEpCABCQgAQlIQNHIe0ACEpCABCQgAQlIQAISkIAEJCABCUigiICiURESN0hAAhKQgAQkIAEJSEACEpCABCQgAQkoGnkPSEACEpCABCQgAQlIQAISkIAEJCABCRQRUDQqQuIGCUhAAhKQgAQkIAEJSEACEpCABCQgAUUj7wEJSEACEpCABCQgAQlIQAISkIAEJCCBIgKKRkVI3CABCUhAAhKQgAQkIAEJSEACEpCABCSgaOQ9IAEJSEACEpCABCQgAQlIQAISkIAEJFBEQNGoCIkbJCABCUhAAhKQgAQkIAEJSEACEpCABBSNvAckIAEJSEACEpCABCQgAQlIQAISkIAEiggoGhUhcYMEJCABCUhAAhKQgAQkIAEJSEACEpCAopH3gAQkIAEJSEACEpCABCQgAQlIQAISkEARAUWjIiRukIAEJCABCUhAAhKQgAQkIAEJSEACElA08h6QgAQkIAEJSEACEpCABCQgAQlIQAISKCKgaFSExA0SkIAEJCABCUhAAhKQgAQkIAEJSEACikbeAxKQgAQkIAEJSEACEpCABCQgAQlIQAJFBBSNipC4QQISkIAEJCABCUhAAhKQgAQkIAEJSEDRyHtAAhKQgAQkIAEJSEACEpCABCQgAQlIoIiAolEREjdIQAISkIAEJCABCUhAAhKQgAQkIAEJKBp5D0hAAhKQgAQkIAEJSEACEpCABCQgAQkUEVA0KkLiBglIQAISkIAEJCABCUhAAhKQgAQkIAFFI+8BCUhAAhKQgAQkIAEJSEACEpCABCQggSICikZFSNwgAQlIQAISkIAEJCABCUhAAhKQgAQkoGjkPSABCUhAAhKQgAQkIAEJSEACEpCABCRQREDRqAiJGyQgAQlIQAISkIAEJCABCUhAAhKQgAQUjbwHJCABCUhAAhKQgAQkIAEJSEACEpCABIoIKBoVIXGDBCQgAQlIQAISkIAEJCABCUhAAhKQgKKR94AEJCABCUhAAhKQgAQkIAEJSEACEpBAEQFFoyIkbpCABCQgAQlIQAISkIAEJCABCUhAAhJQNPIekIAEJCABCUhAAhKQgAQkIAEJSEACEigioGhUhMQNEpCABCQgAQlIQAISkIAEJCABCUhAAopG3gMSkIAEJCABCUhAAhKQgAQkIAEJSEACRQQUjYqQuEECEpCABCQgAQlIQAISkIAEJCABCUhA0ch7QAISkIAEJCABCUhAAhKQgAQkIAEJSKCIgKJRERI3SEACEpCABCQgAQlIQAISkIAEJCABCSgaeQ9IQAISkIAEJCABCUhAAhKQgAQkIAEJFBFQNCpC4gYJSEACEpCABCQgAQlIQAISkIAEJCABRSPvAQlIQAISkIAEJCABCUhAAhKQgAQkIIEiAopGRUjcIAEJSEACEpCABCQgAQlIQAISkIAEJKBo5D0gAQlIQAISkIAEJCABCUhAAhKQgAQkUERA0agIiRskIAEJSEACEpCABCQgAQlIQAISkIAEBohAAhKQgAQkUI5AR0dHePvtt8Prr78epkyZEl/vvvtumDFjRpg5c2Z8J40mgUYi0K9fvzBw4MAwYMCA+D506NAw77zzxtcCCywQ5ptvvkAaTQISkEAtCNiW1oKy56iUgG1kpaRMlwj0y/0Ts7efaPguAQlIQAJRCHr++efDiy++GF555ZUwbdo0qUigpQgMGjQoLLLIImHxxRcPI0eOjMJSS1XQykhAAnUnwOCKbWndL4MF6AEB28geQGvxQxSNWvwCWz0JSEAClRJAIHrqqafCpEmTwqxZs/KHDR48OCy88MJ5T4155pknzDnnnHlPjv79nemch+WHhiDw4Ycf5j3hpk+fHt555528p9zkyZPD1KlT8+WcY445wogRI8Lyyy8fhaT8Dj9IQAIS6AEB29IeQPOQmhKwjawp7pY4maJRS1xGKyEBCUig5wReeOGF8Mgjj8QpaCkXRKKllloqLLroogGRSJNAKxFARHr55ZfDxIkTAyJSMqaurbrqqmGJJZZIm3yXgAQkUBEB29KKMJmoCQjYRjbBRapxERWNagzc00lAAhJoFAJvvPFGuO+++/JiEe7IK664Ylh22WXDkCFDGqWYlkMCfUrgvffeC88880x48skn81MxEY/GjBkT5p9//j49t5lLQALNT8C2tPmvoTUoT8A2sjybdtqjaNROV9u6SkACEsgRIM7CQw89FCZMmBAIazf33HOHlVdeOU7PIXCwJoF2JEBgd6Znjh8/Prz//vsxUPYKK6wQVl99dWMeteMNYZ0l0AUB29IuALm7pQjYRrbU5ex2ZRSNuo3MAyQgAQk0LwFGRMeOHRtYAY3VM0aNGhVWW201fxQ37yW15FUmwA/Bhx9+ODzxxBNRVGXltQ022ECvoypzNjsJNDMB29JmvnqWvTcEbCN7Q695j1U0at5rZ8klIAEJdIsAnkUPPPBAIADi8OHDw3rrrReGDRvWrTxMLIF2IfDWW2+Fu+66K7z55puBYO9rrbVWwPNIk4AE2puAbWl7X39r/xEB28j2uhMUjdrreltbCUigTQk8+OCDcdoN1eeH7+jRowOrRmkSkEB5AqwiOG7cuDiVk1RM41xzzTXLH+AeCUigpQnYlrb05bVy3SRgG9lNYE2cXNGoiS+eRZeABCTQFQG8iu65557w7LPPxulo6667blhmmWW6Osz9EpBAhgDPz9133x2nq/H8rLPOOtH7KJPEjxKQQAsTsC1t4Ytr1XpNwDay1wgbPgNFo4a/RBZQAhKQQM8JML2Gxhyvoo022igstthiPc/MIyXQxgReeumlcMcddwRGVhGOmN6pSUAC7UHAtrQ9rrO17DkB28ies2uGI/s3QyEtowQkIAEJdJ8AbvRJMNp8880VjLqP0CMkkCeA4MpzhADLc8XzpUlAAq1PwLa09a+xNew9AdvI3jNs5BwUjRr56lg2CUhAAj0kQKBOlg5nhTQ8jBZccMEe5uRhEpBAIsBztOGGG8bniueL50yTgARal4BtaeteW2tWfQK2kdVn2ig5Kho1ypWwHBKQgASqRIClgFklDSOGkVPSqgTWbCSQI7D44ovH5woYPGc8b5oEJNB6BGxLW++aWqO+J2Ab2feM63EGRaN6UPecEpCABPqIwIwZM8LYsWMDQTtZJc2g130E2mzbmgDPFc8XzxnPG8+dJgEJtA4B29LWuZbWpPYEbCNrz7yvz6ho1NeEzV8CEpBADQk89NBD4d133w3Dhw8Po0ePruGZPZUE2osAzxfPGc8bz50mAQm0DgHb0ta5ltakPgRsI+vDva/OqmjUV2TNVwISkECNCeBK/+STT8Z4K6zsRMBeTQIS6BsCPF88Z8QNI+6J09T6hrO5SqDWBGxLa03c87UiAdvI1rqqA1qrOtZGAhKQQPsSuO+++2LlR40aFYYNG1Y1EEzBmTRpUnj++efDq6++Gj744IM4LadqJzAjCVRIoH///mGuueYKCy20UBg5cmQYMWJEYFu9jOeM5+3xxx8PPH9bbbVVvYrieSUggSoR6Ku2tErFMxsJNA0B28imuVRdFlTRqEtEJpCABCTQ+AReeOGF8Prrr4e55547rLbaalUrMEIRyw0zBUeTQL0JIGBOnTo1TJw4Mb6GDh0a1lxzzSgg1atsPG+Uh+eP53CJJZaoV1E8rwQk0EsCfdWW9rJYHi6BpiVgG9m0l262gisazYbDLxKQgASak8AjjzwSC77yyiuHgQMH9roSHR0d4T//+U9gWXFsvvnmC8stt1xciW3w4MFVOUevC2kGbUeA4LSIRi+99FJ4+umnw9tvvx3uvPPOwH2/xhprxKlitYbC88b5x40bF3gOFY1qfQU8nwSqR6DabWn1SmZOEmhOAraRzXndCkutaFRIxO8SkIAEmozAK6+8Er0cBg0aFJZffvmqlD4JRkz9IZghK0URu0WTQD0J0PlEwOTFtDBiCSHWJHETr6N6GM/do48+Gp9DnsdFFlmkHsXwnBKQQC8I9EVb2ovieKgEWoaAbWTzX8r6BQJofnbWQAISkEBDEHjqqadiOVZcccUwYEDvxwKYksaPcASjTTbZJJCvglFDXGoLkSHAPcm9yT3Kvco9y71bD+O5oyxYeh7rUQ7PKQEJ9JxAenar1Zb2vCQeKYHWImAb2fzXU9Go+a+hNZCABNqYANN1CFKNLbvssr0mQcwYYhhheBgtuuiivc7TDCTQlwS4R7lXMe5d7uF6WHr+eB55LjUJSKB5CFS7LW2emltSCdSGgG1kbTj31Vl6PyTdVyUzXwlIQAIS6JIAnhWzZs0KCy+8cBgyZEiX6btKwA9egl4z/YcpaZoEmoEA9ypT1YhxxD285JJL1rzYPH88h5MnT44eT6mDXPOCeEIJSKDbBKrdlnZWAFck7YyO+2pFAA/dWq5GahtZqyvbN+fR06hvuJqrBCQggZoQePHFF+N5llpqqaqcL03vIei1U9KqgtRMakCAe5V7Fkv3cA1OW3SK9Bym57IogRskIIGGJJCe2fQM91Uh+f907bXXhrFjx8ZVFwnsXy/vyL6qo/k2BwHuu7QaKfcj92Vft5/p+UrPW3OQspQQ0NPI+0ACEpBAkxJghTMCd2LVmkb26quvxvwWW2yx+O4fCTQLgXTPpnu4HuVOzyHPJc+nwms9roLnlED3CPRFW1pYAlckLSTi93oTqMdqpLaR9b7qPT+/olHP2XmkBCQggboSeOutt8K0adPC4MGDwzzzzFOVsnzwwQcxH/LUJNBMBNI9m+7hepSd55ByMHrL8zl8+PB6FMNzSkAC3SDQF21p4eldkbSQiN/rTaAeq5HaRtb7qvf8/E5P6zk7j5SABCRQVwJvvPFGPD9xVKplyU2ezoQmgWYikO7ZdA/Xq+zpeUzPZ73K4XklIIHKCKRnNT27lR1VeSqm/LgiaeW8TFl7ArVcjTQ9Z+m5q31tPWNPCCga9YSax0hAAhJoAAJTpkyJpZh33nkboDQWQQISgEB6HtPzKRUJSKCxCaRnNT271SwtIrYrklaTqHn1JYFarEaanrP03PVlfcy7egQUjarH0pwkIAEJ1JRAanBTA1zTk3syCUigJIH0PKbns2QiN0pAAg1DID2r6dmtZsFckbSaNM2rFgRYjZQVdFlJl/u32paes/TcVTt/8+sbAopGfcPVXCUgAQn0OQEadKxa8Yz6vMCeQAJtQCA9j+n5bIMqW0UJNDWB9KymZ7ealUmrUbkiaTWpmldfEujr1UjTc5aeu76si3lXj4CiUfVYmpMEJCCBmhJg5QtszjnnrOl5PZkEJFCeQHoe0/NZPqV7JCCBRiCQntX07FazTGk1x7S6YzXzNi8J9BWBdL+m+7ea50nPWXruqpm3efUdAUWjvmNrzhKQgAT6lMDMmTNj/ikAcJ+ezMwlIIGKCKTnMT2fFR1kIglIoG4E0rOant1qFiSt5phWd6xm3uYlgb4ikO7XdP9W8zzpOUvPXTXzNq++I6Bo1HdszVkCEpBAnxJIozQDBgzo0/OYuQQkUDmB9Dym57PyI00pAQnUg0B6VtOzW80ypNUc0w/lauZtXhLoKwLpfk33bzXPk56z9NxVM2/z6jsCikZ9x9acJSABCfQpgY6Ojph///7+K+9T0GYugW4QSM9jej67cahJJSCBOhBIz2p6dutQBE8pgbYhkJ6z9Ny1TcWbvKL+0mjyC2jxJSABCUhAAqUI4FZ+2mmnhSuvvDLMmjUrJjnhhBPCUUcdFZ599tlSh5TdRsDKvnBTL3tCd0hAAhKQgAQkIAEJNAQB5zQ0xGWwEBKQgAQkIIHuE3jxxRfD008/HTbccMOig4kXcOSRR4bPfe5zYbfddov7b7311jBhwoTwox/9qCh9dsO0adPCCy+8EB577LFwxRVXhL/85S9h++23DyeffHI477zzwrBhw4oCsHO+t99+O55vs802y2bnZwlIQAISkIAEJCCBJiWgaNSkF85iS0ACEpDA7ATwnvnDH/4QNthgg5IiyuypW+PbzjvvHP7zn/+EP//5z2GbbbaZrVJDhw4Nc8wxR9h8881Dcgefd955w6hRo0IKcjnbAbkvhx12WLjooovCW2+9ld+18MILB0Qglsl94IEHovfS8ssvH8i/0CjL8OHDY/rCfX6XgAQkIAEJSEACEmg+AopGzXfNLLEEJCABCZQgcPfdd4cf/OAH4cADD2wb0eiCCy4IW265Zdhxxx3DNddcE72Bsmj69esXBg0alN/E9xSEMr8x82GvvfYKb7zxRhSW/ve//4Xzzz8/ehylYx555JGYGu+jtddeO3PkRx9JhzClSUACEpCABCQgAQm0BgFjGrXGdbQWEpCABCRQZwLXXXddOOaYY8KkSZNqVpJPfepTYezYsWGRRRYJu+yyS2D6WXdiDxWmXWuttcLFF18cxbdNNtmkqB7JY6loR2YD3k2aBCQgAQlIQAISkEBrENDTqDWuo7WQgAQkIIE6E7j00kvj9Lj1118/jBgxomalWWaZZcJNN90UDjnkkIAn0dxzzx1fLJlLnKHvf//74dhjj43lIaA1Nt9888V9U6dODXgPIT5VYsQ6wpLHUeExBNxOaQr3+V0CEpCABCQgAQlIoPkIKBo13zWzxBKQgARamgDLsBKfiLg7iy66aKd1ff7552NAZjxtOrMZM2aEiRMnxqlaCDqIK+XsnXfeid5Cyy23XFGw53LHdGf7yy+/HBBvll122XysoVLHU7c333wzLLbYYmGhhRYqlSS/baWVVopeRqQ/44wzwgILLBCnoX3lK1+JHkjbbbddTHv66aeH6dOnR08iBCWmoi2++OL5fH79619H9ohKDz30UNx+0kknBfiRFkEM+/rXvx7fS/2hDJoEJCABCUhAAhKQQGsQcHpaa1xHayEBCUig6QkgYhCTiJW5EGwQS3jhwVNorOaF2LHkkktGYYlpVY8//nhhsjhV65vf/GYYMmRIWGGFFWJ6plilF3GAkj344IOBfBBMVllllRjo+Qtf+EKYPHlySlLynelh5EcQboyA1Hwnn2QffvhhOPHEE+M0MupEWSjTl770pSjGpHQwYGUz0lC31VdfPRCIer311gtPPPFESlb2nSDUhx9+eNh7773DnnvuGQNhjxkzJn7mO3kuscQS8TtpCHzNMckIZH3zzTdHzyXeMd553XLLLWH06NHhqaeeimVG+Mq+CJ6N2Petb30rZee7BCQgAQlIoKkI/Pvf/w73339/Sa/ZKVOm5Ovy/vvvx3bxueeey28r9eH1118PV199dVzptNR+tt12221xkYl//etf5ZK4XQJ1JaCnUV3xe3IJSEACEkgE8F5BIFp55ZXDd77znUBg6xtuuCHgLYPAstNOO8Wkd9xxR2DVMDySttpqqzDXXHOFG2+8MYwbNy5llX8/+uijw1lnnRXWWGONKNDQMSNPjv3a174WWAUMY2n5ddddN07Z2meffcKCCy4Yfv/734e//e1v8RzkXc47Cc+lPfbYI9x5553RQ2nDDTeMwkxWjKFul1xySZh//vnDvvvuG72Arr322ig0PfroowHBilhAnAdxCVGJoNSsWMbKaLAgDzqzGN5CTDlDYGMaGkvdc15WSuuN/fa3v42HI3Ih3OF19eMf/zhsscUW8TPC3Jxzzhk/lzoPxz399NOx/l15f5U63m0SkIAEJCCBehI46qij4hRspmEzgJM1Bl5o22iz8QambaSPQvtezhho2W233aLXL+JRKfvnP/8ZjjvuuEAb/NnPfrZUErdJoK4EFI3qit+TS0ACEpAABBBLLrvssrDUUkuFe++9N7+cO6uD7bfffuHkk0/Oi0annHJKFH3wqGEqVjqeVcQY0cvalVdeGaek4SmDEPS9730vfOYznwn33XdfFJHw5MHoJCLE/OpXvwp4JmGIN0z7wvvm+uuvD2mKV9yZ+bP00kuHyy+/POaHtxHeUltvvXU+BXVDgGJVsXvuuScvVDFNjbI8/PDD8Xg6nng4EVAbb6UkUh166KExRtJdd90V3nvvvSigpbIm0QgPH6aRbbbZZvnj8gXo4gMCWjpXSkp9WT0No96sokZHmXJVYj/72c8C5dYkIAEJSKA5CSCEvPLKK+Hb3/52n0zVblQqDPjgVZsEIxaMYHAKo82lHWT6PJ+x7bffPr7zJ5s2bUxexwwulbO0ymkaHCuXzu0SqBcBp6fVi7znlYAEJCCBPAGmPiFeMGWKzhnTtHgl8YURP/ZjeBohcnz3u9/NH08H76c//Wn+Ox/wekGYoTOWOm1sT0vFM50KI1/Oj8cOXkDp3OzbdttteQv//e9/4zuiFK7o2RfpOzM8ilLdkmcT6YnXhCCGMcUNGzp0aDxnVsRBbMLzCKM+GOnwAmKkc/z48XEbdURQgx+dXaahUTZWdOMzL7ysbr/99viZNHR8jzjiiHh89s/ZZ5+d/7rqqqtGryyCbeM6z/meeeaZ+GKFNTyc0vcnn3wyCmNf/OIX88f7QQISkIAEmo8AAxEMtBDPrp2MvgAetckQkfiOSERsxHPOOSd6Da+44ooxCV7LeBGnRShom7OW8qK9LWcpDd7FmgQakYCeRo14VSyTBCQggTYjMGHChFjj448/PvAqNEbv6IjhYcOKXwSGLgySnUYC07HEFWJVMASfX/7yl9GD6MUXXwzEQ8I+/elPx3e2kSdWrlP32muvxf1rrrlmFGril4///PWvfw3EPipnuKZjyaspmw5BBsvGRCA9AamZkvbSSy9F76IUXDoJZ9k80mfqu/HGG4cTTjghdm4RiP70pz9FLyriImFwIKg1QhF5EZ8hcUj5EDuJYykvwbDxOtp0003DueeeG6cNZgNnI16xYhoruGkSkIAEJCCBahCgvT/zzDOjZy7x+OppP/nJT6IgRP/gG9/4Rox9uP/++8dBHKbSf/nLX45tJCuHMhhV2BcpVXY8qvEeRoii7SaGEobHNVPVaVfJiynnq622Wqks3CaBmhJQNKopbk8mAQlIQAKlCCRvHTx7Ntpoo6IkiER43LzwwgtxX9YTpyhxZgMiD6IRHTsCTNOpwwPpoIMOilPPSJrOzUhfKcGKNMllnFHXVAa2Y6XEoI/2fPQXoQujY1hodAwxOokYnjrEM0CkYuoaPBh5TNMEYqJO/nBsioeAhxOjn9///vfz5yZGE8E7k4dTYVaUlVhKeCER0Jp0TOsjZhRT6xC0eKXRUDq11IH4DhiBsbk2G2ywQWHWfpeABCQgAQlURIDBHOL2rbPOOnHhhooO6kWi3/zmN1G4oZ/BlHQGVw455JA4WHXRRRfFBTFo22hfWUWUPgF9Aaa+M4WbxSoGDBgQ28tKioHHL20zbSl9A6aeYyxOgdEvoT393e9+p2gUifin3gQUjep9BTy/BCQgAQnE5efBgNfLkUceWZYI3kUILIgqvBA0kiVvofQdl3rEFjp4BKtkWhXiE7GPsp5BBLLGHR3xI620lvIofE/xjgq3Z7/T2cxa8sIhdlGhEQQbS9PPLrzwwlgvzkN8pWRMySO2RKXGKC3TyYi1UEqsKpcPcaIY8cSrCFf7ZAT/5MX0OgJdFxrTA5MRlynVK23zXQISkIAE6kOA9mDSpElxcYM0DapUSfDoJZYd/+cRQDqz1AYz7TkNIpRKX+m5Sx1byTYGOmiTGOhIMYZKHYcAw3RuvIVo89NATUrLFGsGRvASYmCE6d585zi8cnfcccf4nfQMorBARDK+YwS7vuqqq9LmGNiaRSoYqMHoj9CWM82dqeR4/KZy/OIXv4iCUfIq5nqNHDmy0zrlT+QHCdSAQPGwZw1O6ikkIAEJSEACWQKM0mGIJoVL3OMZRMcLo4O11lprRW+hbNwdvIkYtcsanS46e8QBYkW2//u//4ueMxyfNfLEqwfR6PTTT8/uip/xpulsWlg6IHWcWYkta8nzhw4jHfJklI/RTezzn/98fGcbll15DLGJTmx3DLd+fgCkfCs5ltFVYjXwg4HYTqUMIYqON0y4Jqxeh/s8n9nGPjycNAlIQAISqC8BPEBp7xBAEPOZTsyASWEbyzTlXXbZJXrz0lYivuB1S9tbaHjIkIYBGN7xzGFggld2qnOl5y7Mn++f+9zn8p7ACDcpf9q1ZAwC4dFKnagbcYcYoGG10ayx6AVtFHUi3dK5hSsoM6JN1piCRj8ixUpk6jgDKKwYSh9hgQUWiPH7mDZe6jVq1Kjo2ZvNk3R4IqVVT1kUg+/EUMSTKAlGHIP4VUqo686gT/bcfpZAtQl0LiNX+2wtmh8dZeJOvPrqqzE+BIpy4Uhzi1bdavUhATwfGOmncaNx7moUpQ+LYtYS6HMCdBJ50Zliutfuu+8e73lEFlYTQ1RKI3is5EKMA1zXETroLF5xxRWx05UtKJ0+proxsle4aglxeeiApoDNp556akxLnsQawCWeTh2dvn/84x9xhTM6yJ0Z8ZMwYgrRocUz6O9//3v09sHbiY4j4hRCDp1FYiHRed9hhx3iqmccS7pLL700lg1PKYQsXOPp1FdqZ511VmRDfCNWZMsadSLPUrbGGmvETjMjw6U6rxyz7LLLznYo/6fo1PJ/CssGHJ8toV8kIAEJSKBmBBi8WHfddWM7ts8++0SvXFbxZIoyYj8CRprmvfPOO4dbb701trl44hJrJ+tJkwrNoAYeN0ylYnVM2gli8PAbiPYRTxusO+dOeWffWZ0MjyjaT9p3yovRRmF4so4ZMyZ68LAQA59pc0lPXVg1lT4ERj1YaILpZPQtqAODU6xyiqBGfbPGdDCMRR+YnkZ8QTjR1jEABb9Sxm/BwnaT8mB4MS233HLh5z//eX5xjcI8+N2YFZEK9/tdAvUmoGjUwyuA+k4EfRTo5ErYw6w8TAIlCdCA8OLHIo0cozY0niwBzrLkjj6UxObGJibACCHeQnToCNicjBVKdt111/Q1Bp1EkGEklGPoqLHU/NFHHx0DQaeOFzER6Lzijs4o4pAhQ+LzdOedd4Zrrrkmxu5hpBL3et4RrIjjQ0eP4M8Yx9LZxE28K6NjTr7kf/HFF892DHnSyf7DH/4QYxSQFyOXRx111GxxlA444ID4rF9wwQWBZeupG1PMGCVFPEp1S2VhkIJ0GAG+6VTDhdFX0qcfBSl91lU+bcu+J+Eru83PEpCABCTQXARoW/BeYZpzmlZ94oknxj4kgy20ccTiwZMHwYj+JYMkTEPmNw5tEe1Q1lgggTaEaVXJK5dFEsiHNoq4gVil587mnf1M/rR7tJu0/wwKZQ3Bh7bv4IMPDgySJDv55JNjP4D9STSiX4BHb7YNx5OXdpI2PysapRhFKT+8mZn2/tvf/jZuYiCHQaVSlmISldpXyTauFcKUJoFGJaBo1IMrw8gw/zTSyC9qOPNj+SfEP11+ZPDgF3bWe3AqD2lTAkyFQTCisUKU5AcywhGfGQFilAWPhbQiUptistotRgChg1E9OrmsJkYsATzsCOZcaASLRIRh1TW8hjgW45i0cgkjhsRdYNng1GkmDZ5KxOBBiGV0EtEIQ3ji2SIPPJwQmehAFwo1MXGJP0xPw6uJUVfahxTLiKR44lAeOp/PPvtsGDRoUGw3CrPhXOedd170NGJgAld6yoF3EGz4jPE/gvwYReV/BcIWYhWeVXS26cRzbKGx8gveRllLbvGFQnSamsA7PzDoZFMPyp6MHxyUJTsNjvz5X4X31iabbJKS+i4BCUhAAjUgwP9kBBF+izDVOPs/n8UVaGOZikU7QZuF4XVLe4fRFpx//vkxD9qhZGkRiGzfE28mDE8brDvnJrZPodhCe17osRMz/vgPbSFiEmU8NucZnDX6BEw7I8YR7TD9hzQ9PJtu7bXXjl9JkzXaXgyPJMpBe3tRbvAFTtSL9pUVSUsZfXLSVGKIb8Ru5DdjqitlxssXj2ssxUFCgDvmmGNinME0jb+Sc5hGAtUmoGjUDaL8M+CfbArwyY8Upj/g9VHpj4punM6kbUwAwRExkhejN/z4pKGk8X7kkUfiD1I6BHgFMIdcgbKNb5YWrDr3M/9XuzLSMQqZtSSqsA0xBCMODx5EKeYQbud00Oh0piXvY8KP/6T/7dlt3flMR5VXKeOcuKl3ZZQh6/VDG5OtG+0Ro6CsBsfoMHkiVB133HHxBwFeR8Rw4kcAI6zkxw8IBCaOQbxixBhRDVGakedsPArKRwcWI1+EO7yY6OTyfylZNgB22sY5GJHlf5cmAQlIQAK1JYCXbVoYgoHsUsb/fiyJQoXLutO+ZgcISJvaCOLzMVBB/LvkcZRWEe3OuVndlDh4WWPadnahiuw+PlNe2hgG6wndkDXqSn+ZOIAMPNEO01YytZ1pdEwTY+A/scmKPByDRzJT39nPC8GIeEh4OiO0ER+psM+Rzs9AU7l9KU16Zxo3fQ/ayORdxCAWBvO0MAbT7hD8aE9pwzUJ1JOAolGF9PnBTjwK/rnxj5SHnYBqikUVAjRZrwlwrxFPhB/TTLlBPELA5AcdcVC8F3uN2AxajACdP1zX//nPf8ZYOzw7dDYZLUW8+elPfxpYja0ZjfITnwJhJ4lQeAGdccYZcWoAohH/H+gk0+FEGGJEl7aMNozRTTrYS+e8kYh9lH4MZFnQsWX0lE4ro8lpRDmbxs8SkIAEJNBYBJJnEQI/HqKlDNEHYxABo13oyhB5MNoWBBKEDDxzaSsYsMC6c+7vfe97sT2OB378J4lP2W3Zz2kwiDawlNHGYalPjPcR091pH/GywoMIgSfrMUSexP+j7D/84Q9jvCPyYKAG71zsq1/9aow/yOATvwWJXUibyLR0jL54JYNdpMXTiSlzSQhKAznsg2uacs53TQKNQkDRqIIrgRKdBCMUYdwTsyvbVJCFSSRQNQI0hIwI4R6MWzGNF/cnMVkqafSrVhAzkkCDEyAwJwIr8YV4RzjBY4aRyL322isK/w1ehU6Lx8BFKVtwwQXjKnGl9nVn25e//OUYP6o7x5hWAhKQgATqSwAvHH6vIKAwNTvrpVpYsjQ9m6naWWNaMitwZi2JGQgmCC9449DOHnjggflwCd05d3baePY82c8M9GSNgQ76ung0MSCSnb7OwEjynMJbh+945DJAgidRmn7H9LCsaMT0a2aSMNCUvHzSORmgRVTit18y+twYQbg32WST+Jk/iE54MiN8JUEovzP3gUEc2DENjvhSe++9d9zNwBZlZQU2vLjY19k1y+bpZwnUioCiUQWk+UfCD3P+ATPXFPd8TQL1JoBwmVab4v7kPu1qhKbeZfb8Eqg1AdzTCa6tSUACEpCABNqBAIOLeIkiYDB9rHAlNOIP4R2E+MJKoRhTuPCyYUASwQhBhyleWaOvibFaNIMKeN0gjmQFku6cO5t34ec0nfyJJ56I5UmeRcQsZFr0Aw88EAh8nabHcTzxjBBfEHOoH9PQEXJYiThNZaNueOJmjRXh0mIz2e18Pvzww8PNN99cuDl+x1uZV6ExoEsZmALINUCkwpgmjyFepalsCHsEEKevwnGIcJwTTyRNAo1EQNGoi6vB3FfcMPnHisqsYNQFMHfXlAD3I/clS4Jzn9LoZAMU1rQwnkwCEpCABCQgAQlIoO4EWIiA/iHBolm8B3EIAYUYePQZ8bxBoGA5ezxcEGeYbsUULtIgyiDUILIkQ0hixVKme2VXOOU30g477BAuysUAQqyp9Nwp31LvDIyywijBsikX8ZNY5AGxisUttt566zgdm3IybY6BU1aBY0peEnLwKmYK+ssvvxzrRXyiG2+8MYwdO7bolOUGXZnyzfSxJGKRF95FeFSxQA3xl0477bSYH15RLAJB/L/7778/EJMoGfkjTsEpTfNjH2Xl+pxzzjmx/44n0iGHHBK22GKL2VaNTfn4LoF6EVA06oQ8/yjT0orEMHJKWiew3FU3AtyXBMzFhZb7lQY/jcjUrVCeWAISkIAEJCABCUigLgQIWcCCKXi3sNoYU7AwpmoRzygtQU9/kXQsUY9YRBxABiARMfCSufTSS/PxgZLHDauJ7bHHHnGFL6ZcXXHFFdF7h5W+mA5W6bk7A4PHEsLUfvvtFwNQE4Q6rSyG0EWdqNvtt98eX6RHpMFDJ4ky1A0PKqaBpXSISKwMd8ABB+RXLuusHNkA4SwewXGc649//GMgaDcCGTzYnjXiFiFS0T+nDtl8SEfoE6ahIeohhqXYSUz1o3zwJfj2QQcdlM3WzxKoGwFFo07QMy+WwGa4XZaLHdHJ4e6SQM0I0Cgxv5z7lfuW0RVNAhKQgAQkIAEJSKA9CWy22WbRC51g1fQRiZPD1ChEj6zhNUOcnrSiZlpcAbHj3HPPjccR14eYRngSIZgw5SsZS8HjQYO3T7JKz53Sl3rHq4iVyyg7580O3uNpNGHChFhmFrdgoRimrhUa08Seeuqp6BWEpxXpMPIuXB0uHYugk11Zje14WDHVnXNeeOGF0fsJYYgpZXgGMXCLwIP3VjLEuFKGAHbMMcfEaWsIS5dffnk+GdeG4/BKOvjgg6PYhbCUzTef2A8SqCGB/jU8V9Od6vHHH49lxsuo8B9s01XGArc0Ae5P7lMs3bctXWErJwEJSEACEpCABCTQJQEGv+kjMqDY2e8ZhJkkGJEpq2ymgMzMviD+DsISokYSVYghdM0118QylJriVem5y1WC6WbE/8kKRtm0lJmB/VKCUUqHxxFiWRKM2I7HVTkW77//fvSiYroZ8YU4buedd46rlRKfKAWwhg/eRnhp4RVEOZJYls6dfWdKIPGYiDeV8sEDLE19S2mZlgdjAnPjKcW1KydApWN8l0BfE1A0KkOYIHHMS+WfVaVLKJbJys0SqAkB7lPuV+5b7l9NAhKQgAQkIAEJSEACvSWAKJOWlyeOD0vYEwuJOJqs+IUghUdMKxjCGC8WQCKeEYG/mXpH7NAtt9xytiqyWulll10WYyXBgBXdls6t8FbKEJXwyiIdohExoOi3lzK8oJgayBQ2vL3S1LxSad0mgVoQcHpaGcovvfRS3IPLZjklusyhbpZAXQhwn3K/Mr+c+3fYsGF1KYcnlYAEJCABCUhAAhJoLQLEOWLaFFO1WFkNDx48a9Zaa63oFZOdstbMNcd7KHlSMSUP4aarhZAQk5iiNnXq1Lx3ViED+unEjMJjq9LflkcffXRhNn6XQF0IKBqVwY6qjJVzhyxzmJslUFcC3K+IRty/zn+u66Vo2pPTCcQNHbdsRtk0CTQLAe5ZjHtYk4AEJCCB6hLgf+s222wTX9XNubFyY3pYMjyBynkDpTTpnSlvvLqySgWjrvJxvwRqScCeVRnaBBTGulKWyxzuZgnUhUC6X9P9W5dCeNKmJpDiAjBapkmgmQikezbdw81UdssqAQlIQAISkIAEGpWAolGZK0MQNKwSxbhMFm6WQM0JpPs13b81L4AnbHoCCy20UKxDmqLb9BWyAm1DIN2z6R5um4pbUQlIQAISkIAEJNCHBBSNysBNbu5OzygDyM0NSSDdr+n+bchCWqiGJjBy5MhYvqeffjo/p7+hC2zhJJAjQPwJ7lks3cPxi38kIAEJSEACEpCABHpFQNGoC3z9+vXrIoW7JdA4BLxfG+daNGtJCKbOErmsHDJhwoRmrYblbjMC3Kvcs9y73MOaBCQgAQlIQAISkEB1CCgaVYejuUhAAhJoCQIEulxzzTVjXcaNGxdefvnllqiXlWhdAtyj3KsY966BsFv3WlszCUhAAhKQgARqT0DRqPbMPaMEJCCBhibA9B5W32MVtdtvvz08+eSTTlVr6CvWnoVjShr3Jvco9yr3rFPT2vNesNYSaFQCScQ2bECjXiHLVYpAul/T/Vsqjdvai8CA9qqutZWABCQggUoIrLHGGjHZ+PHjw/333x+nqi233HJhscUWiwsEpPhZleRlGglUiwAdWVZJI+g1MYyYkoYhGKV7tlrnMh8JSEACvSXAao78z+I133zz9TY7j5dATQi4GmlNMDfVSRSNmupyWVgJSEACtSFAfCym+iy44ILhwQcfjD/O0xSg2pTAs0igawLEMOI+1cOoa1amkIAEak+A1RwnTpwYhW5Fo9rz94w9I+BqpD3j1spHKRq18tW1bhKQgAR6SYAf40sssUSYNGlSeP7558Orr74aPvjggzgdqJdZe7gEuk0AV3lG7vkhxr1J0Gvd57uN0QMkIIEaEeD/FKIRnpGjRo0KLlhSI/CepscEXI20x+ha+kBFo5a+vFZOAhKQQO8J8KN8ySWXjK/e52YOEpCABCQggfYgULgi6YorrtgeFbeWTUvA1Uib9tL1acENhN2neM1cAhKQgAQkIAEJSEACEmhHAgy6uCJpO1755qyzq5E253WrRakVjWpB2XNIQAISkIAEJCABCUhAAm1HgClqrkjadpe9qSrsaqRNdbnqUlinp9UFuyeVgAQkIAEJSEACEpCABNqBQFrd0RVJ2+FqN0cdXY20Oa5To5RS0ahRroTlkIAEJCABCUhAAhKQgARajoArkrbcJW25Crkaactd0qpWSNGoqjjNTAISkIAEJCABCUhAAhKQQDEBVyQtZuKW+hBwNdL6cG/WsyoaNeuVs9wSkIAEJCABCUhAAhKQQFMRcEXSprpcFlYCEsgRMBC2t4EEJCABCUhAAhKQgAQkIAEJSEACEpBAEQFFoyIkbpCABCQgAQlIQAISkIAEJCABCUhAAhJQNPIekIAEJCABCUhAAhKQgAQkIAEJSEACEigioGhUhMQNEpCABCQgAQlIQAISkIAEJCABCUhAAopG3gMSkIAEJCABCUhAAhKQgAQkIAEJSEACRQQUjYqQuEECEpCABCQgAQlIQAISkIAEJCABCUhA0ch7QAISkIAEJCABCUhAAhKQgAQkIAEJSKCIgKJRERI3SEACEpCABCQgAQlIQAISkIAEJCABCSgaeQ9IQAISkIAEJCABCUhAAhKQgAQkIAEJFBFQNCpC4gYITJ8+Pay77rrhzDPPDB9++GFVoFx33XXh61//enjppZeqkl+5TK6++upw8sknhwkTJpRL4nYJSEACEpCABCQgAQlIQAISkIAEuiCgaNQFoHbd/frrr4dp06aFI444Imy88cbh6aef7jWKG264IVx00UVhxRVXDKeeemrMv7uZ3nvvvUWHjB8/Prz44ov57WPHjg0//OEPwzzzzBO3dXR0VE34yp/EDxKQgAQkIAEJSEACEpCABCQggRYnoGjU4he4q+rdd9994ZZbbgmIMXxOr0mTJoWzzjorbLvttgER5pRTTsnvS2k45qabbgrPPfdcV6eJ+3/1q1+Fa665Jsw///zhqKOOCp/61KfCbbfdVtGxJPr1r38d1llnnXD55ZfPdswhhxwS85o6dWrcPt9884XFF188LLroovH7zTffHIYMGRJOOumk2Y7ziwQkIAEJSEACEpCABCQgAQlIQALlCQwov8s97UAAIeWvf/1rl1W94IILAq9Shrh08MEHl9pVtG3nnXcOW2+9dTjxxBPj1LeZM2cWpSm3Yc8994zH7LfffmGVVVYJa6yxRkyKCDV69OgwePDg+L1///6BV7J55503fPDBB2GLLbZIm3yXgAQkIAEJSEACEpCABCQgAQlIoAsCikZdAGr13cOHDw9rrbVWYOpYsjfffDOMGTMmvP322+Gyyy4LW265Zdo12/uUKVPCcsstF/DsKWeISePGjYtTxbJCDulXXXXVcPrpp8cX34md9O6774ZlllmmyJuI/ZQVT6X1118/7L777uHJJ59kc5hjjjnCwIED4+dSf+aaa664Ob2XSuM2CUhAAhKQgAQkIAEJSEACEpCABGYnoGg0O4+2+/bee+9FL5wFF1wwX3emeyEYbbbZZtGj54UXXsjvmzVrVkAsQsDBwwdD6ClnBL0mHtIee+xRLsls2/F6mnPOOWfbRhnvueeesMACC0QPIuIsLbLIIuGuu+4Kiy22WDz/Aw88EHbaaad43GOPPRYmT56c//7GG2/E7ZRbk4AEJCABCUhAAhKQgAQkIAEJSKAyAopGlXFq2VSrr756FGNSBS+88MJw1VVXxa//+Mc/wpprrpl25d/x2LnxxhvDiBEjwqGHHhqFpfzOgg8Eo1566aUD8YwqMQSmQo+kJ554Imy++eYlD2eVtG222SasvfbaYdCgQTENXlJZYwoc9VhooYWym/0sgaYgcP8Tb4Y1lx+W86jr1xTltZASkIAEJCABCUhAAhKQQOsQUDRqnWvZo5ocffTR8ThWGGOqGN/xMGLq2EYbbRTWW2+9uJ/VyT7/+c+HV199NVx55ZVxHzt+9rOfxf3l/hQKQOXSZbf36zf7j+NPf/rTYcKECVHcyu5766234rQ3PJA0CbQqgd9eNzG89/7T4atbLRk2H71QTlSd/flo1XpbLwlIQAISkEA1CBx13qNh540WD2NWGl6N7MxDAhKQQNsRUDRqu0teXOHXXnstfPWrXw1///vfw3bbbReDTeO585vf/CYGv8ZLZ5dddgnEOkIw+sIXvlCcSR9uGTBgQFh++eVnO8Ott94aYxohIp177rlxulxWUJot8cdfmOaGV9Kxxx5barfbJNCQBD78sCO8/Ma0cNoVE8Ifbp0Uvrr1kmGjTy8QurrfG7IyFkoCEpCABCRQYwLjJ74TfnD+Y2GlJYfGARjFoxpfAE8nAQk0PQFFo6a/hL2rAKuKsYz9M888E3bbbbcY+Jqg0nfffXfYYYcdwl577RWnfbHtuuuuKztNrHel6Proww47LMZSSiu4XX/99VHcOvLII8P2228fPY7Sj2hEoZEjR4Z99913tozfeeed6EE128YW/fKfF+cLlx15V84rJRcoPOeZ0j8nrjG9CScVPFXiK/eZbXPk9qXvaR/HzJE7luM+2vZxPikv9sU05Emaj79/nD4emz/Px3mVSv9xGmZepXPnNn1U5nz6zLli+tz33Hk+KuPH586Wk32xrp+UK6XP8vio/J+c9yMOoeHEGESjZM9Nfj+ceMkTYdnFBoevbbNU2uy7BCQgAQlIQAJdEHj8uXcVj7pg5G4JSEACpQgoGpWi0kbbiE/EimR//OMfw/HHH5/7sT1HrD1eOUz7euqpp8K0adMC3j4333xzWGGFFcKSSy5ZMSFEKWISbbvtthUdc++99+anxGUPYJrbn//853D++efnxIX+gcDXrKJ26qmnZpOF++67LyAk8dpnn31m29dOX1Zf7O1wwre3zq1Ix6p0HWFWbvrhrFkdAf2B7/GV+8w29qXvMW3anzs2v4/PaTt5kW8+T47/5Dwfxjyz5+kIuaTx+Jm5fTNziT+c+XH6j/PMbc6XK54n+/3jz/nzp3Pnjv1oW+7YVIdMOT8q+8f5xjJ/VM6P8v+ozrEe+TJ8tJ/7JAptOSEsCW55sQnRKgpWBUJWRvRCfCoUzdLxH+VLHsXHZ/d9Inr1C29MmVF06z7z0tRwzO/GhwUHLxpGL/FW0X43SEACEpCABCRQmkCheFQ6lVslIAEJSCARUDRKJNr4fY011gi8sEcffTT88Ic/DH/5y1/CsGHDwk9+8pOw8cYbx3hHp512Wnzfcccdw/777x8+85nPxGlhnaFjFTOEqaWXXrqzZPl9999/f0CwKjTKcOaZZ4Zx48YFgneTDo8iVkajjKzkhrB17bXXxkOJwXTGGWfks0H4YsW1fQu8j/IJWuxDTrcIgwZ+JAC2WNVqUp2ZOTUJIewTgWl20SztywtZWZELMSvz/SNB65PjP8pzdtEsd8jHAlixEBZy17KcTZ/VP0ydPkcU3PCc0iQggcYh8GDO4/PCI/7VOAWyJBKQwGwEkni0ysLDwzoj35xtn18kIAEJSOATAopGn7Boy08EwP7vf/8bbrvttnDLLbfEuEaIL0wHQzxCjMHwRGIp+xNPPDFcffXV0TuJ7ayghoiz++67x7hIbMsagbMRpM4+++zs5rKfEYXwTiq0DTfcMHoYUcbp06dHYYnA3O+++25AzKIMiy++eLj99tvj53/961/hhhtuCKNHj45i0V133RXFr3YRjQr5+b17BAbgKtQgmttfxr4U3pmac83K2FKLzB2+/LmR4cXxN+e9ljK7/SgBCTQAgTUXfzv89DvbNUBJLIIE2pvAjkffHd77YFYRhBTjaMK4vxftc4MEJCABCXxCQNHoExZt94n4QEzjev3112erOx5GDz/8cNhjjz1m284XRKZRo0bFGEJ4DxE8m1hHRxxxRFFaxJ3//e9/4Ytf/GLRvnIbiKVUyoYPHx5WW221KGzNmDEjBsamHFOmTInJjznmmLDzzjuHwYMHhx/96Edhp512ilPtTjjhhDg1btNNN42eU6XydpsEGpkAUwaTrTBiSBSLPrvq/DH20uWPpz2+S0ACEpCABCRQCYEkFqWA2BPGVXKUaSQgAQm0LwFFo/a99lFYOemkk2JsoD333DM89NBD4ZRTTglf+tKXOg0GjBfPN7/5zejhM3PmzCgwscJaoeG9hCfQVlttVbirR98PPfTQ6G103nnnxeDXZEJ8o0otBcquNL3pJNAIBIi7tMrS84Q9c55Fn1nZ5YIb4ZpYBglIQAISaD4ChWJR89XAEktAAhKoDwFFo/pwb4izMvWMVdOSvfbaa/EjsYM6E2OuuuqqMOecc8a0TGUrJRix809/+lMMpr3WWmvFtL39g5j1+OOPB6aaDRo0KOA9xDZNAq1M4LivrxRGLTlPK1fRuklAAhKQgAT6jMDKS80Tdt5o8ZA8i/rsRGYsAQlIoEUJVO6m0aIArNYnBDoTij5J9dGnrrx2iJN04YUXhi222KJTAaow38LvTIfbbrvtwsiRI8Pcc88d4yN9mItCTP7zzDNPGDNmzGyHzJo1K7ci2KzAFDaMz5oEmpmAglEzXz3LLgEJSEAC9SZwygGfUjCq90Xw/BKQQFMT0NOoqS9f3xT+yiuv7FToYXUzxJxyNnXq1LD33nuHgQMHhh/84AflklW0HXFqvfXWC88991yMTcTn9ddfP6y44orxeKa/JeMzcZRYUY0XluI1vfPOOymZ7xKQgAQkIAEJSEACEpCABCQgAQlUQEDRqAJI7ZIEwQXbf//9OxWNEGDef//9kljGjx8fdt1117jS2uWXXx6DV5dM2I2NrOLGq5SlMuNZjR6XFQAANZJJREFURBDsW2+9Nay00kpxxbQHHnggnHPOOYEy8RnBSZOABCQgAQlIQAISkIAEJCABCUigMgKKRpVxaotUb775Zqzns88+GxZaaKGSdcbDaK655gpvv/12yf2XXHJJFIwIWl2LeEPJk4iyM71us802y5dr9OjR4dprrw2vvvpqWGeddcJBBx2U3+cHCUhAAhKQgAQkIAEJSEACEpCABDonoGjUOZ+22suUss9+9rOdLk3PdLEPPvig7OpqrL627bbb1syrZ4UVVogrtCFklTKCZi+88MLRC6nUfrdJQAISkIAEJCABCUhAAhKQgAQkUJqAolFpLm25dZlllgm8urKugmBvuOGGXWVR1f1Dhgwpm9/SSy9ddp87JCABCUhAAhKQgAQkIAEJSEACEihPwNXTyrNxjwQkIAEJSEACEpCABCQgAQlIQAISaFsCikZte+mtuAQkIAEJSEACEpCABCQgAQlIQAISKE9A0ag8G/dIQAISkIAEJCABCUhAAhKQgAQkIIG2JaBo1LaX3opLQAISkIAEJCABCUhAAhKQgAQkIIHyBBSNyrNxjwQkIAEJSEACEpCABCQgAQlIQAISaFsCikZte+mtuAQkIAEJSEACEpCABCQgAQlIQAISKE9A0ag8G/dIQAISkIAEJCABCUhAAhKQgAQkIIG2JaBo1LaX3opLQAISkIAEJCABCUhAAhKQgAQkIIHyBBSNyrNxjwQkIAEJSEACEpCABCQgAQlIQAISaFsCikZte+mtuAQkIAEJSEACEpCABCQgAQlIQAISKE9A0ag8G/dIQAISkIAEJCABCUhAAhKQgAQkIIG2JaBo1LaX3opLQAISkIAEJCABCUhAAhKQgAQkIIHyBBSNyrNxjwQkIAEJSEACEpCABCQgAQlIQAISaFsCikZte+mtuAQkIAEJSEACEpCABCQgAQlIQAISKE9A0ag8G/dIQAISkIAEJCABCUhAAhKQgAQkIIG2JaBo1LaX3opLQAISkIAEJCABCUhAAhKQgAQkIIHyBBSNyrNxjwQkIAEJSEACEpCABCQgAQlIQAISaFsCikZte+mtuAQkIAEJSEACEpCABCQgAQlIQAISKE9A0ag8m7ino6OjixTulkDjEPB+bZxrYUkkIAEJSEACEpCABCQgAQk0OwFFozJXcMCAAXHPjBkzyqRwswQaj0C6XwcOHNh4hbNEEpCABCQgAQlIQAISkIAEJNBUBBSNylyuwYMHxz1Tp04tk8LNEmg8Aul+nXvuuRuvcJZIAhKQgAQkIAEJSEACEpCABJqKgKJRmcs177zzxj1vvvlmmRRulkDjEUj3a7p/G6+ElkgCEpCABCQgAQlIQAISkIAEmoWAolGZK7XQQgvFPa+88kqZFG6WQOMRSPdrun8br4SWSAISkIAEJCABCUhAAhKQgASahYCiUZkrtdhii8U9kyZNCrNmzSqTys0SaBwC3Kfcr1i6fxundJZEAhKQgAQkIAEJSEACEpCABJqNgKJRmSs2bNiwMHz48DB9+vQwceLEMqncLIHGIcB9yv3Kfcv9q0lAAhKQgAQkIAEJSEACEpCABHpDQNGoE3orrbRS3PvII4/obdQJJ3fVnwBeRtynWLpv618qSyABCUhAAhKQgAQkIAEJSEACzUxA0aiTq7fUUksFAgq/++674bHHHuskpbskUF8Cjz76aLxPuV+5bzUJSEACEpCABCQgAQlIQAISkEBvCSgadUKwf//+4TOf+UxMgRdHCjLcySHukkDNCXBfIhph3K/ct5oEJCABCUhAAhKQgAQkIAEJSKC3BPx12QXBhRdeOHzqU58KHR0d4Y477ghpSfMuDnO3BGpCgPuR+5L7k/uU+1WTgAQkIAEJSEACEpCABCQgAQlUg4CiUQUUP/3pT4eRI0eGGTNmhFtuuUWPowqYmaTvCeBhxP3Ifcn9yX2qSaAZCfz85z8P1113XdVixz333HNhl112CWecccZsOM4777zw7W9/O9x1112zbe/pl3vvvTc8/vjj3T586tSpgVfWzj333PDGG29kNzXU54svvjicdNJJYfLkyQ1VLgsjAQlIQAKNQ4AYm9OmTeu0QMcdd1z42te+lo/F2WniGuwkDMm+++4bbrrpphqczVNIoDkJDGjOYte21P369Qvrr79++Pe//x2ef/758I9//COsuuqqYZVVVglzzDFHbQvj2dqeAA0yMbaYMomHEYIR9yf3qSaBZiNw/vnnh8MOOyzMP//84f/9v/8XPvvZz/a6Cgipf/rTn8KSSy45W17PPPNM+OUvfxnWW2+9+H98yJAh4dBDD50tTeGXgw46KDz00EPhggsuCCuvvHJ+N8/e7rvvHlfXPOuss8LBBx+c39fVh0MOOSR2Tv/617+GtddeO+bNeR588MHwm9/8pqvDZ9t/zz33hBtuuCGumJj+B9ABhuc3vvGNcPXVV0eRbL755pvtfwSMEKmOPPLI+D9ktkwLvrz88svh//7v/6JATXm32mqrghSVff3KV74SXn311TDnnHPmD6CsX/jCF+J1QDj74x//GLguyWbOnBkGDRoU/vznP6dNvktAAhKQQC8I0I/8+te/Hv/37rrrrjEn/hfffPPNsS0ZPHjwbO1F4ak4/u233w4LLbRQWGuttfK7X3vttbDhhhuGTTfdNJx99tn57YUfxo8fH6699tpA29mVnXzyyWHAgAFhrrnmiklpE/Cy33vvvcMSSywRvve978UyZ9sV2ud33nknLLvssoG2tSs7/vjjw+9+97vw4osvho033ji2OV0dU7gfr/+jjz46rmCc9n344YcBJrfeemvMc6ONNoptczaMxHvvvRcOP/zwsN1226XDfJdAQxJQNKrwsiAObbDBBuG///1vjB/z8MMPh2effTaKRwQeVjyqEKTJekyARnrixIlRLKJxx5iShodR+rHY48w9UAJ1IICnzre+9a145jXWWCNcdtll8cUGOn10puaee+4uhRQ6eognCCN0LOmkYcOGDQtjx44NU6ZMCfPMM09ejNh5550DnTeOwSsJj6RyzxDPGmIOnc+sMYjA80gHE3GmUiOvSy65JHaqeXY5Px1GjOmldF7p7K6++uphr732CjvuuGNsXxBOPvjgg7g4w0UXXRTT8wdB69hjjw0jRowIAwcOjNvhQXwzynXfffeFM888M8A3azBBRNtnn326FI2+853vRIachwGTF154IZtV/Izn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U8vurDTK+ptOgAABAgQIECBAgAABAgQIEKgUcBBFZSyWIkCAAAECBAgQIECAAAECBAhkBZRGWX/TCRAgQIAAAQIECBAgQIAAAQKVAkqjylgsRYAAAQIECBAgQIAAAQIECBDICiiNsv6mEyBAgAABAgQIECBAgAABAgQqBZRGlbFYigABAgQIECBAgAABAgQIECCQFVAaZf1NJ0CAAAECBAgQIECAAAECBAhUCiiNKmOxFAECBAgQIECAAAECBAgQIEAgK6A0yvqbToAAAQIECBAgQIAAAQIECBCoFFAaVcZiKQIECBAgQIAAAQIECBAgQIBAVkBplPU3nQABAgQIECBAgAABAgQIECBQKaA0qozFUgQIECBAgAABAgQIECBAgACBrIDSKOtvOgECBAgQIECAAAECBAgQIECgUkBpVBmLpQgQIECAAAECBAgQIECAAAECWQGlUdbfdAIECBAgQIAAAQIECBAgQIBApYDSqDIWSxEgQIAAAQIECBAgQIAAAQIEsgJKo6y/6QQIECBAgAABAgQIECBAgACBSgGlUWUsliJAgAABAgQIECBAgAABAgQIZAWURll/0wkQIECAAAECBAgQIECAAAEClQJKo8pYLEWAAAECBAgQIECAAAECBAgQyAoojbL+phMgQIAAAQIECBAgQIAAAQIEKgWURpWxWIoAAQIECBAgQIAAAQIECBAgkBVQGmX9TSdAgAABAgQIECBAgAABAgQIVAoojSpjsRQBAgQIECBAgAABAgQIECBAICugNMr6m06AAAECBAgQIECAAAECBAgQqBRQGlXGYikCBAgQIECAAAECBAgQIECAQFZAaZT1N50AAQIECBAgQIAAAQIECBAgUCmgNKqMxVIECBAgQIAAAQIECBAgQIAAgayA0ijrbzoBAgQIECBAgAABAgQIECBAoFJAaVQZi6UIECBAgAABAgQIECBAgAABAlkBpVHW33QCBAgQIECAAAECBAgQIECAQKWA0qgyFksRIECAAAECBAgQIECAAAECBLICSqOsv+kECBAgQIAAAQIECBAgQIAAgUoBpVFlLJYiQIAAAQIECBAgQIAAAQIECGQFlEZZf9MJECBAgAABAgQIECBAgAABApUCSqPKWCxFgAABAgQIECBAgAABAgQIEMgKKI2y/qYTIECAAAECBAgQIECAAAECBCoFlEaVsViKAAECBAgQIECAAAECBAgQIJAVUBpl/U0nQIAAAQIECBAgQIAAAQIECFQKKI0qY7EUAQIECBAgQIAAAQIECBAgQCAroDTK+ptOgAABAgQIECBAgAABAgQIEKgUUBpVxmIpAgQIECBAgAABAgQIECBAgEBWQGmU9TedAAECBAgQIECAAAECBAgQIFApoDSqjMVSBAgQIECAAAECBAgQIECAAIGsgNIo6286AQIECBAgQIAAAQIECBAgQKBSQGlUGYulCBAgQIAAAQIECBAgQIAAAQJZAaVR1t90AgQIECBAgAABAgQIECBAgEClgNKoMhZLESBAgAABAgQIECBAgAABAgSyAkqjrL/pBAgQIECAAAECBAgQIECAAIFKAaVRZSyWIkCAAAECBAgQIECAAAECBAhkBZRGWX/TCRAgQIAAAQIECBAgQIAAAQKVAkqjylgsRYAAAQIECBAgQIAAAQIECBDICiiNsv6mEyBAgAABAgQIECBAgAABAgQqBZRGlbFYigABAgQIECBAgAABAgQIECCQFVAaZf1NJ0CAAAECBAgQIECAAAECBAhUCiiNKmOxFAECBAgQIECAAAECBAgQIEAgK6A0yvqbToAAAQIECBAgQIAAAQIECBCoFFAaVcZiKQIECBAgQIAAAQIECBAgQIBAVuAFlv3RpKwgt9EAAAAASUVORK5CYII=) 其中: edge-toa进程 - 负责将回源的TCP数据包中增加TCP选项,此选项中包含了客户端的真实IP和端口 edge-toa模块 - 负责解析回源的TCP数据包中的TCP选项,并替换数据包中的源地址部分,这样源站的相关进程读取到的地址就是客户端的IP地址 使用TOA后,由于每个回源的数据包都需要二次处理后才能发出,所以会导致一定性能的下降。 ## 启用TOA功能 注意:请在你确保完全了解TOA原理后再使用本功能,不然会带来难以预料的后果! 以下步骤均使用 root 用户或者使用 su 运行。 ### 步骤1:检查源站服务器是否已安装TOA模块 注意:这里说的是 源站服务器,即源站所在的服务器,不是边缘节点服务器。 在源站服务器上执行命令: ``` lsmod|grep toa ``` 如果为空,则表示尚未安装TOA模块。 ### 步骤2:为源站服务器安装TOA模块 下载内核头文件: #### # CentOS、RockyLinux等 ``` yum install kernel-devel ``` 在此处可以下载可以编译的TOA模块源码: ``` wget "https://img-img.lwgzs.cn/admin/1/web/toa/main.zip" ``` 下载成功后解压并进入目录: ``` unzip main.zip cd toa-main/ ``` 编译: ``` make ``` 这个过程中如果找不到文件的错误提示,请把 /usr/src/kernels/3.xx.x-...x86_64 目录软链到编译时提示查找的目录,然后重新执行 make。 如果仍然编译不成功,建议查看以下几个参考链接(查看编译方法或者下载已经编译好的TOA模块,但是要注意选项类型是200(IPv4)和253(IPv6),这两个数值在集群中需要填入,客户不需要操作): [腾讯云加载TOA模块1](https://www.tencentcloud.com/zh/document/product/608/18945 "腾讯云TOA模块") [腾讯云加载TOA模块2](https://cloud.tencent.com/document/product/214/68105 "腾讯云加载TOA模块2") 编译成功后,当前目录会出现 toa.ko 文件,然后可以通过以下命令加载模块: ``` insmod toa.ko ``` 这时候再使用 lsmod 检查就会发现模块已加载: ``` root@ubuntu: lsmod|grep toa toa 282624 0 ``` 如果你的服务器需要重启,你可能需要重复编译和加载模块的过程,所以建议安装TOA模块后,不要轻易重启服务器。 ### 常见问题 启动节点时提示libnetfilter_queue.so.1: cannot open shared object file 完整提示类似于: ``` edge-toa/edge-toa: error while loading shared libraries: libnetfilter_queue.so.1: cannot open shared object file: No such file or directory ``` 这是因为系统没有安装libnetfilter_queue,可以使用以下命令安装(注意区分不同的操作系统): ``` # Ubuntu sudo apt install -y libnetfilter-queue-dev # RHEL、CentOS、Fedora、RockyLinux等 sudo yum -y -q install libnetfilter_queue ```
lwjsgzs
2024年12月7日 19:34
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码