Problem:


Score : 600 points

Problem Statement

There is a grid of squares with H+1 horizontal rows and W vertical columns.

You will start at one of the squares in the top row and repeat moving one square right or down. However, for each integer i from 1 through H, you cannot move down from the A_i-th, (A_i + 1)-th, \ldots, B_i-th squares from the left in the i-th row from the top.

For each integer k from 1 through H, find the minimum number of moves needed to reach one of the squares in the (k+1)-th row from the top. (The starting square can be chosen individually for each case.) If, starting from any square in the top row, none of the squares in the (k+1)-th row can be reached, print -1 instead.

Constraints

1 \leq H,W \leq 2\times 10^5

1 \leq A_i \leq B_i \leq W

Input

Input is given from Standard Input in the following format:

H W
A_1 B_1
A_2 B_2
:
A_H B_H

Output

Print H lines. The i-th line should contain the answer for the case k=i.

Sample Input 1

4 4
2 4
1 1
2 3
2 4

Sample Output 1

1
3
6
-1

Let (i,j) denote the square at the i-th row from the top and j-th column from the left.

For k=1, we need one move such as (1,1) → (2,1).

For k=2, we need three moves such as (1,1) → (2,1) → (2,2) → (3,2).

For k=3, we need six moves such as (1,1) → (2,1) → (2,2) → (3,2) → (3,3) → (3,4) → (4,4).

For k=4, it is impossible to reach any square in the fifth row from the top.



Sample input:
4 4
2 4
1 1
2 3
2 4


Sample output:
1
3
6
-1

Submission status: Wrong Answer

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64


def solve(a, b, H, W):
    ret = np.empty(H, i8)
    for i in range(H):
        ret[i] = -1
    dp0 = np.arange(W)
    dp = np.arange(W)
    arg = 0
    for i in range(H):
        r1 = np.searchsorted(dp, a[i])
        r2 = np.searchsorted(dp, b[i])
        if b[i] == W:
            if r1 == 0:
                return ret
            else:
                dp0 = dp0[: r1]
                dp = dp[: r1]
        else:
            dp[r1:r2] = b[i]
        if r1 <= arg < r2:
            arg = np.argmin(dp - dp0)
        ret[i] = dp[arg] - dp0[arg] + i + 1

        if i % 1000 == 999:
            m = 0
            prev = dp[0]
            for k in range(1, dp.shape[0]):
                if dp[k] > prev:
                    dp0[m] = k - 1
                    dp[m] = prev
                    m += 1
                    prev = dp[k]
            else:
                dp0[m] = dp0[dp0.shape[0] - 1]
                dp[m] = prev
                m += 1
            dp0 = dp0[: m]
            dp = dp[: m]
            arg = np.argmin(dp - dp0)
    return ret


def main(in_file):
    stdin = open(in_file)
    H, W = [int(x) for x in stdin.readline().split()]
    a = np.empty(H, i8)
    b = np.empty(H, i8)
    for i in range(H):
        a[i], b[i] = [int(x) for x in stdin.readline().split()]
    a -= 1
    ans = solve(a, b, H, W)
    p = '\n'.join([str(x) for x in ans])
    print(p)


def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'H4sIADBkT18C/+19CXxTVdb4SzfC1heQpSxK0IotQmlogQZQU9rAC6TQoUUZFUNoU+jYNrV5YXFc0LZKjGHQ8XMFh5kRxRlUVERwgZalRUQFRMAVXICEiFRxABXI/5x770vee0mgMPN93+//+/+r5Oaed++5555z7jnnbi/3mq3jEzQaTvpL4K7nMKfvZyJ5E4ObtoeLACyP6wifA7gruBTIJ8nLcSZFepqhllItK5fI6uUl0HxegkmR9mflpFQjS5M5+Z9JkeqWcooUehKuh7RmMHjG0pmK9EmGdHWKsl4Cq+dfRqH+ZTMVKZfAKVKpf0nsXymDl7J+SWkhK1coK49/xYfEcvy+/FGaX/6oSZF+x8p9p6r3O6iXwrX/T8fSqay9eHzZn8gpUkkOw6oqZ43MHVZVPrSqssY9f+j8vJFDR+ZmuZxZwwlNOlZ2wuRpYXknyGjuwWD4vPFPOzZfG3picXPazOMbVrYNOLX7wBp8NpzV6QD/GlJ1M7tkdkzAmgu7cBp8NhL+jYZ//3hk7KalZe9u7XTfEtvrX+R8MuRH2217SpbXL2os63X7f60Z+mz/2nU9nuxSMN9y+9pM8yfW8/HFD0zsHgO+gIsNr0uKDX8lITY8tUNseLYmNrx7HLgQh84r4+BfGqf8D3Hgi+PA05Jjww/FgWfGoWdlnH71jFO+c5zy2XHKvxlHLuPjlLfEwf9yHLmb48j3mzh8mxGn3csSY8NHxSl/Jg7+J+LQ/3AcOn+JU/6GOPRkxuFnYhw6P47TrjZO+Sfi6M+7cdq9Pg6e++LQ/1EcOXaJ0+57cfj8a5zy1XHanRSHTl3Ywyj/ro2DZxfAB3I9uW3MLkt1GzkK9zP4dAbflEDhJuanJHt/E8NTzOBpDD4Z+tUNyzM8kp0fIfW3j0lBTzcml6a+SvgtyRT/HIZ/oaTPjE5hqRJ+fQq225dr+iujkzVczuRVrMI/gMEPquAc+COXWF527bXog0ZyNtvsameNzSXa60SbjbPdPLlEzKt0umyz7C5HrqWmUiw0mOcCvPTGEtEwAqCVZVC6zmGvnuWusJQB0FA2x15nE+vslaLLUmY2I8758221jjqXs8ZeVSkusM3NJpidObVu0VxGsE02ZNtsZfPn22dVzjUMh++uSltZld3lsokLah22ypoKpxkrTSoRR5QhCFAbcmxFtnmV5Y4aeF4pErqAXiOlCqiOSc+IsiqHvc4MT4bbLNAz+CfaRQfULa8qRhQlIrYvzqlzzrNVOWpmi3Nsjro6Z13xJCAVaLTb7FVVzjKoY3PML3PUipXOGlLNMNJmc1JmAEEuR50Yk4CpAMuhNLLSllJbabbNXDLSVjypJMdWRfsxEhupcjCGA2AU4ZDBYDBGalfWzGY4YjRVYsf2CgzY2RzS2Sm1jppqZ7mDsTKMcXhYkoAwPipDTkVlTbmtorLOJdqcFWZgSXW1irj2ohoOwitz1kA5d5lori6jnM+VOO90Ywu2OnvNbIetolqEpu5U6WPhcKqKFpC5XBKXQM2oOgfIa67DXB2WJCVjlr3cVmZ3idhQzbzqqcA0Y42TPhNjjY8CQ5goQ06du0asrHZQ/WHaGaaUkX9JchglkwOQI5dFaemlq4o0xCJE5s6bYxejFLC9ZGaDjOsctVX2MuBsNVJ4aYiMgMdeC7pbbmZIQBaXyruRhHdgW9SsI2ObiJYqgTFsBZyzAXHECGAXVMJloxTIYdpBrZqMvBFy8uIYS5kUoloAxZo66RJ4Z2Ydq6hzKA3WJcqhDFRIdJinVtOhklsGI/XfkKrLVTm7BnpWkkvdjXNERZXbNYdwEw2yasSBv6qmrgq+zS6DRjBn4GzTauahWKc6XO5qBz4so8UqnKA2XIXoqAKzis2BWbZV2CurOCBPdFZxFQ5nBVcx2yG6EAIGXzLyomN+pchVO6pdDpKU1S7gKsqqnC4HV008AAKrnXMd3Kyy6lqohY0y11ltr4RGgePchIICW05WNjfBahlXMH06fM/NGq7MGgyKrJGDb/njLDZDVo6ymqIc/W4bnmWIfB2eNYJOqhNhtpgIaTL5lkC+J8J/yTArj+QTYI6oJXmaw8+OpCbC6D/6iTU7MZwceZ5M8NH/khjuRIh/NNzbKZE4rXjQgs4c1JzVQZoHp5AYCZ/X4r/TTwDCjtwfOlCYneS13AKW99ybmYAz2UUs//ErtyfjSsbjLH8HKZ/E/ZXlxcxHtUjf6nB7Cdz+lEgc99gjj6fgysQ7rLy7b2VH5FcrK+//C42ncE1gmCxMapPBs+WrKCwuS2bz6vA8UwYfLYNvk8GHy+fPMniOHP+yCDxXBi+WwUfI4HNkcKMMLsWJCB8jn5cup/AOstiVxMkyeIIMniGDJ8rnkzJ4kgyeJ4PL159MMrh8/UWQwTvI+yuDa2Xw6TJ4Rxl8pgzeSc4fGbyzDF4rg3eRwefL4F1l8IUyeKoMvkgG52XwJTK4TgZ/UgbvJoMvl8Hl85qVMvhlMvhqGbyHDL5OBh8l1wcZvKdcP2XwXjL4Thm8twy+XwZPk8EPyuB95Houg/eVjy8ZvJ8MfloG7y+ft/w1Ar9cPk+Wwa+Qzxtl8AFy/ZfB5fNKvQw+UK7/MviVcv2Xwa+S678Mni7Xfxn8arn+y+CD5Povg18j138ZPEOu/zL4WLn+y+CZcv2XwQfL9V8Gv1au/zL4ELn+y+BD5fovg2fJ9V8Gz5PrvwxukOu/DH6dnG/132sFb/K0RXpOaGwSE0I7hfot2s3h56ERU+FR6OpS+OQHmOAb5ufgo8DBEPxdPRHzaAIDO0l+HObR9AWaSH405tHkBVaT/HDMo6kLLCf5wZhHExdYQvJXYh5NW2AhyffFPJIdqCX57phHUxaYSfKdMI8mLFBM8gmYR9MVMJH8rw9CHk1WIJvkf8I8mqqAnuSPYh5NVEBH8t9gHk1TgCP5zzCPJinQdg7zuzGvI/0n+e2Y70b6T/KbMN+d9J/k38L8ZaT/JP8a5nuQ/pP8PzDfk/Sf5P+G+V6k/yT/NOZ7k/6T/KOYTyP9J/mHMN+H9J/k78d8X9J/kr8T8/1I/0m+DvP9Sf9J/g+Yv5z0n+RnYf4K0n+SvxnzA0j/z2J+Kub1pP8kPxHzA0n/SX4c5q8k/Sf50Zi/ivSf5IdjPp30n+QHY/5q0n+SvxLzg0j/Sb4v5q8h/Sf57pjPIP0n+U6YzyT9J/kEzA8m/Sf5Xx+A/LWk/yT/E+aHkP6T/FHMDyX9J/lvMJ9F+k/yn2F+GOn/GSJ/zGeT/pP8dswbSP9JfhPmh5P+Q754466/zeT8nwArN+Ia0gbMvrUORqP/VUA/fXNFFj+ggQw1fkAhjNljFs+u2wTPN0L9d23FpZbWJu4eEye0Ni+5G5NWXX8Ygz2fbdBzP5PyJxQITNw6DFiE6/BTvGwdGeEwrDtuREDoYMWSzaRWpM4GUv6+H0jSfC5R8LQJzf4bBE2LsOuc2C2MoQPDoK6/8LpfoL+cu/c0wXPIfw8woCX5CEA0M2hJdfngYiW9+TeWFAuebzc0YS89B/x3QVCGKZYQvP3ThcbPxQyhvkAfcg8UvGMEX4FOMLaKyf56YC4W/COmrUnERxia0Hjdkn/bZoun5by1zaz2dbLaVs8p/zGQiZxAblr+Tfk35k/LLy0R7vteADNj8ZwTfO+kL0LeOR40cf7tEF4KrQ3pO5nFbGlI34/pRtSRDRjn+vcBVmRihuBpFuqbdYJHK7SaSDjWYtJBbZMeDSikxBUFE6Aj60P0717B05B+EJ96Hk73c7StNtaW1fscocTqeS4dw9Cixu/EFEt9YbpeY/GmYE2thsovWaiHRmQ0FTCabhA8W4X6JqDJzG0gVHiOv4Xm0//Ib8gbMyPNTEgTPKvSdbQhd1qgcBgqrAzGNxgAZAHOFz40ZmNauLG9Z0hjfMMzBMdWwefS5C8MTRN48wnkpgmq++/LwaoppNzRLBT/UvIAhMg3fEoAeYI3x98R6QJqqVyvVsi1+lcqVwemwCgTi82Bfi3rB4kiEXcb6w9JGz939wmOgc5EPxDToSVtyH05ttQYglZ6s1ZCv0DqlQoe4xuqu6JHvRs0p+GPXYkqnMb5geB9h4gHavMNPPRkw/ug7uvRSRp2+19EbPWn4dFypdos/y2sNpupiBKF1gKqNgWoNgVMNgWS2nwueO/m/NNPh0I4AHxUKVENdsoUEymmCrWUpo3HxIFCvRmY2RfrCz4z4+YA7J/nuL83pFbPGqJ+RLtC7mss3rHpFl9hOiv682kscsT//WnK+EVSfOG7K90k+NYQCvzX5yGEylvwiekm/13DkaAGJmiQ/PfdkYWmNGBamuApTE8TvHO0GzPCTPH+ylTpq844GFsr+ONNJ/h7cfBQybZCXZqSuFTI/NLi+d7SfCbR6jkIpu06q+eu9Gy+cUoXJrMyDdF5/1TKNYv3BirkKyFf5BlV5JmnneRLOmzxTNBh+cU5UN7igwwQN9NS36pFhFqh+ViiUL9VExyjtG+CZwZ0Z6tW8GyzeqFhqycoeMAkbYaoqwqYV78VZH9Wwy/+gkgEQBbPl6hbBYWY3yx4rYDcmyl4oTVhTIb7ZfyWLXg5bD9DyNxq8fxgQcPdeMzqaVtPus4XNk/2QSHJhgywGHdY+QlfWzVtVn7c12gluk/0jT1EJhY3n8J+twYTzYYQdPQU4q2d5Ol/CjF6xfQMMdXqAdmeFDxH/XejeIHwWuxTUeNJ6I6oRcP580l8UIgdzBM8c4BlQ44AVkJ2oFOI1koDLUsLib1oki94bwXdgJHnDjxF9HIGGDS31mo8wTeuTqZjT4u8eOKkVB/k9BBmEIF7o6LGW/IaDlLjrvQ0/y0nVZaANSpmUvtxpcJ+DD1JR/bVpFZhOtn0sXg7WIwTtHzD1I5ocrM36sPaePYU08b07kRcE31D/kXt5HH/IwRXQ/pCkk9sgZELQ1WnYUMPxy7kyeRPhvGfEsbd3agCgCFqYhhvYBjzNDExpskwEtmsSV+Narh4E4TbZsMxK464YF+Ff7OAzhYZD/ENf00iHjA8VP+cGxmqIHz/x2qLXMDjQC3AgXqt1euSj9EjJ1kfRmux8qr0bYTCW9Pz4o5WUDqtNGQtmT9YPSeE5t8ShXWSBgvGzfyDSVrSMb7hARyDnuOoeM/8jDzZioqmRQdBxm4FAsnI8WQKnkqt4Ev6kjSn8QuefB3iWDyOdCxEK/oEGM9WGGH1TVoysCzNPyRa6ls0weHK8VzkGYZjHoczKDpoGAzhVi2UDFnqz8Ew/p50BsD++01I41YkI8PqNZKRYB2T536XkUr6XGvJbLV6fsO+FjVCP/aHB7DVB+quHsCCZn/0AH7qBOEAmP9jin6C7bR6qr4EjoWsOGTFVAFZBrz91f8GYdCtOCI3wzg+hoP4uH/YiRDjB5goz3TtZNaERXOcDmRtSBkemWA4lKfnoU9ICxH7JqbSjHtOMAefYyxQBFaEjtFeGtkYbf6Juoz1kLJKOcri18iLP8qKP/RT7AFt9VI9I1oee3RP+YmO7gk/yUZ3WHO8Jq2QeZpvqEJD4uUF72Nk6E70dDkqNJ8G635ag/EWGVIPTCCFJkDFh8lwnOhJCiAlWhwSIb7xOYh4/Ad+pO3tgzTwKEAqluAw3obg1kQ6/d6stRi/EufAIEI/fJz6Yb/cD+/wPwEVgltJJI31F0XXF85b/6ZIfQuNivnGO2FGErj7nFqe4ecefP5w1HNsXxvVPg1dGA1BSsN3chq2+T9uAxqaaf/boui/8/z9x7pbizw/kxBzFA7++jMadzcMHIh1redCAT0LQRf3ps+TXGMgjAbxYInAz0zSaRhWYP+eg5gm8MIvVOHD0CaEbibhzkGh/uAZMAxnBM+HQvMPCQJYA89P9d9ohMb3gIhEDC32Gt6r4Oc2YXy3kNrTE7yzy0fwUfqRDj5v/UgPn+UfZVfwe7bBv51g+/DxvfAYsvvh30HIkWL3QjGYHIACtZxzrxMad4uDJRUEHEnb4cO6HWrN3Q21NsE/gNyL4HsBbDFukboqygw86Ft9UjO4yyYNlHD/hAZ9JZrp5+th5qLLQH3gLajGMLnAI2FC5jZJ1/kHyhIUnqnbj8yq59HIC+NIyTOtOI6aDtOuDvktE7ScpXUC8UqQplExv0PGDXcPmNkDG0Kk1lH/sB+w1tL0DA0NAgkFEO6Br8Lgg7cckzX/aBtrfn0n4hgn+3KPSdO2QaR5lUO8FcIj5g1Jvac7IdlbSBC3Sos6cjbJ1cHQFMCdj7CnuReYddY60C/4akHyPwnNR0HymzSeXfVfA1vOdXHxFbwzeVoJhu6Br0hDH4IiINBEgBWF8NUMX/FLVyv70rMEv/DOq2+h6dAymo64nabXuWja9Y8l8unyEgDtrMhHzckHae/Bz9I9Ogm6C77sxy+f0Qd6TG7dk02e83v2kMf8ni/pUxN9Wsye7mVPD9CnM+lTiOw2oW7CRLUlyb2QKDtuKll8PfbgI+HUp0hm+VRCbs+qqXJyK5YwnJ+CWo5rg4++qKxQTy+Emt3fBIYBJsN7oNx84wCYgAYK4WNjSoOJ2zAQPtYvhI+3zuBkMPd7ePAhzJI27Map0oP3wQNcwfT3wwfXgnP17woqihy4F4r8HoucxgcYXvifDZLYVvAtTS/W0CCJxC/gPgRNeLpeTFSVzTxr9aiDtTgMe4SnpuOPgX5FNORaWh1GSfd5PTZ6FwIxhUGJrNHwTaq4YRQShYt//m+PAimsjcJ+2AYE8cXacBOb4bls7vfcMaLt7gFoWyjNkr8yHgBX1gCtGI4FnbLZOxoAUtL4qbsTWItEDLSC8KiIDC7KADCpXka9x6w9H0Oip/5V6abXNWTaBnGTPyEbx3eHbY+YOMPnG5ZD8pbeYcKQyv/E93QCGndi2XKUTiw3QNrwubt30EgWbFhPSQf/fhSNcMh/C6TBvoESsLeBf5Cwr4VwCKuHAmi+l5LVB4wTrqdOf5TC6d98lDrhqUdp3CCd+Arq5KjWMFRahmpIrNUFnqHqwFBpwyHIUja/j1Nxb4BW/DBAK3KyitIqQwZdZRgYXmV4lVV6ilWSFn2w0kHuPK3NYRVnsooHWUXiPbVXSnN4vvHMQNR7xTx+SIBGWekB5TwerezOo0SsgWsHEjFIgRffKEJ3An+j0MDTkAae07AiOFeF2XxIHEb9LPk+KfKdb1gji+H4xkxEddNA6qyzwwH9f/npfC7b7/VLLhuru9+Q3LfVOx+Cxt9wVkkiiQyqeAOVilfkp4pn9qtCkAPuVlkgQCNOvV+aRPZSNMo3WkORuKF9De85QhvecaQdDb9wRGp42ZHYwS7fkKPn6AoY35hBTJZMAWYfoQpgOyKLcwMaPRXQHQNoOi4iIy3pF06x8/iGRwltZpTNi+GvjbxGmqHfTbpbaPVehfOQYXEWhL49TBXp88ORDiN+qddNiIyE7ThrIN1efZjyaOVhZacDT3J08Y+owkOHKXO0/oWH2UoA33gTEUj7qTMz6q67AHWUsN6MMD7cYMOPEBkT0iMS6XNFWCKpV6gk8skhKpEPDsklcuRyCLAiHsxxv+TkRh7CkZa0hQZuW90nYD6My0x6WTx0/xEWD73I5AjorziM9VLyW8ZjDDaexWDj0+gIBsONs0IBZoXpxVBVeFvyaHzD3QRJaxFEPBgfPaaRxUd3ktW6ggtHRTdMJFHRfkVUNHhiOCoaNpFFRSPZl57XTaRRkZmmQ4toOmIaTa+bQdOujolsf0QZD+0jocu+ePHQPhoP7YsdD+2j8dC+2PHQPhoP7YuOh0Q3xEL7ZLHQdAuNhWbS9DzxT3C0TNzfN0jinvAt+P6ZD8KD2fCx/j34eOs9DAqyviV60BrWg3AgbfWUps/nF3dJZRNezOcZPkfRzjScRB+PxYITUcmnfxttRGoFnGWjT59v8Ry1espxkaIcVzM2axCaJ6HAhZeGFV1pi2mCB+fmHiyI8G69aeBOJmG+3P3oJTqNomG2V1qnwsZ8Q/CZ4PnBHxyJVaaRaIXE+2N+p8VlxpnCRkkbrV7SUgOZzruvI27rKlxZ9zk1Vk+bxfg99iDDSs3VZ8yzLXobvxgPw8zNwk9uCWyi8x/fFKjzg2DcJvKg8vNrgI2CpwVK/AsqzZ9XZDxUxE/5vgimWx0t9eN0GqTNmvnDesIo3vJhEa7Z+3qhu4VI+Mskjpvi6wLT1F80bq3F0y3wfhI+OkkX2QCcxNc/AvbEcDKAK2oTfbngD86dE1qbsWsCP/lHaHaBp0hziLRg5YUAtO1uCHon+ZJyIaKUFW2G+aTV86PQ/MsN1oE/hmM1sErJYGeQ1FKQg+cxErrhah8N8R5On6mhq/5zyMDtsR3LzGdh3kINPbAEMz3WR6EZy9Zq6HrfIiLKNTQozRqLC54UWITW11IPEzuk4EqkIOTux6KVzgv/qOXcyf67v6Z27tBBtMcN6UvY2p7O6l2T/iTD0gGxhMQRiMdG8UxX4RnB8Cw7qFTd4DC2Pt8lf+G9pGTnr2mc6Dqo2nho/Nz9d5C/1wq2zrMNlEbMQYl3sRq/xsk9sDd45URf0kDK802M55tU+7GCZ7vQ/OsNwsDtuI5pImsMx5APZh0JhYWHJuuQbSiCRVN0vC6F79YB+a2UQZdPCE2JD7PQ++EY8th5YXk8O5pu3yxi2zagB0gHRuZAVmQEkcGNfDYDn+fAXIBKAuwRmH+y6/EY9ew6cFYeHCj4ZCYJWYgU7ia8feUA2/85oOKtsiGweVA5WGhh1UE2tL7zAMrmuH/fV1BfWScGTY1VISz+W4WFv6cVuXwDod+dF4W3N8N771cqw6ZsQ7JugQcJL+edFQZ+WCHwNZsq+NqmQsF3D7iys0LzsQTcuMn3+PPrD3YQ6kP9wekdCzyCl2l8/Y8L921uI/a2Vcg8bjgG5DYE8aAI+aKXvmRLX0zSl2Lpy0zpSy39UhhcSD6XkM/l5HM1+WwinzvJ50HyiR4kKQjk6XGV2X1/UWOTaLBojk3yjQUT1KqzNB9MNhyTz7+x2jBSbRhWsxj97u8F448RzoiXK9f/PT1+xJUtKOM+AXk0hBY0hGR5OIPyEQ2t22zxnLV4R6MguuUvvBME0cm/+EuMgkpxoXmf/8cvWIaUB/kEu5JvZsPuCC6L8Wf+T/tQVmPW0OVa9Dq8r798eh62cNAkbm0r7BugNOGmCBlgkTHgs8JYzIexSM3honHZoGIadMP68Bx7wBhspIVslR0XOxD9F0tJ8EbHQ4E0HoifU9mkv35BbVLHL5RaB7hI14IlaK+xO8HfsfrK4TTzCzqctn1OEcxUISAToHmKJfYlEQ+NLtLD3F4xHtNoPLmgi9XjFzRt/KJFPKAx+nnfvTxO6SBiAL/ReJKEBgtSMZNoTZ/JL5qJmzZj8KtvGinZZQf4tfl9BN9NGqHjdsG46Z6+gQd4VI0Gtn/bwwhQ/uE7eLo6SGIHz6eC4RfB2Mw/nIFgzX7BeJpv6E92hJo06NrJkp4n6VPBs19Y/8n8wCCDdlV/gX+lWVj/gZTTbBOatyUK6394oWXSKE8+hBrb+Af/eCoUKsIQ9I1UuvNWf1aD4f5Mdw/D5wGcLCr0l+yXWD1HDZ8He5L1aYhfoP8fCfXNEDF9IDoF4y7eV4m4jEkf3eMXPJ8Bmxd0wVTzK79oSiqGOL/yvvH4xXcHhFu5e9CxAou/YiX3Cpqv+EVXk5J7QVURmSfpFGC+a0kgNVWxXic7twEUCMaP+IZRBPMUCNbJPkzGvR0FzS/8ok+6Mv6rKHq3K6NoDRbwdJGo+ZSV2iVoPuUXPUFKQdcWk1LQYd/tGqH+t3P3Xi74cOwrAolg97A8jQcEz2mBnwJR0C8YWQgDf4n2bNKgEzzvxAwqIADecclBxac5kYMr4QMrOg22nk4t/uVRFv/qT6nF9+2PG1d8J2oJopA4ClFVUFS2KFSf7aeoxu1XhRa5OEfEol3zF8L0Esu+vJ9OE3vtVzpAaMD9FxofkPgC+d5T0Hwg1J8FtjcxtvuD2iWC8VP4FoAIRGg+DczeRueL0bGcrxTs10QdconYr8kQSyTw3cghHsr6VVIssfXCscTWdUwMfqwXUwxTh8eNJc4T4C3dR41g0j409u8QQeDO25NkGN4Vnlwek8wrifIqKbJZKmRTGLI396pEYVSbzqv3UdPp2xsrypP5P9Rck0ahWLjAoUM2UjcCdjQSK1+SG9mfyyZd1JcQkyh1l85WnmNbmuhOniSbjuj6qHrxDXMAQlWMb7wVvvsnQK8CU6Vy6r5n7qV9f+QTpduITOPwNNaSwLCf6KLUfJzawzM9usoMEdffgPeZbAFFt3A+cd0ffyKV9rT6R34i3xAFblxFeuPur6Zl2SeUlmRMUW9lu/4/7mULEpnHyar7BU/meJeS/SOL5ws8nhPZ67cYt6Aq6fgHszqywwYvJ9BjgS/tYYd0hhV5nVqr8Zj7FnJMZRVxOLhac9xfuSfGwZ3P+cV/QBzNwUTLhtkV9C94+xJEmreHHHRj56G3QowCAfL6RLrehep7lK6yfitb0mn1J0CtYBPWP/2xUiktgMPq+Rb3KC2+W9ND/OLjaDNhYgkzc7Dfnp2WUz/AJzlo2fxrgqDZBDa7O/xbKJzaz69t0OxqNHGLGnKJicDgzLegIwSm3ec1A6+Iv26hD+HpuYS7rwncS0J4tEfswVCstnqovNhdMx5i+wOg25gusvYKLWInr3xJvcBznxN8D6fnkyX4ZlcWZnCNUOFv+bU6fu3vQ4vSFv0OtxVDUFLwWTR1R2R7F/499NxameDZXASxDW5RbNXhmQJpBJ3chWLcihbcBK5KV3cF8JHsLBh2+xfsoSc6PImonzDICnRo0PMwEnAPeIhSvMjMBQcBPeD3xyn2O6E9ZuEgKvAP3U21HLHAwOrckqSJOjdXBJMAsMfkHCUe6MBDIYAC8/4v9VRPqZEERcQz02yRryd+DWsE3/DjWRjK30PPAkfO0s2ElVKtfik0lvFO0ZKFsRa+ARfVrN4yLTl0i8dH+Fd+xlWKa1T77V4d7pY1fIrnDRLrtOSAirHZfcTqW0VsmOS8Jd4CA/cDDUXeUUVj5mn5hkpNZG9rBzv9R/XKpNdYvXPw9Ac5yiam4pYUnhA56n8c2GbVHLPUt2hxd5jYNHL4z9hCv1SE4wlvDqnzjX/WbtzgugLHy2yr5pDVezswvEBPAkJPgR5F2F0qfdSfSwRDHofwsbuPYr10xU42/9+JhrRFi30R64AkGVvd9bLFtOULpd2/Xz9COoZJ1kVmHvjGL38D6Rz8jW7QoYvcsAo3wjt0pHxBSGCGhvaz8Wl2ZGAmsiok8Rs9Yh7ZciOEnvmIrkbP9P/0kWID79tdzBr+nR15Ve3SWY0Btr6u2p8LLFXwF5jw5EcojUMSH/iGipDEar7hNFmILlPx+rsIr7/xb9up4vVrMl4/6zcC+uATkX3GBsIHMjExHocu9vmIbDUKzBFy8g3EsPa1awORcpisP3SUmde+2MlvPwD2kVPoEHd7NvlPfAhUgQtLfugmPZQ0+QUfOdvuXX0QPus/1PgHkm4l/0F67n1y9d9m0vGGV+wW/jGPE5MfKigI9kL8r3+IpRPx+AGebg4VZ/Mb2kiD/rwPUNla/Ts/IMv7+hAuBU5IC7lLg0OVuzipH1L3l/IhtfjrwhYfi19t8Q4o8s6jZ5fu5WRnl/Z+QBepPvyAHruCfgH3qTh0uPqZjbEUOREIaoheUnRIj/mGBuYsJXPSiKeoA8ske+ef/0H0eZynL3Qep+ADPI+jCsg2fECH3SBCZ4REvvGuEDV2ssKPsMK/7FBYO4yEwD7i1iQGRL+ji31zLPXjcaMG48XgAmAU6QjeoAl8q7CjwOWVOyji5Tsol1eG7yphTPKKFJOkYEwi2pEDc3egmYB23E+y9cEOZH1QnIFcn06eQvPunhbv9XQXqXAHSuSUf+wOagzImccDOIG9bwse878l/9b8Gfm35dtmbGb0HPfrpFb4xixgR/Ax/+IdVK4n35daeD24dONJ8N4b0h4Aq3Q/fLx1Dj1eOZTYeNIHD+oXw4ND8PEWXvrxT3pfcYph0r3SpsBwfDDoT/DgNfhY32MJPMBrQf4+70u7BTd54cG78PGWD9vg3pfOIKzdDq5Is4PESsHr8CMPd/x2sZ0iog+DlKqd8z7t5LXvK1WbRs902zMlQcrjtudMUPRv+YbPNGFNi731+el2innXdpWafuFuDTym2NI/4B8ChQKZjE5AOYwKPUMdiPZg5N61XRkUE1e1SUP3uFFSazV0j1s5sftkO9v/267aanzwwk0/xfqjUTWNup9FJzrXqIZKxXa2//+esjkI5wI9pW3YcJQRe1f/0fcojofeU02BwgJyV6qEc4E9adN7tCN570ULRsIUNmGXvUcdnc7f8T16uBaMWD6zEPk6dxbW0EuTDJIhM41kf+V7ktEDNDu2ySwLQQKVxbsCz6JdoHyoSp+Pq2gZSDg1IsgJpQx6MtLv3iabuKDbG0Tl7r4iWuZfb6Myt2yjMaGeToyuiUv46m20y3p/r21KExdTQD+2UgEFWpVmi20Ts/PZqB9iGmb14WwO8R/i5KBdpTdZ2yjKx1tp++Eq7g9UJZNYyapWYqOorWM3Gaa3UitV3CqzdSc60UMdv21TrDdGrjvVf6+zeE5ZPOdkQU3qezSyv42c9dsKEx2IljPIFpmXLACE/P1a0OpsoQe660/zc6/AuB5VCCLTZ7exuD+RHTPG0P47cSA5ztk1/6EO+RjXd4egPsuKscs5DF8qW8KnkuPG8BbPFUL9Fl3Yam/e+BIGdqmEmIh1+XArtfop2GkyX5om77AgeE5YPGcEz5ENK7D6cRJbjSH9G5+ENgV8Ct/wLhHqkHRcpmyYgHCvG/4VQTQUwvlLq3Sf5wWOHgPA+gOSyDC3em+QSrNNJ38fojebZWx+oZXFjn+msWOR5pxV85sUQVozT9Bd2ltx3P8GUjpe1w+ZrKPtG1EFPB1wdMGzKToSkUNBjbsk/6HURdrgzaAgGPuTHrhHBJYorx1l0tbFPnhyDtoEXJbWCeTaUX7LBB0XHGw2gI6hQfl9cAQETuRuyGf+5i1UTlBhAkwbeJQTVNSzg6BUTqTalbgoZwnboXVb6Irc6i2Ry3iydYWnWhg3XiGLAFv5m5r4bnFXFXBzGpwd9g24viSB3nzAOz/Bq2C+iFogbKFGQ0tHZ1W6CfQPCuuh8IaVIPj1SVSZcaLSeSvRZwLHy0w6/6dnqD0jqwoNExLoJMg7SUtqfONfsBXlSWa20UfQd2ym43TLZkqDjl4wmUJuFGT6+fv7kk4GizyHizJ/wOUoPV5M0BV5b7Aa26z8+LaixpNiR9K5Q2T6l5su+KqwlN9Sf05XdzkhUvAcBk0YxigBq9YlHdHosfLgIs1xvKzgviyfX8uDPvRR7De0kmH3k/+nTdjNpHR2CQtoQIHK9ESzlerJWNmtRrIjbTxKTZ7nB8HzpVgkeHTM0gu6oFm9v0quUEjCEIzHWdUvRat/OVCgrGDiyAarBvGlAT4tLpiR6uSISwvY7qjblNQS4VD9mB5WJvbIn9iNrqCRXZeGk2fD0/rgWeW0fjtO63sCKeQ+Mw6dkLsP2FZyB4zI9HQzta9tzYhkiyCLHVH1ZPrYiFeYY0Z7hc2KB5Hp7LX4gBizfPyWcx8U2VdvInseTf4ZmxTVIieIfm4CghdykeAKCfyoKUQHLt/4F6J28lE4vJmOwsHNyiuxn6EUjMwza6XASC8FRuH6PzVRl3y0STa6gomk4l3pef77O0qH+nA6jbEIO+DHLjcSJC810eGxookaauxf/Pu4aTBOF96TASY5MxF7ekrw/CZ478kmBvdsguqeZX6zZJd7JyoMXt4mqsiDLXSabgEja2k1M4tn1mGGWTE6k8W7csfQ/sKQv9bqwx2/3vyAhdLFL/9GPNXKN45KQB5P0BPjNY3YCTDRRzbgi178ic3Mqn2otL7/lOCdqbXD1c76FqiXjbHLuxuIrxA8SelWTxta/7o+qNJkuJua2cVYMtqLiOG/nBj+jvxaGL8w1FPJ+D6M5rr7Rml8m2HcFnHUrSqn7MTD3U8CfDee2iG3hPpsYNNkdy/UAKvxFN7/3ECl//0GXJpgfbaTmnn+U9AU5BsHaRhKOwnKzdQNhk9YCJrt/NpbdfJVlGVNVDR5shUUfsPH0kVl/7EN0XeUg11l9sxwjNx1AJfuH0hu1kHrrxKzn5tOrpI9R3z0NK1lzI1aUMrG3eJwi3ckuUc7cwMh+7HNMLWD3nYNXlmxxPA5yYi9BTqOekCIEBz5uoYWOboEJpgW33imzQfepVq8793IkGL1viBWJjx++IbNaGZehoKB9fjovi2o3DJLEtM4pL4b5wj8v96JY2e+eEc6G3//O0yVWv0PpgC/Zz5q4oJ96bOKyLMxqfAsfLobx+Z6YEuQXACBzDvvUNu3ZgNZ8w+fpy5/h2zjukuD98rBRQAOmkhggQo0MqJAr79DFeifWOIKLAGWphctxss45f4kuJ9GEYOU9qvuHWq//vCOFC62st31kL/XBinew/cN4BV+r80kW6vIsXhvy8N8KfXZRQqfnfYONUo6SC2t48nrVoKDFUX+9TYtcuxtUoRdGyU43avgS7assWGQ12O+mJ74toRPfG9kWF6gWPQxGnqYFWmgRbJZQ4jPvRq+6GQNaaW3ISgwTGQYxlEMNIhiBSuWlKAJbe2Q9ihupbdq/TsS6Rrkz5QHtwQ6vx09XyDG+EmyJHgCmcvqQyCi30D0ae1bdPENjcJgYgjTwgt/R9fjrOQujA/Iwt+vUDZ4OZuU4bLf2CSgRO8Vk0y46nctEuLD6MvTPz3sZ1owkrJCnWI8IqOnS/4QJAgWY9NcvSVzGxgAw0mwkbcC+cGBGALUok1YBo0Huwvh5xZPk9/4tmIht+871ASl46yGeAewmWhhjZ+KV1k88IXGvPAR7CPgrJPcX/gWMJsN3wVzeV0ihquokRYSikTRbWktTGf+pTCdxize5Geu05PQBfrS9YXr2BKnx5qkx7oZ85fNJKFTLV7yJ6cviWxr1lPfmzEdx5sPl6WvfYtO+jDI99esg65FIusb3qZduxHGujKq3ojU+W9AdBDcwXSN3IstADc0UPaOCTIhay1g8XcBvbzruY3sR3YNZoGtpBngEz2G3U91DHvDOjolX7sOdTGlDcwMWD7UJLR8ZB4Xy4j1Xkev9UjjZh7kw3O8o2+i5fmOXkmUbjo8xkXddBjH2h4NaXAeQUdl18l/DYISCSj5srEROQwY2045HH4zSg5/XyeTw+G1rAH0Dk+tpyb0Dkijxp+V7QGI69n4876pGH/q8v1Z+UKp/C1vxp7fw0QUz2L+kS4WiDBsyeo1bqoG3QODE1g8gxxKe1O1PvSleDU7X3+cCfaIgrnb/Yewg5vpMi9dP/p4Le3l+2uJqMm7m8Oz9QiBSnsS05hUrmUGY8Mf8FYY9ti/de2/ZRXGv6mwCg++EW0VrnpTYRWS1l2SVfjgjX/PKjQaI9r4iLGd2jj9jSht7LlWpo3T1yisQuab57cKmW/8N1uFlWvoyFy+hqjKokejrIJ88N+5Rjb4j73evsFvZk1ctyZq8A9eExn8vfIi7L4yr53sDrwexe7n18jYHXhNNviXvkGHhQgpzm+jxv8ZNo5dpEDU8yHsRUalb7Byt7+uGO9kvoTDaSWJxTugYH9PAqA0VPcMqEPf9nMCqTbeiq/7AGavJMwmgScOq2zcNiOD73sgfsMYnGZmMksz8XXpYqO7T0xrXfkaOn90+HibkUz6wm49G9x6Mbr1UuR6GuL77FU6vLNZPHAUqsOA0F5DgTh5fwtVy7/rNSmUffNVEq5aoUAafRuLtLLSgisDaAFmggVw98B9/YXsrTRa//JXMXZHkorRKkxHq3AZWgV8SuxCFvQt2EOQgdAUpAHU9IZGWtf0C6/jBukGfLXoW/jeeoQ99jq9AokXlazGkHiFfze21lsOA/8HMFPDMbErVrnjVaoXUCB52QiqeMCrri+OiCheNvYsjyreO6wr7DQcff/Rq1T38iTdq/UPfo3qHo4If/VqOiNJfh21Sb3+mWbx/Cx4zlpxD3PMPJ3Yn5yGgTmixZNiYfMX3IUO4O+iWL3V4B3arJl+nCngyzoam9bRt1eYQWl6pOFRl+bAdZGXWMCDXXhWlB+3C+ZZgqc0XSd2B0UgZ+P9u1dH3kND20w6YAmvQ/xozQyIdqG++bRnW7M/ETe66w92EO2G3YaT8vMfFu9dn4C1GbsPrOYnbNew5TTeVRKMO91fWz2/Cpk/WX2zTuPJ2cw2PO4GYfIvea4hATyNXOSbjQci+MZOeA+xK1lg+xWLSuX4+/9KcG46bfHswfVEL9hva3iyIXgFktdJ7/cCgA4BaeH1Sq+QhgA9LlwygB4BGZFzUUIGArLDK1heIRsBeQDIZoA8BJgAkEeFssUExthkNbbxjZV4OqB+C1jlY+B6QLGmv6I+3/SDeJW0+f4DnfEckc0R3vcPghrBLWTBJ/xykO6voOrAdM3j0JLzPOjginy5YMbcOIFIk01WL8qfP/Wy5M+/h5n6W33I/PXlf8ufz31F4c/ffCnan5e8ovDnuasvyZ+ffenf8+dvGCIOptnQTgez6KUoB2N+WeZgFq1S+PPfv3J+f/77l/6b/fn+VdTZ7lxF/Pm2R87rz/+xSubPL1/VPn/uZk1Ur4ry5zevivjz8dkRdk/Nbie7+6yKYvfeVTJ29/mnzJ/veIn68+deov5cYV9h0J7E/SXAkbHhZo+J8/u+o9dI6R7anxLJMbGH0mSK+cxLVHpD46yABf8ZYwWMvAoIvMwGGzaS8R1b+BqWKF/zHphIV76EMSVavpGeldrNN4zWsA2Nuzn/bf/EFbB8/rGtbHF8Jae62HrmHzT++PkfslVftsb1ACksXyP+8B90kacFUnPDMXcV9Nb0UIasu6tWseXPTRx9/RV9752J3/AJ6/IB/2nSlnIDMIBKgauyhM6G6SG2Rsk33BkibYmPWcjgJG9dA7x4xWA7dvWtsHsa+InF2wueKc8TQhASEHYFBM9Hwql9gua4YOzxvsAX/QLm6X0tfPkKLxE1hu79JPBHQJcPcQExqPcF9pyDsOBzKgfypsjl32DfgPMvsHssdFviKZIrATlMAzlsk+TgDC+7jvHvfTEiB8La1VGsdb1IWXv7iwpBEKn51FIb/yKV2vUvUjmINI5yrmQvDiSvWqtSx1EWiAvAmybQ6Gk4SiF8gxhDRx3feBitCnkhRs5KtIzHmBCKQ9L+SoOLyeNhtTzuuT6GLGLwfwzy3yrx3xrmv5BJwhC6Q3OlYofmxpV0VE5eyYYyXarfD24rT+a2iPAIf5HewDPn4uzJPPEC9VjaDWUYCZNoNPEFDINHWbw3aSl/fnpe4WA+fpG+0KMHCf8EcrJu4wvUe9yicDoYTRgD7o68DkZ6Ny6YKrmfNAvdy2OOSBtLRNFOJroQGu7YofqG57ETGNbWt2TSbkxCnfDmplu8pemsZ2lQSriW7j5fM68TlXfB8xJP7GBz3sK2/cdXKFiwcyVlQX/KAqApm2364frv8zhagjfL3nUZxYkugqczfVkCOCl2rL8gFhvU1gH3arJZyJ6NZtocDE8tIXLHpW/28pJT/s9eoGcUIDZiO7hGxdjp9DwdOwnPU10ifQj2JK96C0v20AoyRYjjEFtXUG+1cQUJ/929Ax6OvSwujOHvK2ikfgukwWp4JvnEYDajbjql7ncK6qpWEOqCIyM1jvv3PQc4Mkm1eG9kyV1BzceQFdIep3IE9VhBR1CXFbIRhGHh28/HWg8uJp4OXFuF/G2JHz3PjPvvEtnbEtkr7CpWRL+/ib26yeIZgOcJijyzdaTqyER2yOtHsrt2T17RmIpsdyF589dXACryjjdBhFd/Jom/PxeL4KusGnHReaKvyxG8Yla/giOZg4LxF/6BJ8nmIJnREBxPkzpnEuf2xavjpPzf5eUfJ+VxbnNql1XzNW6m1R9OFNOk/T/vAAj9dpIJR31LyI03xRP5+wsTwvvdvODpspMk1p1alupYmgb1kizGPe79ge44xcLXQH8D8cLEMxbP+5bmYIKlfrPG7Pksv/4bCNZ+6cLXI9sNJwO/cbLSN5/B22LNgQS8gub5sP6whnidHeT9Xj+e4O/pQC7AGj4n7yu7N2k/XhrdryOfevKZTV5QWt98zn1AaDwp9gjXkRUHMvnGn/EA52zc1sv8uMjTbGn+ukORp8XSfDgZrzr8UrGE12l4nUXHd0tq47tZ23QTff0N43hdEn5YDQAvbNPjg+x8AF4BH9YrsEwOPjDhg+IT+bxTeoItt81EcK2Am6Ka94AhZ9xP463VfMHXpQ3PIVj4V9oEX+4pUgKnpt8mW059xuRzgneOb+N1qYApHyjqCBX0guYrS2iT+zvsETk4a/HsspzaVYTS/Vqo/zoRg6+9FG3/U5N9PcgFrAomzxzBk0vkbdV8DNhC7u8tIPK6aVbfxMQi/pVtRZ5NluZvkq2+mxMgux80BzBtE3x1GoLR2/8jojDe/qfASu3UTvT2P4BfdBPJk1upTlg1+1AtdtGNGho0Q2zReJJvxLfAB5zn0J6RH/6I+YaJQ8sVb5h4yCO9YWLHcvnwrVgSiVeLrd55OqvXll1kPEFuWVp48/tA8ofkRQj3o3oaP3W7rcYf3bXkhZq/x5GzLvIShymg3fMy2HU4A1iP5mDmEouvR4Zg/Ix/GPVbyAwKRnTm+K9VqG/VWIzn+IbeZIeo/zmLd8gvYLHmv2/xFWuEjkeh3j07Ap9qMNBrgsYhHmoyG3ZjS1avMwMoAcgmvvElcnT9U74xj8zf91s7tvENb+P0M3wL2tL8baKl+WBiUeZmUFb4+g183ctoBZcMs8T3iHxhUE3y9h9o8d41ghPeDUc7jZ/P74m3xoWOXwrGs/f0DBRo2H0NDQL4h3PIYDtgNYasvDUE3cMjMprJvvTuFuOJib7cFPcKi3Gve3lgMDk9T9otwlHaV8OI74YEb1ATjJRKLN1t9QCZwdFy+U30DckhBLxG7gEeEIynoPFTEgFWzaYizS6L8WO6C27x9oGe9cSFgPlbLb4aqT8twbn0PatY5u0IDdj+YQUN71k9Xxl2B8MUQPv9AMNdIxVt4xtQNEWarVZs+0PRaPH270gvZn4+/wML3lyl7W6PeeA541n0OfRWJdN/aVOchK3rloV3q/E9/hF3jm6683Ia0+L+7bPUpWqX49ys3esTvyyT1ieO+AAx/jSEf9qz/9b6xN5nFesTvZdFr0+8/qwidnrsL5e0PjFj2b+3PtFzYGTCPHBgOyfM/qVRE+YVy2QTZv8zivWJ9c+ef31i/dL/5vWJvKU0HMte2p79hk5LZesTdz/TvvWJT56hTXzwTNT6xFvPRNYnnh8QYfdrA9rJ7gXPRLF75FIZuxc8LVufGLKMxnFJy+j6BOq/xbMPLb7Vd/UDV+i5aYJv6GJIS/I9ZyGKs2YeIr8R03w20f/RU2QhQdRj6NDATlf8Clao0HM8P9TjC3Is1fil+ygZpjPC23tLIhbqxGb2mzPsV2Y0il/JivxpuJg/dx7+jSwpTVGlWlXaSZV2UaWpqlSnStV/w8odc4e5xPLKGq7uWvwdO27YHGe1Y1hN5R8qh1VX1lSWOWvK7TnDHDVzXcPsYpmz3FGHv10+rHaBOMdZk5OVN8xVKTqG1trLbrfPdrgIvM5ew55Xlg1zi5VVrmGuOfY6R7mtzlGRNae2litwuqvKa64R9fijfPqKyiqHnivVD86w1zhrFlQ73S59jb3a4QKsjszRoyVco0cTZKNHR7CNBdpHj2a/Nzh6tPz3BsfiTw1er79+9GhopM4uOuuGXp+RqSc/Naq/pVR/nf5CdWcATYMugaYLVsHfrYUqNuy4jL7BSvIuCs0MTk7/6NH0VzIvsQMXw9TBF8vTq12j9TZbrdOlz5g3p7Jsjr7Spb/6Tnem/nq9OKfSNfR6V+WdDkCqfMpZhk3R0zYrnTV6+J/8AmM5UZ5/R3fmOsqgF2OrnDWzh1Dq2a/6MiB09oI61A4cMzhaaPRo9guzXGXNXHtVZbm+CsZPnb1KX+Gs02NhwD+vUpyjx1+S1RuyR1/zH+hde1UJJBXVgYuoexG8+p+jaAan7wT/d+2oGiHynx3W17irqvQ1TlFPZKIq6XLPgq/ceDRTWIYaLRBXncMOlnM2l60fe52+Rj9oEHyM1ZfbRbukxf9xc0q6BlVcIjGkmEUe6BEytvR6VK8KR52jpszRbvtBqhI1jYjulhkZCMmkgsOvMy5RDdtLRZ19ns1eV2dfII2Y+Hp0iShncHcumD9vrlt01d1R66yprrr9D5VzZlc4ystm2Y15o0aOyM0Zbsg2DM/JHTFyVJ7RPqus3FExe07lH26vqq5x1t5R5xLdc+fNX3AnlXclyrsS5E20c7ZDHJt9fYYNel7r+M+LvbKmrMpd7mDiB2TYLaIBY8sdaOkdNaIeH17fbu4wJMxqtbdWLelgtIzCCkPlNCiiOEP0tSUXITR5A+DU3BWgzv9No0jOxrlOMMX/s6zD36qvBHNzp8NWUeestjnm19ZlUPaZ9YMy/yMcHAKo2l+zxl1du4DQceFhKwneNnp0hbuGujZw6u1gB2ll9Ohyh2gnxsJOf9u9EpR4fsRdVjkqRK6KuwYDAHuNXvKW8Ol2EON7u2PBPGdduf4aV2W545r/L8CIAGcTCVJC/ic5oh/U/ppAnVg52w3lbDXOumrCxXKbq6qyzAHC/28a7xHuKJ0nseDwdVYVqGHF2IH6avsCm3Ouo67KXsu4aQZ5E90bopczOb8OuFWSlZUFnb+edu7/MWFBIFXmrF2g0HvgCijt/06fcKCN/U90jI48Gvo4qmvFBXqX4w43RlZcBvzN0l9/nT47U38D0IrhANEhEKmjDiLHqsrqStEFrrmsClvKmJUJfKq2z4c4Zqh+VqZ+tD6jHeUra2h5RG/PhD+MOK5Evayocs7Tl81xlN1+5X98rIQN+zB7eTkZJ8gD/cU4BKiYQeVIYgLGr7GXwq5rL5Jd1/7vsQumCZfGLqioYBf8TTYMt02wThmXb7XZJtsMeVK9EURxR1mmmOvqnHXmC5QzjDTXzK2sg1gXwsP21cgpEe04FMvbVdxonl/mqMUZ+YURj4P5rKw4+11v9nv3nR8xKX7nXoJ/vYTB2XMJ/hqDT1fBFzJ4rQo+ncEXMXj496VZHpfXSX4GTZv6KsvVqsrp7bHLmVTlilXlLsCk7BvRxTDWy+nPflTZr/Dvez+qbM/kULan6Zc45jv2W+q6xlAI39RRvCgU+j4BeAUpLkyuhnQIpLWeUCg9Eco9FAqV4vWIjaHQSkjbIG2DdPnWUKgwieMOvhcKkV/Ifj8UWgppNqRP4tXVD0MhPDG7GtI9kB6EtA3ShR+FQl/g893QDrS7HN+VBelOSPXJgH9PKFQO+eJ9odBMyBd/Fgo9B6np61BoNS6UHgqFfsZyR6D9FEiPhkKLIJ0ZDIV2soVS6bfuNXdO5TTzdZp+XTpol2g66HTs9+LnPxgKSb9bHrssXSPFsndBWWl9Fo/r4q7FtnrgHfIkVTc+NW0i33mediF3Q98xg3PSyc+/Y5npKJ9todAVyJtxqbr81LT8VH194uKEhGP4VTcuVQsAh/QdzwM8DP9uBX6S334HcH2CLRXXevEZHk5r2hH72Rb4tyfGMzw+i7+P4odnuLWPdIxLTRuXqh+XmpGfml2f8nCyL2lx4p8SEhpSMwg4jRTRUrz43mLrzlDo8jDem8Jt4vZj8c7oNgX4VwrPGkCeNybQZ+E2x6Vm56fmFaYW13d4OMWXvDjpT4kPJCRel5CaB9SMk5GQH6Z/Ob4P76tQaE2inP58Sn/yw4T6xFsSMR8hH56hXL+AureCng9kNCKF/cPyLrYSiXdILIbhkSjJfQiTc+EDoRC+oSJp0VMmlfymyOTHFWN/4d8aKH8oF8o/CeWj+zwhdeFlik4fGRar0/lQDNpm8i5+OxQ6ijQsfNqkll1hqkkmvlexEYUE81NNhDZ8v/dpwPP3ZKTtaVNMeSzUKGgbnxSHNpQ58gbS0uZQaDSM46Q9T8fu706tAueXCbFx7gRBo3XCHaklLaHQFJBzUo9nTApZT0htSgwLe2KCWthNiRQHynvp9lDoDOhdUu75cOhi4hiLthPqrvwgFOqHOEqfkfWN4NgJOGiPamQYaE8SkYaZCXh7g9Fw18XTgHfinoO6z4EdPAT2LGnpM7FlVqtg72OJsdlbi/h+RloOhEJ+TL+IiQ/URYHvyTjiMmEfC4HO575mfWy7+D6ifs8HfZz5XSjkYHbpTwlQaHGiOVXvS4JWH04WUrMfSBFS8+o7FKWa6gg1KhUnNroJ8Cz6LmKj8S8U0nRBw95DexPXfx7Jf6PhjoF2HNN0/+Iq7puEro9cxTWldH95ELc7pfuTg7jDHbQPX8Ud0y54G753fBD0+lhX3UeZ3Nmuun2Z3DJeu3YQt0bnOpDJvdDtBdDYD/t0XzKIO9jnDWj9vwZ0evAq7i8DbuO4swOG+a/kVuk7AbK1+lHw/ZErM9Zfya2/8l88x708XPt9Bbd9eOcfKrgtN3T9uYzzWrv+MovzTtG+Z+f8U/nvZnGnpgK9P5T0PFzOvTiN32Ln1k37C3Rt303dN9q5wE0NwL1jN9drdtm51fZOUOstezJ832h/Xkv73aOE363hZlWAk9J0gm+7NWkEPgLyCOO/7sjt0+xCJU/iv+7E7U7mn+/EfZ38J4C0dei6shO3ouMVX3TkNnc8qJF4OfrPCV2XduCWJ9ggm6Dd2oGrT9K93oF7LanrkQ7cxqRHoe6uFK2nA/dpCnD9WIr2wQ7cv1K2alj9/v34d1K48cM+T+ZWaoZtS+b2JXb6JYn7OvGHBPK8XxofSOau6bEomasZ9q8kbllip+eTuBcSP0mg9QeigS31al5N5A5oRnHc4wnjQPM+Txi4JJE7k/CXMJ0XwmPkpnHcNN0vXbgFvLcr15rQrbULd18Sv6cLtyRpC6DZk/yPhH924d7uOD7QmVvcOWNtZ25t51cSJPw67m0Q99vJ2k+Suc3JV1+4zbh//Wk81sbisp39TNz///u/508TJ301RZl/W5Xfn6Lcn1/Sm8q9q7Tvfw/N92H5DBbv91Pt2/dlaR573l91LuBf50JOTJ9MoPiSGXyb1qQ4T3CaPZfOD3zcgaadWT6NpT1V/U8MT5hmKs4vbEtSxtQMHddbet7dpIDv72ZS0C39CGBHVfvnQrQ/aax8iOUlOtpYfqnuf3cc+dl8Vf3XwuS8l6WHWXqSpSlpNO3F0kEsHcnS8Sy9kaUVLJ3L0gdY+jhLn2fpWpa2sHQvSw+z9CRLU/qw9lk6iKUjWTqepTeytIKlc1n6AEsfZ+nzLF3L0haW7mXpYZaeZGkKs4O9WDqIpSNZOp6lN7K0gqVzWfoASx9n6fMsXcvSFpbuZenhvrH1ZEJBwWh9xrRZ7hrRrc/Lys3KHmpwk5zhHkNeVnZuJoVyZVX2mtn6uY46Fx4/MGRnwX9DcxVFs4brz6sriWAV8hJMMeAJXGlMeCInxoQnhce5Ep4cHt9KeErYDijhHWKOn0QYndK4U8I7hsevEt4pPM6V8M5he6eEd+FWx4R3DftHJTw1bCeVcJ7TxYTruOWPxoJ34xb9ORa8O4dTvmj4ZWF7rIT3CNthJbwnZ4oJ7xXTTiSClfT/JRY8LWxnlfA+3Oq/xoL35ZpiwvtFwX4gZ81+DMX2b9F8uIzBn1TBr2ZwnHLJ//IYvFQFn8Tgd6ngtzH4UhX8Dgb/QgVvYHCcHsv/HmfwNlX5FyX6VeXfZvA9KvgHDN5DhecA8XkR/RzI4D8z+JI7KfwMc4x4Xhrh+llKeB2DS+t0VzM8f2dwab1Qgu+T8LDylzM4vk0N4TvZeuUU5hh/x+B6FZ5GBl/+Owo/yuCrGXzhrRR+BQtcPmPwtkol/T0TGZ4ZSvzjGPygi8LXMHp2MPhCRs/jrLw+CXWuL7f7bzMV8dLEJFp+NYuXcX0F/1YyeFsVg7OAZnoyo2cehfsZnYNTmFymUvjfWUD0LoObplP4aBa/3NyBwmsZn/sxPCsYfMls5o8Y/FgHSv8uFf1nCJwPr8tK8cwQLYVL68MS3MbgtSr4owy+SAXfxuDLVfCfGXy6Cn5lRwqX1o+HMPhUBpfW3YdJesLg0vq6BF/H4NL6+nDJnjC4tL6eIcWrnShcWr8fLL3dmcHnP6osP5/BtSr4Pxn84CNK+FcMvk4F79Q5tn3r2ZnKcaZq3tWbwZeo4IMZXD1PM3Wmct+pkvsUAo/2C3MZHmn+J/3dT8pH+5d49P+VlO/GNcTwU7HKv9KZzh7UfnATwRPtj97vTK29mv4vGFxN53GCJ9pPJXdB6xn9lxYHbuiCVPaJ8l95AO8m86cSn6fGwfNUN7ApMfzjC3HKtxL8kfhBOn+9N075owTeldMxOf5Z4kOc8j26xobfEAf+X3HgLwK8W0Ifbp2qX2vjlN/fFX1TT06Q9sMYvHtq7PJD48CFOPC6OPBneyI8Ok77M5ZPAL/GxpE0b/xnHDwb4sAH8LHhxjjwZd2ovPSsXWnvpyhOeXscuCjB+yj79XSc8qt4yv9tjP/SjKDzZVg+Oh4+w1P5qvVfq4uN3xEH/ngc+LE4cK5bbHj3OPBR3bBKJM7UsQE5uRvtr1/aZ2Xl6+PgeaIbHe/qcbqvM8L7cvv/poQ/FwfPujjwvd0oHjU/v4lTvmf32PA74sAfjwM/HgeuuYzq4ZK7qdwdEvsvi6OHceBiHPjuOHBDj9jw8QxerJpnzY5TvjUOXNczNjwjDtwUB/5YT8of7h6lfXguTvmtceDf9aR6KJ0fkNbNEnpFxqBC/XtRPOr9+5G9KJ5ihkeKo37P4HOWKe3qil6x6Wlh8IPq+eyEggKbg5yCsIl43iw7CmKIhsQA5UaDRkaDRkWDjFGg4dGQaKpyoiDRFIziwmcbXO5ZNoutIqustpaz3dz+Uw8Fwy0T8w0jbGVms7mwduqkUtvFVx9uvNTqhdnmuReuoDzJckl1hrerjuIoDnZtconBluMS68wX0T0llnZRi00UDDcXTyq7YNFcvH7Tru5IZ5aoiEZejIikqu0ifhQ7SGipQm6NpAcELROrkGfQ9tRJJSNshJHDR53n9B+WnjoJixkMsnOallLbxMLa0mwbPD4fJeQahCE7cg3CUiKOpDdfLJNLsm0RPptL7BagCJlxfi7mzXJXVomVNa7cyc4aB2l9ksFgs7EDabaK3Go73hKwXFi20BgSkYsA6JHZYKhzuNxVMIoBYJ5SMspGscfBQ/gxih36Ngx3Oex1ZXNczjrRUQ7NT5wa6aBcFiNUsjBPxaSwtKzKVafCbVYiddViGSC83Dyqwlk3D3QZqa6oJVyrnVJScBH0jrTXza4mfJoYodOQHTn5TuRjDJ/Ok+rlgEUzT8RunLdTJYU2ksbpGGv9gj0af94ehVUBhSkROMJVW1UpKvsVthVKYhT1zbTiBUnKax9JxCBINOXhBamqyhqHSi9IofMRRguEq1+QOGP7iJPoyq2sEW1A09QoVlVNofZINlwvPJxwCOcAKcZat2uObZa97HYYRDmIp0S05tlslU68KQDZUsvFnP9rR3n1ocr2VFEd8GxHlRinSC9cK3JG9cJljcoulFwkl0ounkslF8+lkkviUslFcKnkorh040Vy6caL59KNF8+lG9vb37I60SW6KyBE5ModdY7ZlS7RUWcTq2Fcgn9zcTZbudM2u8o5y15lK4eB6LLZ3fO5Mmd1bZUDnELWKKNxVOxCtgoYbvTinw1kUbeAq6izVzts5e7q6gVQRZaz4cBUFLXZxk/NLzLbzJMLbTCCbRMmT7OZBQYUCqdytsLfT84vshTAM0XlciXAJdrrxHA8PGX8+BJzqa00f5zVbOMqREdVlck0wWoZV2AbnjU8awQxOc6cWrdoLmMPpk+35WTlcjYHXiclpmRUjRNcvXOeqgAaq1HsxrVhuPzmqqWsRDQY8Nq1Tayzg423lKGtgsjLaCuy0RviGOVVKzBmDTdQpHmVTpcNbyFjZKJq1DLFRt4aYHO7HOUcNFflqFH2CKMRDsmy29jNXQebLIB2mUyAKX+cxWbIyiF9G55ts5HO2QDRbHGOzYFaArT9pzrrclXOroGQriTXFtXbake1yyGqBGIrdzltc0C9qxzQbHlV8VyoLBqZDGyimrDSG6H9EWGKHPbqWe6KWESZVTWRNkedaKuwV8ZSihEVVeBVogQAPDMYwzxzzoZW47CMiKCizhGX/eVVEKEyCYHaioCqttKBXCmrXRChyKBmv5F21kn5T/scXwoFBjM8yrFZQKmmgOZVO8sd0XpH9UV0zK9Uy4OIQNm1CvIKAHW5mnnVMZTGkFPnhmgfBj5hU6FBzdFZZdW1alSlpZfeX3OMzpUWFUiGBeU30kaQARqwHKgDMdVlKhIfaRobBUsCU5CSkbbiSRBnVClbMpJQqEQcUUbi+zIzML3INq+y3FFDDJSq41kGw6UNK7Dzshv05uqyqA5X4EV5JU9RD9VcppygmjzLXm4rs7vEGOqeW+Z0xxh1kw3ZhHD7rMq5BjQjrkpwITCmyGwGelzhNCv0vZqYo6jRDlaWGW3okOiMMRTFkThIYLobpTs22yxoj5l8tGa5Un+AZJuzwkZvuFZUizA871TxKZvJ66L5nwN+rhycXZ0L2yCG/EKWPNcCClAQTf8lyT8b5F/nqK2yw3S5ujqmH6lwOCvUnK6qnFVmK3O5bSwovoSmR7F3aJhjtDjbIbpiyE41/oEHOL2/6JbNsRh8KcIbSYQHeirawKXElx9Y4WrnXPWYsc2eP98GU1SXs8YOk7cFtrnZKpd6SUSNkmnUeakiLGX2EHQrpt0aUVYFk3g0+sOJ0Yd/4FwcsbwTC2vkHZhWMw9pmepwuauxTkEBlM++9ACgDAyn6DBPjdWZiEpi5Mg655Av1qmJJhXIeLdhnBPlNyxyBOrKs6udNayyjUkqUjh33hy7GD0+EaNKhWOYQhlrRshZEycSia/S4EPPH+1EGZVoo8hluRZUi/ZZkIJBJekc6RvMvx11tVwW4HdkgcyHivbZLDe7xp2F8/XyoZXlHMnNsbvmcFnlC2oAH03FOvqEHcdTZGzwDMIZOxZk32qrRGwSrE0WRBbwScScVeckoXWWYw6bEswpr4vkAGlZmWJ5m+Kg8T3FIX1HPNgUoCQE2qsry6C+UyQftH3aFvgJLgsmMThJ/E+cP+3H9salfRPpfGEeA/SPc45Z+ruKnc2V6kvnEEsZQB911kC1z6SqL51XFBMi9+fOVx/vhZwMhZxSfelc45MMcKt0rkB13ln6m8zOLieozjefZoCdyZH3qWlk9aV9nRvZmeIE1XnpbVrl+eh4/LuNnU2W6kvnKZeyDai7VPSr3/92OzvrLOWlc5dp3Wi+iYvQnxij/3cyniaozlfv76Y8X63mX5rsPB3WH6c6r72tu/J8dzKro66/mPEkRXW+fUlv5TnwePL3qOpL50JXs4qmRNW+oyp9TFVfOp/Xxg7Mdy+LXT+8j6+qL51fSLpHeS49Hv3LVeNPOk+iY/WX9Dh/+ytV9aXzOssfZfuaF2h/raq+dL510Z9liiM/V6Cq36Suz84XLXqK5RPO3/5ujr5rMFF1fyFjaez+qt9n+BX842X1pfNHeUtj06uuf5TRL9WXzguZWP2VqgGrtmenZGNLfp7fv0w5UNXvY9TJDIK8fek8r/8v7et/sqp++DzVcjYeNOevn6qqL52rWP3X87cfPqekoTCpvnRuoonVT7sA//qw9rPVesXqF7fjHk2se1O6v7H2WAfw3OvMGPano5x3sr/s12ga7HV++90tTv1+77Hzk5rz1/8/sfhrmQDSAAA='
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)