Greasy Fork is available in English.

B站直播心心助手

我的我的 都是我的

Ekde 2020/09/10. Vidu La ĝisdata versio.

// ==UserScript==
// @name         B站直播心心助手
// @namespace    http://tampermonkey.net/
// @version      8.1.1
// @description  我的我的 都是我的
// @author       逆回十六夜、SeaLoong
// @license      MIT License
// @include      /https?:\/\/live\.bilibili\.com\/\d+\??.*/
// @require      https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
// @run-at       document-start
// @connect      passport.bilibili.com
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// ==/UserScript==
let logSwitch = false; //控制开关
let NAME = 'IZAYOI';
let BAPI, MY_API, SmallHeart;
let userToken = undefined,
    tokenData = JSON.parse(localStorage.getItem(`${NAME}_Token`)) || {}, appToken, setToken, baseQuery;
if (!logSwitch) {
    console.log = () => {
    };//关闭控制台输出
}

if (typeof unsafeWindow !== 'undefined') {
    const safeWindow = window;
    window = unsafeWindow; // eslint-disable-line no-global-assign
    window.safeWindow = safeWindow;
}
const controllers = [];
let isRemove = false;
(function () {//参考自SeaLoonghttps://github.com/SeaLoong/TampermonkeyScripts/blob/master/%E7%A7%BB%E9%99%A4Bilibili%E7%9B%B4%E6%92%AD%E6%92%AD%E6%94%BE%E5%99%A8.user.js
    const urlSet = new Set();
    const wfetch = window.fetch;
    window.fetch = (input, init) => new Promise((resolve, reject) => {
        let url = input;
        if (typeof Request !== 'undefined' && input instanceof Request) url = input.url;
        if (!url.includes('//data.bilibili.com') && url.includes('bilivideo.com')) {
            if (isRemove) return;
            urlSet.add(url);
            if (!init) init = {};
            const controller = new AbortController();
            controllers.push(controller);
            if (init.signal) {
                const _onabort = init.signal.onabort;
                init.signal.onabort = function (...args) {
                    controller.abort.apply(this, args);
                    if (_onabort instanceof Function) return _onabort.apply(this, args);
                };
            }
            init.signal = controller.signal;
        }
        wfetch(input, init).then(resolve, function (reason) {
            if (urlSet.has(url)) return;
            return reject.call(this, reason);
        });
    });
})();

let Info = {
    roomId: undefined,
    uid: undefined,
    tid: undefined,
    silver: undefined,
    gold: undefined,
    mobile_verify: undefined,
    identification: undefined,
    awardBlocked: undefined,
    token: undefined,
};
$(function () {//DOM完毕,等待弹幕加载完成
    let loadInfo = (delay) => {
        setTimeout(function () {
            if (BilibiliLive === undefined || parseInt(BilibiliLive.UID) === 0 || isNaN(parseInt(BilibiliLive.UID))) {
                loadInfo(1000);
                console.log('无配置信息');
                $('#chat-items').append($(`<div style="color: red;" class="izayoi_error">请先登录在使用脚本!</div>`));//向聊天框加入信息
            } else {
                Info.roomId = BilibiliLive.ROOMID;
                Info.uid = BilibiliLive.UID;
                Info.tid = BilibiliLive.ANCHOR_UID;
                console.log(Info);
                $('.izayoi_error').remove();
                init();
            }
        }, delay);
    };
    loadInfo(1000);
    addStyle();//加载style
});

Array.prototype.remove = function (val) {
    let index = this.indexOf(val);
    if (index > -1) {
        this.splice(index, 1);
    }
};

function addStyle() {
    $('head').append(`
<style>
    .izayoi_input{
        outline: none;
        border: 1px solid #e9eaec;
        background-color: #fff;
        border-radius: 4px;
        padding: 1px 0 0;
        overflow: hidden;
        font-size: 12px;
        line-height: 19px;
        width: 30px;
    }
    .izayoi_btn{
        background-color: #23ade5;
        color: #fff;
        border-radius: 4px;
        border: none;
        padding: 5px;
        cursor: pointer;
        box-shadow: 0 0 2px #00000075;
    }
    .izayoi_fs{
        border: 2px solid #d4d4d4;
    }
</style>
    `)
}

function init() {//API初始化
    try {
        BAPI = BilibiliAPI;
    } catch (err) {
        alert(`[${NAME}]BilibiliAPI初始化失败,请手动更改源`);
        return;
    }
    let tk = getCookie('bili_jct');
    BAPI.setCommonArgs(tk, '');// 设置token
    Info.token = tk;

    MY_API = {
        CONFIG_DEFAULT: {
            RANDOM_DELAY: true,
            TIME_AREA_DISABLE: false,
            TIME_AREA_START: 2,
            TIME_AREA_END: 8,
            RANDOM_SKIP: 0,
            MAX_GIFT: 99999,
            AUTO_EXCHANGE: true,
            AUTO_SIGNIN: true,
            AUTO_HEART: true,
            SHARE: true,
            AUTO_GROUP_SIGN: true,
        },
        CONFIG: {},
        GIFT_COUNT: {
            COUNT: 0,
            LOVE_COUNT: 0,
            CLEAR_TS: 0,
            EXCHANGE_TS: 0,
            SIGN_TS: 0,
            SHARE_TS: 0,
            AUTO_GROUP_SIGH_TS: 0,
            LH_TS: 0,
        },
        init: function () {
            let p = $.Deferred();
            try {
                MY_API.loadConfig().then(function () {
                    MY_API.chatLog('脚本载入配置成功', 'success');
                    p.resolve()
                });
            } catch (e) {
                console.log('API初始化出错', e);
                MY_API.chatLog('脚本初始化出错', 'warning');
                p.reject()
            }
            return p
        },
        loadConfig: function () {
            let p = $.Deferred();
            try {
                let config = JSON.parse(localStorage.getItem(`${NAME}_CONFIG`));
                $.extend(true, MY_API.CONFIG, MY_API.CONFIG_DEFAULT);
                for (let item in MY_API.CONFIG) {
                    if (!MY_API.CONFIG.hasOwnProperty(item)) continue;
                    if (config[item] !== undefined && config[item] !== null) MY_API.CONFIG[item] = config[item];
                }
                MY_API.loadGiftCount();//载入礼物统计
                p.resolve()
            } catch (e) {
                console.log('API载入配置失败,加载默认配置', e);
                MY_API.setDefaults();
                p.reject()
            }
            return p
        },
        saveConfig: function () {
            try {
                localStorage.setItem(`${NAME}_CONFIG`, JSON.stringify(MY_API.CONFIG));
                MY_API.chatLog('配置已保存');
                console.log(MY_API.CONFIG);
                return true
            } catch (e) {
                console.log('API保存出错', e);
                return false
            }
        },
        setDefaults: function () {
            MY_API.CONFIG = MY_API.CONFIG_DEFAULT;
            MY_API.saveConfig();
            MY_API.chatLog('配置已重置为默认3秒后刷新页面');
            setTimeout(() => {
                window.location.reload()
            }, 3000);
        },
        loadGiftCount: function () {
            try {
                let config = JSON.parse(localStorage.getItem(`${NAME}_GIFT_COUNT`));
                for (let item in MY_API.GIFT_COUNT) {
                    if (!MY_API.GIFT_COUNT.hasOwnProperty(item)) continue;
                    if (config[item] !== undefined && config[item] !== null) MY_API.GIFT_COUNT[item] = config[item];
                }
                console.log(MY_API.GIFT_COUNT);
            } catch (e) {
                console.log('读取统计失败', e);
            }
        },
        saveGiftCount: function () {
            try {
                localStorage.setItem(`${NAME}_GIFT_COUNT`, JSON.stringify(MY_API.GIFT_COUNT));
                console.log('统计保存成功', MY_API.GIFT_COUNT);
                return true
            } catch (e) {
                console.log('统计保存出错', e);
                return false
            }
        },
        resetGiftCount: function () {
            try {
                localStorage.setItem(`${NAME}_GIFT_COUNT`, JSON.stringify({
                    COUNT: 0,
                    LOVE_COUNT: 0,
                    CLEAR_TS: 0,
                    EXCHANGE_TS: 0,
                    SIGN_TS: 0,
                    SHARE_TS: 0,
                    AUTO_GROUP_SIGH_TS: 0,
                    LH_TS: 0,
                }));
                localStorage.removeItem(`${NAME}_Token`);
                MY_API.chatLog('统计缓存重置成功,请刷新页面');
                console.log('统计缓存重置成功', MY_API.GIFT_COUNT);
                return true
            } catch (e) {
                console.log('统计缓存重置成功', e);
                return false
            }
        },
        addGift: function (count) {
            MY_API.GIFT_COUNT.COUNT += count;
            $('#giftCount span:eq(0)').text(MY_API.GIFT_COUNT.COUNT);
            MY_API.saveGiftCount();
        },
        addLove: function (count) {
            MY_API.GIFT_COUNT.LOVE_COUNT = parseInt(MY_API.GIFT_COUNT.LOVE_COUNT) + parseInt(count);
            $('#giftCount span:eq(1)').text(MY_API.GIFT_COUNT.LOVE_COUNT);
            MY_API.saveGiftCount();
        },
        creatSetBox: function () {//创建设置框
            //添加按钮
            let btn = $('<button class="izayoi_btn" style="opacity: .5;position: absolute;' +
                'top: 128px; left: 0;z-index: 10;">隐藏信息</button>');
            btn.click(function () {
                $('.izayoiMsg').hide();
            });
            let div = $('<div>');
            div.css({
                'width': '400px',
                'height': 'auto',
                'position': 'absolute',
                'top': '110px',
                'right': '10px',
                'background': 'rgb(248, 248, 248)',
                'padding': '10px',
                'z-index': '10',
                'border-radius': '4px',
                'overflow': 'hidden',
                'box-shadow': '1px 1px 2px #00000075',
                'display': 'none',
            });
            //添加按钮
            let btn2 = $('<button id="izayoi_setting" class="izayoi_btn" style="opacity: .5;' +
                'position: absolute;top: 128px; right: 0;z-index: 10;">设置界面</button>');
            btn2.click(function () {
                if (btn2.text() === '设置界面') {
                    div.fadeIn();
                    btn2.text('隐藏界面')
                } else {
                    div.fadeOut();
                    btn2.text('设置界面')
                }
            });
            //添加按钮
            let btn3 = $('<button id="izayoi_setting" class="izayoi_btn" style="opacity: .5;' +
                'position: absolute;top: 128px; left: calc(50% - 35px);z-index: 10;">移除播放器</button>');
            btn3.click(function () {
                if (isRemove) return;
                isRemove = true;
                document.getElementById('live-player').remove();
                controllers.forEach(v => v.abort());
            });

            $('.chat-history-panel').append(btn, btn2, btn3);

            div.append(`
<fieldset class="izayoi_fs">
     <legend>瓜子及签到</legend>
        <div data-toggle="AUTO_SIGNIN">
        <label style="cursor: pointer; margin: 5px auto;">
        <input style="vertical-align: text-top;" type="checkbox">自动签到
        </label>
        </div>
        <div data-toggle="AUTO_EXCHANGE">
        <label style="cursor: pointer; margin: 5px auto;">
        <input style="vertical-align: text-top;" type="checkbox">自动银瓜子换硬币(一天一个)
        </label>
        </div>
        <div data-toggle="AUTO_HEART">
        <label style="cursor: pointer; margin: 5px auto;">
        <input style="vertical-align: text-top;" type="checkbox">自动光速获取小心心
        </label>
        </div>
        <div data-toggle="SHARE">
        <label style="cursor: pointer; margin: 5px auto;">
        <input style="vertical-align: text-top;" type="checkbox">自动分享视频(5点经验,不会出现在动态)
        </label>
        </div>
        <div data-toggle="AUTO_GROUP_SIGN">
        <label style="cursor: pointer; margin: 5px auto;">
        <input style="vertical-align: text-top;" type="checkbox">自动应援团签到(相应勋章加10点亲密度)
        </label>
        </div>
</fieldset>
<fieldset class="izayoi_fs">
     <legend>功能</legend>
     <div data-toggle="BUY_BADGE">
        <label style="cursor: pointer; margin: 5px auto; color: blue">
        20硬币购买指定直播间勋章 直播间号:<input class="ID izayoi_input" style="width: 70px;" placeholder="房间ID" type="text">
        </label>
        <button data-action="buy" class="izayoi_btn">购买</button>
        <br>↑和视频投币不一样 购买后的勋章无需领取 官方接口放心使用↑
    </div>
</fieldset>
<fieldset class="izayoi_fs">
    <legend>其他设置</legend>
    <div>
        <button data-action="reset" style="color: red;" class="izayoi_btn">重置设置为默认</button>
        <button data-action="resetCount" style="color: red;" class="izayoi_btn">清空缓存</button>
    </div>
</fieldset>
<fieldset class="izayoi_fs">
    <legend>说明</legend>
    <span style="color: #cf00ff;">粉丝勋章越多小心心获取越快 无论主播是否开播</span><br>
    <span style="color: #cf00ff;">如果有24个粉丝勋章则可以瞬间获得24个小心心无需等待</span><br>
    <span style="color: #cf00ff;">未挂满24个小心心不推荐直接送出,会导致脚本读取不到当天正确小心心数量而一直运行挂小心心功能</span><br>
    <span style="color: #cf00ff;">如需当天再次运行签到等功能请清空缓存</span><br>
    <span style="color: #cf00ff;">有问题私信</span><br>
</fieldset>
<fieldset class="izayoi_fs">
    <legend>更新</legend>
    <ul>
        <li><span style="color: rgb(79,178,255);">9-3:优化小心心获取,添加移除播放器功能</span></li>
        <li><span style="color: rgb(79,178,255);">9-1:新版获取小心心功能实现,优化签到运行逻辑,客户端心跳</span></li>
    </ul>
</fieldset>
`);
            $('.player-ctnr').append(div);

            let checkList = [
                'AUTO_SIGNIN',
                'AUTO_EXCHANGE',
                'AUTO_HEART',
                'SHARE',
                'AUTO_GROUP_SIGN',
            ];
            for (let i of checkList) {//所有checkbox事件绑定
                let input = div.find(`div[data-toggle="${i}"] input:checkbox`);
                if (MY_API.CONFIG[i]) input.attr('checked', '');
                input.change(function () {
                    MY_API.CONFIG[i] = $(this).prop('checked');
                    MY_API.saveConfig()
                });
            }

            //对应配置状态

            //事件绑定
            div.find('button[data-action="reset"]').click(function () {//重置按钮
                MY_API.setDefaults();
            });
            div.find('button[data-action="resetCount"]').click(function () {//重置按钮
                MY_API.resetGiftCount();
            });

            div.find('#giftCount [data-action="countReset"]').click(function () {//
                MY_API.GIFT_COUNT = {
                    COUNT: 0,
                    LOVE_COUNT: 0,
                    CLEAR_TS: 0,
                };
                MY_API.saveGiftCount();
                MY_API.chatLog('已清空3秒后刷新页面');
                setTimeout(() => {
                    window.location.reload()
                }, 3000);
            });

            div.find('div[data-toggle="BUY_BADGE"] [data-action="buy"]').click(function () {
                let id = parseInt(div.find('div[data-toggle="BUY_BADGE"] .ID').val());
                MY_API.buyBadge(id);
            });
        },
        chatLog: function (text, type = 'info') {//自定义提示
            let div = $("<div class='izayoiMsg'>");
            let msg = $("<div>");
            let ct = $('#chat-history-list');
            let myDate = new Date();
            msg.html(text);
            div.text(myDate.toLocaleString());
            div.append(msg);
            div.css({
                'text-align': 'center',
                'border-radius': '4px',
                'min-height': '30px',
                'width': '256px',
                'color': '#9585FF',
                'line-height': '30px',
                'padding': '0 10px',
                'margin': '10px auto',
            });
            msg.css({
                'word-wrap': 'break-word',
                'width': '100%',
                'line-height': '1em',
                'margin-bottom': '10px',
            });
            switch (type) {
                case 'warning':
                    div.css({
                        'border': '1px solid rgb(236, 221, 192)',
                        'color': 'rgb(218, 142, 36)',
                        'background': 'rgb(245, 235, 221) none repeat scroll 0% 0%',
                    });
                    break;
                case 'success':
                    div.css({
                        'border': '1px solid rgba(22, 140, 0, 0.28)',
                        'color': 'rgb(69, 171, 69)',
                        'background': 'none 0% 0% repeat scroll rgba(16, 255, 0, 0.18)',
                    });
                    break;
                case 'error':
                    div.css({
                        'border': '1px solid rgba(255, 0, 39, 0.28)',
                        'color': 'rgb(116,0,15)',
                        'background': 'none 0% 0% repeat scroll rgba(255, 0, 39, 0.18)',
                    });
                    break;
                default:
                    div.css({
                        'border': '1px solid rgb(203, 195, 255)',
                        'background': 'rgb(233, 230, 255) none repeat scroll 0% 0%',
                    });
            }
            ct.find('#chat-items').append(div);//向聊天框加入信息
            ct.scrollTop(ct.prop("scrollHeight"));//滚动到底部
        },
        blocked: false,
        max_blocked: false,
        listen: (roomId, uid, area = '本直播间') => {
            BAPI.room.getConf(roomId).then((response) => {
                console.log('服务器地址', response);
                let wst = new BAPI.DanmuWebSocket(uid, roomId, response.data.host_server_list, response.data.token);
                wst.bind((newWst) => {
                    wst = newWst;
                    MY_API.chatLog(`${area}弹幕服务器连接断开,尝试重连`, 'warning');
                }, () => {
                    MY_API.chatLog(`连接弹幕服务器成功<br>房间号: ${roomId} 分区: ${area}`
                        , 'success');
                }, () => {
                    if (MY_API.blocked) {
                        wst.close();
                        MY_API.chatLog(`进了小黑屋主动与弹幕服务器断开连接-${area}`, 'warning')
                    }
                    if (MY_API.max_blocked) {
                        wst.close();
                        MY_API.chatLog(`辣条最大值主动与弹幕服务器断开连接-${area}`, 'warning')
                    }
                }, (obj) => {
                    if (inTimeArea(MY_API.CONFIG.TIME_AREA_START, MY_API.CONFIG.TIME_AREA_END) && MY_API.CONFIG.TIME_AREA_DISABLE) return;//当前是否在两点到八点 如果在则返回

                    console.log('弹幕公告' + area, obj);
                    switch (obj.cmd) {
                        case 'GUARD_MSG':
                            if (obj.roomid === obj.real_roomid) {
                                MY_API.checkRoom(obj.roomid, area);
                            } else {
                                MY_API.checkRoom(obj.roomid, area);
                                MY_API.checkRoom(obj.real_roomid, area);
                            }
                            break;
                        case 'PK_BATTLE_SETTLE_USER':
                            if (!!obj.data.winner) {
                                MY_API.checkRoom(obj.data.winner.room_id, area);
                            } else {
                                MY_API.checkRoom(obj.data.my_info.room_id, area);
                            }
                            break;
                        case 'NOTICE_MSG':
                            if (obj.roomid === obj.real_roomid) {
                                MY_API.checkRoom(obj.roomid, area);
                            } else {
                                MY_API.checkRoom(obj.roomid, area);
                                MY_API.checkRoom(obj.real_roomid, area);
                            }
                            break;
                        default:
                            return;
                    }
                });
            }, () => {
                MY_API.chatLog('获取弹幕服务器地址错误', 'warning')
            });
        },
        RoomId_list: [],
        err_roomId: [],
        checkRoom: function (roomId, area = '本直播间') {
            if (roomId === undefined) return;
            if (MY_API.blocked || MY_API.max_blocked) {
                return
            }
            if (MY_API.RoomId_list.indexOf(roomId) >= 0) {//防止重复检查直播间
                return
            } else {
                MY_API.RoomId_list.push(roomId);
            }
            BAPI.room.room_entry_action(roomId);//直播间进入记录
            $.get('https://api.live.bilibili.com/xlive/lottery-interface/v1/lottery/Check?roomid=' + roomId,
                function (re) {
                    setTimeout(() => {
                        MY_API.RoomId_list.remove(roomId);//移除房间号
                        // console.log('防重复检查房间号列表', MY_API.RoomId_list);
                    }, 5e3);
                    console.log('检查房间返回信息', re);
                    let data = re.data;
                    if (re.code === 0) {
                        let list;
                        if (data.gift) {
                            list = data.gift;
                            for (let i in list) {
                                if (!list.hasOwnProperty(i)) continue;
                                MY_API.creat_join(roomId, list[i], 'gift', area)
                            }
                        }
                        if (data.guard) {
                            list = data.guard;
                            for (let i in list) {
                                if (!list.hasOwnProperty(i)) continue;
                                MY_API.creat_join(roomId, list[i], 'guard', area)
                            }
                        }
                        if (data.pk) {
                            list = data.pk;
                            for (let i in list) {
                                if (!list.hasOwnProperty(i)) continue;
                                MY_API.creat_join(roomId, list[i], 'pk', area)
                            }
                        }
                    } else {
                        if (MY_API.err_roomId.indexOf(roomId) > -1) {
                            console.log(`[检查此房间出错多次]${roomId}${re.message}`);
                        } else {
                            MY_API.err_roomId.push(roomId);
                            MY_API.checkRoom(roomId, area);
                            console.log(`[检查房间出错_重试一次]${roomId}${re.message}`);
                        }

                    }
                });
        },
        Id_list_history: {
            add: function (id, type) {
                let id_list = [];
                try {
                    let config = JSON.parse(localStorage.getItem(`${NAME}_${type}Id_list`));
                    id_list = [].concat(config.list);
                    id_list.push(id);
                    if (id_list.length > 1000) {
                        id_list.splice(0, 200);//删除前200条数据
                    }
                    localStorage.setItem(`${NAME}_${type}Id_list`, JSON.stringify({list: id_list}));
                    console.log(`${NAME}_${type}Id_list_add`, id_list);
                } catch (e) {
                    id_list.push(id);
                    localStorage.setItem(`${NAME}_${type}Id_list`, JSON.stringify({list: id_list}));
                }
            },
            isIn: function (id, type) {
                let id_list = [];
                try {
                    let config = JSON.parse(localStorage.getItem(`${NAME}_${type}Id_list`));
                    if (config === null) {
                        id_list = [];
                    } else {
                        id_list = [].concat(config.list);
                    }
                    console.log(`${NAME}_${type}Id_list_read`, config);
                    return id_list.indexOf(id) > -1
                } catch (e) {
                    localStorage.setItem(`${NAME}_${type}Id_list`, JSON.stringify({list: id_list}));
                    console.log('读取' + `${NAME}_${type}Id_list` + '缓存错误已重置');
                    return id_list.indexOf(id) > -1
                }
            }
        },
        raffleId_list: [],
        guardId_list: [],
        pkId_list: [],
        creat_join: function (roomId, data, type, area = '本直播间') {
            console.log('礼物信息', data);
            if (MY_API.GIFT_COUNT.COUNT >= MY_API.CONFIG.MAX_GIFT) {//判断是否超过辣条限制
                console.log('超过今日辣条限制,不参与抽奖');
                MY_API.max_blocked = true;
                return
            }
            switch (type) {//防止重复抽奖上船PK
                case 'gift':
                    if (MY_API.Id_list_history.isIn(data.raffleId, 'raffle')) {
                        console.log('礼物重复');
                        return
                    } else {
                        MY_API.raffleId_list.push(data.raffleId);
                        MY_API.Id_list_history.add(data.raffleId, 'raffle');
                    }
                    break;
                case 'guard':
                    if (MY_API.Id_list_history.isIn(data.id, 'guard')) {
                        console.log('舰长重复');
                        return
                    } else {
                        MY_API.guardId_list.push(data.id);
                        MY_API.Id_list_history.add(data.id, 'guard');
                    }
                    break;
                case 'pk':
                    if (MY_API.Id_list_history.isIn(data.id, 'pk')) {
                        console.log('pk重复');
                        return
                    } else {
                        MY_API.pkId_list.push(data.id);
                        MY_API.Id_list_history.add(data.id, 'pk');
                    }
                    break;
            }

            let delay = data.time_wait || 0;
            if (MY_API.CONFIG.RANDOM_DELAY) delay += 2 + Math.ceil(Math.random() * 8);//随机延迟
            let div = $("<div class='izayoiMsg'>");
            let msg = $("<div>");
            let aa = $("<div>");
            let ct = $('#chat-history-list');
            let myDate = new Date();
            msg.text(`[${area}]` + data.thank_text.split('<%')[1].split('%>')[0] + data.thank_text.split('%>')[1]);
            div.text(myDate.toLocaleString());
            div.append(msg);
            aa.css('color', 'red');
            msg.append(aa);
            div.css({
                'text-align': 'center',
                'border-radius': '4px',
                'min-height': '30px',
                'width': '256px',
                'color': '#9585FF',
                'line-height': '30px',
                'padding': '0 10px',
                'margin': '10px auto',
            });
            msg.css({
                'word-wrap': 'break-word',
                'width': '100%',
                'line-height': '1em',
                'margin-bottom': '10px',
            });

            div.css({
                'border': '1px solid rgb(203, 195, 255)',
                'background': 'rgb(233, 230, 255) none repeat scroll 0% 0%',
            });

            ct.find('#chat-items').append(div);//向聊天框加入信息
            ct.scrollTop(ct.prop("scrollHeight"));//滚动到底部
            let run = () => {
                aa.text(`等待抽奖倒计时${delay}秒`);
                if (delay <= 0) {
                    if (probability(MY_API.CONFIG.RANDOM_SKIP)) {
                        aa.text(`跳过此礼物抽奖`);
                    } else {
                        switch (type) {
                            case 'gift':
                                MY_API.lineUpCall(aa, MY_API.gift_join, roomId, data.raffleId, data.type).then(function (msg, num) {
                                    aa.css('color', 'green');
                                    aa.text('获得' + msg);
                                    if (num) {
                                        if (msg.indexOf('辣条') > -1) {
                                            MY_API.addGift(num);
                                        } else if (msg.indexOf('亲密度') > -1) {
                                            MY_API.addLove(num);
                                        }
                                    }
                                    MY_API.raffleId_list.remove(data.raffleId);//移除礼物id列表
                                });
                                break;
                            case 'guard':
                                MY_API.lineUpCall(aa, MY_API.guard_join, roomId, data.id).then(function (msg, num) {
                                    aa.css('color', 'green');
                                    aa.text('获得' + msg);
                                    if (num) {
                                        if (msg.indexOf('辣条') > -1) {
                                            MY_API.addGift(num);
                                        } else if (msg.indexOf('亲密度') > -1) {
                                            MY_API.addLove(num);
                                        }
                                    }
                                    MY_API.guardId_list.remove(data.id);//移除礼物id列表
                                });
                                break;
                            case 'pk':
                                MY_API.lineUpCall(aa, MY_API.pk_join, roomId, data.id).then(function (msg, num) {
                                    aa.css('color', 'green');
                                    aa.text('获得' + msg);
                                    if (num) {
                                        if (msg.indexOf('辣条') > -1) {
                                            MY_API.addGift(num);
                                        } else if (msg.indexOf('亲密度') > -1) {
                                            MY_API.addLove(num);
                                        }
                                    }
                                    MY_API.pkId_list.remove(data.id);//移除礼物id列表
                                });
                                break;
                        }
                    }
                    clearInterval(timer)
                }
                delay--;
            };
            let timer = setInterval(run, 1000);
            run();
        },
        gift_join: function (roomid, raffleId, type) {
            let p = $.Deferred();
            BAPI.Lottery.Gift.join(roomid, raffleId, type).then((response) => {
                console.log('抽奖返回信息', response);
                switch (response.code) {
                    case 0:
                        if (response.data.award_text) {
                            p.resolve(response.data.award_text, response.data.award_num);
                        } else {
                            p.resolve(response.data.award_name + 'X' + response.data.award_num.toString()
                                , response.data.award_num);
                        }
                        break;
                    default:
                        if (response.msg.indexOf('拒绝') > -1) {
                            MY_API.blocked = true;//停止抽奖
                            p.resolve('访问被拒绝,您的帐号可能已经被关小黑屋,已停止');
                        } else {
                            p.resolve(`[礼物抽奖](roomid=${roomid},id=${raffleId},type=${type})${response.msg}`);
                        }
                }
            });
            return p
        },
        guard_join: function (roomid, Id) {
            let p = $.Deferred();
            BAPI.Lottery.Guard.join(roomid, Id).then((response) => {
                console.log('上船抽奖返回信息', response);
                switch (response.code) {
                    case 0:
                        if (response.data.award_text) {
                            p.resolve(response.data.award_text, response.data.award_num);
                        } else {
                            p.resolve(response.data.award_name + 'X' + response.data.award_num.toString()
                                , response.data.award_num);
                        }
                        break;
                    default:
                        if (response.msg.indexOf('拒绝') > -1) {
                            MY_API.blocked = true;//停止抽奖
                            p.resolve('访问被拒绝,您的帐号可能已经被关小黑屋,已停止');
                        } else {
                            p.resolve(`[上船](roomid=${roomid},id=${Id})${response.msg}`);
                        }
                        break;
                }
            });
            return p
        },
        pk_join: function (roomid, Id) {
            let p = $.Deferred();
            BAPI.Lottery.Pk.join(roomid, Id).then((response) => {
                console.log('PK抽奖返回信息', response);
                switch (response.code) {
                    case 0:
                        if (response.data.award_text) {
                            p.resolve(response.data.award_text, response.data.award_num);
                        } else {
                            p.resolve(response.data.award_name + 'X' + response.data.award_num.toString()
                                , response.data.award_num);
                        }
                        break;
                    default:
                        if (response.msg.indexOf('拒绝') > -1) {
                            MY_API.blocked = true;//停止抽奖
                            p.resolve('访问被拒绝,您的帐号可能已经被关小黑屋,已停止');
                        } else {
                            p.resolve(`[PK](roomid=${roomid},id=${Id})${response.msg}`);
                        }
                        break;
                }
            });
            return p
        },
        Exchange: {
            run: () => {
                try {
                    if (MY_API.CONFIG.AUTO_EXCHANGE && checkNewDay(MY_API.GIFT_COUNT.EXCHANGE_TS)) {
                        console.log('运行银瓜子换硬币');
                        return MY_API.Exchange.silver2coin().then(() => {
                            MY_API.GIFT_COUNT.EXCHANGE_TS = dateNow();
                            MY_API.saveGiftCount();
                            runMidnight(MY_API.Exchange.run, '银瓜子换硬币');
                        }, () => delayCall(() => MY_API.Exchange.run()));
                    } else {
                        console.log('无需银瓜子换硬币');
                        runMidnight(MY_API.Exchange.run, '银瓜子换硬币')
                    }
                } catch (err) {
                    MY_API.chatLog('[银瓜子换硬币]运行时出现异常,已停止', 'error');
                    console.error(`[${NAME}]`, err);
                    return $.Deferred().reject();
                }
            },
            silver2coin: () => {
                return BAPI.Exchange.silver2coin().then((response) => {
                    console.log('Exchange.silver2coin: API.SilverCoinExchange.silver2coin', response);
                    if (response.code === 0) {
                        // 兑换成功
                        MY_API.chatLog(`[银瓜子换硬币]${response.msg}`, 'success');
                    } else if (response.code === 403) {
                        // 每天最多能兑换 1 个
                        // 银瓜子余额不足
                        MY_API.chatLog(`[银瓜子换硬币]${response.msg}`, 'info');
                    } else {
                        MY_API.chatLog(`[银瓜子换硬币]${response.msg}`, 'caution');
                    }
                }, () => {
                    MY_API.chatLog('[银瓜子换硬币]兑换失败,请检查网络', 'error');
                    return delayCall(() => MY_API.Exchange.silver2coin());
                });
            }
        },
        sign: {
            run: () => {
                try {
                    if (MY_API.CONFIG.AUTO_SIGNIN && checkNewDay(MY_API.GIFT_COUNT.SIGN_TS)) {
                        console.log('运行签到');
                        return MY_API.sign.doSign().then(() => {
                            MY_API.GIFT_COUNT.SIGN_TS = dateNow();
                            MY_API.saveGiftCount();
                            runMidnight(MY_API.sign.run, '签到');
                        }, () => delayCall(() => MY_API.sign.run()));
                    } else {
                        console.log('无需签到');
                        runMidnight(MY_API.sign.doSign, '签到')
                    }
                } catch (err) {
                    MY_API.chatLog('[签到]运行时出现异常,已停止', 'error');
                    console.error(`[${NAME}]`, err);
                    return $.Deferred().reject();
                }
            },
            doSign: () => {
                return BAPI.sign.doSign().then((result) => {
                    if (result.code === 0) {
                        MY_API.chatLog('[签到]签到成功', 'success');
                    } else if (result.code === 1011040) {
                        MY_API.chatLog('[签到]今日签到已完成', 'info');
                    } else {
                        MY_API.chatLog(`[签到]${result.message}`, 'warning')
                    }
                }, () => {
                    MY_API.chatLog('[签到]签到失败,请检查网络', 'error');
                });
            }
        },
        lineList: [],
        lineDelay: 0,
        reSetDelay: function () {
            this.lineDelay = this.CONFIG.LINE_DELAY;
            let timer = setInterval(() => {
                if (this.lineDelay > 0.15) {
                    this.lineDelay -= 0.1;
                } else {
                    this.lineDelay = 0;
                    clearInterval(timer);
                }
            }, 100)
        },
        lineUpCall: function (div, fun, arg1, arg2, arg3, arg4, arg5, arg6) {
            let p = $.Deferred();
            let delayRunTimer;
            let delayRun = () => {
                if (this.lineDelay === 0) {
                    run();
                } else {
                    delayRunTimer = setInterval(() => {
                        if (this.lineDelay === 0) {
                            run();
                            clearInterval(delayRunTimer);
                        } else {
                            div.css('color', '#b700ff');
                            div.text(`抽奖等待中...${this.lineDelay.toFixed(1)}S`);
                        }
                    }, 100)
                }
            };
            let run = () => {
                this.lineList.shift();//删除第一个
                this.reSetDelay();//重置冷却
                div.text(`进行抽奖...`);
                let funRt = fun(arg1, arg2, arg3, arg4, arg5, arg6);
                if (funRt && funRt.then) funRt.then((arg1, arg2, arg3, arg4, arg5, arg6) => p.resolve(arg1, arg2, arg3, arg4, arg5, arg6));
                else p.resolve();
                if (this.lineList.length !== 0) this.lineList[0]();
            };

            if (this.CONFIG.LINE_DELAY === 0) {//如果为延迟0则直接运行
                run();
            } else if (this.lineList.length === 0) {
                this.lineList.push(delayRun);
                delayRun();
            } else {
                this.lineList.push(delayRun);
                div.css('color', '#00b5e5');
                div.text(`排队中...`);
            }
            return p
        },
        sendBagGift: function () {
            BAPI.gift.bag_list().then(function (bagResult) {
                if (bagResult.data.list[0].corner_mark === '1天' && bagResult.data.list[0].gift_name === '辣条') {
                    BAPI.live_user.get_anchor_in_room(MY_API.CONFIG.GIFT_ROOM).then(function (roomResult) {
                        bagSend(roomResult.data.info.uid,
                            bagResult.data.list[0].gift_id,
                            bagResult.data.list[0].bag_id,
                            bagResult.data.list[0].gift_num)
                    });
                }
            });
            let bagSend = (rUid, gift_id, bag_id, num) => {
                let ts = Math.round(new Date() / 1000);//时间戳
                BAPI.gift.bag_send(Info.uid, gift_id, rUid, num, bag_id, MY_API.CONFIG.GIFT_ROOM, ts).then(function (result) {
                    if (result.code === 0 && result.msg === 'success') {
                        MY_API.chatLog('[只剩1天辣条]' + result.data.send_tips, 'success');
                    } else {
                        MY_API.chatLog('[礼物]赠送失败', 'warning');
                    }
                });
            }
        },
        buyBadge: function (roomId) {
            BAPI.live_user.get_anchor_in_room(roomId).then(function (roomResult) {
                if (roomResult.code === 0) {
                    if (confirm(`提示:该房间主播是${roomResult.data.info.uname} 确定购买勋章吗?`)) {
                        MY_API.buyRequest(roomResult.data.info.uid).then(function (data) {
                            MY_API.chatLog(`购买勋章${data.code === 0 ? '成功' : `失败 code ${data.code} ${data.message}`}`)
                        }, function () {
                            MY_API.chatLog(`购买勋章出错`)
                        });
                    }
                } else {
                    MY_API.chatLog('检测房间出错,你确定是正确房间ID?');
                }
            });
        },
        buyRequest: function (uid) {
            let p = $.Deferred();
            $.ajax({
                url: '//api.vc.bilibili.com/link_group/v1/member/buy_medal',
                method: 'POST',
                data: {
                    coin_type: 'metal',
                    master_uid: uid,
                    platform: 'android',
                    csrf_token: Info.token,
                    csrf: Info.token
                },
                success: function (result) {
                    p.resolve(result);
                },
                error: function () {
                    p.reject();
                },
                crossDomain: true,
                dataType: 'json',
                xhrFields: {
                    withCredentials: true,
                },
            });
            return p
        },
        share: async () => {
            if (!MY_API.CONFIG.SHARE) return $.Deferred().resolve();
            if (!checkNewDay(MY_API.GIFT_COUNT.SHARE_TS)) {
                console.log(`[${NAME}]无需分享`);
                runMidnight(MY_API.share, '每日分享');
                return
            }
            let response = await BAPI.dynamic_svr.dynamic_new(Info.uid, 8).catch(() => {
                console.log('获取"动态-投稿视频"失败,请检查网络', 'error');
            });
            let aid = 0;
            if (response.code === 0) {
                if (!!response.data.cards) {
                    let obj = JSON.parse(response.data.cards[0].card);
                    aid = obj.aid;
                    BAPI.DailyReward.share(aid).then((response) => {
                        if (response.code === 0) {
                            MY_API.chatLog(`[每日分享]分享成功(av=${aid})`, 'success');
                            MY_API.GIFT_COUNT.SHARE_TS = ts_ms();
                            MY_API.saveGiftCount();
                            runMidnight(MY_API.share, '每日分享');
                        } else if (response.code === 71000) {
                            // 重复分享
                            MY_API.chatLog('[每日分享]今日分享已完成', 'info');
                            MY_API.GIFT_COUNT.SHARE_TS = ts_ms();
                            MY_API.saveGiftCount();
                            runMidnight(MY_API.share, '每日分享');
                        } else {
                            MY_API.chatLog(`[每日分享]'${response.msg}`, 'warning');
                        }
                    }, () => {
                        MY_API.chatLog('[每日分享]分享失败,请检查网络', 'error');
                        return delayCall(() => MY_API.share(aid));
                    });
                } else {
                    console.log('"动态-投稿视频"中暂无动态', 'info');
                }
            } else {
                console.log(`获取"动态-投稿视频"'${response.msg}`, 'caution');
            }
        },
        GroupSign: {//修改自SeaLoong大神的代码
            getGroups: () => {//获取应援团列表
                return BAPI.Group.my_groups().then((response) => {
                    if (response.code === 0) return $.Deferred().resolve(response.data.list);
                    MY_API.chatLog(`[自动应援团签到]'${response.msg}`, 'warning');
                    return $.Deferred().reject();
                }, () => {
                    MY_API.chatLog('[自动应援团签到]获取应援团列表失败,请检查网络', 'error');
                    return delayCall(() => MY_API.GroupSign.getGroups());
                });
            },
            signInList: (list, i = 0) => {//应援团签到
                if (i >= list.length) return $.Deferred().resolve();
                const obj = list[i];
                //自己不能给自己的应援团应援
                if (obj.owner_uid === Info.uid) return MY_API.GroupSign.signInList(list, i + 1);
                return BAPI.Group.sign_in(obj.group_id, obj.owner_uid).then((response) => {
                    let p = $.Deferred();
                    if (response.code === 0) {
                        if (response.data.add_num > 0) {// || response.data.status === 1
                            MY_API.chatLog(`[自动应援团签到]应援团${obj.group_name}签到成功,当前勋章亲密度+${response.data.add_num}`, 'success');
                            p.resolve();
                        } else if (response.data.add_num === 0) {
                            MY_API.chatLog(`[自动应援团签到]应援团${obj.group_name}已签到`, 'success');
                            p.resolve();
                        } else {
                            MY_API.chatLog(`[自动应援团签到]应援团${obj.group_name}错误亲密度${response.data.add_num}`, 'error');
                            p.reject();
                        }
                    } else {
                        MY_API.chatLog(`[自动应援团签到]'${response.msg}`, 'warning');
                        return p.reject();
                    }
                    return $.when(MY_API.GroupSign.signInList(list, i + 1), p);
                }, () => {
                    MY_API.chatLog(`[自动应援团签到]应援团${obj.group_name}签到失败,请检查网络`, 'error');
                    return delayCall(() => MY_API.GroupSign.signInList(list, i));
                });
            },
            run: () => {//执行应援团任务
                try {
                    if (!MY_API.CONFIG.AUTO_GROUP_SIGN) return $.Deferred().resolve();
                    if (!checkNewDay(MY_API.GIFT_COUNT.AUTO_GROUP_SIGH_TS)) {
                        console.log(`[${NAME}]应援团无需签到,次日八点签到`);
                        runTomorrow(MY_API.GroupSign.run, 8, 0, '应援团签到');
                        return $.Deferred().resolve();
                    } else if (new Date().getHours() < 8 && MY_API.GIFT_COUNT.AUTO_GROUP_SIGH_TS !== 0) {
                        console.log(`[${NAME}]应援团无需签到,八点后签到`);
                        setTimeout(MY_API.GroupSign.run, getIntervalTime(8, 0));
                        return $.Deferred().resolve();
                    }
                    return MY_API.GroupSign.getGroups().then((list) => {
                        console.log(`[${NAME}]应援团列表获取成功${list}`);
                        return MY_API.GroupSign.signInList(list).then(() => {
                            MY_API.GIFT_COUNT.AUTO_GROUP_SIGH_TS = ts_ms();
                            MY_API.saveGiftCount();//保存签到时间
                            console.log(`[${NAME}]应援团签到完成,次日八点再次运行`);
                            runTomorrow(MY_API.GroupSign.run, 8, 0, '应援团签到');
                            return $.Deferred().resolve();
                        }, () => delayCall(() => MY_API.GroupSign.run()));
                    }, () => delayCall(() => MY_API.GroupSign.run()));
                } catch (err) {
                    MY_API.chatLog('[自动应援团签到]运行时出现异常,已停止', 'error');
                    console.error(`[${NAME}]`, err);
                    return $.Deferred().reject();
                }
            }
        },
    };

    appToken = new BilibiliToken();
    baseQuery = `actionKey=appkey&appkey=${BilibiliToken.appKey}&build=5561000&channel=bili&device=android&mobi_app=android&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%225.57.0%22%2C%22abtest%22%3A%22%22%7D`;
    setToken = async () => {
        if (tokenData.time > ts_s()) {
            userToken = tokenData;
        } else {
            tokenData = await appToken.getToken();
            tokenData.time = ts_s() + tokenData.expires_in;
            localStorage.setItem(`${NAME}_Token`, JSON.stringify(tokenData));
            userToken = tokenData;
        }
        console.log(`${NAME}_Token`, tokenData);
        return 'OK';
    };

    const runMidnight = (callback, msg) => {//明天凌晨0点1分再次运行(因为12点时任务可能没刷新)
        const t = new Date();
        let name = msg || ' ';
        t.setMinutes(t.getMinutes());
        t.setDate(t.getDate() + 1);
        t.setHours(0, 1, 0, 0);
        t.setMinutes(t.getMinutes());
        setTimeout(callback, t - ts_ms());
        console.log('runMidnight', name + " " + t.toString());
    };
    const runTomorrow = (callback, hour, minute, msg) => {//明天运行,可自定义时间
        const t = new Date();
        let name = msg || ' ';
        t.setMinutes(t.getMinutes());
        t.setDate(t.getDate() + 1);
        t.setHours(hour, minute, 0, 0);
        t.setMinutes(t.getMinutes());
        setTimeout(callback, t - ts_ms());
        console.log('runTomorrow', name + " " + t.toString());
    };

    //修改自andywang425大神https://github.com/andywang425/BLTH/blob/4bf9e8564a10751ebd3778040a43bc78d85b604c/B%E7%AB%99%E7%9B%B4%E6%92%AD%E9%97%B4%E6%8C%82%E6%9C%BA%E5%8A%A9%E6%89%8B.js
    SmallHeart = {
        getInfo: () => XHR({
            GM: true,
            anonymous: true,
            method: 'GET',
            url: `https://passport.bilibili.com/x/passport-login/oauth2/info?${appToken.signLoginQuery(`access_key=${tokenData.access_token}`)}`,
            responseType: 'json',
            headers: appToken.headers
        }),
        mobileOnline: () => XHR({
            GM: true,
            anonymous: true,
            method: 'POST',
            url: `https://api.live.bilibili.com/heartbeat/v1/OnLine/mobileOnline?${BilibiliToken.signQuery(`access_key=${tokenData.access_token}&${baseQuery}`)}`,
            data: `room_id=${Info.roomId}&scale=xxhdpi`,
            responseType: 'json',
            headers: appToken.headers
        }),
        RandomHex: (length) => {
            const words = '0123456789abcdef';
            let randomID = '';
            randomID += words[Math.floor(Math.random() * 15) + 1];
            for (let i = 0; i < length - 1; i++)
                randomID += words[Math.floor(Math.random() * 16)];
            return randomID;
        },
        uuid: () => SmallHeart.RandomHex(32).replace(/(\w{8})(\w{4})\w(\w{3})\w(\w{3})(\w{12})/, `$1-$2-4$3-${'89ab'[Math.floor(Math.random() * 4)]}$4-$5`),
        getFansMedal: async () => {
            const funsMedals = await XHR({
                GM: true,
                anonymous: true,
                method: 'GET',
                url: `https://api.live.bilibili.com/fans_medal/v1/FansMedal/get_list_in_room?${BilibiliToken.signQuery(`access_key=${tokenData.access_token}&target_id=${Info.tid}&uid=${Info.uid}&${baseQuery}`)}`,
                responseType: 'json',
                headers: appToken.headers
            });
            if (funsMedals !== undefined && funsMedals.response.status === 200)
                if (funsMedals.body.code === 0)
                    if (funsMedals.body.data.length > 0)
                        return funsMedals.body.data;
        },
        getGiftNum: async () => {
            let todayHeart = 0;
            await BAPI.gift.bag_list().then((re) => {
                console.log('[小心心]检查包裹', re);
                const allHeart = re.data.list.filter(r => r.gift_id == 30607 && r.corner_mark == "7天");
                for (const heart of allHeart) {
                    todayHeart += heart.gift_num;
                }
            });
            console.log(`[小心心]检测到包裹内7天小心心数量`, todayHeart);
            return todayHeart
        },
        mobileHeartBeat: async (postJSON) => {
            const wasm = new WasmHash();
            await wasm.init();
            const clientSign = (data) => wasm.hash('BLAKE2b512', wasm.hash('SHA3-384', wasm.hash('SHA384', wasm.hash('SHA3-512', wasm.hash('SHA512', JSON.stringify(data))))));
            const sign = clientSign(postJSON);
            let postData = '';
            for (const i in postJSON)
                postData += `${i}=${encodeURIComponent(postJSON[i])}&`;
            postData += `client_sign=${sign}`;
            const mobileHeartBeat = await XHR({
                GM: true,
                anonymous: true,
                method: 'POST',
                url: 'https://live-trace.bilibili.com/xlive/data-interface/v1/heartbeat/mobileHeartBeat',
                data: BilibiliToken.signQuery(`access_key=${tokenData.access_token}&${postData}&${baseQuery}`),
                responseType: 'json',
                headers: appToken.headers
            });
            if (mobileHeartBeat !== undefined && mobileHeartBeat.response.status === 200)
                if (mobileHeartBeat.body.code === 0)
                    return true;
            return false;
        },
        run: async () => {
            if (!MY_API.CONFIG.AUTO_HEART) return $.Deferred().resolve();
            if (!checkNewDay(MY_API.GIFT_COUNT.LH_TS)) {
                console.log('无需获取小心心,次日运行');
                runMidnight(SmallHeart.run, '获取小心心');
                return $.Deferred().resolve();
            }
            const mobileHeartBeatJSON = {
                platform: 'android',
                uuid: SmallHeart.uuid(),
                buvid: appToken.buvid,
                seq_id: '1',
                room_id: '{room_id}',
                parent_id: '6',
                area_id: '283',
                timestamp: '{timestamp}',
                secret_key: 'axoaadsffcazxksectbbb',
                watch_time: '300',
                up_id: '{target_id}',
                up_level: '40',
                jump_from: '30000',
                gu_id: SmallHeart.RandomHex(43),
                play_type: '0',
                play_url: '',
                s_time: '0',
                data_behavior_id: '',
                data_source_id: '',
                up_session: 'l:one:live:record:{room_id}:{last_wear_time}',
                visit_id: SmallHeart.RandomHex(32),
                watch_status: '%7B%22pk_id%22%3A0%2C%22screen_status%22%3A1%7D',
                click_id: SmallHeart.uuid(),
                session_id: '',
                player_type: '0',
                client_ts: '{client_ts}'
            };
            const endFunc = () => {
                MY_API.chatLog('[小心心]今日小心心已全部获取', 'success');
                clearInterval(mobileOnlineTimer);
                clearInterval(mobileHeartTimer);
                MY_API.GIFT_COUNT.LH_TS = ts_ms();
                MY_API.saveGiftCount();
                runMidnight(SmallHeart.run, '获取小心心');
            };
            if (tokenData.access_token === undefined && await setToken() === undefined)
                return;
            else if (!tokenData.access_token && !tokenData.mid && !tokenData.refresh_token) {
                const userInfo = await SmallHeart.getInfo();
                console.log('[小心心]userInfo', userInfo);
                if (userInfo === undefined)
                    return console.error('获取用户信息错误');
                if (userInfo.body.code !== 0 && await setToken() === undefined)
                    return;
                else if (userInfo.body.data.mid !== Info.uid && await setToken() === undefined)
                    return;
            }
            console.log('[小心心]', '开始客户端心跳');
            SmallHeart.mobileOnline();
            let mobileOnlineTimer = setInterval(() => SmallHeart.mobileOnline(), 5 * 60 * 1000);
            let mobileHeartTimer = undefined;
            let giftNum = await SmallHeart.getGiftNum();
            console.log(`[小心心]目前小心心获取到${giftNum}个`);
            if (giftNum < 24) {
                let fun = async () => {
                    const fansMedal = await SmallHeart.getFansMedal();
                    if (fansMedal !== undefined) {
                        const control = 30 - giftNum;
                        let count = 0;
                        MY_API.chatLog('[小心心]开始获取小心心');
                        for (const funsMedalData of fansMedal) {
                            if (count >= control)
                                break;
                            const postData = Object.assign({}, mobileHeartBeatJSON, {
                                room_id: funsMedalData.room_id.toString(),
                                timestamp: (BilibiliToken.TS - 300).toString(),
                                up_id: funsMedalData.target_id.toString(),
                                up_session: `l:one:live:record:${funsMedalData.room_id}:${funsMedalData.last_wear_time}`,
                                client_ts: BilibiliToken.TS.toString()
                            });
                            await SmallHeart.mobileHeartBeat(postData);
                            count++;
                        }
                    }
                    await sleep(5e3);//等待5s 小心心获取有延迟
                    giftNum = await SmallHeart.getGiftNum();
                    if (giftNum >= 24) {
                        endFunc();
                    } else {
                        console.log(`[小心心]目前小心心获取到${giftNum}个`);
                        MY_API.chatLog(`[小心心]目前小心心获取到${giftNum}个,五分钟后再次获取`);
                    }
                };
                await fun();
                mobileHeartTimer = setInterval(fun, 300e3);
            } else {
                endFunc();
            }
            return $.Deferred().resolve();
        },
    };

    function sleep(millisecond) {
        return new Promise(resolve => {
            setTimeout(() => {
                resolve()
            }, millisecond)
        })
    }

    const ts_ms = () => Date.now();
    const ts_s = () => Math.round(ts_ms() / 1000);//当前秒
    const delayCall = (callback, delay = 10e3) => {
        const p = $.Deferred();
        setTimeout(() => {
            const t = callback();
            if (t && t.then) t.then((arg1, arg2, arg3, arg4, arg5, arg6) => p.resolve(arg1, arg2, arg3, arg4, arg5, arg6));
            else p.resolve();
        }, delay);
        return p;
    };

    MY_API.init().then(function () {
        if (Info.uid === 0 || isNaN(Info.uid)) {
            MY_API.chatLog('未登录,请先登录再使用脚本', 'warning');
            return
        }
        console.log(MY_API.CONFIG);
        StartPlunder(MY_API);
    });
}

function StartPlunder() {
    'use strict';
    MY_API.creatSetBox();//创建设置框

    let G_Timer = () => {//判断是否清空礼物数量
        if (checkNewDay(MY_API.GIFT_COUNT.CLEAR_TS)) {
            MY_API.GIFT_COUNT.COUNT = 0;
            MY_API.GIFT_COUNT.LOVE_COUNT = 0;
            MY_API.GIFT_COUNT.CLEAR_TS = dateNow();
            MY_API.saveGiftCount();
            console.log('清空礼物数量')
        } else {
            console.log('无需清空礼物数量')
        }
    };
    setInterval(G_Timer, 60e3);
    G_Timer();

    MY_API.Exchange.run();//银瓜子换硬币
    MY_API.sign.run();//签到
    SmallHeart.run();//小心心
    MY_API.share();//每日分享
    MY_API.GroupSign.run();//每日应援团签到
}

/**
 * (2,10) 当前是否在两点到十点之间(10,2) 当前是否在十点到次日两点之间
 * @param a 整数 起始时间
 * @param b 整数 终止时间
 * @returns {boolean}
 */
function inTimeArea(a, b) {
    a %= 24;
    b %= 24;
    if (a < 0 || b < 0 || a === b) {
        console.log('错误时间段');
        return false
    }
    let myDate = new Date();
    let h = myDate.getHours();
    if (a < b) {
        return h >= a && h < b
    } else {
        return h >= a || h < b
    }
}

/**
 * (23,50) 获取与目标时间在时间轴上的间隔时间,24小时制(毫秒)
 * @param hour 整数 小时
 * @param minute 整数 分钟
 * @param second 整数 秒(可不填)
 * @returns {number} intervalTime
 */
function getIntervalTime(hour, minute, second) {
    const myDate = new Date();
    const h = myDate.getHours();
    const m = myDate.getMinutes();
    const s = myDate.getSeconds();
    const TargetTime = hour * 3600 * 1e3 + minute * 60 * 1e3 + ((!second) ? 0 : second * 1e3);
    const nowTime = h * 3600 * 1e3 + m * 60 * 1e3 + s * 1e3;
    const intervalTime = TargetTime - nowTime;
    console.log("[getIntervalTime]获取间隔时间", `${intervalTime}毫秒`);
    if (intervalTime < 0) {
        return 24 * 3600 * 1e3 + intervalTime
    } else {
        return intervalTime
    }
}

/**
 * 概率
 * @param val
 * @returns {boolean}
 */
function probability(val) {
    if (val <= 0) return false;
    let rad = Math.ceil(Math.random() * 100);
    return val >= rad
}

const dateNow = () => Date.now();
/**
 * 检查是否为新一天
 * @param ts
 * @returns {boolean}
 */
const checkNewDay = (ts) => {
    if (ts === 0) return true;
    let t = new Date(ts);
    let d = new Date();
    let td = t.getDate();
    let dd = d.getDate();
    return (dd !== td);
};

/**
 * 获取cookie
 * @param name
 * @returns {string|boolean}
 */
function getCookie(name) {
    let arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return false;
}

function XHR(XHROptions) {
    return new Promise(resolve => {
        const onerror = (error) => {
            console.error(error);
            resolve(undefined);
        };
        const xhr = new XMLHttpRequest();
        xhr.open(XHROptions.method, XHROptions.url);
        if (XHROptions.method === 'POST' && xhr.getResponseHeader('Content-Type') === null)
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
        if (XHROptions.cookie)
            xhr.withCredentials = true;
        if (XHROptions.responseType !== undefined)
            xhr.responseType = XHROptions.responseType;
        xhr.timeout = 30 * 1000;
        xhr.onload = ev => {
            const res = ev.target;
            resolve({response: res, body: res.response});
        };
        xhr.onerror = onerror;
        xhr.ontimeout = onerror;
        xhr.send(XHROptions.data);
    });
}

let csrf_token, visit_id;

let BilibiliAPI = {
    setCommonArgs: (csrfToken = '', visitId = '') => {
        csrf_token = csrfToken;
        visit_id = visitId;
    },
    // 整合常用API
    TreasureBox: {
        getAward: (time_start, end_time, captcha) => BilibiliAPI.lottery.SilverBox.getAward(time_start, end_time, captcha),
        getCaptcha: (ts) => BilibiliAPI.lottery.SilverBox.getCaptcha(ts),
        getCurrentTask: () => BilibiliAPI.lottery.SilverBox.getCurrentTask()
    },
    Exchange: {
        coin2silver: (num, platform) => BilibiliAPI.pay.coin2silver(num, platform),
        silver2coin: (platform) => BilibiliAPI.pay.silver2coin(platform),
        old: {
            coin2silver: (coin) => BilibiliAPI.exchange.coin2silver(coin),
            silver2coin: () => BilibiliAPI.exchange.silver2coin()
        }
    },
    Lottery: {
        Gift: {
            check: (roomid) => BilibiliAPI.xlive.smalltv.check(roomid),
            join: (roomid, raffleId, type) => BilibiliAPI.xlive.smalltv.join(roomid, raffleId, type),
            notice: (raffleId, type) => BilibiliAPI.xlive.smalltv.notice(raffleId, type)
        },
        Raffle: {
            check: (roomid) => BilibiliAPI.activity.check(roomid),
            join: (roomid, raffleId) => BilibiliAPI.activity.join(roomid, raffleId),
            notice: (roomid, raffleId) => BilibiliAPI.activity.notice(roomid, raffleId)
        },
        MaterialObject: {
            getRoomActivityByRoomid: (roomid) => BilibiliAPI.lottery.box.getRoomActivityByRoomid(roomid),
            getStatus: (aid, times) => BilibiliAPI.lottery.box.getStatus(aid, times),
            draw: (aid, number) => BilibiliAPI.lottery.box.draw(aid, number),
            getWinnerGroupInfo: (aid, number) => BilibiliAPI.lottery.box.getWinnerGroupInfo(aid, number)
        },
        Guard: {
            check: (roomid) => BilibiliAPI.lottery.lottery.check_guard(roomid),
            join: (roomid, id, type) => BilibiliAPI.xlive.guard.join(roomid, id, type)
        },
        Pk: {
            check: (roomid) => BilibiliAPI.xlive.pk.check(roomid),
            join: (roomid, id) => BilibiliAPI.xlive.pk.join(roomid, id)
        }
    },
    Group: {
        my_groups: () => BilibiliAPI.link_group.my_groups(),
        sign_in: (group_id, owner_id) => BilibiliAPI.link_group.sign_in(group_id, owner_id)
    },
    Storm: {
        check: (roomid) => BilibiliAPI.lottery.Storm.check(roomid),
        join: (id, captcha_token, captcha_phrase, roomid, color) => BilibiliAPI.lottery.Storm.join(id, captcha_token, captcha_phrase, roomid, color)
    },
    HeartBeat: {
        web: () => BilibiliAPI.user.userOnlineHeart(),
        mobile: () => BilibiliAPI.mobile.userOnlineHeart()
    },
    DailyReward: {
        task: () => BilibiliAPI.home.reward(), // CORS
        exp: () => BilibiliAPI.exp(),
        login: () => BilibiliAPI.x.now(),
        watch: (aid, cid, mid, start_ts, played_time, realtime, type, play_type, dt) => BilibiliAPI.x.heartbeat(aid, cid, mid, start_ts, played_time, realtime, type, play_type, dt),
        coin: (aid, multiply) => BilibiliAPI.x.coin_add(aid, multiply),
        share: (aid) => BilibiliAPI.x.share_add(aid)
    },
    // ajax调用B站API
    runUntilSucceed: (callback, delay = 0, period = 50) => {
        setTimeout(() => {
            if (!callback()) BilibiliAPI.runUntilSucceed(callback, period, period);
        }, delay);
    },
    processing: 0,
    ajax: (settings) => {
        if (settings.xhrFields === undefined) settings.xhrFields = {};
        settings.xhrFields.withCredentials = true;
        jQuery.extend(settings, {
            url: (settings.url.substr(0, 2) === '//' ? '' : '//api.live.bilibili.com/') + settings.url,
            method: settings.method || 'GET',
            crossDomain: true,
            dataType: settings.dataType || 'json'
        });
        const p = jQuery.Deferred();
        BilibiliAPI.runUntilSucceed(() => {
            if (BilibiliAPI.processing > 8) return false;
            ++BilibiliAPI.processing;
            return jQuery.ajax(settings).then((arg1, arg2, arg3) => {
                --BilibiliAPI.processing;
                p.resolve(arg1, arg2, arg3);
                return true;
            }, (arg1, arg2, arg3) => {
                --BilibiliAPI.processing;
                p.reject(arg1, arg2, arg3);
                return true;
            });
        });
        return p;
    },
    ajaxWithCommonArgs: (settings) => {
        if (!settings.data) settings.data = {};
        settings.data.csrf = csrf_token;
        settings.data.csrf_token = csrf_token;
        settings.data.visit_id = visit_id;
        return BilibiliAPI.ajax(settings);
    },
    // 以下按照URL分类
    ajaxGetCaptchaKey: () => {
        return BilibiliAPI.ajax({
            url: '//www.bilibili.com/plus/widget/ajaxGetCaptchaKey.php?js'
        });
    },
    exp: () => {
        // 获取今日已获得的投币经验?
        return BilibiliAPI.ajax({
            url: '//www.bilibili.com/plus/account/exp.php'
        });
    },
    msg: (roomid) => {
        return BilibiliAPI.ajaxWithCommonArgs({
            method: 'POST',
            url: 'ajax/msg',
            data: {
                roomid: roomid
            }
        });
    },
    ajaxCapsule: () => {
        return BilibiliAPI.ajax({
            url: 'api/ajaxCapsule'
        });
    },
    player: (id, ts, platform = 'pc', player_type = 'web') => {
        return BilibiliAPI.ajax({
            url: 'api/player',
            data: {
                id: typeof id === 'string' && id.substr(0, 4) === 'cid:' ? id : 'cid:' + id, // cid:{room_id}
                ts: typeof ts === 'string' ? ts : ts.toString(16), // HEX
                platform: platform,
                player_type: player_type
            },
            dataType: 'text'
        });
    },
    create: (width, height) => {
        // 生成一个验证码(用于节奏风暴)
        return BilibiliAPI.ajax({
            url: 'captcha/v1/Captcha/create',
            data: {
                width: width || '112',
                height: height || '32'
            },
            cache: false
        });
    },
    topList: (roomid, page, ruid) => {
        return BilibiliAPI.ajax({
            url: 'guard/topList',
            data: {
                roomid: roomid,
                page: page,
                ruid: ruid
            }
        });
    },
    getSuser: () => {
        return BilibiliAPI.ajax({
            url: 'msg/getSuser'
        });
    },
    refresh: (area = 'all') => {
        return BilibiliAPI.ajax({
            url: 'index/refresh?area=' + area
        });
    },
    get_ip_addr: () => {
        return BilibiliAPI.ajax({
            url: 'ip_service/v1/ip_service/get_ip_addr'
        });
    },
    getuserinfo: () => {
        return BilibiliAPI.ajax({
            url: 'user/getuserinfo'
        });
    },
    activity: {
        mobileActivity: () => {
            return BilibiliAPI.ajax({
                url: 'activity/v1/Common/mobileActivity'
            });
        },
        mobileRoomInfo: (roomid) => {
            return BilibiliAPI.ajax({
                url: 'activity/v1/Common/mobileRoomInfo',
                data: {
                    roomid: roomid
                }
            });
        },
        roomInfo: (roomid, ruid, area_v2_id, area_v2_parent_id) => {
            return BilibiliAPI.ajax({
                url: 'activity/v1/Common/roomInfo',
                data: {
                    roomid: roomid,
                    ruid: ruid,
                    area_v2_id: area_v2_id,
                    area_v2_parent_id: area_v2_parent_id
                }
            });
        },
        welcomeInfo: (roomid, ruid) => {
            return BilibiliAPI.ajax({
                url: 'activity/v1/Common/welcomeInfo',
                data: {
                    roomid: roomid,
                    ruid: ruid
                }
            });
        },
        check: (roomid) => {
            // 检查是否有活动抽奖
            return BilibiliAPI.ajax({
                url: 'activity/v1/Raffle/check?roomid=' + roomid
            });
        },
        join: (roomid, raffleId) => {
            // 参加活动抽奖
            return BilibiliAPI.ajax({
                url: 'activity/v1/Raffle/join',
                data: {
                    roomid: roomid,
                    raffleId: raffleId
                }
            });
        },
        notice: (roomid, raffleId) => {
            // 领取活动抽奖奖励
            return BilibiliAPI.ajax({
                url: 'activity/v1/Raffle/notice',
                data: {
                    roomid: roomid,
                    raffleId: raffleId
                }
            });
        },
        receive_award: (task_id) => {
            // 领取任务奖励
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'activity/v1/task/receive_award',
                data: {
                    task_id: task_id
                }
            });
        }
    },
    av: {
        getTimestamp: (platform = 'pc') => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'av/v1/Time/getTimestamp',
                data: {
                    platform: platform
                }
            });
        }
    },
    dynamic_svr: {
        dynamic_new: (uid, type = 8) => {
            // 获取动态
            return BilibiliAPI.ajax({
                url: 'dynamic_svr/v1/dynamic_svr/dynamic_new',
                data: {
                    uid: uid,
                    type: type // 8: 投稿视频; 268435455: 全部
                }
            });
        }
    },
    exchange: {
        coin2silver: (coin) => {
            // 硬币兑换银瓜子(旧API),1硬币=900银瓜子
            return BilibiliAPI.ajax({
                method: 'POST',
                url: 'exchange/coin2silver',
                data: {
                    coin: coin
                }
            });
        },
        silver2coin: () => {
            // 银瓜子兑换硬币(旧API),1400银瓜子=1硬币
            return BilibiliAPI.ajax({
                type: 'GET',
                url: 'exchange/silver2coin'
            });
        }
    },
    fans_medal: {
        get_fans_medal_info: (uid, target_id, source = 1) => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'fans_medal/v1/fans_medal/get_fans_medal_info',
                data: {
                    source: source,
                    uid: uid,
                    target_id: target_id
                }
            });
        }
    },
    feed_svr: {
        notice: () => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'feed_svr/v1/feed_svr/notice',
                data: {}
            });
        },
        my: (page_size, live_status = 0, type = 0, offset = 0) => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'feed_svr/v1/feed_svr/my',
                data: {
                    live_status: live_status,
                    type: type,
                    page_size: page_size,
                    offset: offset
                }
            });
        }
    },
    gift: {
        bag_list: () => {
            // 获取包裹礼物列表
            return BilibiliAPI.ajax({
                url: 'gift/v2/gift/bag_list'
            });
        },
        send: (uid, gift_id, ruid, gift_num, biz_id, rnd, coin_type = 'silver', platform = 'pc', biz_code = 'live', storm_beat_id = 0, price = 0) => {
            // 消耗瓜子送礼
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'gift/v2/gift/send',
                data: {
                    uid: uid,
                    gift_id: gift_id,
                    ruid: ruid,
                    gift_num: gift_num,
                    coin_type: coin_type,
                    bag_id: 0,
                    platform: platform,
                    biz_code: biz_code,
                    biz_id: biz_id, // roomid
                    rnd: rnd,
                    storm_beat_id: storm_beat_id,
                    metadata: '',
                    price: price
                }
            });
        },
        bag_send: (uid, gift_id, ruid, gift_num, bag_id, biz_id, rnd, platform = 'pc', biz_code = 'live', storm_beat_id = 0, price = 0) => {
            // 送出包裹中的礼物
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'gift/v2/live/bag_send',
                data: {
                    uid: uid,
                    gift_id: gift_id,
                    ruid: ruid,
                    gift_num: gift_num,
                    bag_id: bag_id,
                    platform: platform,
                    biz_code: biz_code,
                    biz_id: biz_id, // roomid
                    rnd: rnd,
                    storm_beat_id: storm_beat_id,
                    metadata: '',
                    price: price
                }
            });
        },
        gift_config: () => {
            return BilibiliAPI.ajax({
                url: 'gift/v3/live/gift_config'
            });
        },
        heart_gift_receive: (roomid, area_v2_id) => {
            return BilibiliAPI.ajax({
                url: 'gift/v2/live/heart_gift_receive',
                data: {
                    roomid: roomid,
                    area_v2_id: area_v2_id
                }
            });
        },
        heart_gift_status: (roomid, area_v2_id) => {
            return BilibiliAPI.ajax({
                url: 'gift/v2/live/heart_gift_status',
                data: {
                    roomid: roomid,
                    area_v2_id: area_v2_id
                }
            });
        },
        receive_daily_bag: () => {
            // 领取每日礼物
            return BilibiliAPI.ajax({
                url: 'gift/v2/live/receive_daily_bag'
            });
        },
        room_gift_list: (roomid, area_v2_id) => {
            return BilibiliAPI.ajax({
                url: 'gift/v2/live/room_gift_list',
                data: {
                    roomid: roomid,
                    area_v2_id: area_v2_id
                }
            });
        },
        smalltv: {
            // 礼物抽奖
            check: (roomid) => {
                return BilibiliAPI.ajax({
                    url: 'gift/v3/smalltv/check',
                    data: {
                        roomid: roomid
                    }
                });
            },
            join: (roomid, raffleId, type = 'Gift') => {
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'gift/v3/smalltv/join',
                    data: {
                        roomid: roomid,
                        raffleId: raffleId,
                        type: type
                    }
                });
            },
            notice: (raffleId, type = 'small_tv') => {
                return BilibiliAPI.ajax({
                    url: 'gift/v3/smalltv/notice',
                    data: {
                        type: type,
                        raffleId: raffleId
                    }
                });
            }
        }
    },
    giftBag: {
        getSendGift: () => {
            return BilibiliAPI.ajax({
                url: 'giftBag/getSendGift'
            });
        },
        sendDaily: () => {
            return BilibiliAPI.ajax({
                url: 'giftBag/sendDaily'
            });
        }
    },
    home: {
        reward: () => {
            // 获取每日奖励情况
            return BilibiliAPI.ajax({
                url: '//account.bilibili.com/home/reward'
            });
        }
    },
    i: {
        ajaxCancelWear: () => {
            // 取消佩戴勋章
            return BilibiliAPI.ajax({
                url: 'i/ajaxCancelWear'
            });
        },
        ajaxGetAchieve: (keywords, page, pageSize = 6, type = 'normal', status = 0, category = 'all') => {
            return BilibiliAPI.ajax({
                url: 'i/api/ajaxGetAchieve',
                data: {
                    type: type, // 'legend'
                    status: status,
                    category: category,
                    keywords: keywords,
                    page: page,
                    pageSize: pageSize
                }
            });
        },
        ajaxGetMyMedalList: () => {
            // 勋章列表
            return BilibiliAPI.ajax({
                url: 'i/ajaxGetMyMedalList'
            });
        },
        ajaxWearFansMedal: (medal_id) => {
            // 佩戴勋章/更换当前佩戴的勋章
            return BilibiliAPI.ajax({
                url: 'i/ajaxWearFansMedal?medal_id=' + medal_id
            });
        },
        following: (page = 1, pageSize = 9) => {
            return BilibiliAPI.ajax({
                url: 'i/api/following',
                data: {
                    page: page,
                    pageSize: pageSize
                }
            });
        },
        guard: (page, pageSize = 10) => {
            return BilibiliAPI.ajax({
                url: 'i/api/guard',
                data: {
                    page: page,
                    pageSize: pageSize
                }
            });
        },
        liveinfo: () => {
            return BilibiliAPI.ajax({
                url: 'i/api/liveinfo'
            });
        },
        medal: (page = 1, pageSize = 10) => {
            // 获取勋章列表信息
            return BilibiliAPI.ajax({
                url: 'i/api/medal',
                data: {
                    page: page,
                    pageSize: pageSize
                }
            });
        },
        operation: (page = 1) => {
            return BilibiliAPI.ajax({
                url: 'i/api/operation?page=' + page
            });
        },
        taskInfo: () => {
            return BilibiliAPI.ajax({
                url: 'i/api/taskInfo'
            });
        }
    },
    link_group: {
        my_groups: () => {
            // 应援团列表
            return BilibiliAPI.ajax({
                url: 'link_group/v1/member/my_groups'
            });
        },
        sign_in: (group_id, owner_id) => {
            // 应援团签到
            return BilibiliAPI.ajax({
                url: 'link_setting/v1/link_setting/sign_in',
                data: {
                    group_id: group_id,
                    owner_id: owner_id
                }
            });
        }
    },
    live: {
        getRoomKanBanModel: (roomid) => {
            return BilibiliAPI.ajax({
                url: 'live/getRoomKanBanModel?roomid' + roomid
            });
        },
        rankTab: (roomid) => {
            return BilibiliAPI.ajax({
                url: 'live/rankTab?roomid=' + roomid
            });
        },
        roomAdList: () => {
            return BilibiliAPI.ajax({
                url: 'live/roomAdList'
            });
        }
    },
    live_user: {
        get_anchor_in_room: (roomid) => {
            return BilibiliAPI.ajax({
                url: 'live_user/v1/UserInfo/get_anchor_in_room?roomid=' + roomid
            });
        },
        get_info_in_room: (roomid) => {
            return BilibiliAPI.ajax({
                url: 'live_user/v1/UserInfo/get_info_in_room?roomid=' + roomid
            });
        },
        get_weared_medal: (uid, target_id, source = 1) => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'live_user/v1/UserInfo/get_weared_medal',
                data: {
                    source: source,
                    uid: uid,
                    target_id: target_id // ruid
                }
            });
        },
        governorShow: (target_id) => {
            return BilibiliAPI.ajax({
                url: 'live_user/v1/Master/governorShow?target_id=' + target_id
            });
        }
    },
    lottery: {
        box: {
            getRoomActivityByRoomid: (roomid) => {
                // 获取房间特有的活动 (实物抽奖)
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/box/getRoomActivityByRoomid?roomid=' + roomid
                });
            },
            getStatus: (aid, times = '') => {
                // 获取活动信息/状态
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/box/getStatus',
                    data: {
                        aid: aid,
                        times: times
                    }
                });
            },
            draw: (aid, number = 1) => {
                // 参加实物抽奖
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/box/draw',
                    data: {
                        aid: aid,
                        number: number
                    }
                });
            },
            getWinnerGroupInfo: (aid, number = 1) => {
                // 获取中奖名单
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/box/getWinnerGroupInfo',
                    data: {
                        aid: aid,
                        number: number
                    }
                });
            }
        },
        SilverBox: {
            getAward: (time_start, end_time, captcha) => {
                // 领取银瓜子
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/SilverBox/getAward',
                    data: {
                        time_start: time_start,
                        end_time: end_time,
                        captcha: captcha
                    }
                });
            },
            getCaptcha: (ts) => {
                // 获取银瓜子验证码图片
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/SilverBox/getCaptcha?ts=' + ts
                });
            },
            getCurrentTask: () => {
                // 获取领取银瓜子的任务
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/SilverBox/getCurrentTask'
                });
            }
        },
        Storm: {
            check: (roomid) => {
                // 检查是否有节奏风暴
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/Storm/check?roomid=' + roomid
                });
            },
            join: (id, captcha_token, captcha_phrase, roomid, color = 16777215) => {
                // 参加节奏风暴
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'lottery/v1/Storm/join',
                    data: {
                        id: id,
                        color: color,
                        captcha_token: captcha_token,
                        captcha_phrase: captcha_phrase,
                        roomid: roomid
                    }
                });
            }
        },
        lottery: {
            check_guard: (roomid) => {
                // 检查是否有舰队领奖
                return BilibiliAPI.ajax({
                    url: 'lottery/v1/Lottery/check_guard?roomid=' + roomid
                });
            },
            join: (roomid, id, type = 'guard') => {
                // 参加总督领奖
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'lottery/v2/Lottery/join',
                    data: {
                        roomid: roomid,
                        id: id,
                        type: type
                    }
                });
            }
        }
    },
    mobile: {
        userOnlineHeart: () => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'mobile/userOnlineHeart',
                data: {}
            });
        }
    },
    pay: {
        coin2silver: (num, platform = 'pc') => {
            // 硬币兑换银瓜子(新API),1硬币=450银瓜子
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'pay/v1/Exchange/coin2silver',
                data: {
                    num: num,
                    platform: platform
                }
            });
        },
        getRule: (platform = 'pc') => {
            return BilibiliAPI.ajax({
                url: 'pay/v1/Exchange/getRule?platform=' + platform
            });
        },
        getStatus: (platform = 'pc') => {
            return BilibiliAPI.ajax({
                url: 'pay/v1/Exchange/getStatus?platform=' + platform
            });
        },
        silver2coin: (platform = 'pc') => {
            // 银瓜子兑换硬币,700银瓜子=1硬币
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'pay/v1/Exchange/silver2coin',
                data: {
                    platform: platform
                }
            });
        }
    },
    rankdb: {
        roomInfo: (ruid, roomid, areaId) => {
            return BilibiliAPI.ajax({
                url: 'rankdb/v1/Common/roomInfo',
                data: {
                    ruid: ruid,
                    roomid: roomid,
                    areaId: areaId
                }
            });
        }
    },
    relation: {
        getList: (page, page_size) => {
            return BilibiliAPI.ajax({
                url: 'relation/v1/feed/getList',
                data: {
                    page: page,
                    page_size: page_size
                },
                cache: false
            });
        },
        heartBeat: () => {
            return BilibiliAPI.ajax({
                url: 'relation/v1/feed/heartBeat',
                cache: false
            });
        },
        GetUserFc: (follow) => { // follow: 主播uid===ruid
            return BilibiliAPI.ajax({
                url: 'relation/v1/Feed/GetUserFc?follow=' + follow
            });
        },
        IsUserFollow: (follow) => { // follow: 主播uid===ruid
            return BilibiliAPI.ajax({
                url: 'relation/v1/Feed/IsUserFollow?follow=' + follow
            });
        }
    },
    room: {
        get_info: (room_id, from = 'room') => {
            return BilibiliAPI.ajax({
                url: 'room/v1/Room/get_info',
                data: {
                    room_id: room_id,
                    from: from
                }
            });
        },
        get_recommend_by_room: (room_id, count, rnd) => {
            return BilibiliAPI.ajax({
                url: 'room/v1/room/get_recommend_by_room',
                data: {
                    room_id: room_id,
                    count: count,
                    rnd: rnd || Math.floor(Date.now() / 1000)
                }
            });
        },
        playUrl: (cid, quality = '0', platform = 'web') => {
            return BilibiliAPI.ajax({
                url: 'room/v1/Room/playUrl',
                data: {
                    cid: cid, // roomid
                    quality: quality,
                    platform: platform
                }
            });
        },
        room_entry_action: (room_id, platform = 'pc') => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'room/v1/Room/room_entry_action',
                data: {
                    room_id: room_id,
                    platform: platform
                }
            });
        },
        room_init: (id) => {
            return BilibiliAPI.ajax({
                url: 'room/v1/Room/room_init?id=' + id
            });
        },
        getConf: (room_id, platform = 'pc', player = 'web') => {
            return BilibiliAPI.ajax({
                url: 'room/v1/Danmu/getConf',
                data: {
                    room_id: room_id,
                    platform: platform,
                    player: player
                }
            });
        },
        getList: () => {
            return BilibiliAPI.ajax({
                url: 'room/v1/Area/getList'
            });
        },
        getRoomList: (parent_area_id = 1, cate_id = 0, area_id = 0, page = 1, page_size = 30, sort_type = 'online', platform = 'web') => {
            return BilibiliAPI.ajax({
                url: 'room/v1/area/getRoomList',
                data: {
                    platform: platform,
                    parent_area_id: parent_area_id,
                    cate_id: cate_id,
                    area_id: area_id,
                    sort_type: sort_type,
                    page: page,
                    page_size: page_size
                }
            });
        }
    },
    sign: {
        doSign: () => {
            // 签到
            return BilibiliAPI.ajax({
                url: 'sign/doSign'
            });
        },
        GetSignInfo: () => {
            // 获取签到信息
            return BilibiliAPI.ajax({
                url: 'sign/GetSignInfo'
            });
        },
        getLastMonthSignDays: () => {
            return BilibiliAPI.ajax({
                url: 'sign/getLastMonthSignDays'
            });
        }
    },
    user: {
        getWear: (uid) => {
            return BilibiliAPI.ajax({
                url: 'user/v1/user_title/getWear?uid=' + uid
            });
        },
        isBiliVip: (uid) => {
            return BilibiliAPI.ajax({
                url: 'user/v1/user/isBiliVip?uid=' + uid
            });
        },
        userOnlineHeart: () => {
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: 'User/userOnlineHeart',
                data: {}
            });
        },
        getUserInfo: (ts) => { // ms
            return BilibiliAPI.ajax({
                url: 'User/getUserInfo?ts=' + ts
            });
        }
    },
    x: {
        coin_add: (aid, multiply = 1) => {
            // 投币
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: '//api.bilibili.com/x/web-interface/coin/add',
                data: {
                    aid: aid,
                    multiply: multiply,
                    cross_domain: true
                }
            });
        },
        share_add: (aid) => {
            // 分享
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: '//api.bilibili.com/x/web-interface/share/add',
                data: {
                    aid: aid,
                    jsonp: 'jsonp'
                }
            });
        },
        heartbeat: (aid, cid, mid, start_ts, played_time = 0, realtime = 0, type = 3, play_type = 1, dt = 2) => {
            // B站视频心跳
            return BilibiliAPI.ajaxWithCommonArgs({
                method: 'POST',
                url: '//api.bilibili.com/x/report/web/heartbeat',
                data: {
                    aid: aid,
                    cid: cid,
                    mid: mid, // uid
                    start_ts: start_ts || (Date.now() / 1000),
                    played_time: played_time,
                    realtime: realtime,
                    type: type,
                    play_type: play_type, // 1:播放开始,2:播放中
                    dt: dt
                }
            });
        },
        now: () => {
            // 点击播放视频时出现的事件,可能与登录/观看视频判定有关
            return BilibiliAPI.ajax({
                url: '//api.bilibili.com/x/report/click/now',
                data: {
                    jsonp: 'jsonp'
                }
            });
        }
    },
    xlive: {
        guard: {
            join: (roomid, id, type = 'guard') => {
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'xlive/lottery-interface/v3/guard/join',
                    data: {
                        roomid: roomid,
                        id: id,
                        type: type
                    }
                });
            }
        },
        lottery: {
            check: (roomid) => {
                return BilibiliAPI.ajax({
                    url: 'xlive/lottery-interface/v1/lottery/Check',
                    data: {
                        roomid: roomid
                    }
                });
            }
        },
        smalltv: {
            check: (roomid) => {
                return BilibiliAPI.ajax({
                    url: 'xlive/lottery-interface/v3/smalltv/Check',
                    data: {
                        roomid: roomid
                    }
                });
            },
            join: (roomid, id, type = 'small_tv') => {
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'xlive/lottery-interface/v5/smalltv/join',
                    data: {
                        roomid: roomid,
                        id: id,
                        type: type
                    }
                });
            },
            notice: (raffleId, type = 'small_tv') => {
                return BilibiliAPI.ajax({
                    url: 'xlive/lottery-interface/v3/smalltv/Notice',
                    data: {
                        type: type,
                        raffleId: raffleId
                    }
                });
            }
        },
        pk: {
            check: (roomid) => {
                return BilibiliAPI.ajax({
                    url: 'xlive/lottery-interface/v1/pk/check',
                    data: {
                        roomid: roomid
                    }
                });
            },
            join: (roomid, id) => {
                return BilibiliAPI.ajaxWithCommonArgs({
                    method: 'POST',
                    url: 'xlive/lottery-interface/v1/pk/join',
                    data: {
                        roomid: roomid,
                        id: id
                    }
                });
            }
        }
    },
    YearWelfare: {
        checkFirstCharge: () => {
            return BilibiliAPI.ajax({
                url: 'YearWelfare/checkFirstCharge'
            });
        },
        inviteUserList: () => {
            return BilibiliAPI.ajax({
                url: 'YearWelfare/inviteUserList/1'
            });
        }
    },
    DanmuWebSocket: class extends WebSocket {
        static stringToUint(string) {
            const charList = string.split('');
            const uintArray = [];
            for (var i = 0; i < charList.length; ++i) {
                uintArray.push(charList[i].charCodeAt(0));
            }
            return new Uint8Array(uintArray);
        }

        static uintToString(uintArray) {
            return decodeURIComponent(escape(String.fromCharCode.apply(null, uintArray)));
        }

        constructor(uid, roomid, host_server_list, token) {
            // 总字节长度 int(4bytes) + 头字节长度(16=4+2+2+4+4) short(2bytes) + protover(1,2) short(2bytes) + operation int(4bytes) + sequence(1,0) int(4bytes) + Data
            let address = 'wss://broadcastlv.chat.bilibili.com/sub';
            if (Array.isArray(host_server_list) && host_server_list.length > 0) {
                let flag = false;
                do {
                    const chosen = host_server_list.shift();
                    if (chosen.wss_port) address = `wss://${chosen.host}:${chosen.wss_port}/sub`;
                    else flag = true;
                } while (flag && host_server_list.length > 0);
            } else if (typeof host_server_list === 'string' && host_server_list.length > 0) {
                address = host_server_list;
            }
            super(address);
            this.binaryType = 'arraybuffer';
            this.handlers = {
                reconnect: [],
                login: [],
                heartbeat: [],
                cmd: [],
                receive: []
            };
            this.host_server_list = host_server_list;
            this.token = token;
            this.closed = false;
            this.addEventListener('open', () => {
                this.sendLoginPacket(uid, roomid).sendHeartBeatPacket();
                this.heartBeatHandler = setInterval(() => {
                    this.sendHeartBeatPacket();
                }, 30e3);
            });
            this.addEventListener('close', () => {
                if (this.heartBeatHandler) clearInterval(this.heartBeatHandler);
                if (this.closed) return;
                // 自动重连
                setTimeout(() => {
                    const ws = new BilibiliAPI.DanmuWebSocket(uid, roomid, this.host_server_list, this.token);
                    ws.handlers = this.handlers;
                    ws.unzip = this.unzip;
                    for (const key in this.handlers) {
                        if (this.handlers.hasOwnProperty(key)) {
                            this.handlers[key].forEach(handler => {
                                switch (key) {
                                    case 'reconnect':
                                        ws.addEventListener('reconnect', (event) => {
                                            handler.call(ws, event.detail.ws);
                                        });
                                        break;
                                    case 'login':
                                        ws.addEventListener('login', () => {
                                            handler.call(ws);
                                        });
                                        break;
                                    case 'heartbeat':
                                        ws.addEventListener('heartbeat', (event) => {
                                            handler.call(ws, event.detail.num);
                                        });
                                        break;
                                    case 'cmd':
                                        ws.addEventListener('cmd', (event) => {
                                            handler.call(ws, event.detail.obj, event.detail.str);
                                        });
                                        break;
                                    case 'receive':
                                        ws.addEventListener('receive', (event) => {
                                            handler.call(ws, event.detail.len, event.detail.headerLen, event.detail.protover, event.detail.operation, event.detail.sequence, event.detail.data);
                                        });
                                        break;
                                }
                            });
                        }
                    }
                    this.dispatchEvent(new CustomEvent('reconnect', {
                        detail: {
                            ws: ws
                        }
                    }));
                }, 10e3);
            });
            this.addEventListener('message', (event) => {
                const dv = new DataView(event.data);
                let len = 0;
                for (let position = 0; position < event.data.byteLength; position += len) {
                    /*
                    登录 总字节长度 int(4bytes) + 头字节长度 short(2bytes) + 00 01 + 00 00 00 08 + 00 00 00 01
                    心跳 总字节长度 int(4bytes) + 头字节长度 short(2bytes) + 00 01 + 00 00 00 03 + 00 00 00 01 + 直播间人气 int(4bytes)
                    弹幕消息/系统消息/送礼 总字节长度 int(4bytes) + 头字节长度 short(2bytes) + 00 00 + 00 00 00 05 + 00 00 00 00 + Data
                    */
                    len = dv.getUint32(position);
                    const headerLen = dv.getUint16(position + 4);
                    const protover = dv.getUint16(position + 6);
                    const operation = dv.getUint32(position + 8);
                    const sequence = dv.getUint32(position + 12);
                    let data = event.data.slice(position + headerLen, position + len);
                    if (protover === 2 && this.unzip) data = this.unzip(data);
                    this.dispatchEvent(new CustomEvent('receive', {
                        detail: {
                            len: len,
                            headerLen: headerLen,
                            protover: protover,
                            operation: operation,
                            sequence: sequence,
                            data: data
                        }
                    }));
                    if (protover === 2 && !this.unzip) continue;
                    const dataV = new DataView(data);
                    switch (operation) {
                        case 3: {
                            const num = dataV.getUint32(0); // 在线人数
                            this.dispatchEvent(new CustomEvent('heartbeat', {
                                detail: {
                                    num: num
                                }
                            }));
                            break;
                        }
                        case 5: {
                            const str = BilibiliAPI.DanmuWebSocket.uintToString(new Uint8Array(data));
                            const obj = JSON.parse(str);
                            this.dispatchEvent(new CustomEvent('cmd', {
                                detail: {
                                    obj: obj,
                                    str: str
                                }
                            }));
                            break;
                        }
                        case 8:
                            this.dispatchEvent(new CustomEvent('login'));
                            break;
                    }
                }
            });
        }

        close(code, reason) {
            this.closed = true;
            super.close(code, reason);
        }

        setUnzip(fn) {
            this.unzip = fn;
        }

        bind(onreconnect = undefined, onlogin = undefined, onheartbeat = undefined, oncmd = undefined, onreceive = undefined) {
            /*
            参数说明
            onreconnect(DanmuWebSocket) // 必要,DanmuWebSocket为新的
            onlogin()
            onheartbeat(number)
            oncmd(object, string)
            onreceive(number, number, number, number, number, arraybuffer)
            */
            if (typeof onreconnect === 'function') {
                this.addEventListener('reconnect', (event) => {
                    onreconnect.call(this, event.detail.ws);
                });
                this.handlers.reconnect.push(onreconnect);
            }
            if (typeof onlogin === 'function') {
                this.addEventListener('login', () => {
                    onlogin.call(this);
                });
                this.handlers.login.push(onlogin);
            }
            if (typeof onheartbeat === 'function') {
                this.addEventListener('heartbeat', (event) => {
                    onheartbeat.call(this, event.detail.num);
                });
                this.handlers.heartbeat.push(onheartbeat);
            }
            if (typeof oncmd === 'function') {
                this.addEventListener('cmd', (event) => {
                    oncmd.call(this, event.detail.obj, event.detail.str);
                });
                this.handlers.cmd.push(oncmd);
            }
            if (typeof onreceive === 'function') {
                this.addEventListener('receive', (event) => {
                    onreceive.call(this, event.detail.len, event.detail.headerLen, event.detail.protover, event.detail.operation, event.detail.sequence, event.detail.data);
                });
                this.handlers.receive.push(onreceive);
            }
        }

        sendData(data, protover, operation, sequence) {
            if (this.readyState !== WebSocket.OPEN) throw new Error('DanmuWebSocket未连接');
            switch (Object.prototype.toString.call(data)) {
                case '[object Object]':
                    return this.sendData(JSON.stringify(data), protover, operation, sequence);
                case '[object String]': {
                    let dataUint8Array = BilibiliAPI.DanmuWebSocket.stringToUint(data);
                    let buffer = new ArrayBuffer(BilibiliAPI.DanmuWebSocket.headerLength + dataUint8Array.byteLength);
                    let dv = new DataView(buffer);
                    dv.setUint32(0, BilibiliAPI.DanmuWebSocket.headerLength + dataUint8Array.byteLength);
                    dv.setUint16(4, BilibiliAPI.DanmuWebSocket.headerLength);
                    dv.setUint16(6, parseInt(protover, 10));
                    dv.setUint32(8, parseInt(operation, 10));
                    dv.setUint32(12, parseInt(sequence, 10));
                    for (let i = 0; i < dataUint8Array.byteLength; ++i) {
                        dv.setUint8(BilibiliAPI.DanmuWebSocket.headerLength + i, dataUint8Array[i]);
                    }
                    this.send(buffer);
                }
                    return this;
                default:
                    this.send(data);
            }
            return this;
        }

        sendLoginPacket(uid, roomid) {
            // 总字节长度 int(4bytes) + 头字节长度 short(2bytes) + 00 01 + 00 00 00 07 + 00 00 00 01 + Data 登录数据包
            const data = {
                'uid': parseInt(uid, 10),
                'roomid': parseInt(roomid, 10),
                'protover': 2,
                'platform': 'web',
                'clientver': '1.8.5',
                'type': 2,
                'key': this.token
            };
            return this.sendData(data, 1, 7, 1);
        }

        sendHeartBeatPacket() {
            // 总字节长度 int(4bytes) + 头字节长度 short(2bytes) + 00 01 + 00 00 00 02 + 00 00 00 01 + Data 心跳数据包
            return this.sendData('[object Object]', 1, 2, 1);
        }
    }
};
BilibiliAPI.DanmuWebSocket.headerLength = 16;

/**
 * BilibiliToken
 */
class BilibiliToken {
    constructor() {
        this._W = typeof unsafeWindow === 'undefined' ? window : unsafeWindow;
        this.biliLocalId = BilibiliToken.biliLocalId;
        this.buvid = BilibiliToken.buvid;
        this.deviceId = this.biliLocalId;
        this.fingerprint = BilibiliToken.fingerprint;
        this.guid = this.buvid;
        this.localFingerprint = this.fingerprint;
        this.localId = this.buvid;
        this.headers = {
            'User-Agent': 'Mozilla/5.0 BiliTV/1.2.4.1 (bbcallen@gmail.com)',
            'APP-KEY': BilibiliToken.mobiApp,
            'Buvid': this.buvid,
            'env': 'prod'
        };
    }

    static get biliLocalId() {
        return this.RandomID(20);
    }

    static get buvid() {
        return this.RandomID(37).toLocaleUpperCase();
    }

    static get deviceId() {
        return this.biliLocalId;
    }

    static get fingerprint() {
        return this.RandomID(62);
    }

    static get guid() {
        return this.buvid;
    }

    static get localFingerprint() {
        return this.fingerprint;
    }

    static get localId() {
        return this.buvid;
    }

    static get TS() {
        return Math.floor(Date.now() / 1000);
    }

    static get RND() {
        return this.RandomNum(9);
    }

    static RandomNum(length) {
        const words = '0123456789';
        let randomNum = '';
        randomNum += words[Math.floor(Math.random() * 9) + 1];
        for (let i = 0; i < length - 1; i++)
            randomNum += words[Math.floor(Math.random() * 10)];
        return +randomNum;
    }

    static RandomID(length) {
        const words = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
        let randomID = '';
        randomID += words[Math.floor(Math.random() * 61) + 1];
        for (let i = 0; i < length - 1; i++)
            randomID += words[Math.floor(Math.random() * 62)];
        return randomID;
    }

    static get headers() {
        return {
            'User-Agent': 'Mozilla/5.0 BiliTV/1.2.4.1 (bbcallen@gmail.com)',
            'APP-KEY': this.mobiApp,
            'Buvid': this.buvid,
            'env': 'prod'
        };
    }

    static get loginQuery() {
        const biliLocalId = this.biliLocalId;
        const buvid = this.buvid;
        const fingerprint = this.fingerprint;
        return `appkey=${this.loginAppKey}&bili_local_id=${biliLocalId}&build=${this.build}&buvid=${buvid}&channel=${this.channel}&device=${biliLocalId}\
&device_id=${this.deviceId}&device_name=${this.deviceName}&device_platform=${this.devicePlatform}&fingerprint=${fingerprint}&guid=${buvid}\
&local_fingerprint=${fingerprint}&local_id=${buvid}&mobi_app=${this.mobiApp}&networkstate=${this.networkstate}&platform=${this.platform}`;
    }

    get loginQuery() {
        const biliLocalId = this.biliLocalId;
        const buvid = this.buvid;
        const fingerprint = this.fingerprint;
        return `appkey=${BilibiliToken.loginAppKey}&bili_local_id=${biliLocalId}&build=${BilibiliToken.build}&buvid=${buvid}&channel=${BilibiliToken.channel}&device=${biliLocalId}\
&device_id=${this.deviceId}&device_name=${BilibiliToken.deviceName}&device_platform=${BilibiliToken.devicePlatform}&fingerprint=${fingerprint}&guid=${buvid}\
&local_fingerprint=${fingerprint}&local_id=${buvid}&mobi_app=${BilibiliToken.mobiApp}&networkstate=${BilibiliToken.networkstate}&platform=${BilibiliToken.platform}`;
    }

    static signQuery(params, ts = true, secretKey = this.__secretKey) {
        let paramsSort = params;
        if (ts)
            paramsSort = `${params}&ts=${this.TS}`;
        paramsSort = paramsSort.split('&').sort().join('&');
        const paramsSecret = paramsSort + secretKey;
        const paramsHash = this.md5(paramsSecret);
        return `${paramsSort}&sign=${paramsHash}`;
    }

    static signLoginQuery(params) {
        const paramsBase = params === undefined ? this.loginQuery : `${params}&${this.loginQuery}`;
        return this.signQuery(paramsBase, true, this.__loginSecretKey);
    }

    signLoginQuery(params) {
        const paramsBase = params === undefined ? this.loginQuery : `${params}&${this.loginQuery}`;
        return BilibiliToken.signQuery(paramsBase, true, BilibiliToken.__loginSecretKey);
    }

    async getAuthCode() {
        const authCode = await BilibiliToken.XHR({
            GM: true,
            anonymous: true,
            method: 'POST',
            url: 'https://passport.bilibili.com/x/passport-tv-login/qrcode/auth_code',
            data: this.signLoginQuery(),
            responseType: 'json',
            headers: this.headers
        });
        if (authCode !== undefined && authCode.response.status === 200 && authCode.body.code === 0)
            return authCode.body.data.auth_code;
        return console.error('getAuthCode', authCode);
    }

    async qrcodeConfirm(authCode, csrf) {
        const confirm = await BilibiliToken.XHR({
            GM: true,
            method: 'POST',
            url: 'https://passport.bilibili.com/x/passport-tv-login/h5/qrcode/confirm',
            data: `auth_code=${authCode}&csrf=${csrf}`,
            responseType: 'json',
            headers: this.headers
        });
        if (confirm !== undefined && confirm.response.status === 200 && confirm.body.code === 0)
            return confirm.body.data.gourl;
        return console.error('qrcodeConfirm', confirm);
    }

    async qrcodePoll(authCode) {
        const poll = await BilibiliToken.XHR({
            GM: true,
            anonymous: true,
            method: 'POST',
            url: 'https://passport.bilibili.com/x/passport-tv-login/qrcode/poll',
            data: this.signLoginQuery(`auth_code=${authCode}`),
            responseType: 'json',
            headers: this.headers
        });
        if (poll !== undefined && poll.response.status === 200 && poll.body.code === 0)
            return poll.body.data;
        return console.error('qrcodePoll', poll);
    }

    async getToken() {
        const cookie = this._W.document.cookie.match(/bili_jct=(?<csrf>.*?);/);
        if (cookie === null || cookie.groups === undefined)
            return console.error('getToken', 'cookie获取失败');
        const csrf = cookie.groups['csrf'];
        const authCode = await this.getAuthCode();
        if (authCode === undefined)
            return;
        const confirm = await this.qrcodeConfirm(authCode, csrf);
        if (confirm === undefined)
            return;
        const token = await this.qrcodePoll(authCode);
        if (token === undefined)
            return;
        return token;
    }

    static md5(string, key, raw) {
        return md5(string, key, raw);

        function safeAdd(x, y) {
            var lsw = (x & 0xffff) + (y & 0xffff);
            var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
            return (msw << 16) | (lsw & 0xffff);
        }

        function bitRotateLeft(num, cnt) {
            return (num << cnt) | (num >>> (32 - cnt));
        }

        function md5cmn(q, a, b, x, s, t) {
            return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);
        }

        function md5ff(a, b, c, d, x, s, t) {
            return md5cmn((b & c) | (~b & d), a, b, x, s, t);
        }

        function md5gg(a, b, c, d, x, s, t) {
            return md5cmn((b & d) | (c & ~d), a, b, x, s, t);
        }

        function md5hh(a, b, c, d, x, s, t) {
            return md5cmn(b ^ c ^ d, a, b, x, s, t);
        }

        function md5ii(a, b, c, d, x, s, t) {
            return md5cmn(c ^ (b | ~d), a, b, x, s, t);
        }

        function binlMD5(x, len) {
            x[len >> 5] |= 0x80 << len % 32;
            x[(((len + 64) >>> 9) << 4) + 14] = len;
            var i;
            var olda;
            var oldb;
            var oldc;
            var oldd;
            var a = 1732584193;
            var b = -271733879;
            var c = -1732584194;
            var d = 271733878;
            for (i = 0; i < x.length; i += 16) {
                olda = a;
                oldb = b;
                oldc = c;
                oldd = d;
                a = md5ff(a, b, c, d, x[i], 7, -680876936);
                d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);
                c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);
                b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);
                a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);
                d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);
                c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);
                b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);
                a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);
                d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);
                c = md5ff(c, d, a, b, x[i + 10], 17, -42063);
                b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);
                a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);
                d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);
                c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);
                b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);
                a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);
                d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);
                c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);
                b = md5gg(b, c, d, a, x[i], 20, -373897302);
                a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);
                d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);
                c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);
                b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);
                a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);
                d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);
                c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);
                b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);
                a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);
                d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);
                c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);
                b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);
                a = md5hh(a, b, c, d, x[i + 5], 4, -378558);
                d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);
                c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);
                b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);
                a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);
                d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);
                c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);
                b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);
                a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);
                d = md5hh(d, a, b, c, x[i], 11, -358537222);
                c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);
                b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);
                a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);
                d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);
                c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);
                b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);
                a = md5ii(a, b, c, d, x[i], 6, -198630844);
                d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);
                c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);
                b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);
                a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);
                d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);
                c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);
                b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);
                a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);
                d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);
                c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);
                b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);
                a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);
                d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);
                c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);
                b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);
                a = safeAdd(a, olda);
                b = safeAdd(b, oldb);
                c = safeAdd(c, oldc);
                d = safeAdd(d, oldd);
            }
            return [a, b, c, d];
        }

        function binl2rstr(input) {
            var i;
            var output = '';
            var length32 = input.length * 32;
            for (i = 0; i < length32; i += 8) {
                output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff);
            }
            return output;
        }

        function rstr2binl(input) {
            var i;
            var output = [];
            output[(input.length >> 2) - 1] = undefined;
            for (i = 0; i < output.length; i += 1) {
                output[i] = 0;
            }
            var length8 = input.length * 8;
            for (i = 0; i < length8; i += 8) {
                output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32;
            }
            return output;
        }

        function rstrMD5(s) {
            return binl2rstr(binlMD5(rstr2binl(s), s.length * 8));
        }

        function rstrHMACMD5(key, data) {
            var i;
            var bkey = rstr2binl(key);
            var ipad = [];
            var opad = [];
            var hash;
            ipad[15] = opad[15] = undefined;
            if (bkey.length > 16) {
                bkey = binlMD5(bkey, key.length * 8);
            }
            for (i = 0; i < 16; i += 1) {
                ipad[i] = bkey[i] ^ 0x36363636;
                opad[i] = bkey[i] ^ 0x5c5c5c5c;
            }
            hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
            return binl2rstr(binlMD5(opad.concat(hash), 512 + 128));
        }

        function rstr2hex(input) {
            var hexTab = '0123456789abcdef';
            var output = '';
            var x;
            var i;
            for (i = 0; i < input.length; i += 1) {
                x = input.charCodeAt(i);
                output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f);
            }
            return output;
        }

        function str2rstrUTF8(input) {
            return unescape(encodeURIComponent(input));
        }

        function rawMD5(s) {
            return rstrMD5(str2rstrUTF8(s));
        }

        function hexMD5(s) {
            return rstr2hex(rawMD5(s));
        }

        function rawHMACMD5(k, d) {
            return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d));
        }

        function hexHMACMD5(k, d) {
            return rstr2hex(rawHMACMD5(k, d));
        }

        function md5(string, key, raw) {
            if (!key) {
                if (!raw) {
                    return hexMD5(string);
                }
                return rawMD5(string);
            }
            if (!raw) {
                return hexHMACMD5(key, string);
            }
            return rawHMACMD5(key, string);
        }
    }

    static XHR(XHROptions) {
        return new Promise(resolve => {
            const onerror = (error) => {
                console.error(GM_info.script.name, error);
                resolve(undefined);
            };
            if (XHROptions.GM) {
                if (XHROptions.method === 'POST') {
                    if (XHROptions.headers === undefined)
                        XHROptions.headers = {};
                    if (XHROptions.headers['Content-Type'] === undefined)
                        XHROptions.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
                }
                XHROptions.timeout = 30 * 1000;
                XHROptions.onload = res => resolve({response: res, body: res.response});
                XHROptions.onerror = onerror;
                XHROptions.ontimeout = onerror;
                GM_xmlhttpRequest(XHROptions);
            } else {
                const xhr = new XMLHttpRequest();
                xhr.open(XHROptions.method, XHROptions.url);
                if (XHROptions.method === 'POST' && xhr.getResponseHeader('Content-Type') === null)
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
                if (XHROptions.cookie)
                    xhr.withCredentials = true;
                if (XHROptions.responseType !== undefined)
                    xhr.responseType = XHROptions.responseType;
                xhr.timeout = 30 * 1000;
                xhr.onload = ev => {
                    const res = ev.target;
                    resolve({response: res, body: res.response});
                };
                xhr.onerror = onerror;
                xhr.ontimeout = onerror;
                xhr.send(XHROptions.data);
            }
        });
    }
}

BilibiliToken.__loginSecretKey = '59b43e04ad6965f34319062b478f83dd';
BilibiliToken.loginAppKey = '4409e2ce8ffd12b8';
BilibiliToken.__secretKey = '560c52ccd288fed045859ed18bffd973';
BilibiliToken.appKey = '1d8b6e7d45233436';
BilibiliToken.build = '102401';
BilibiliToken.channel = 'master';
BilibiliToken.device = 'Sony';
BilibiliToken.deviceName = 'J9110';
BilibiliToken.devicePlatform = 'Android10SonyJ9110';
BilibiliToken.mobiApp = 'android_tv_yst';
BilibiliToken.networkstate = 'wifi';
BilibiliToken.platform = 'android';

class WasmHash {
    constructor() {
        this._WASM_VECTOR_LEN = 0;
        this._cachedTextEncoder = new TextEncoder();
        this._cachedTextDecoder = new TextDecoder('utf-8', {ignoreBOM: true, fatal: true});
        this._cachedTextDecoder.decode();
    }

    static get wasm_rust_hash() {
        return 'data:application/wasm;base64,AGFzbQEAAAABhoGAgAAUYAAAYAABf2ABfwBgAX8Bf2ABfwF+YAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAEf39/fwF/YAV/f39/fwBgBn9/f39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gCH9/f39/f39/AGADf39+AGACf34AYAN/fn4AYAN+f38BfwOQgoCAAI4CBxIFBwcGBwULAgULBQcIBwgNCQ8FCAYIBQIDBwcFCAcHDgcHBwcJBQUGBQITBQUGBwcFBwgFBQcHEQsGBgkLBQUMBQIFBgkJCQkJCQkLCRACBQUFBwUFBgICCQcGBgsCAgMCBgYGBgICAgICAgICAgICAgcHBwcHBQUFBQUJBgsJBwgHBwcGBwYKBgYDBwcHBwcHBwICBQcJCQUFBQUFBQcHBwcFCAoGBQcIAggDCAcFBgYGBgYGBgUFCQUFCAYFCAICBQcCCQYHBwICBQcCCQMGCgcFBQYGAgYGBQcGBgYHBwcGAwMHAgUFAAYGCAUHBQgGBwADAAMDAwMBAQMDBAQAAwMEAgICAAACAgUCBIWAgIAAAXABKSkFg4CAgAABABEGiYCAgAABfwFBgIDAAAsH5YCAgAAGBm1lbW9yeQIABGhhc2gAPhNfX3diaW5kZ2VuX2V4cG9ydF8wAwARX193YmluZGdlbl9tYWxsb2MArQESX193YmluZGdlbl9yZWFsbG9jAMABD19fd2JpbmRnZW5fZnJlZQDUAQnNgICAAAEAQQELKIUCRbcBhgGxAYYCvgGHArIBswG0Ad8BtQG2AYwCiwKuASmIAf8BwgEyRMEBgALsAeMBfhbrAdcBjQKEAhc8iwHtATuKAfIBCqTUhYAAjgLsVgIFf1h+IwBB8AFrIgMkACADQQBBgAEQvQEhAyAAKQM4IQggACkDMCEJIAApAyghCiAAKQMgIQsgACkDGCEMIAApAxAhDSAAKQMIIQ4gACkDACEPAkAgAkUNACABIAJBB3RqIQQDQEEAIQIDQCADIAJqIAEgAmopAAAiEEI4hiAQQiiGQoCAgICAgMD/AIOEIBBCGIZCgICAgIDgP4MgEEIIhkKAgICA8B+DhIQgEEIIiEKAgID4D4MgEEIYiEKAgPwHg4QgEEIoiEKA/gODIBBCOIiEhIQ3AwAgAkEIaiICQYABRw0ACyADKQNAIREgAykDaCESIAMpAzghEyADKQMwIRQgAykDYCEVIAMpA1ghFiADKQMoIRcgAykDICEYIAMpA3ghGSADKQNwIRogAykDUCEbIAMpA0ghHCADKQMYIR0gAykDECEeIAMpAwghHyADIAMpAwAiEDcDuAEgAyAfNwOwASADIB43A8gBIAMgHTcDwAEgAyAcNwPYASADIBs3A9ABIAMgGjcD6AEgAyAZNwPgASADQYABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMgHjcDuAEgAyAdNwOwASADIBg3A8gBIAMgFzcDwAEgAyAWNwPYASADIBU3A9ABIANB4AFqQQhqIgUgA0GAAWpBCGoiAikDADcDACADIAMpA4ABNwPgASADQZABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAIpAwAhICADKQOQASEhIAMpA5gBISIgAykDgAEhIyADIBg3A7gBIAMgFzcDsAEgAyAUNwPIASADIBM3A8ABIAMgEjcD2AEgAyAaNwPQASAFIAMpA5gBNwMAIAMgAykDkAE3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhJCADKQOoASElIAMgFDcDuAEgAyATNwOwASADIBE3A8gBIAMgHDcDwAEgAyAZNwPYASADICA3A9ABIAMgJTcD6AEgAyAkNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABISYgAykDqAEhJyADIBE3A7gBIAMgHDcDsAEgAyAbNwPIASADIBY3A8ABIAMgIzcD2AEgAyAiNwPQASADICc3A+gBIAMgJjcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASEoIAMpA6gBISkgAyAbNwO4ASADIBY3A7ABIAMgFTcDyAEgAyASNwPAASADICE3A9gBIAMgJTcD0AEgAyApNwPoASADICg3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhKiADKQOoASErIAMgFTcDuAEgAyASNwOwASADIBo3A8gBIAMgGTcDwAEgAyAkNwPYASADICc3A9ABIAMgKzcD6AEgAyAqNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABISwgAykDqAEhLSADIBo3A7gBIAMgGTcDsAEgA0HAAWpBCGoiBiACKQMANwMAIAMgAykDgAE3A8ABIAMgJjcD2AEgAyApNwPQASADIC03A+gBIAMgLDcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASEuIAMpA6gBIS8gA0GwAWpBCGoiByACKQMANwMAIAMgAykDgAE3A7ABIAYgAykDmAE3AwAgAyADKQOQATcDwAEgAyAoNwPYASADICs3A9ABIAMgLzcD6AEgAyAuNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABITAgAykDqAEhMSAHIAMpA5gBNwMAIAMgAykDkAE3A7ABIAMgJTcDyAEgAyAkNwPAASADICo3A9gBIAMgLTcD0AEgAyAxNwPoASADIDA3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhMiADKQOoASEzIAMgJTcDuAEgAyAkNwOwASADICc3A8gBIAMgJjcDwAEgAyAsNwPYASADIC83A9ABIAMgMzcD6AEgAyAyNwPgASADQYABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMgJzcDuAEgAyAmNwOwASADICk3A8gBIAMgKDcDwAEgAyAuNwPYASADIDE3A9ABIAUgAikDADcDACADIAMpA4ABNwPgASADQZABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAIpAwAhNCADKQOQASE1IAMpA5gBITYgAykDgAEhNyADICk3A7gBIAMgKDcDsAEgAyArNwPIASADICo3A8ABIAMgMDcD2AEgAyAzNwPQASAFIAMpA5gBNwMAIAMgAykDkAE3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhOCADKQOoASE5IAMgKzcDuAEgAyAqNwOwASADIC03A8gBIAMgLDcDwAEgAyAyNwPYASADIDQ3A9ABIAMgOTcD6AEgAyA4NwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABITogAykDqAEhOyADIC03A7gBIAMgLDcDsAEgAyAvNwPIASADIC43A8ABIAMgNzcD2AEgAyA2NwPQASADIDs3A+gBIAMgOjcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASE8IAMpA6gBIT0gAyAvNwO4ASADIC43A7ABIAMgMTcDyAEgAyAwNwPAASADIDU3A9gBIAMgOTcD0AEgAyA9NwPoASADIDw3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhPiADKQOoASE/IAMgMTcDuAEgAyAwNwOwASADIDM3A8gBIAMgMjcDwAEgAyA4NwPYASADIDs3A9ABIAMgPzcD6AEgAyA+NwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABIUAgAykDqAEhQSADIDM3A7gBIAMgMjcDsAEgBiACKQMANwMAIAMgAykDgAE3A8ABIAMgOjcD2AEgAyA9NwPQASADIEE3A+gBIAMgQDcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASFCIAMpA6gBIUMgByACKQMANwMAIAMgAykDgAE3A7ABIAYgAykDmAE3AwAgAyADKQOQATcDwAEgAyA8NwPYASADID83A9ABIAMgQzcD6AEgAyBCNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABIUQgAykDqAEhRSAHIAMpA5gBNwMAIAMgAykDkAE3A7ABIAMgOTcDyAEgAyA4NwPAASADID43A9gBIAMgQTcD0AEgAyBFNwPoASADIEQ3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhRiADKQOoASFHIAMgOTcDuAEgAyA4NwOwASADIDs3A8gBIAMgOjcDwAEgAyBANwPYASADIEM3A9ABIAMgRzcD6AEgAyBGNwPgASADQYABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMgOzcDuAEgAyA6NwOwASADID03A8gBIAMgPDcDwAEgAyBCNwPYASADIEU3A9ABIAUgAikDADcDACADIAMpA4ABNwPgASADQZABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAIpAwAhSCADKQOQASFJIAMpA5gBIUogAykDgAEhSyADID03A7gBIAMgPDcDsAEgAyA/NwPIASADID43A8ABIAMgRDcD2AEgAyBHNwPQASAFIAMpA5gBNwMAIAMgAykDkAE3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhTCADKQOoASFNIAMgPzcDuAEgAyA+NwOwASADIEE3A8gBIAMgQDcDwAEgAyBGNwPYASADIEg3A9ABIAMgTTcD6AEgAyBMNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABIU4gAykDqAEhTyADIEE3A7gBIAMgQDcDsAEgAyBDNwPIASADIEI3A8ABIAMgSzcD2AEgAyBKNwPQASADIE83A+gBIAMgTjcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASFQIAMpA6gBIVEgAyBDNwO4ASADIEI3A7ABIAMgRTcDyAEgAyBENwPAASADIEk3A9gBIAMgTTcD0AEgAyBRNwPoASADIFA3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykDoAEhUiADKQOoASFTIAMgRTcDuAEgAyBENwOwASADIEc3A8gBIAMgRjcDwAEgAyBMNwPYASADIE83A9ABIAMgUzcD6AEgAyBSNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABIVQgAykDqAEhVSADIEc3A7gBIAMgRjcDsAEgBiACKQMANwMAIAMgAykDgAE3A8ABIAMgTjcD2AEgAyBRNwPQASADIFU3A+gBIAMgVDcD4AEgA0GgAWogA0GwAWogA0HAAWogA0HQAWogA0HgAWoQXiADKQOgASFWIAMpA6gBIVcgByACKQMANwMAIAMgAykDgAE3A7ABIAYgAykDmAE3AwAgAyADKQOQATcDwAEgAyBQNwPYASADIFM3A9ABIAMgVzcD6AEgAyBWNwPgASADQaABaiADQbABaiADQcABaiADQdABaiADQeABahBeIAMpA6ABIVggAykDqAEhWSAHIAMpA5gBNwMAIAMgAykDkAE3A7ABIAMgTTcDyAEgAyBMNwPAASADIFI3A9gBIAMgVTcD0AEgAyBZNwPoASADIFg3A+ABIANBoAFqIANBsAFqIANBwAFqIANB0AFqIANB4AFqEF4gAykD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BiAAKAIQIQcgACgCDCEIIAAoAgghCSAAKAIEIQogACgCACELAkAgAkUNACABIAJBBnRqIQwDQEEAIQIDQCADIAJqIAEgAmooAAAiDUEYdCANQQh0QYCA/AdxciANQQh2QYD+A3EgDUEYdnJyNgIAIAJBBGoiAkHAAEcNAAsgAygCPCECIAMoAjghDSADKAI0IQ4gAygCMCEPIAMoAiwhECADKAIoIREgAygCJCESIAMoAiAhEyADKAIcIRQgAygCGCEVIAMoAhQhFiADKAIQIRcgAygCDCEYIAMoAgghGSADKAIEIRogAygCACEbIAMgCTYCYCADIAg2AmQgAyAFNgJoIAMgBDYCbCADIAY2AnwgAyAHNgJ4IAMgCjYCdCADIAs2AnAgAyAbQZjfqJQEaiIcNgKMASADIBpBkYndiQdqIh02AogBIAMgGUHP94Oue2oiHjYChAEgAyAYQaW3181+aiIfNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIAY2AmwgAyAHNgJoIAMgCjYCZCADIAs2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgHjYCjAEgAyAfNgKIASADIBw2AoQBIAMgHTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyAjNgJsIAMgIjYCaCADICE2AmQgAyAgNgJgIAMgHzYCfCADIB42AnggAyAdNgJ0IAMgHDYCcCADIBdB24TbygNqIiQ2AowBIAMgFkHxo8TPBWoiJTYCiAEgAyAVQaSF/pF5aiImNgKEASADIBRB1b3x2HpqIic2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEgIAMoAlQhISADKAJYISIgAygCXCEjIAMgHzYCbCADIB42AmggAyAdNgJkIAMgHDYCYCADICM2AnwgAyAiNgJ4IAMgITYCdCADICA2AnAgAyAmNgKMASADICc2AogBIAMgJDYChAEgAyAlNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhHCADKAJUIR0gAygCWCEeIAMoAlwhHyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgE0GY1Z7AfWoiJDYCjAEgAyASQYG2jZQBaiIlNgKIASADIBFBvovGoQJqIiY2AoQBIAMgEEHD+7GoBWoiJzYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQISAgAygCVCEhIAMoAlghIiADKAJcISMgAyAfNgJsIAMgHjYCaCADIB02AmQgAyAcNgJgIAMgIzYCfCADICI2AnggAyAhNgJ0IAMgIDYCcCADICY2AowBIAMgJzYCiAEgAyAkNgKEASADICU2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEcIAMoAlQhHSADKAJYIR4gAygCXCEfIAMgIzYCbCADICI2AmggAyAhNgJkIAMgIDYCYCADIB82AnwgAyAeNgJ4IAMgHTYCdCADIBw2AnAgAyAPQfS6+ZUHaiIkNgKMASADIA5B/uP6hnhqIiU2AogBIAMgDUGnjfDeeWoiJjYChAEgAyACQfTi74x8aiInNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIB82AmwgAyAeNgJoIAMgHTYCZCADIBw2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgJjYCjAEgAyAnNgKIASADICQ2AoQBIAMgJTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyAbNgJcIAMgGjYCWCADIBk2AlQgAyAYNgJQIAMgFzYCbCADIBY2AmggAyAVNgJkIAMgFDYCYCADIBM2AnwgAyASNgJ4IAMgETYCdCADIBA2AnAgAyAPNgKMASADIA42AogBIAMgDTYChAEgAyACNgKAASADQcAAaiADQdAAaiADQeAAaiADQfAAaiADQYABahA6IAMoAkAhGCADKAJEIRkgAygCSCEaIAMoAkwhGyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgG0HB0+2kfmoiJDYCjAEgAyAaQYaP+f1+aiIlNgKIASADIBlBxruG/gBqIiY2AoQBIAMgGEHMw7KgAmoiJzYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQISAgAygCVCEhIAMoAlghIiADKAJcISMgAyAfNgJsIAMgHjYCaCADIB02AmQgAyAcNgJgIAMgIzYCfCADICI2AnggAyAhNgJ0IAMgIDYCcCADICY2AowBIAMgJzYCiAEgAyAkNgKEASADICU2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEcIAMoAlQhHSADKAJYIR4gAygCXCEfIAMgFzYCXCADIBY2AlggAyAVNgJUIAMgFDYCUCADIBM2AmwgAyASNgJoIAMgETYCZCADIBA2AmAgAyAPNgJ8IAMgDjYCeCADIA02AnQgAyACNgJwIAMgGzYCjAEgAyAaNgKIASADIBk2AoQBIAMgGDYCgAEgA0HAAGogA0HQAGogA0HgAGogA0HwAGogA0GAAWoQOiADKAJAIRQgAygCRCEVIAMoAkghFiADKAJMIRcgAyAjNgJsIAMgIjYCaCADICE2AmQgAyAgNgJgIAMgHzYCfCADIB42AnggAyAdNgJ0IAMgHDYCcCADIBdB79ik7wJqIiQ2AowBIAMgFkGqidLTBGoiJTYCiAEgAyAVQdzTwuUFaiImNgKEASADIBRB2pHmtwdqIic2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEgIAMoAlQhISADKAJYISIgAygCXCEjIAMgHzYCbCADIB42AmggAyAdNgJkIAMgHDYCYCADICM2AnwgAyAiNgJ4IAMgITYCdCADICA2AnAgAyAmNgKMASADICc2AogBIAMgJDYChAEgAyAlNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhHCADKAJUIR0gAygCWCEeIAMoAlwhHyADIBM2AlwgAyASNgJYIAMgETYCVCADIBA2AlAgAyAPNgJsIAMgDjYCaCADIA02AmQgAyACNgJgIAMgGzYCfCADIBo2AnggAyAZNgJ0IAMgGDYCcCADIBc2AowBIAMgFjYCiAEgAyAVNgKEASADIBQ2AoABIANBwABqIANB0ABqIANB4ABqIANB8ABqIANBgAFqEDogAygCQCEQIAMoAkQhESADKAJIIRIgAygCTCETIAMgIzYCbCADICI2AmggAyAhNgJkIAMgIDYCYCADIB82AnwgAyAeNgJ4IAMgHTYCdCADIBw2AnAgAyATQdKi+cF5aiIkNgKMASADIBJB7YzHwXpqIiU2AogBIAMgEUHIz4yAe2oiJjYChAEgAyAQQcf/5fp7aiInNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIB82AmwgAyAeNgJoIAMgHTYCZCADIBw2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgJjYCjAEgAyAnNgKIASADICQ2AoQBIAMgJTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyAPNgJcIAMgDjYCWCADIA02AlQgAyACNgJQIAMgGzYCbCADIBo2AmggAyAZNgJkIAMgGDYCYCADIBc2AnwgAyAWNgJ4IAMgFTYCdCADIBQ2AnAgAyATNgKMASADIBI2AogBIAMgETYChAEgAyAQNgKAASADQcAAaiADQdAAaiADQeAAaiADQfAAaiADQYABahA6IAMoAkAhAiADKAJEIQ0gAygCSCEOIAMoAkwhDyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgD0Hzl4C3fGoiJDYCjAEgAyAOQceinq19aiIlNgKIASADIA1B0capNmoiJjYChAEgAyACQefSpKEBaiInNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIB82AmwgAyAeNgJoIAMgHTYCZCADIBw2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgJjYCjAEgAyAnNgKIASADICQ2AoQBIAMgJTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyAbNgJcIAMgGjYCWCADIBk2AlQgAyAYNgJQIAMgFzYCbCADIBY2AmggAyAVNgJkIAMgFDYCYCADIBM2AnwgAyASNgJ4IAMgETYCdCADIBA2AnAgAyAPNgKMASADIA42AogBIAMgDTYChAEgAyACNgKAASADQcAAaiADQdAAaiADQeAAaiADQfAAaiADQYABahA6IAMoAkAhGCADKAJEIRkgAygCSCEaIAMoAkwhGyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgG0GFldy9AmoiJDYCjAEgAyAaQbjC7PACaiIlNgKIASADIBlB/Nux6QRqIiY2AoQBIAMgGEGTmuCZBWoiJzYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQISAgAygCVCEhIAMoAlghIiADKAJcISMgAyAfNgJsIAMgHjYCaCADIB02AmQgAyAcNgJgIAMgIzYCfCADICI2AnggAyAhNgJ0IAMgIDYCcCADICY2AowBIAMgJzYCiAEgAyAkNgKEASADICU2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEcIAMoAlQhHSADKAJYIR4gAygCXCEfIAMgFzYCXCADIBY2AlggAyAVNgJUIAMgFDYCUCADIBM2AmwgAyASNgJoIAMgETYCZCADIBA2AmAgAyAPNgJ8IAMgDjYCeCADIA02AnQgAyACNgJwIAMgGzYCjAEgAyAaNgKIASADIBk2AoQBIAMgGDYCgAEgA0HAAGogA0HQAGogA0HgAGogA0HwAGogA0GAAWoQOiADKAJAIRQgAygCRCEVIAMoAkghFiADKAJMIRcgAyAjNgJsIAMgIjYCaCADICE2AmQgAyAgNgJgIAMgHzYCfCADIB42AnggAyAdNgJ0IAMgHDYCcCADIBdB1OapqAZqIiQ2AowBIAMgFkG7laizB2oiJTYCiAEgAyAVQa6Si454aiImNgKEASADIBRBhdnIk3lqIic2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEgIAMoAlQhISADKAJYISIgAygCXCEjIAMgHzYCbCADIB42AmggAyAdNgJkIAMgHDYCYCADICM2AnwgAyAiNgJ4IAMgITYCdCADICA2AnAgAyAmNgKMASADICc2AogBIAMgJDYChAEgAyAlNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhHCADKAJUIR0gAygCWCEeIAMoAlwhHyADIBM2AlwgAyASNgJYIAMgETYCVCADIBA2AlAgAyAPNgJsIAMgDjYCaCADIA02AmQgAyACNgJgIAMgGzYCfCADIBo2AnggAyAZNgJ0IAMgGDYCcCADIBc2AowBIAMgFjYCiAEgAyAVNgKEASADIBQ2AoABIANBwABqIANB0ABqIANB4ABqIANB8ABqIANBgAFqEDogAygCQCEQIAMoAkQhESADKAJIIRIgAygCTCETIAMgIzYCbCADICI2AmggAyAhNgJkIAMgIDYCYCADIB82AnwgAyAeNgJ4IAMgHTYCdCADIBw2AnAgAyATQaHR/5V6aiIkNgKMASADIBJBy8zpwHpqIiU2AogBIAMgEUHwlq6SfGoiJjYChAEgAyAQQaOjsbt8aiInNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIB82AmwgAyAeNgJoIAMgHTYCZCADIBw2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgJjYCjAEgAyAnNgKIASADICQ2AoQBIAMgJTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyAPNgJcIAMgDjYCWCADIA02AlQgAyACNgJQIAMgGzYCbCADIBo2AmggAyAZNgJkIAMgGDYCYCADIBc2AnwgAyAWNgJ4IAMgFTYCdCADIBQ2AnAgAyATNgKMASADIBI2AogBIAMgETYChAEgAyAQNgKAASADQcAAaiADQdAAaiADQeAAaiADQfAAaiADQYABahA6IAMoAkAhAiADKAJEIQ0gAygCSCEOIAMoAkwhDyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgD0GZ0MuMfWoiJDYCjAEgAyAOQaSM5LR9aiIlNgKIASADIA1Bheu4oH9qIiY2AoQBIAMgAkHwwKqDAWoiJzYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQISAgAygCVCEhIAMoAlghIiADKAJcISMgAyAfNgJsIAMgHjYCaCADIB02AmQgAyAcNgJgIAMgIzYCfCADICI2AnggAyAhNgJ0IAMgIDYCcCADICY2AowBIAMgJzYCiAEgAyAkNgKEASADICU2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEcIAMoAlQhHSADKAJYIR4gAygCXCEfIAMgGzYCXCADIBo2AlggAyAZNgJUIAMgGDYCUCADIBc2AmwgAyAWNgJoIAMgFTYCZCADIBQ2AmAgAyATNgJ8IAMgEjYCeCADIBE2AnQgAyAQNgJwIAMgDzYCjAEgAyAONgKIASADIA02AoQBIAMgAjYCgAEgA0HAAGogA0HQAGogA0HgAGogA0HwAGogA0GAAWoQOiADKAJAIRggAygCRCEZIAMoAkghGiADKAJMIRsgAyAjNgJsIAMgIjYCaCADICE2AmQgAyAgNgJgIAMgHzYCfCADIB42AnggAyAdNgJ0IAMgHDYCcCADIBtBloKTzQFqIiQ2AowBIAMgGkGI2N3xAWoiJTYCiAEgAyAZQczuoboCaiImNgKEASADIBhBtfnCpQNqIic2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEgIAMoAlQhISADKAJYISIgAygCXCEjIAMgHzYCbCADIB42AmggAyAdNgJkIAMgHDYCYCADICM2AnwgAyAiNgJ4IAMgITYCdCADICA2AnAgAyAmNgKMASADICc2AogBIAMgJDYChAEgAyAlNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhHCADKAJUIR0gAygCWCEeIAMoAlwhHyADIBc2AlwgAyAWNgJYIAMgFTYCVCADIBQ2AlAgAyATNgJsIAMgEjYCaCADIBE2AmQgAyAQNgJgIAMgDzYCfCADIA42AnggAyANNgJ0IAMgAjYCcCADIBs2AowBIAMgGjYCiAEgAyAZNgKEASADIBg2AoABIANBwABqIANB0ABqIANB4ABqIANB8ABqIANBgAFqEDogAygCQCEUIAMoAkQhFSADKAJIIRYgAygCTCEXIAMgIzYCbCADICI2AmggAyAhNgJkIAMgIDYCYCADIB82AnwgAyAeNgJ4IAMgHTYCdCADIBw2AnAgAyAXQbOZ8MgDaiIkNgKMASADIBZBytTi9gRqIiU2AogBIAMgFUHPlPPcBWoiJjYChAEgAyAUQfPfucEGaiInNgKAASADQdAAaiADQeAAaiADQfAAaiADQYABahA9IAMoAlAhICADKAJUISEgAygCWCEiIAMoAlwhIyADIB82AmwgAyAeNgJoIAMgHTYCZCADIBw2AmAgAyAjNgJ8IAMgIjYCeCADICE2AnQgAyAgNgJwIAMgJjYCjAEgAyAnNgKIASADICQ2AoQBIAMgJTYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQIRwgAygCVCEdIAMoAlghHiADKAJcIR8gAyATNgJcIAMgEjYCWCADIBE2AlQgAyAQNgJQIAMgDzYCbCADIA42AmggAyANNgJkIAMgAjYCYCADIBs2AnwgAyAaNgJ4IAMgGTYCdCADIBg2AnAgAyAXNgKMASADIBY2AogBIAMgFTYChAEgAyAUNgKAASADQcAAaiADQdAAaiADQeAAaiADQfAAaiADQYABahA6IAMoAkAhECADKAJEIREgAygCSCESIAMoAkwhEyADICM2AmwgAyAiNgJoIAMgITYCZCADICA2AmAgAyAfNgJ8IAMgHjYCeCADIB02AnQgAyAcNgJwIAMgE0Huhb6kB2oiJDYCjAEgAyASQe/GlcUHaiIlNgKIASADIBFBlPChpnhqIiY2AoQBIAMgEEGIhJzmeGoiJzYCgAEgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJQISAgAygCVCEhIAMoAlghIiADKAJcISMgAyAfNgJsIAMgHjYCaCADIB02AmQgAyAcNgJgIAMgIzYCfCADICI2AnggAyAhNgJ0IAMgIDYCcCADICY2AowBIAMgJzYCiAEgAyAkNgKEASADICU2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCEcIAMoAlQhHSADKAJYIR4gAygCXCEfIAMgDzYCXCADIA42AlggAyANNgJUIAMgAjYCUCADIBs2AmwgAyAaNgJoIAMgGTYCZCADIBg2AmAgAyAXNgJ8IAMgFjYCeCADIBU2AnQgAyAUNgJwIAMgEzYCjAEgAyASNgKIASADIBE2AoQBIAMgEDYCgAEgA0HAAGogA0HQAGogA0HgAGogA0HwAGogA0GAAWoQOiADKAJAIQIgAygCRCENIAMoAkghDiADKAJMIQ8gAyAjNgJsIAMgIjYCaCADICE2AmQgAyAgNgJgIAMgHzYCfCADIB42AnggAyAdNgJ0IAMgHDYCcCADIA9B+v/7hXlqIhg2AowBIAMgDkHr2cGiemoiGTYCiAEgAyANQffH5vd7aiIaNgKEASADIAJB8vHFs3xqIhs2AoABIANB0ABqIANB4ABqIANB8ABqIANBgAFqED0gAygCUCECIAMoAlQhDSADKAJYIQ4gAygCXCEPIAMgHzYCbCADIB42AmggAyAdNgJkIAMgHDYCYCADIA82AnwgAyAONgJ4IAMgDTYCdCADIAI2AnAgAyAaNgKMASADIBs2AogBIAMgGDYChAEgAyAZNgKAASAPIARqIQQgDiAFaiEFIA0gCGohCCACIAlqIQkgA0HQAGogA0HgAGogA0HwAGogA0GAAWoQPSADKAJcIAZqIQYgAygCWCAHaiEHIAMoAlQgCmohCiADKAJQIAtqIQsgAUHAAGoiASAMRw0ACwsgACAENgIcIAAgBTYCGCAAIAY2AhQgACAHNgIQIAAgCDYCDCAAIAk2AgggACAKNgIEIAAgCzYCACADQZABaiQAC4wnAS9/IABB3ABqIgMgAEHMAGooAgAiBCAAQcgAaigCACIFIABBLGooAgAiBiAAQewAaiIHKAIAIgggAygCACIJaiAAQShqKAIAIgNqIgpqIAIgCnNBmZqD3wVzQRB3IgtBuuq/qnpqIgwgCHNBFHciDWoiDmogAEEUaigCACICIABB4ABqIg8oAgAiECAAKAJQIhFqIAAoAhAiCmoiEmogACgCACASc0H/pLmIBXNBEHciEkHnzKfQBmoiEyAQc0EUdyIUaiIVIBJzQRh3IhYgE2oiFyAUc0EZdyIYaiIUaiAUIABBJGooAgAiEiAAQegAaiIZKAIAIhogAEHYAGoiGygCACIcaiAAQSBqKAIAIhNqIh1qIAEgHXNBq7OP/AFzQRB3IgFB8ua74wNqIh4gGnNBFHciH2oiICABc0EYdyIhc0EQdyIiIABBHGooAgAiASAAQeQAaiIjKAIAIiQgAEHUAGoiJSgCACImaiAAQRhqKAIAIhRqIh1qIABBBGooAgAgHXNBjNGV2HlzQRB3Ih1Bhd2e23tqIicgJHNBFHciKGoiKSAdc0EYdyIqICdqIidqIisgGHNBFHciLGoiLSAAQcQAaigCACIYaiAAQcAAaigCACIdICBqIA4gC3NBGHciDiAMaiIgIA1zQRl3IgtqIgwgGGogDCAqc0EQdyIMIBdqIg0gC3NBFHciC2oiFyAMc0EYdyIqIA1qIi4gC3NBGXciL2oiDSADaiANIABBMGooAgAiCyAVaiAnIChzQRl3IhVqIicgAEE0aigCACIMaiAnIA5zQRB3Ig4gISAeaiIeaiIhIBVzQRR3IhVqIicgDnNBGHciKHNBEHciMCAAQThqKAIAIg0gKWogHiAfc0EZdyIeaiIfIABBPGooAgAiDmogHyAWc0EQdyIWICBqIh8gHnNBFHciHmoiICAWc0EYdyIWIB9qIh9qIikgL3NBFHciL2oiMSASaiAnIAVqIC0gInNBGHciIiAraiInICxzQRl3IitqIiwgDWogLCAWc0EQdyIWIC5qIiwgK3NBFHciK2oiLSAWc0EYdyIWICxqIiwgK3NBGXciK2oiLiABaiAuIBcgDGogHyAec0EZdyIXaiIeIARqIB4gInNBEHciHiAoICFqIh9qIiEgF3NBFHciF2oiIiAec0EYdyIec0EQdyIoICAgE2ogHyAVc0EZdyIVaiIfIAtqIB8gKnNBEHciHyAnaiIgIBVzQRR3IhVqIicgH3NBGHciHyAgaiIgaiIqICtzQRR3IitqIi4gBGogIiAOaiAxIDBzQRh3IiIgKWoiKSAvc0EZdyIvaiIwIAZqIDAgH3NBEHciHyAsaiIsIC9zQRR3Ii9qIjAgH3NBGHciHyAsaiIsIC9zQRl3Ii9qIjEgGGogMSAtIAJqICAgFXNBGXciFWoiICAdaiAgICJzQRB3IiAgHiAhaiIeaiIhIBVzQRR3IhVqIiIgIHNBGHciIHNBEHciLSAnIApqIB4gF3NBGXciF2oiHiAUaiAeIBZzQRB3IhYgKWoiHiAXc0EUdyIXaiInIBZzQRh3IhYgHmoiHmoiKSAvc0EUdyIvaiIxIAxqICIgDmogLiAoc0EYdyIiICpqIiggK3NBGXciKmoiKyALaiArIBZzQRB3IhYgLGoiKyAqc0EUdyIqaiIsIBZzQRh3IhYgK2oiKyAqc0EZdyIqaiIuIBNqIC4gMCASaiAeIBdzQRl3IhdqIh4gFGogHiAic0EQdyIeICAgIWoiIGoiISAXc0EUdyIXaiIiIB5zQRh3Ih5zQRB3Ii4gJyAdaiAgIBVzQRl3IhVqIiAgCmogICAfc0EQdyIfIChqIiAgFXNBFHciFWoiJyAfc0EYdyIfICBqIiBqIiggKnNBFHciKmoiMCAOaiAiIAZqIDEgLXNBGHciIiApaiIpIC9zQRl3Ii1qIi8gAmogLyAfc0EQdyIfICtqIisgLXNBFHciLWoiLyAfc0EYdyIfICtqIisgLXNBGXciLWoiMSAFaiAxICwgDWogICAVc0EZdyIVaiIgIAVqICAgInNBEHciICAeICFqIh5qIiEgFXNBFHciFWoiIiAgc0EYdyIgc0EQdyIsICcgAWogHiAXc0EZdyIXaiIeIANqIB4gFnNBEHciFiApaiIeIBdzQRR3IhdqIicgFnNBGHciFiAeaiIeaiIpIC1zQRR3Ii1qIjEgBGogIiAGaiAwIC5zQRh3IiIgKGoiKCAqc0EZdyIqaiIuIAxqIC4gFnNBEHciFiAraiIrICpzQRR3IipqIi4gFnNBGHciFiAraiIrICpzQRl3IipqIjAgC2ogMCAvIBhqIB4gF3NBGXciF2oiHiAdaiAeICJzQRB3Ih4gICAhaiIgaiIhIBdzQRR3IhdqIiIgHnNBGHciHnNBEHciLyAnIAFqICAgFXNBGXciFWoiICACaiAgIB9zQRB3Ih8gKGoiICAVc0EUdyIVaiInIB9zQRh3Ih8gIGoiIGoiKCAqc0EUdyIqaiIwIA1qICIgE2ogMSAsc0EYdyIiIClqIikgLXNBGXciLGoiLSAKaiAtIB9zQRB3Ih8gK2oiKyAsc0EUdyIsaiItIB9zQRh3Ih8gK2oiKyAsc0EZdyIsaiIxIARqIDEgLiAUaiAgIBVzQRl3IhVqIiAgA2ogICAic0EQdyIgIB4gIWoiHmoiISAVc0EUdyIVaiIiICBzQRh3IiBzQRB3Ii4gJyASaiAeIBdzQRl3IhdqIh4gDWogHiAWc0EQdyIWIClqIh4gF3NBFHciF2oiJyAWc0EYdyIWIB5qIh5qIikgLHNBFHciLGoiMSABaiAiIAxqIDAgL3NBGHciIiAoaiIoICpzQRl3IipqIi8gCmogLyAWc0EQdyIWICtqIisgKnNBFHciKmoiLyAWc0EYdyIWICtqIisgKnNBGXciKmoiMCAYaiAwIC0gFGogHiAXc0EZdyIXaiIeIBNqIB4gInNBEHciHiAgICFqIiBqIiEgF3NBFHciF2oiIiAec0EYdyIec0EQdyItICcgEmogICAVc0EZdyIVaiIgIAZqICAgH3NBEHciHyAoaiIgIBVzQRR3IhVqIicgH3NBGHciHyAgaiIgaiIoICpzQRR3IipqIjAgC2ogIiADaiAxIC5zQRh3IiIgKWoiKSAsc0EZdyIsaiIuIAtqIC4gH3NBEHciHyAraiIrICxzQRR3IixqIi4gH3NBGHciHyAraiIrICxzQRl3IixqIjEgAWogMSAvIAVqICAgFXNBGXciFWoiICACaiAgICJzQRB3IiAgHiAhaiIeaiIhIBVzQRR3IhVqIiIgIHNBGHciIHNBEHciLyAnIA5qIB4gF3NBGXciF2oiHiAdaiAeIBZzQRB3IhYgKWoiHiAXc0EUdyIXaiInIBZzQRh3IhYgHmoiHmoiKSAsc0EUdyIsaiIxIAJqICIgFGogMCAtc0EYdyIiIChqIiggKnNBGXciKmoiLSAdaiAtIBZzQRB3IhYgK2oiKyAqc0EUdyIqaiItIBZzQRh3IhYgK2oiKyAqc0EZdyIqaiIwIAxqIDAgLiAKaiAeIBdzQRl3IhdqIh4gDmogHiAic0EQdyIeICAgIWoiIGoiISAXc0EUdyIXaiIiIB5zQRh3Ih5zQRB3Ii4gJyADaiAgIBVzQRl3IhVqIiAgDWogICAfc0EQdyIfIChqIiAgFXNBFHciFWoiJyAfc0EYdyIfICBqIiBqIiggKnNBFHciKmoiMCATaiAiIARqIDEgL3NBGHciIiApaiIpICxzQRl3IixqIi8gBWogLyAfc0EQdyIfICtqIisgLHNBFHciLGoiLyAfc0EYdyIfICtqIisgLHNBGXciLGoiMSANaiAxIC0gE2ogICAVc0EZdyIVaiIgIBhqICAgInNBEHciICAeICFqIh5qIiEgFXNBFHciFWoiIiAgc0EYdyIgc0EQdyItICcgBmogHiAXc0EZdyIXaiIeIBJqIB4gFnNBEHciFiApaiIeIBdzQRR3IhdqIicgFnNBGHciFiAeaiIeaiIpICxzQRR3IixqIjEgC2ogIiAdaiAwIC5zQRh3IiIgKGoiKCAqc0EZdyIqaiIuIBJqIC4gFnNBEHciFiAraiIrICpzQRR3IipqIi4gFnNBGHciFiAraiIrICpzQRl3IipqIjAgDmogMCAvIAVqIB4gF3NBGXciF2oiHiAYaiAeICJzQRB3Ih4gICAhaiIgaiIhIBdzQRR3IhdqIiIgHnNBGHciHnNBEHciLyAnIAJqICAgFXNBGXciFWoiICAEaiAgIB9zQRB3Ih8gKGoiICAVc0EUdyIVaiInIB9zQRh3Ih8gIGoiIGoiKCAqc0EUdyIqaiIwIAFqICIgDGogMSAtc0EYdyIiIClqIikgLHNBGXciLGoiLSAUaiAtIB9zQRB3Ih8gK2oiKyAsc0EUdyIsaiItIB9zQRh3Ih8gK2oiKyAsc0EZdyIsaiIxIAxqIDEgLiAKaiAgIBVzQRl3IhVqIiAgBmogICAic0EQdyIgIB4gIWoiHmoiISAVc0EUdyIVaiIiICBzQRh3IiBzQRB3Ii4gJyADaiAeIBdzQRl3IhdqIh4gAWogHiAWc0EQdyIWIClqIh4gF3NBFHciF2oiJyAWc0EYdyIWIB5qIh5qIikgLHNBFHciLGoiMSAUaiAiIBhqIDAgL3NBGHciIiAoaiIoICpzQRl3IipqIi8gDmogLyAWc0EQdyIWICtqIisgKnNBFHciKmoiLyAWc0EYdyIWICtqIisgKnNBGXciKmoiMCANaiAwIC0gHWogHiAXc0EZdyIXaiIeIAJqIB4gInNBEHciHiAgICFqIiBqIiEgF3NBFHciF2oiIiAec0EYdyIec0EQdyItICcgBmogICAVc0EZdyIVaiIgIAVqICAgH3NBEHciHyAoaiIgIBVzQRR3IhVqIicgH3NBGHciHyAgaiIgaiIoICpzQRR3IipqIjAgCmogIiALaiAxIC5zQRh3IiIgKWoiKSAsc0EZdyIsaiIuIANqIC4gH3NBEHciHyAraiIrICxzQRR3IixqIi4gH3NBGHciHyAraiIrICxzQRl3IixqIjEgC2ogMSAvIBJqICAgFXNBGXciFWoiICAKaiAgICJzQRB3IiAgHiAhaiIeaiIhIBVzQRR3IhVqIiIgIHNBGHciIHNBEHciLyAnIARqIB4gF3NBGXciF2oiHiATaiAeIBZzQRB3IhYgKWoiHiAXc0EUdyIXaiInIBZzQRh3IhYgHmoiHmoiKSAsc0EUdyIsaiIxIA1qICIgA2ogMCAtc0EYdyIiIChqIiggKnNBGXciKmoiLSAEaiAtIBZzQRB3IhYgK2oiKyAqc0EUdyIqaiItIBZzQRh3IhYgK2oiKyAqc0EZdyIqaiIwIBJqIDAgLiAOaiAeIBdzQRl3IhdqIh4gAWogHiAic0EQdyIeICAgIWoiIGoiISAXc0EUdyIXaiIiIB5zQRh3Ih5zQRB3Ii4gJyAFaiAgIBVzQRl3IhVqIiAgDGogICAfc0EQdyIfIChqIiAgFXNBFHciFWoiJyAfc0EYdyIfICBqIiBqIiggKnNBFHciKmoiMCACaiAiIAJqIDEgL3NBGHciAiApaiIiICxzQRl3IilqIiwgE2ogLCAfc0EQdyIfICtqIisgKXNBFHciKWoiLCAfc0EYdyIfICtqIisgKXNBGXciKWoiLyASaiAvIC0gHWogICAVc0EZdyISaiIVIBRqIBUgAnNBEHciAiAeICFqIhVqIh4gEnNBFHciEmoiICACc0EYdyICc0EQdyIhICcgGGogFSAXc0EZdyIVaiIXIAZqIBcgFnNBEHciFiAiaiIXIBVzQRR3IhVqIiIgFnNBGHciFiAXaiIXaiInIClzQRR3IilqIi0gGGogICANaiAwIC5zQRh3IhggKGoiDSAqc0EZdyIgaiIoIBRqICggFnNBEHciFCAraiIWICBzQRR3IiBqIiggFHNBGHciFCAWaiIWICBzQRl3IiBqIiogCmogKiAsIAZqIBcgFXNBGXciBmoiCiADaiAKIBhzQRB3IgMgAiAeaiICaiIKIAZzQRR3IgZqIhggA3NBGHciA3NBEHciFSAiIAtqIAIgEnNBGXciAmoiEiATaiASIB9zQRB3IhIgDWoiEyACc0EUdyICaiILIBJzQRh3IhIgE2oiE2oiDSAgc0EUdyIXaiIeIAlzIAsgDGogAyAKaiIDIAZzQRl3IgZqIgogBWogCiAUc0EQdyIFIC0gIXNBGHciCiAnaiIUaiILIAZzQRR3IgZqIgwgBXNBGHciBSALaiILczYCACAbIBwgHSAYIAFqIBQgKXNBGXciAWoiFGogFCASc0EQdyISIBZqIhQgAXNBFHciAWoiGHMgDiAoIARqIBMgAnNBGXciBGoiAmogAiAKc0EQdyICIANqIgMgBHNBFHciBGoiCiACc0EYdyICIANqIgNzNgIAICUgDCAmcyAeIBVzQRh3IhMgDWoiHXM2AgAgACAKIBFzIBggEnNBGHciCiAUaiISczYCUCAHIAIgCHMgEiABc0EZd3M2AgAgGSATIBpzIAsgBnNBGXdzNgIAICMgCiAkcyADIARzQRl3czYCACAPIAUgEHMgHSAXc0EZd3M2AgALkSoCCH8BfgJAAkACQAJAAkAgAUH1AUkNAEEAIQIgAUHN/3tPDQQgAUELaiIBQXhxIQMgAEEEaigCACIERQ0BQQAhBQJAIAFBCHYiAUUNAEEfIQUgA0H///8HSw0AIANBBiABZyIBa0EfcXZBAXEgAUEBdGtBPmohBQtBACADayECAkACQAJAIAAgBUECdGpBkAJqKAIAIgFFDQBBACEGIANBAEEZIAVBAXZrQR9xIAVBH0YbdCEHQQAhCANAAkAgAUEEaigCAEF4cSIJIANJDQAgCSADayIJIAJPDQAgCSECIAEhCCAJDQBBACECIAEhCAwDCyABQRRqKAIAIgkgBiAJIAEgB0EddkEEcWpBEGooAgAiAUcbIAYgCRshBiAHQQF0IQcgAQ0ACwJAIAZFDQAgBiEBDAILIAgNAgtBACEIQQIgBUEfcXQiAUEAIAFrciAEcSIBRQ0DIAAgAUEAIAFrcWhBAnRqQZACaigCACIBRQ0DCwNAIAFBBGooAgBBeHEiBiADTyAGIANrIgkgAklxIQcCQCABKAIQIgYNACABQRRqKAIAIQYLIAEgCCAHGyEIIAkgAiAHGyECIAYhASAGDQALIAhFDQILAkAgACgCkAMiASADSQ0AIAIgASADa08NAgsgCCgCGCEFAkACQAJAIAgoAgwiBiAIRw0AIAhBFEEQIAhBFGoiBigCACIHG2ooAgAiAQ0BQQAhBgwCCyAIKAIIIgEgBjYCDCAGIAE2AggMAQsgBiAIQRBqIAcbIQcDQCAHIQkCQCABIgZBFGoiBygCACIBDQAgBkEQaiEHIAYoAhAhAQsgAQ0ACyAJQQA2AgALAkAgBUUNAAJAAkAgACAIKAIcQQJ0akGQAmoiASgCACAIRg0AIAVBEEEUIAUoAhAgCEYbaiAGNgIAIAZFDQIMAQsgASAGNgIAIAYNACAAQQRqIgEgASgCAEF+IAgoAhx3cTYCAAwBCyAGIAU2AhgCQCAIKAIQIgFFDQAgBiABNgIQIAEgBjYCGAsgCEEUaigCACIBRQ0AIAZBFGogATYCACABIAY2AhgLAkACQCACQRBJDQAgCCADQQNyNgIEIAggA2oiAyACQQFyNgIEIAMgAmogAjYCAAJAIAJBgAJJDQACQAJAIAJBCHYiBg0AQQAhAQwBC0EfIQEgAkH///8HSw0AIAJBBiAGZyIBa0EfcXZBAXEgAUEBdGtBPmohAQsgA0IANwIQIAMgATYCHCAAIAFBAnRqQZACaiEGAkACQAJAAkACQCAAQQRqIgcoAgAiCUEBIAFBH3F0IgBxRQ0AIAYoAgAiB0EEaigCAEF4cSACRw0BIAchAQwCCyAHIAkgAHI2AgAgBiADNgIAIAMgBjYCGAwDCyACQQBBGSABQQF2a0EfcSABQR9GG3QhBgNAIAcgBkEddkEEcWpBEGoiCSgCACIBRQ0CIAZBAXQhBiABIQcgAUEEaigCAEF4cSACRw0ACwsgASgCCCICIAM2AgwgASADNgIIIANBADYCGCADIAE2AgwgAyACNgIIDAQLIAkgAzYCACADIAc2AhgLIAMgAzYCDCADIAM2AggMAgsgACACQQN2IgJBA3RqQQhqIQECQAJAIAAoAgAiBkEBIAJ0IgJxRQ0AIAEoAgghAgwBCyAAIAYgAnI2AgAgASECCyABIAM2AgggAiADNgIMIAMgATYCDCADIAI2AggMAQsgCCACIANqIgFBA3I2AgQgCCABaiIBIAEoAgRBAXI2AgQLIAhBCGoPCwJAAkACQCAAKAIAIghBECABQQtqQXhxIAFBC0kbIgNBA3YiAnYiAUEDcQ0AIAMgACgCkANNDQMgAQ0BIAAoAgQiAUUNAyAAIAFBACABa3FoQQJ0akGQAmooAgAiBkEEaigCAEF4cSADayECIAYhBwNAAkAgBigCECIBDQAgBkEUaigCACIBRQ0ECyABQQRqKAIAQXhxIANrIgYgAiAGIAJJIgYbIQIgASAHIAYbIQcgASEGDAALCwJAAkAgACABQX9zQQFxIAJqIgNBA3RqIgdBEGooAgAiAUEIaiICKAIAIgYgB0EIaiIHRg0AIAYgBzYCDCAHIAY2AggMAQsgACAIQX4gA3dxNgIACyABIANBA3QiA0EDcjYCBCABIANqIgEgASgCBEEBcjYCBAwFCwJAAkAgACABIAJ0QQIgAnQiAUEAIAFrcnEiAUEAIAFrcWgiAkEDdGoiB0EQaigCACIBQQhqIgkoAgAiBiAHQQhqIgdGDQAgBiAHNgIMIAcgBjYCCAwBCyAAIAhBfiACd3E2AgALIAEgA0EDcjYCBCABIANqIgYgAkEDdCICIANrIgNBAXI2AgQgASACaiADNgIAAkAgACgCkAMiAUUNACAAIAFBA3YiB0EDdGpBCGohAiAAKAKYAyEBAkACQCAAKAIAIghBASAHQR9xdCIHcUUNACACKAIIIQcMAQsgACAIIAdyNgIAIAIhBwsgAiABNgIIIAcgATYCDCABIAI2AgwgASAHNgIICyAAIAY2ApgDIAAgAzYCkAMgCQ8LIAcoAhghBQJAAkACQCAHKAIMIgYgB0cNACAHQRRBECAHQRRqIgYoAgAiCBtqKAIAIgENAUEAIQYMAgsgBygCCCIBIAY2AgwgBiABNgIIDAELIAYgB0EQaiAIGyEIA0AgCCEJAkAgASIGQRRqIggoAgAiAQ0AIAZBEGohCCAGKAIQIQELIAENAAsgCUEANgIACyAFRQ0CAkAgACAHKAIcQQJ0akGQAmoiASgCACAHRg0AIAVBEEEUIAUoAhAgB0YbaiAGNgIAIAZFDQMMAgsgASAGNgIAIAYNASAAIAAoAgRBfiAHKAIcd3E2AgQMAgsCQAJAAkACQAJAAkAgACgCkAMiASADTw0AIAAoApQDIgEgA0sNA0EAIQIgA0GvgARqIgZBEHZAACIBQX9GDQggAUEQdCIIRQ0IIAAgACgCoAMgBkGAgHxxIgVqIgE2AqADIAAgACgCpAMiBiABIAYgAUsbNgKkAyAAKAKcAyIGRQ0BIABBqANqIgQhAQNAIAEoAgAiByABKAIEIglqIAhGDQMgASgCCCIBDQAMBQsLIAAoApgDIQICQAJAIAEgA2siBkEPSw0AIABBADYCmAMgAEEANgKQAyACIAFBA3I2AgQgAiABaiIDQQRqIQEgAygCBEEBciEDDAELIAAgBjYCkAMgACACIANqIgc2ApgDIAcgBkEBcjYCBCACIAFqIAY2AgAgA0EDciEDIAJBBGohAQsgASADNgIAIAJBCGoPCwJAAkAgACgCvAMiAUUNACABIAhNDQELIAAgCDYCvAMLIABB/x82AsADIAAgCDYCqAMgAEG0A2pBADYCACAAQawDaiAFNgIAIABBFGogAEEIaiIGNgIAIABBHGogAEEQaiIBNgIAIAEgBjYCACAAQSRqIABBGGoiBjYCACAGIAE2AgAgAEEsaiAAQSBqIgE2AgAgASAGNgIAIABBNGogAEEoaiIGNgIAIAYgATYCACAAQTxqIABBMGoiATYCACABIAY2AgAgAEHEAGogAEE4aiIGNgIAIAYgATYCACAAQcwAaiAAQcAAaiIBNgIAIAEgBjYCACAAQdQAaiAAQcgAaiIGNgIAIAYgATYCACAAQdAAaiIBIAY2AgAgAEHcAGogATYCACAAQdgAaiIGIAE2AgAgAEHkAGogBjYCACAAQeAAaiIBIAY2AgAgAEHsAGogATYCACAAQegAaiIGIAE2AgAgAEH0AGogBjYCACAAQfAAaiIBIAY2AgAgAEH8AGogATYCACAAQfgAaiIGIAE2AgAgAEGEAWogBjYCACAAQYABaiIBIAY2AgAgAEGMAWogATYCACAAQYgBaiIGIAE2AgAgAEGUAWogBjYCACAAQZwBaiAAQZABaiIBNgIAIAEgBjYCACAAQaQBaiAAQZgBaiIGNgIAIAYgATYCACAAQawBaiAAQaABaiIBNgIAIAEgBjYCACAAQbQBaiAAQagBaiIGNgIAIAYgATYCACAAQbwBaiAAQbABaiIBNgIAIAEgBjYCACAAQcQBaiAAQbgBaiIGNgIAIAYgATYCACAAQcwBaiAAQcABaiIBNgIAIAEgBjYCACAAQdQBaiAAQcgBaiIGNgIAIAYgATYCACAAQdwBaiAAQdABaiIBNgIAIAEgBjYCACAAQeQBaiAAQdgBaiIGNgIAIAYgATYCACAAQewBaiAAQeABaiIBNgIAIAEgBjYCACAAQfQBaiAAQegBaiIGNgIAIAYgATYCACAAQfwBaiAAQfABaiIBNgIAIAEgBjYCACAAQYQCaiAAQfgBaiIGNgIAIAYgATYCACAAQYwCaiAAQYACaiIBNgIAIAEgBjYCACAAIAg2ApwDIABBiAJqIAE2AgAgACAFQVhqIgE2ApQDIAggAUEBcjYCBCAIIAFqQSg2AgQgAEGAgIABNgK4AwwDCyABQQxqKAIADQEgCCAGTQ0BIAcgBksNASABIAkgBWo2AgQgACAAKAKcAyIBQQ9qQXhxIgZBeGo2ApwDIAAgASAGayAAKAKUAyAFaiIHakEIaiIINgKUAyAGQXxqIAhBAXI2AgAgASAHakEoNgIEIABBgICAATYCuAMMAgsgACABIANrIgI2ApQDIAAgACgCnAMiASADaiIGNgKcAyAGIAJBAXI2AgQgASADQQNyNgIEIAFBCGoPCyAAIAAoArwDIgEgCCABIAhJGzYCvAMgCCAFaiEHIAQhAQJAAkADQCABKAIAIAdGDQEgASgCCCIBDQAMAgsLIAFBDGooAgANACABIAg2AgAgASABKAIEIAVqNgIEIAggA0EDcjYCBCAIIANqIQEgByAIayADayEDAkACQAJAIAAoApwDIAdGDQAgACgCmAMgB0YNAQJAIAdBBGooAgAiAkEDcUEBRw0AIAAgByACQXhxIgIQICACIANqIQMgByACaiEHCyAHIAcoAgRBfnE2AgQgASADQQFyNgIEIAEgA2ogAzYCAAJAIANBgAJJDQACQAJAIANBCHYiBg0AQQAhAgwBC0EfIQIgA0H///8HSw0AIANBBiAGZyICa0EfcXZBAXEgAkEBdGtBPmohAgsgAUIANwIQIAEgAjYCHCAAIAJBAnRqQZACaiEGAkACQAJAAkACQCAAQQRqIgcoAgAiCUEBIAJBH3F0IgBxRQ0AIAYoAgAiB0EEaigCAEF4cSADRw0BIAchAgwCCyAHIAkgAHI2AgAgBiABNgIAIAEgBjYCGAwDCyADQQBBGSACQQF2a0EfcSACQR9GG3QhBgNAIAcgBkEddkEEcWpBEGoiCSgCACICRQ0CIAZBAXQhBiACIQcgAkEEaigCAEF4cSADRw0ACwsgAigCCCIDIAE2AgwgAiABNgIIIAFBADYCGCABIAI2AgwgASADNgIIDAULIAkgATYCACABIAc2AhgLIAEgATYCDCABIAE2AggMAwsgACADQQN2IgJBA3RqQQhqIQMCQAJAIAAoAgAiBkEBIAJ0IgJxRQ0AIAMoAgghAgwBCyAAIAYgAnI2AgAgAyECCyADIAE2AgggAiABNgIMIAEgAzYCDCABIAI2AggMAgsgACABNgKcAyAAIAAoApQDIANqIgM2ApQDIAEgA0EBcjYCBAwBCyAAIAE2ApgDIAAgACgCkAMgA2oiAzYCkAMgASADQQFyNgIEIAEgA2ogAzYCAAsgCEEIag8LIAQhAQJAA0ACQCABKAIAIgcgBksNACAHIAEoAgRqIgcgBksNAgsgASgCCCEBDAALCyAAIAg2ApwDIAAgBUFYaiIBNgKUAyAIIAFBAXI2AgQgCCABakEoNgIEIABBgICAATYCuAMgBiAHQWBqQXhxQXhqIgEgASAGQRBqSRsiCUEbNgIEIAQpAgAhCiAJQRBqIARBCGopAgA3AgAgCSAKNwIIIABBtANqQQA2AgAgAEGsA2ogBTYCACAAIAg2AqgDIABBsANqIAlBCGo2AgAgCUEcaiEBA0AgAUEHNgIAIAcgAUEEaiIBSw0ACyAJIAZGDQAgCSAJKAIEQX5xNgIEIAYgCSAGayIIQQFyNgIEIAkgCDYCAAJAIAhBgAJJDQACQAJAIAhBCHYiBw0AQQAhAQwBC0EfIQEgCEH///8HSw0AIAhBBiAHZyIBa0EfcXZBAXEgAUEBdGtBPmohAQsgBkIANwIQIAZBHGogATYCACAAIAFBAnRqQZACaiEHAkACQAJAAkACQCAAQQRqIgkoAgAiBUEBIAFBH3F0IgRxRQ0AIAcoAgAiCUEEaigCAEF4cSAIRw0BIAkhAQwCCyAJIAUgBHI2AgAgByAGNgIAIAZBGGogBzYCAAwDCyAIQQBBGSABQQF2a0EfcSABQR9GG3QhBwNAIAkgB0EddkEEcWpBEGoiBSgCACIBRQ0CIAdBAXQhByABIQkgAUEEaigCAEF4cSAIRw0ACwsgASgCCCIHIAY2AgwgASAGNgIIIAZBGGpBADYCACAGIAE2AgwgBiAHNgIIDAMLIAUgBjYCACAGQRhqIAk2AgALIAYgBjYCDCAGIAY2AggMAQsgACAIQQN2IgdBA3RqQQhqIQECQAJAIAAoAgAiCEEBIAd0IgdxRQ0AIAEoAgghBwwBCyAAIAggB3I2AgAgASEHCyABIAY2AgggByAGNgIMIAYgATYCDCAGIAc2AggLIAAoApQDIgEgA00NAiAAIAEgA2siAjYClAMgACAAKAKcAyIBIANqIgY2ApwDIAYgAkEBcjYCBCABIANBA3I2AgQgAUEIag8LIAYgBTYCGAJAIAcoAhAiAUUNACAGIAE2AhAgASAGNgIYCyAHQRRqKAIAIgFFDQAgBkEUaiABNgIAIAEgBjYCGAsCQAJAIAJBEEkNACAHIANBA3I2AgQgByADaiIDIAJBAXI2AgQgAyACaiACNgIAAkAgACgCkAMiAUUNACAAIAFBA3YiCEEDdGpBCGohBiAAKAKYAyEBAkACQCAAKAIAIglBASAIQR9xdCIIcUUNACAGKAIIIQgMAQsgACAJIAhyNgIAIAYhCAsgBiABNgIIIAggATYCDCABIAY2AgwgASAINgIICyAAIAM2ApgDIAAgAjYCkAMMAQsgByACIANqIgFBA3I2AgQgByABaiIBIAEoAgRBAXI2AgQLIAdBCGoPCyACC70aAhl/AX4jAEHwAGsiAyQAIANBAEHAABC9ASEDIAAoAhAhBCAAKAIMIQUgACgCCCEGIAAoAgQhByAAKAIAIQgCQCACRQ0AIAEgAkEGdGohCQNAQQAhAgNAIAMgAmogASACaigAACIKQRh0IApBCHRBgID8B3FyIApBCHZBgP4DcSAKQRh2cnI2AgAgAkEEaiICQcAARw0ACyADKAIwIQsgAygCNCECIAMoAjghCiADKAI8IQwgAygCICENIAMoAiQhDiADKAIoIQ8gAygCLCEQIAMoAhAhESADKAIUIRIgAygCGCETIAMoAhwhFCADKAIAIRUgAygCBCEWIAMoAgghFyADKAIMIRggAyAHNgJUIAMgBjYCWCADIAU2AlwgAyAINgJQIAMgGDYCbCADIBc2AmggAyAWNgJkIAMgFSAEajYCYCADQcAAaiADQdAAaiADQeAAakEAEBIgAygCQCEZIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgGTYCUCADIBQ2AmwgAyATNgJoIAMgEjYCZCADIBEgCEEed2o2AmAgA0HAAGogA0HQAGogA0HgAGpBABASIAMoAkAhGiADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBo2AlAgAyAQNgJsIAMgDzYCaCADIA42AmQgAyANIBlBHndqNgJgIANBwABqIANB0ABqIANB4ABqQQAQEiADKAJAIRkgAykCRCEcIAMgAygCTDYCXCADIBw3AlQgAyAZNgJQIAMgDDYCbCADIAo2AmggAyACNgJkIAMgCyAaQR53ajYCYCADQcAAaiADQdAAaiADQeAAakEAEBIgAygCQCEaIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgGjYCUCADIBlBHncgAiANIBcgFXNzc0EBdyIVajYCYCADIBAgEiAYc3MgFXNBAXciGTYCbCADIAwgDyARIBdzc3NBAXciFzYCaCADIAogDiAYIBZzc3NBAXciGDYCZCADQcAAaiADQdAAaiADQeAAakEAEBIgAygCQCEbIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgGzYCUCADIAwgDiAUc3MgCyATIBFzcyAYc0EBdyIRc0EBdyIWQaHX5/YGajYCbCADIAogDSATc3MgGXNBAXciE0Gh1+f2Bmo2AmggAyACIBQgEnNzIBdzQQF3IhJBodfn9gZqNgJkIAMgESAaQR53akGh1+f2Bmo2AmAgA0HAAGogA0HQAGogA0HgAGoQVCADKAJAIRogAykCRCEcIAMgAygCTDYCXCADIBw3AlQgAyAaNgJQIAMgAiAQcyAZcyAPIA1zIBVzIBJzQQF3Ig1zQQF3IhRBodfn9gZqNgJsIAMgCyAPcyAXcyAWc0EBdyIPQaHX5/YGajYCaCADIBAgDnMgGHMgE3NBAXciDkGh1+f2Bmo2AmQgAyANIBtBHndqQaHX5/YGajYCYCADQcAAaiADQdAAaiADQeAAahBUIAMoAkAhGyADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBs2AlAgAyAYIAxzIBZzIAogC3MgEXMgDnNBAXciC3NBAXciEEGh1+f2Bmo2AmwgAyAVIApzIBNzIBRzQQF3IgpBodfn9gZqNgJoIAMgDCACcyAScyAPc0EBdyICQaHX5/YGajYCZCADIAsgGkEed2pBodfn9gZqNgJgIANBwABqIANB0ABqIANB4ABqEFQgAygCQCEaIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgGjYCUCADIBIgGXMgFHMgFyAVcyANcyACc0EBdyIMc0EBdyIVQaHX5/YGajYCbCADIBEgF3MgD3MgEHNBAXciF0Gh1+f2Bmo2AmggAyAZIBhzIA5zIApzQQF3IhlBodfn9gZqNgJkIAMgDCAbQR53akGh1+f2Bmo2AmAgA0HAAGogA0HQAGogA0HgAGoQVCADKAJAIRsgAykCRCEcIAMgAygCTDYCXCADIBw3AlQgAyAbNgJQIAMgDiAWcyAQcyATIBFzIAtzIBlzQQF3IhhzQQF3IhFBodfn9gZqNgJsIAMgDSATcyAKcyAVc0EBdyITQaHX5/YGajYCaCADIBYgEnMgAnMgF3NBAXciFkGh1+f2Bmo2AmQgAyAYIBpBHndqQaHX5/YGajYCYCADQcAAaiADQdAAaiADQeAAahBUIAMoAkAhGiADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBo2AlAgAyAbQR53IA8gDXMgDHMgFnNBAXciDWo2AmAgAyALIA9zIBdzIBFzQQF3Ig82AmggAyACIBRzIBVzIA1zQQF3IhI2AmwgAyAUIA5zIBlzIBNzQQF3Ig42AmQgA0HAAGogA0HQAGogA0HgAGpBAhASIAMoAkAhGyADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBs2AlAgAyAaQR53IAogC3MgGHMgDnNBAXciC2o2AmAgAyAMIApzIBNzIBJzQQF3Igo2AmggAyAZIBBzIBFzIAtzQQF3IhQ2AmwgAyAQIAJzIBZzIA9zQQF3IgI2AmQgA0HAAGogA0HQAGogA0HgAGpBAhASIAMoAkAhGiADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBo2AlAgAyAbQR53IBcgDHMgDXMgAnNBAXciDGo2AmAgAyAWIBVzIBJzIAxzQQF3IhA2AmwgAyAYIBdzIA9zIBRzQQF3Ihc2AmggAyAVIBlzIA5zIApzQQF3IhU2AmQgA0HAAGogA0HQAGogA0HgAGpBAhASIAMoAkAhGyADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBs2AlAgAyAaQR53IBMgGHMgC3MgFXNBAXciGWo2AmAgAyANIBNzIApzIBBzQQF3Ihg2AmggAyAOIBFzIBRzIBlzQQF3IhM2AmwgAyARIBZzIAJzIBdzQQF3IhE2AmQgA0HAAGogA0HQAGogA0HgAGpBAhASIAMoAkAhGiADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBo2AlAgAyAbQR53IA8gDXMgDHMgEXNBAXciDWo2AmAgAyALIA9zIBdzIBNzQQF3Ig82AmggAyACIBJzIBBzIA1zQQF3IhY2AmwgAyASIA5zIBVzIBhzQQF3Ig42AmQgA0HAAGogA0HQAGogA0HgAGpBAhASIAMoAkAhGyADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBs2AlAgAyAVIBRzIBNzIAogC3MgGXMgDnNBAXciC3NBAXciEkHWg4vTfGo2AmwgAyAMIApzIBhzIBZzQQF3IgpB1oOL03xqNgJoIAMgFCACcyARcyAPc0EBdyICQdaDi9N8ajYCZCADIAsgGkEed2pB1oOL03xqNgJgIANBwABqIANB0ABqIANB4ABqEFQgAygCQCEUIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgFDYCUCADIBEgEHMgFnMgFyAMcyANcyACc0EBdyIMc0EBdyIaQdaDi9N8ajYCbCADIBkgF3MgD3MgEnNBAXciF0HWg4vTfGo2AmggAyAQIBVzIA5zIApzQQF3IhBB1oOL03xqNgJkIAMgDCAbQR53akHWg4vTfGo2AmAgA0HAAGogA0HQAGogA0HgAGoQVCADKAJAIRUgAykCRCEcIAMgAygCTDYCXCADIBw3AlQgAyAVNgJQIAMgDiATcyAScyAYIBlzIAtzIBBzQQF3IhlzQQF3IhtB1oOL03xqNgJsIAMgDSAYcyAKcyAac0EBdyIYQdaDi9N8ajYCaCADIBMgEXMgAnMgF3NBAXciEUHWg4vTfGo2AmQgAyAZIBRBHndqQdaDi9N8ajYCYCADQcAAaiADQdAAaiADQeAAahBUIAMoAkAhEyADKQJEIRwgAyADKAJMNgJcIAMgHDcCVCADIBM2AlAgAyACIBZzIBpzIA8gDXMgDHMgEXNBAXciDXNBAXciFEHWg4vTfGo2AmwgAyALIA9zIBdzIBtzQQF3Ig9B1oOL03xqNgJoIAMgFiAOcyAQcyAYc0EBdyIOQdaDi9N8ajYCZCADIA0gFUEed2pB1oOL03xqNgJgIANBwABqIANB0ABqIANB4ABqEFQgAygCQCENIAMpAkQhHCADIAMoAkw2AlwgAyAcNwJUIAMgDTYCUCADIBAgEnMgG3MgCiALcyAZcyAOc0EBdyILc0EBd0HWg4vTfGo2AmwgAyAMIApzIBhzIBRzQQF3QdaDi9N8ajYCaCADIBIgAnMgEXMgD3NBAXdB1oOL03xqNgJkIAMgCyATQR53akHWg4vTfGo2AmAgDUEedyAEaiEEIANBwABqIANB0ABqIANB4ABqEFQgAygCTCAFaiEFIAMoAkggBmohBiADKAJEIAdqIQcgAygCQCAIaiEIIAFBwABqIgEgCUcNAAsLIAAgBDYCECAAIAU2AgwgACAGNgIIIAAgBzYCBCAAIAg2AgAgA0HwAGokAAuyEwEWfyMAQbABayICJAAgACgCDCEDIAAoAgghBCAAKAIEIQUgACgCACEGIAJBEGpBAEHAABC9ARogAkGEAWpCgICAgMAANwIAIAJBwAA2AnwgAiABNgJ4IAIgAUHAAGo2AoABIAJB0ABqIAJB+ABqELsBIAJB+ABqIAJBEGogAkEQakHAAGogAkHQAGoQmQEgAkHQAGogAkH4AGoQ6QEgAkH4AGogAkHQAGpBJBCsARoCQCACKAKUASIBIAIoApgBTw0AIAJBgAFqIQcCQANAIAIgAUEBajYClAEgAkH4AGogARDeASEIIAJBCGogByABEMgBIAJBoAFqIAIoAgggAigCDBDEASACLQCgAUEBRg0BIAggAigAoQE2AgAgAigClAEiASACKAKYAU8NAgwACwtB84vAAEErIAJBqAFqQaCMwABB+IrAABB/AAsCQBD8AUUNACACKAKUASIBIAIoAnwgAigCeGtBAnZPDQAgAkH4AGogARDeARogAiACKAKUAUEBajYClAELIAAgAigCICIJIAIoAjAiCiACKAJAIgsgAigCECIMIAIoAjQiDSACKAJEIg4gAigCFCIPIAIoAiQiECAOIA0gECAPIAsgCiAJIAwgBiADIAVBf3NxIAQgBXFyampB+Miqu31qQQd3IAVqIgFqIAMgD2ogBCABQX9zcSABIAVxcmpB1u6exn5qQQx3IAFqIgggBSACKAIcIgNqIAEgCCAEIAIoAhgiBmogBSAIQX9zcSAIIAFxcmpB2+GBoQJqQRF3aiIHQX9zcSAHIAhxcmpB7p33jXxqQRZ3IAdqIgFBf3NxIAEgB3FyakGvn/Crf2pBB3cgAWoiBWogECAIaiAHIAVBf3NxIAUgAXFyakGqjJ+8BGpBDHcgBWoiCCACKAIsIgQgAWogBSAIIAIoAigiESAHaiABIAhBf3NxIAggBXFyakGTjMHBempBEXdqIgFBf3NxIAEgCHFyakGBqppqakEWdyABaiIHQX9zcSAHIAFxcmpB2LGCzAZqQQd3IAdqIgVqIA0gCGogASAFQX9zcSAFIAdxcmpBr++T2nhqQQx3IAVqIgggAigCPCISIAdqIAUgCCACKAI4IhMgAWogByAIQX9zcSAIIAVxcmpBsbd9akERd2oiAUF/c3EgASAIcXJqQb6v88p4akEWdyABaiIHQX9zcSAHIAFxcmpBoqLA3AZqQQd3IAdqIgVqIAIoAkwiFCAHaiAFIAIoAkgiFSABaiAHIAUgDiAIaiABIAVBf3NxIAUgB3FyakGT4+FsakEMd2oiAUF/cyIWcSABIAVxcmpBjofls3pqQRF3IAFqIghBf3MiF3EgCCABcXJqQaGQ0M0EakEWdyAIaiIHIAFxIAggFnFyakHiyviwf2pBBXcgB2oiBWogDCAHaiASIAhqIBEgAWogBSAIcSAHIBdxcmpBwOaCgnxqQQl3IAVqIgEgB3EgBSAHQX9zcXJqQdG0+bICakEOdyABaiIIIAVxIAEgBUF/c3FyakGqj9vNfmpBFHcgCGoiByABcSAIIAFBf3NxcmpB3aC8sX1qQQV3IAdqIgVqIAkgB2ogFCAIaiATIAFqIAUgCHEgByAIQX9zcXJqQdOokBJqQQl3IAVqIgEgB3EgBSAHQX9zcXJqQYHNh8V9akEOdyABaiIIIAVxIAEgBUF/c3FyakHI98++fmpBFHcgCGoiByABcSAIIAFBf3NxcmpB5puHjwJqQQV3IAdqIgVqIAogB2ogAyAIaiAVIAFqIAUgCHEgByAIQX9zcXJqQdaP3Jl8akEJdyAFaiIBIAdxIAUgB0F/c3FyakGHm9Smf2pBDncgAWoiCCAFcSABIAVBf3NxcmpB7anoqgRqQRR3IAhqIgcgAXEgCCABQX9zcXJqQYXSj896akEFdyAHaiIFaiALIAdqIAQgCGogBiABaiAFIAhxIAcgCEF/c3FyakH4x75nakEJdyAFaiIBIAdxIAUgB0F/c3FyakHZhby7BmpBDncgAWoiCCAFcSABIAVBf3NxcmpBipmp6XhqQRR3IAhqIgcgCHMiFiABc2pBwvJoakEEdyAHaiIFaiASIAhqIAogAWogBSAWc2pBge3Hu3hqQQt3IAVqIgogBXMiCCAHc2pBosL17AZqQRB3IApqIgEgCnMgFSAHaiAIIAFzakGM8JRvakEXdyABaiIIc2pBxNT7pXpqQQR3IAhqIgdqIAQgAWogByAIcyAJIApqIAggAXMgB3NqQamf+94EakELdyAHaiIBc2pB4JbttX9qQRB3IAFqIgUgAXMgEyAIaiABIAdzIAVzakHw+P71e2pBF3cgBWoiCHNqQcb97cQCakEEdyAIaiIHaiADIAVqIAcgCHMgDCABaiAIIAVzIAdzakH6z4TVfmpBC3cgB2oiAXNqQYXhvKd9akEQdyABaiIFIAFzIBEgCGogASAHcyAFc2pBhbqgJGpBF3cgBWoiCHNqQbmg0859akEEdyAIaiIHaiAGIAhqIAsgAWogCCAFcyAHc2pB5bPutn5qQQt3IAdqIgEgB3MgFCAFaiAHIAhzIAFzakH4+Yn9AWpBEHcgAWoiCHNqQeWssaV8akEXdyAIaiIHIAFBf3NyIAhzakHExKShf2pBBncgB2oiBWogECAHaiAVIAhqIAQgAWogBSAIQX9zciAHc2pBl/+rmQRqQQp3IAVqIgEgB0F/c3IgBXNqQafH0Nx6akEPdyABaiIIIAVBf3NyIAFzakG5wM5kakEVdyAIaiIHIAFBf3NyIAhzakHDs+2qBmpBBncgB2oiBWogDyAHaiATIAhqIAMgAWogBSAIQX9zciAHc2pBkpmz+HhqQQp3IAVqIgEgB0F/c3IgBXNqQf3ov39qQQ93IAFqIgggBUF/c3IgAXNqQdG7kax4akEVdyAIaiIHIAFBf3NyIAhzakHP/KH9BmpBBncgB2oiBWogDiAHaiARIAhqIBQgAWogBSAIQX9zciAHc2pB4M2zcWpBCncgBWoiASAHQX9zciAFc2pBlIaFmHpqQQ93IAFqIgggBUF/c3IgAXNqQaGjoPAEakEVdyAIaiIHIAFBf3NyIAhzakGC/c26f2pBBncgB2oiBSAAKAIAajYCACAAIBIgAWogBSAIQX9zciAHc2pBteTr6XtqQQp3IAVqIgEgACgCDGo2AgwgACAGIAhqIAEgB0F/c3IgBXNqQbul39YCakEPdyABaiIIIAAoAghqNgIIIAAgCCAAKAIEaiANIAdqIAggBUF/c3IgAXNqQZGnm9x+akEVd2o2AgQgAkGwAWokAAu/DgECfyMAQbABayIFJAAgBUEQaiACQQAQcyAFQQA2AnggBSAFKQMQNwNwIAVB8ABqIAEgASACahCvASAFQfAAahD1ASEBAkAgBSgCeCICRQ0AA0AgAUFfQX8gAS0AACIGQZ9/akH/AXFBGkkbIAZxOgAAIAFBAWohASACQX9qIgINAAsLIAVBGGpBCGogBUHwAGpBCGooAgA2AgAgBSAFKQNwNwMYIAVBCGogBUEYahDVASAFIAUpAwg3AygCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBKGpBjIDAAEEBEIIBDQAgBUEoakGggMAAQQEQggENASAFQShqQciAwABBAxCCAQ0CIAVBKGpBkIHAAEEFEIIBDQMgBUEoakHsgcAAQQUQggENBCAFQShqQciCwABBBRCCAQ0FIAVBKGpBmIPAAEEDEIIBDQYgBUEoakHYg8AAQQMQggENByAFQShqQZiEwABBAxCCAQ0IIAVBKGpB2ITAAEEDEIIBDQkgBUEoakGkhcAAQQMQggENCiAFQShqQfCFwABBAxCCAQ0LIAVBKGpBwIbAAEEDEIIBDQwgBUEoakGQh8AAQQMQggENDSAFQShqQeCHwABBAxCCAQ0OIAVBKGpBsIjAAEEDEIIBDQ8CQCAFQShqQdSIwABBARCCAQ0AQQAQ/QEhASAAQQA2AgggACABNgIEIABBATYCACAAQdyIwABB3IjAABCvAQwRCyAFQTBqIAMgBBCTASAFQfAAaiAFQTBqQcAAEKwBGiAAIAVB8ABqEJ0BDBALIAVBMGogAyAEEI0BIAVB8ABqIAVBMGpBwAAQrAEaIAAgBUHwAGoQnQEMDwsgBUEwaiADIAQQjgEgBUHwAGpBGGogBUEwakEYaikDADcDACAFQfAAakEQaiAFQTBqQRBqKQMANwMAIAVB8ABqQQhqIAVBMGpBCGopAwA3AwAgBSAFKQMwNwNwIAAgBUHwAGoQmgEMDgsgBUEwaiADIAQQWyAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJ4BDA0LIAVBMGogAyAEEA0gBUHwAGpBCGogBUEwakEIaikDADcDACAFIAUpAzA3A3AgACAFQfAAahCeAQwMCyAFQTBqIAMgBBChASAFQfAAakEQaiAFQTBqQRBqKAIANgIAIAVB8ABqQQhqIAVBMGpBCGopAwA3AwAgBSAFKQMwNwNwIAAgBUHwAGoQmwEMCwsgBUEwaiADIAQQoAEgBUHwAGpBEGogBUEwakEQaigCADYCACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJsBDAoLIAVBMGogAyAEEKMBIAVB8ABqQRhqIAVBMGpBGGooAgA2AgAgBUHwAGpBEGogBUEwakEQaikDADcDACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJ8BDAkLIAVBMGogAyAEEKIBIAVB8ABqQRhqIAVBMGpBGGopAwA3AwAgBUHwAGpBEGogBUEwakEQaikDADcDACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJoBDAgLIAVBMGogAyAEEJABIAVB8ABqIAVBMGpBMBCsARogACAFQfAAahCcAQwHCyAFQTBqIAMgBBCSASAFQfAAaiAFQTBqQcAAEKwBGiAAIAVB8ABqEJ0BDAYLIAVBMGogAyAEEJEBIAVB8ABqQRhqIAVBMGpBGGooAgA2AgAgBUHwAGpBEGogBUEwakEQaikDADcDACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJ8BDAULIAVBMGogAyAEEI8BIAVB8ABqQRhqIAVBMGpBGGopAwA3AwAgBUHwAGpBEGogBUEwakEQaikDADcDACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJoBDAQLIAVBMGogAyAEEIEBIAVB8ABqQRhqIAVBMGpBGGooAgA2AgAgBUHwAGpBEGogBUEwakEQaikDADcDACAFQfAAakEIaiAFQTBqQQhqKQMANwMAIAUgBSkDMDcDcCAAIAVB8ABqEJ8BDAMLIAVBMGogAyAEEHUgBUHwAGpBGGogBUEwakEYaikDADcDACAFQfAAakEQaiAFQTBqQRBqKQMANwMAIAVB8ABqQQhqIAVBMGpBCGopAwA3AwAgBSAFKQMwNwNwIAAgBUHwAGoQmgEMAgsgBUEwaiADIAQQdiAFQfAAaiAFQTBqQTAQrAEaIAAgBUHwAGoQnAEMAQsgBUEwaiADIAQQdCAFQfAAaiAFQTBqQcAAEKwBGiAAIAVB8ABqEJ0BCyAFQRhqEIoCIAVBGGoQygEgBUGwAWokAAuxCQIEfy1+IwBB8AdrIgEkAEEAIQIgAUHIB2pBAEEoEL0BGgNAIAFBCGogAmogAUHIB2pBKBCsARogAkEoaiICQcAHRw0ACyAAKQPAASEFIAApA5gBIQYgACkDcCEHIAApA0ghCCAAKQMgIQkgACkDuAEhCiAAKQOQASELIAApA2ghDCAAKQNAIQ0gACkDGCEOIAApA7ABIQ8gACkDiAEhECAAKQNgIREgACkDOCESIAApAxAhEyAAKQOoASEUIAApA4ABIRUgACkDWCEWIAApAzAhFyAAKQMIIRggACkDoAEhGSAAKQN4IRogACkDUCEbIAApAyghHCAAKQMAIR1BACEDQYCewQAhBANAIAFBCGogA2oiAkEIaiAIIAmFIAeFIAaFIAWFIh5CAYkgEiAThSARhSAQhSAPhSIfhSIgIA2FQjeJIiE3AwAgAkEQaiAHIA0gDoUgDIUgC4UgCoUiIiAcIB2FIBuFIBqFIBmFIiNCAYmFIg2FQieJIiQ3AwAgAkEgaiAfQgGJICOFIh8gFIVCAokiIzcDACACQRhqIB4gFyAYhSAWhSAVhSAUhSIlQgGJhSIeIBqFQimJIiY3AwAgAiAiQgGJICWFIiIgE4VCPokiJTcDACAfIBeFIScgBSANhSEoICEgJUJ/hYMgI4UhBSAhICYgJEJ/hYOFIRQgICAKhUI4iSIpICIgEIVCD4kiKkJ/hYMgHyAWhUIKiSIrhSEQICsgHiAchUIkiSIsQn+FgyANIAmFQhuJIi2FIRogHiAZhUISiSIZICIgEoVCBokiLiAfIBiFQgGJIi9Cf4WDhSEHIAYgDYVCCIkiMCAgIAyFQhmJIjFCf4WDIC6FIRYgCCANhUIUiSITICAgDoVCHIkiDkJ/hYMgIiAPhUI9iSIShSEIIA4gEkJ/hYMgHyAVhUItiSIfhSENIB4gG4VCA4kiGCASIB9Cf4WDhSESIB8gGEJ/hYMgE4UhFyAOIBggE0J/hYOFIRwgICALhUIViSIgIB4gHYUiHyAoQg6JIh5Cf4WDhSEOIB4gIEJ/hYMgIiARhUIriSIihSETICAgIkJ/hYMgJ0IsiSIghSEYIAQpAwAgHyAiICBCf4WDhYUhHSAEQQhqIQQgKSAsIC1Cf4WDhSIiIQYgICAfQn+FgyAehSIgIQkgJiAlICNCf4WDhSIfIQogLSApQn+FgyAqhSIeIQsgLyAZQn+FgyAwhSIpIQwgIyAmQn+FgyAkhSIjIQ8gMSAZIDBCf4WDhSImIREgLCAqICtCf4WDhSIqIRUgJCAhQn+FgyAlhSIhIRkgMSAuQn+FgyAvhSIkIRsgA0EoaiIDQcAHRw0ACyAAICE3A6ABIAAgGjcDeCAAICQ3A1AgACAcNwMoIAAgHTcDACAAIBQ3A6gBIAAgKjcDgAEgACAWNwNYIAAgFzcDMCAAIBg3AwggACAjNwOwASAAIBA3A4gBIAAgJjcDYCAAIBI3AzggACATNwMQIAAgHzcDuAEgACAeNwOQASAAICk3A2ggACANNwNAIAAgDjcDGCAAIAU3A8ABIAAgIjcDmAEgACAHNwNwIAAgCDcDSCAAICA3AyAgAUHwB2okAAvkCAEGfyABQXhqIgIgAUF8aigCACIDQXhxIgFqIQQCQAJAAkACQCADQQFxDQAgA0EDcUUNASACKAIAIgMgAWohAQJAIAAoApgDIAIgA2siAkcNACAEKAIEQQNxQQNHDQEgACABNgKQAyAEIAQoAgRBfnE2AgQgAiABQQFyNgIEIAIgAWogATYCAA8LIAAgAiADECALAkACQCAEQQRqIgUoAgAiA0ECcUUNACAFIANBfnE2AgAgAiABQQFyNgIEIAIgAWogATYCAAwBCwJAAkAgACgCnAMgBEYNACAAKAKYAyAERg0BIAAgBCADQXhxIgMQICACIAMgAWoiAUEBcjYCBCACIAFqIAE2AgAgAiAAKAKYA0cNAiAAIAE2ApADDwsgACACNgKcAyAAIAAoApQDIAFqIgE2ApQDIAIgAUEBcjYCBAJAIAIgACgCmANHDQAgAEEANgKQAyAAQQA2ApgDCyAAQbgDaigCACIDIAFPDQIgACgCnAMiAUUNAgJAIAAoApQDIgVBKUkNACAAQagDaiECA0ACQCACKAIAIgQgAUsNACAEIAIoAgRqIAFLDQILIAIoAggiAg0ACwsCQAJAIABBsANqKAIAIgENAEH/HyECDAELQQAhAgNAIAJBAWohAiABKAIIIgENAAsgAkH/HyACQf8fSxshAgsgACACNgLAAyAFIANNDQIgAEG4A2pBfzYCAA8LIAAgAjYCmAMgACAAKAKQAyABaiIBNgKQAyACIAFBAXI2AgQgAiABaiABNgIADwsgAUGAAkkNAQJAAkAgAUEIdiIDDQBBACEEDAELQR8hBCABQf///wdLDQAgAUEGIANnIgRrQR9xdkEBcSAEQQF0a0E+aiEECyACQgA3AhAgAkEcaiAENgIAIAAgBEECdGpBkAJqIQMCQAJAAkACQAJAAkAgAEEEaiIFKAIAIgZBASAEQR9xdCIHcUUNACADKAIAIgVBBGooAgBBeHEgAUcNASAFIQQMAgsgBSAGIAdyNgIAIAMgAjYCACACQRhqIAM2AgAMAwsgAUEAQRkgBEEBdmtBH3EgBEEfRht0IQMDQCAFIANBHXZBBHFqQRBqIgYoAgAiBEUNAiADQQF0IQMgBCEFIARBBGooAgBBeHEgAUcNAAsLIAQoAggiASACNgIMIAQgAjYCCCACQRhqQQA2AgAgAiAENgIMIAIgATYCCAwCCyAGIAI2AgAgAkEYaiAFNgIACyACIAI2AgwgAiACNgIICyAAIAAoAsADQX9qIgI2AsADIAJFDQILDwsgACABQQN2IgRBA3RqQQhqIQECQAJAIAAoAgAiA0EBIAR0IgRxRQ0AIAEoAgghAAwBCyAAIAMgBHI2AgAgASEACyABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggPCwJAIABBsANqKAIAIgENACAAQf8fNgLAAw8LQQAhAgNAIAJBAWohAiABKAIIIgENAAsgACACQf8fIAJB/x9LGzYCwAMLzAgBBn8jAEHwAGsiBSQAIAUgAzYCDCAFIAI2AghBASEGIAEhBwJAIAFBgQJJDQBBACABayEIQYACIQkDQAJAIAkgAU8NAEEAIQYgACAJaiwAAEG/f0wNACAJIQcMAgsgCUF/aiEHQQAhBiAJQQFGDQEgCCAJaiEKIAchCSAKQQFHDQALCyAFIAc2AhQgBSAANgIQIAVBAEEFIAYbNgIcIAVBmMDBAEGoxsEAIAYbNgIYAkACQAJAAkAgAiABSyIGDQAgAyABSw0AIAIgA0sNAQJAAkAgAkUNACABIAJGDQAgASACTQ0BIAAgAmosAABBQEgNAQsgAyECCyAFIAI2AiAgAkUNAiACIAFGDQIgAUEBaiEJA0ACQCACIAFPDQAgACACaiwAAEFATg0ECyACQX9qIQYgAkEBRg0EIAkgAkYhAyAGIQIgA0UNAAwECwsgBSACIAMgBhs2AiggBUEwakEUakEDNgIAIAVByABqQRRqQRs2AgAgBUHUAGpBGzYCACAFQgM3AjQgBUHQxsEANgIwIAVBGjYCTCAFIAVByABqNgJAIAUgBUEYajYCWCAFIAVBEGo2AlAgBSAFQShqNgJIIAVBMGogBBC8AQALIAVB5ABqQRs2AgAgBUHIAGpBFGpBGzYCACAFQdQAakEaNgIAIAVBMGpBFGpBBDYCACAFQgQ3AjQgBUGMx8EANgIwIAVBGjYCTCAFIAVByABqNgJAIAUgBUEYajYCYCAFIAVBEGo2AlggBSAFQQxqNgJQIAUgBUEIajYCSCAFQTBqIAQQvAEACyACIQYLAkAgBiABRg0AQQEhCQJAAkACQAJAIAAgBmoiAywAACICQX9KDQBBACEJIAAgAWoiASEHAkAgA0EBaiABRg0AIANBAmohByADLQABQT9xIQkLIAJBH3EhAyACQf8BcUHfAUsNASAJIANBBnRyIQIMAgsgBSACQf8BcTYCJCAFQShqIQEMAgtBACEAIAEhCAJAIAcgAUYNACAHQQFqIQggBy0AAEE/cSEACyAAIAlBBnRyIQkCQCACQf8BcUHwAU8NACAJIANBDHRyIQIMAQtBACECAkAgCCABRg0AIAgtAABBP3EhAgsgCUEGdCADQRJ0QYCA8ABxciACciICQYCAxABGDQILIAUgAjYCJEEBIQkgBUEoaiEBIAJBgAFJDQBBAiEJIAJBgBBJDQBBA0EEIAJBgIAESRshCQsgBSAGNgIoIAUgCSAGajYCLCAFQTBqQRRqQQU2AgAgBUHsAGpBGzYCACAFQeQAakEbNgIAIAVByABqQRRqQRw2AgAgBUHUAGpBHTYCACAFQgU3AjQgBUHgx8EANgIwIAUgATYCWCAFQRo2AkwgBSAFQcgAajYCQCAFIAVBGGo2AmggBSAFQRBqNgJgIAUgBUEkajYCUCAFIAVBIGo2AkggBUEwaiAEELwBAAtBpMDBAEErIAQQqQEAC5oIAgZ/An4jAEGAAmsiAiQAQQAhAyACQQBBwAAQvQEiAkHAAGpBAEHAABC9ARogAkGAAWpBAEHAABC9ARogAkHAAWpBAEHAABC9ARoDQCACQcAAaiADaiABIANqKQAAIghCOIYgCEIohkKAgICAgIDA/wCDhCAIQhiGQoCAgICA4D+DIAhCCIZCgICAgPAfg4SEIAhCCIhCgICA+A+DIAhCGIhCgID8B4OEIAhCKIhCgP4DgyAIQjiIhISENwMAIANBCGoiA0HAAEcNAAsgAiAAQcAAEKwBIQJBACEDA0AgAkGAAWogA2ogAiADaikDACACQcAAaiADaikDAIU3AwAgA0EIaiIDQcAARw0AC0EBIQMDQCADQQFqIQQgA0EDdEHQksAAaiEFIAIhASACQcABaiEGQQchAwNAIAIgA0EHcUEDdGotAAZBA3RBqKPAAGopAwAgAS0AB0EDdEGok8AAaikDAIUgAiADQX9qQQdxQQN0aikDAEIoiKdB/wFxQQN0QaizwABqKQMAhSACIANBfmpBB3FBA3RqLQAEQQN0QajDwABqKQMAhSACIANBfWpBB3FBA3RqLQADQQN0QajTwABqKQMAhSACIANBfGpBB3FBA3RqLQACQQN0QajjwABqKQMAhSACIANBe2pBB3FBA3RqLQABQQN0QajzwABqKQMAhSACIANBempBB3FBA3RqLQAAQQN0QaiDwQBqKQMAhSEJQgAhCAJAIANBB0cNACAFKQMAIQgLIAYgCSAIhTcDACAGQQhqIQYgAUEIaiEBIANBAWoiA0EPRw0ACyACIAJBwAFqQcAAEKwBIgFBgAFqIQZBByEDIAEhBSABQcABaiEHA0AgByABQYABaiADQQdxQQN0ai0ABkEDdEGoo8AAaikDACAGLQAHQQN0QaiTwABqKQMAhSABQYABaiADQX9qQQdxQQN0aikDAEIoiKdB/wFxQQN0QaizwABqKQMAhSABQYABaiADQX5qQQdxQQN0ai0ABEEDdEGow8AAaikDAIUgAUGAAWogA0F9akEHcUEDdGotAANBA3RBqNPAAGopAwCFIAFBgAFqIANBfGpBB3FBA3RqLQACQQN0QajjwABqKQMAhSABQYABaiADQXtqQQdxQQN0ai0AAUEDdEGo88AAaikDAIUgAUGAAWogA0F6akEHcUEDdGotAABBA3RBqIPBAGopAwCFIAUpAwCFNwMAIAdBCGohByAFQQhqIQUgBkEIaiEGIANBAWoiA0EPRw0ACyABQYABaiABQcABakHAABCsARogBCEDIARBC0cNAAtBACEDA0AgACADaiICIAFBwABqIANqKQMAIAFBgAFqIANqKQMAhSACKQMAhTcDACADQQhqIgNBwABHDQALIAFBgAJqJAAL0ggCBX8BfiMAQaADayIDJAAgA0EwahBxIAMgAykDMCACrXw3AzACQAJAAkACQAJAAkACQAJAAkACQEHAACADKAI4IgRrIgUgAksNACADQfwAaiEGAkAgBEUNACAEQcEATw0FIANBPGoiByAEaiAFIAEgBRBMIAYgBxAHIAIgBWshAiABIAVqIQELIANB/AFqIAJBP3E2AgAgA0HAADYCgAIgAyACQUBxIgI2AvQBIAMgATYC8AEgAyABIAJqNgL4ASADIANB8AFqEPoBNgKQASADQShqIANBkAFqEKgBAkAgAygCKCICRQ0AIAMoAiwhBANAIAYgAiAEEFcQByADQSBqIANBkAFqEKgBIAMoAiQhBCADKAIgIgINAAsLIANBGGogA0HwAWoQ7gEgAygCHCICQcEATw0FIANBPGogAiADKAIYIAIQTCADIAI2AjgMAQsgBCACaiIGIARJDQEgBkHAAEsNAiADQThqIARqQQRqIAIgASACEEwgAyADKAI4IAJqNgI4CyADQZAB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aiACQSxqIAFqEK8BCyACQRhqEIwBIgFBgIDEAEcNAAsLIAJBMGokAAv2AgEFf0EAIQMCQEHN/3sgAUEQIAFBEEsbIgFrIAJNDQAgACABQRAgAkELakF4cSACQQtJGyIEakEMahAFIgJFDQAgAkF4aiEDAkACQCABQX9qIgUgAnENACADIQEMAQsgAkF8aiIGKAIAIgdBeHEgBSACakEAIAFrcUF4aiICIAIgAWogAiADa0EQSxsiASADayICayEFAkAgB0EDcUUNACABIAUgASgCBEEBcXJBAnI2AgQgASAFaiIFIAUoAgRBAXI2AgQgBiACIAYoAgBBAXFyQQJyNgIAIAEgASgCBEEBcjYCBCAAIAMgAhAPDAELIAMoAgAhAyABIAU2AgQgASADIAJqNgIACwJAIAFBBGooAgAiAkEDcUUNACACQXhxIgMgBEEQak0NACABQQRqIAQgAkEBcXJBAnI2AgAgASAEaiICIAMgBGsiBEEDcjYCBCABIANqIgMgAygCBEEBcjYCBCAAIAIgBBAPCyABQQhqIQMLIAMLpAMBBH8jAEEwayIDJAAgACACrRA5AkACQAJAAkACQAJAQcAAIAAoAkAiBGsiBSACSw0AAkAgBEUNACAEQcEATw0FIABBxABqIgYgBGogBSABIAUQTCAAIAYQ+QEQDCACIAVrIQIgASAFaiEBCyADQSRqIAJBP3E2AgAgA0HAADYCKCADIAJBQHEiAjYCHCADIAE2AhggAyABIAJqNgIgIAMgA0EYahD6ATYCLCADQRBqIANBLGoQqAECQCADKAIQIgJFDQAgAygCFCEEA0AgACACIAQQVxD5ARAMIANBCGogA0EsahCoASADKAIMIQQgAygCCCICDQALCyADIANBGGoQ7gEgAygCBCICQcEATw0FIABBxABqIAIgAygCACACEEwgACACNgJADAELIAQgAmoiBSAESQ0BIAVBwABLDQIgAEHAAGogBGpBBGogAiABIAIQTCAAIAAoAkAgAmo2AkALIANBMGokAA8LIAQgBUGgksAAEIUBAAsgBUHAAEGgksAAEIQBAAsgBEHAAEGwksAAEIUBAAsgAkHAAEHAksAAEIQBAAuHAwEEfwJAAkACQCACQYACSQ0AIAFBGGooAgAhAwJAAkACQCABKAIMIgQgAUcNACABQRRBECABQRRqIgQo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IgWnQf8AcSEDAkACQAJAAkACQCAFUA0AIANFDQELIAAgA2ogASACQYABIANrIgMgAyACSxsiAxCsARogACkDwAEiBSADrXwiBiAFVA0BIAAgBjcDwAEgAiADayECIAEgA2ohAQsCQCACQYABSQ0AIAJB/wBxIQQDQCAAQgBCABABIAAgAUGAARCsASIDKQPAASIFQoABfCIGIAVUDQMgAyAGNwPAASABQYABaiEBIAJBgH9qIgJBgAFPDQALIAQhAgsCQCACRQ0AIABCAEIAEAEgACABIAIQrAEiASkDwAEiBSACrXwiBiAFVA0DIAEgBjcDwAELDwtB6brBAEEZQai5wQAQlwEAC0HpusEAQRlBqLnBABCXAQALQem6wQBBGUGoucEAEJcBAAudAgEEfyAAIAApAwAgAq1CA4Z8NwMAAkACQAJAAkACQAJAQcAAIAAoAggiA2siBCACSw0AIABBzABqIQUCQCADRQ0AIANBwQBPDQUgAEEMaiIGIANqIAQgASAEEEggAEEANgIIIAUgBkEBEAMgAiAEayECIAEgBGohAQsgBSABIAJBBnYQAyACQT9xIgNBwQBPDQUgAEEMaiADIAEgAkFAcWogAxBIDAELIAMgAmoiBCADSQ0BIARBwABLDQIgAEEIaiADakEEaiACIAEgAhBIIAAoAgggAmohAwsgACADNgIIDwsgAyAEQbikwQAQhQEACyAEQcAAQbikwQAQhAEACyADQcAAQcikwQAQhQEACyADQcAAQdikwQAQhAEAC4sCAQd/IwBBEGsiAiQAIAIgAUIFiDwADiACIAFCDYg8AA0gAiABQhWIPAAMIAIgAUIdiDwACyACIAFCJYg8AAogAiABQi2IPAAJIAIgAUI1iDwACCACIAFCPYg8AAcgAiABp0EDdDoADyAAQaMBaiEDIAJBB2pBCGohBEEAIQBBACEFQQAhBgJAAkADQCADIABqIgctAAAhCAJAAkAgBkEJSQ0AIAVBAXENAQwECyAAQQhqQQhLDQIgBCAAai0AACAIaiEICyAHIAggBUEBcWoiCDoAACAAQX9qIQAgCEH/AUshBSAGQQFqIgZBIEcNAAwCCwsgAEEIakEJQZyWwQAQgwEACyACQRBqJAAL7QEBA38gACABKAIIIgVBGXcgBUEDdnMgBUEOd3MgASgCDGogAygCCGogBCgC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ACAAQQhqIAFBJGopAgA3AAAgAEEQaiABQSxqKAIANgAAIAFBMGokAAu5AQECfwJAAkACQCAAQQRqKAIAIgIgACgCCCIDayABTw0AIAMgAWoiASADSQ0BIAJBAXQiAyABIAMgAUsbIgFBCCABQQhLGyIDQQBIDQECQAJAIAAoAgBBACACGyIBRQ0AIAIgA0YNAQJAIAINACADQQEQ2QEhAQwCCyABIAJBASADENIBIQEMAQsgA0EBENkBIQELIAFFDQIgACABNgIAIABBBGogAzYCAAsPCxDqAQALIANBARDwAQALvwECAX8BfiMAQdAAayICJAAgABAZIAJBCGogAEEQakHAABCsARpBACEAA0AgAiACQQhqIABqKQMAIgNCOIYgA0IohkKAgICAgIDA/wCDhCADQhiGQoCAgICA4D+DIANCCIZCgICAgPAfg4SEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwNIIAEgAGpBCCACQcgAakEIEEggAEEIaiIAQcAARw0ACyACQdAAaiQAC7ABAQJ/IwBBMGsiAiQAIAAQKyACQQhqQRhqIABB5ABqKQIANwMAIAJBGGogAEHcAGopAgA3AwAgAkEIakEIaiAAQdQAaikCADcDACACIAApAkw3AwhBACEAA0AgAiACQQhqIABqKAIAIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZycjYCLCABIABqQQQgAkEsakEEEEggAEEEaiIAQSBHDQALIAJBMGokAAudAQEFfyAAIAEoAggiAyABKAIEIgRzIAEoAgwiBXMgASgCACIBQQV3aiACKAIAaiIGQR53Igc2AgwgACAFIAMgASAEQR53IgRzc2ogAigCBGogBkEFd2oiBUEedzYCCCAAIAMgAigCCGogBCABQR53IgFzIAZzaiAFQQV3aiIDNgIEIAAgAigCDCAEaiAHIAFzIAVzaiADQQV3ajYCAAuuAQICfwF+IwBBEGsiAiQAIAAQGSAAQRBqIQNBACEAA0AgAiADIABqKQMAIgRCOIYgBEIohkKAgICAgIDA/wCDhCAEQhiGQoCAgICA4D+DIARCCIZCgICAgPAfg4SEIARCCIhCgICA+A+DIARCGIhCgID8B4OEIARCKIhCgP4DgyAEQjiIhISENwMIIAEgAGpBCCACQQhqQQgQSCAAQQhqIgBBMEcNAAsgAkEQaiQAC64BAgJ/AX4jAEEQayICJAAgABAZIABBEGohA0EAIQADQCACIAMgAGopAwAiBEI4hiAEQiiGQoCAgICAgMD/AIOEIARCGIZCgICAgIDgP4MgBEIIhkKAgICA8B+DhIQgBEIIiEKAgID4D4MgBEIYiEKAgPwHg4QgBEIoiEKA/gODIARCOIiEhIQ3AwggASAAakEIIAJBCGpBCBBIIABBCGoiAEEgRw0ACyACQRBqJAALqwECAX8BfiMAQdAAayICJAAgAiABNgIcAkAgAUHAAEYNACACIAJBHGo2AkggAkHsjsAANgJMIAJBEGogAkHIAGpBAxDgASACKQMQIQMgAkEIaiACQcwAakEDEOABIAJBNGpBAjYCACACIAM3AzggAkIDNwIkIAJBrI/AADYCICACIAIpAwg3A0AgAiACQThqNgIwIAJBIGpBsJDAABC8AQALIAJB0ABqJAAgAAuuAQEBfyMAQdABayIBJAAgAUHAAGpBBHJBAEHAABC9ARogAUHAADYCQCABQYgBaiABQcAAakHEABCsARogASABQYgBakEEckHAABCsASEBIABBADYCCCAAQgA3AwAgAEEMaiABQcAAEKwBGiAAQeQAakEAKQKkoUE3AgAgAEHcAGpBACkCnKFBNwIAIABB1ABqQQApApShQTcCACAAQQApAoyhQTcCTCABQdABaiQAC64BAQF/IwBB0AFrIgEkACABQcAAakEEckEAQcAAEL0BGiABQcAANgJAIAFBiAFqIAFBwABqQcQAEKwBGiABIAFBiAFqQQRyQcAAEKwBIQEgAEEANgIIIABCADcDACAAQQxqIAFBwAAQrAEaIABB5ABqQQApAoShQTcCACAAQdwAakEAKQL8oEE3AgAgAEHUAGpBACkC9KBBNwIAIABBACkC7KBBNwJMIAFB0AFqJAALpAEBBH8CQAJAAkAgASgCBCIEIAJJDQBBACEFIARFDQIgASgCACEGAkACQAJAIAQgAkYiBw0AIAMNACACDQEgBiAEQQEQ5gFBASEGDAQLIAdFDQEMAwsgBiAEQQEgAhDSASIGDQILIAAgAjYCBEEBIQUgAEEIakEBNgIADAILQZC9wQBBJEGgvsEAEKkBAAsgASACNgIEIAEgBjYCAAsgACAFNgIAC5wBAQF/IwBBoAJrIgMkACADQcABahCVASADQeAAahDLASADQQA2AgggA0IANwMAIANBDGogA0HAAWpBwAAQrAEaIANB1ABqIANB6ABqKQMANwIAIAMgAykDYDcCTCADIAEgAhAcIANB4ABqIANB4AAQrAEaIAAQZyADQcABaiADQeAAakHgABCsARogA0HAAWogABAuIANBoAJqJAALlAEBA38jAEGAAWsiAiQAIAAoAgAhA0EAIQADQCACIABqQf8AaiADQQ9xIgRBMHIgBEHXAGogBEEKSRs6AAAgAEF/aiEAIANBBHYiAw0ACwJAIABBgAFqIgNBgQFJDQAgA0GAAUH8wcEAEIUBAAsgAUEBQYzCwQBBAiACIABqQYABakEAIABrEBEhACACQYABaiQAIAALkwEBA38jAEGAAWsiAiQAIAAoAgAhA0EAIQADQCACIABqQf8AaiADQQ9xIgRBMHIgBEE3aiAEQQpJGzoAACAAQX9qIQAgA0EEdiIDDQALAkAgAEGAAWoiA0GBAUkNACADQYABQfzBwQAQhQEACyABQQFBjMLBAEECIAIgAGpBgAFqQQAgAGsQESEAIAJBgAFqJAAgAAt9AQJ+IAAgAykDCCABKQMIfCABKQMAIgVCOIkgBUIHiIUgBUI/iYV8IAQpAwgiBkIDiSAGQgaIhSAGQi2JhXw3AwggACAFIAMpAwB8IAIpAwgiBUI4iSAFQgeIhSAFQj+JhXwgBCkDACIFQgOJIAVCBoiFIAVCLYmFfDcDAAucAQEBfyMAQdABayIBJAAgAUHAAGpBBHJBAEHAABC9ARogAUHAADYCQCABQYgBaiABQcAAakHEABCsARogASABQYgBakEEckHAABCsASEBIABBGGpBACgCxKlBNgIAIABBEGpBACkCvKlBNwIAIABBACkCtKlBNwIIIABBADYCHCAAQgA3AwAgAEEgaiABQcAAEKwBGiABQdABaiQAC5wBAQF/IwBB0AFrIgEkACABQcAAakEEckEAQcAAEL0BGiABQcAANgJAIAFBiAFqIAFBwABqQcQAEKwBGiABIAFBiAFqQQRyQcAAEKwBIQEgAEEYakEAKAK4sEE2AgAgAEEQakEAKQKwsEE3AgAgAEEAKQKosEE3AgggAEEANgIcIABCADcDACAAQSBqIAFBwAAQrAEaIAFB0AFqJAALnQEBA38gAC0ACCEBAkAgACgCBCICRQ0AIAFB/wFxIQNBASEBAkAgAw0AAkAgAkEBRw0AIAAtAAlFDQAgACgCACIDLQAAQQRxDQBBASEBIAMoAhhB48HBAEEBIANBHGooAgAoAgwRCAANAQsgACgCACIBKAIYQeTBwQBBASABQRxqKAIAKAIMEQgAIQELIAAgAToACAsgAUH/AXFBAEcLlgEBAX8jAEHQAWsiASQAIAFBwABqQQRyQQBBwAAQvQEaIAFBwAA2AkAgAUGIAWogAUHAAGpBxAAQrAEaIAEgAUGIAWpBBHJBwAAQrAEhASAAQZwBakIANwIAIABBlAFqQgA3AgAgAEGMAWpCADcCACAAQgA3AoQBIABBAEHEABC9AUHEAGogAUHAABCsARogAUHQAWokAAuWAQEBfyMAQcAAayICJAAgAiABNgIMAkAgAUGQAUYNACACQTRqQQk2AgAgAkEkakECNgIAIAJCAzcCFCACQcyawQA2AhAgAkEJNgIsIAIgAkEMajYCOCACQeybwQA2AjwgAiACQShqNgIgIAIgAkE8ajYCMCACIAJBOGo2AiggAkEQakHQm8EAELwBAAsgAkHAAGokACAAC5YBAQF/IwBBwABrIgIkACACIAE2AgwCQCABQegARg0AIAJBNGpBCTYCACACQSRqQQI2AgAgAkIDNwIUIAJBzJrBADYCECACQQk2AiwgAiACQQxqNgI4IAJB6JvBADYCPCACIAJBKGo2AiAgAiACQTxqNgIwIAIgAkE4ajYCKCACQRBqQdCbwQAQvAEACyACQcAAaiQAIAALlgEBAX8jAEHAAGsiAiQAIAIgATYCDAJAIAFByABGDQAgAkE0akEJNgIAIAJBJGpBAjYCACACQgM3AhQgAkHMmsEANgIQIAJBCTYCLCACIAJBDGo2AjggAkHgm8EANgI8IAIgAkEoajYCICACIAJBPGo2AjAgAiACQThqNgIoIAJBEGpB0JvBABC8AQALIAJBwABqJAAgAAuWAQEBfyMAQcAAayICJAAgAiABNgIMAkAgAUGIAUYNACACQTRqQQk2AgAgAkEkakECNgIAIAJCAzcCFCACQcyawQA2AhAgAkEJNgIsIAIgAkEMajYCOCACQeSbwQA2AjwgAiACQShqNgIgIAIgAkE8ajYCMCACIAJBOGo2AiggAkEQakHQm8EAELwBAAsgAkHAAGokACAAC4gBAQJ/QQAhASMAQTBrIgJBEGpBADYCACACQQhqQgA3AwAgAkIANwMAA0AgAUEBaiIBQRBHDQALIAIgATYCACACQRhqQQhqIAJBCGopAwA3AwAgAkEYakEQaiACQRBqKAIANgIAIAIgAikDADcDGCAAIAIpAhw3AAAgAEEIaiACQSRqKQIANwAAC4kBAQN/IwBB4AFrIgEkACABQQA2AgAgAUHwAGogAUEEciABQewAahDNAQJAIAEoAnAiAiABKAJ0IgNGDQADQCACQQA6AAAgASABKAIAQQFqNgIAIAMgAkEBaiICRw0ACwsgAUHwAGogAUHsABCsARogACABQfAAakEEckHoABCsARogAUHgAWokAAuDAQEDfyMAQfAAayIBJAAgAUEANgIAIAFBOGogAUEEciABQTRqEM0BAkAgASgCOCICIAEoAjwiA0YNAANAIAJBADoAACABIAEoAgBBAWo2AgAgAyACQQFqIgJHDQALCyABQThqIAFBNBCsARogACABQThqQQRyQTAQrAEaIAFB8ABqJAALiwEBA38jAEGwAmsiASQAIAFBADYCACABQZgBaiABQQRyIAFBlAFqEM0BAkAgASgCmAEiAiABKAKcASIDRg0AA0AgAkEAOgAAIAEgASgCAEEBajYCACADIAJBAWoiAkcNAAsLIAFBmAFqIAFBlAEQrAEaIAAgAUGYAWpBBHJBkAEQrAEaIAFBsAJqJAALiwEBA38jAEGgAmsiASQAIAFBADYCACABQZABaiABQQRyIAFBjAFqEM0BAkAgASgCkAEiAiABKAKUASIDRg0AA0AgAkEAOgAAIAEgASgCAEEBajYCACADIAJBAWoiAkcNAAsLIAFBkAFqIAFBjAEQrAEaIAAgAUGQAWpBBHJBiAEQrAEaIAFBoAJqJAALiQEBA38jAEGgAWsiASQAIAFBADYCACABQdAAaiABQQRyIAFBzABqEM0BAkAgASgCUCICIAEoAlQiA0YNAANAIAJBADoAACABIAEoAgBBAWo2AgAgAyACQQFqIgJHDQALCyABQdAAaiABQcwAEKwBGiAAIAFB0ABqQQRyQcgAEKwBGiABQaABaiQAC4wBAQF/IwBBkANrIgEkACABQYABakEEckEAQYABEL0BGiABQYABNgKAASABQYgCaiABQYABakGEARCsARogASABQYgCakEEckGAARCsASEBIABCADcDCCAAQgA3AwAgAEEQakHwocEAQcAAEKwBGiAAQQA2AlAgAEHUAGogAUGAARCsARogAUGQA2okAAuMAQEBfyMAQZADayIBJAAgAUGAAWpBBHJBAEGAARC9ARogAUGAATYCgAEgAUGIAmogAUGAAWpBhAEQrAEaIAEgAUGIAmpBBHJBgAEQrAEhASAAQgA3AwggAEIANwMAIABBEGpBsKHBAEHAABCsARogAEEANgJQIABB1ABqIAFBgAEQrAEaIAFBkANqJAALjAEBAX8jAEGQA2siASQAIAFBgAFqQQRyQQBBgAEQvQEaIAFBgAE2AoABIAFBiAJqIAFBgAFqQYQBEKwBGiABIAFBiAJqQQRyQYABEKwBIQEgAEIANwMIIABCADcDACAAQRBqQfCiwQBBwAAQrAEaIABBADYCUCAAQdQAaiABQYABEKwBGiABQZADaiQAC4wBAQF/IwBBkANrIgEkACABQYABakEEckEAQYABEL0BGiABQYABNgKAASABQYgCaiABQYABakGEARCsARogASABQYgCakEEckGAARCsASEBIABCADcDCCAAQgA3AwAgAEEQakGwosEAQcAAEKwBGiAAQQA2AlAgAEHUAGogAUGAARCsARogAUGQA2okAAuOAQEBfyMAQdABayIBJAAgAUHAAGpBBHJBAEHAABC9ARogAUHAADYCQCABQYgBaiABQcAAakHEABCsARogASABQYgBakEEckHAABCsASEBIABBADYCCCAAQgA3AwAgAEEMaiABQcAAEKwBGiAAQdQAakEAKQLEsEE3AgAgAEEAKQK8sEE3AkwgAUHQAWokAAuDAQECfyMAQdAAayIBJABBACECIAFBAEEkEL0BIQEDQCACQQFqIgJBIEcNAAsgASACNgIAIAFBKGogAUEkEKwBGiAAQRhqIAFBxABqKQIANwAAIABBEGogAUE8aikCADcAACAAQQhqIAFBNGopAgA3AAAgACABKQIsNwAAIAFB0ABqJAALgQEBAn8jAEEQayIDJABBASEEIANBATYCDCADIAE2AggCQAJAIAFBf0wNAAJAIAFFDQACQAJAIAJFDQAgAUEBENoBIQQMAQsgAUEBENkBIQQLIARFDQILIAAgARD9ATYCBCAAIAQ2AgAgA0EQaiQADwsQ9AEACxCJAiADQQhqENgBAAuAAQEBfyMAQdAGayIDJAAgA0EIahDnASADQbgEahBsIANBADYC0AEgA0HUAWogA0G4BGpByAAQrAEaIANBCGogASACECUgA0GgAmogA0EIakGYAhCsARogABCVASADQbgEaiADQaACakGYAhCsARogA0G4BGogABBAIANB0AZqJAALfwEBfyMAQZAIayIDJAAgA0EIahDnASADQbgFahBrIANBADYC0AEgA0HUAWogA0G4BWpBiAEQrAEaIANBCGogASACECMgA0HgAmogA0EIakHYAhCsARogABByIANBuAVqIANB4AJqQdgCEKwBGiADQbgFaiAAEDYgA0GQCGokAAt/AQF/IwBBsAdrIgMkACADQQhqEOcBIANB+ARqEGggA0EANgLQASADQdQBaiADQfgEakHoABCsARogA0EIaiABIAIQJCADQcACaiADQQhqQbgCEKwBGiAAEGkgA0H4BGogA0HAAmpBuAIQrAEaIANB+ARqIAAQPyADQbAHaiQAC30BAn8jAEEgayIDJAACQCABKAIAQT9xIgRFDQAgASAEakEQakEAQcAAIARrEL0BGgsgAUF/IAIQBCAAIAEpAlA3AAAgAEEIaiABQdgAaikCADcAACAAQRBqIAFB4ABqKQIANwAAIABBGGogAUHoAGopAgA3AAAgA0EgaiQAC3sBBH8jAEEQayICJAAgACgCACgCACEDIAJBCGogAUGQARDTAQJAIAIoAgwgAigCCCIEayIBQcgBIAFByAFJGyIFRQ0AQQAhAQNAIAMgAWoiACAALQAAIAQgAWotAABzOgAAIAFBAWoiASAFSQ0ACwsgAxAJIAJBEGokAAt7AQR/IwBBEGsiAiQAIAAoAgAoAgAhAyACQQhqIAFBiAEQ0wECQCACKAIMIAIoAggiBGsiAUHIASABQcgBSRsiBUUNAEEAIQEDQCADIAFqIgAgAC0AACAEIAFqLQAAczoAACABQQFqIgEgBUkNAAsLIAMQCSACQRBqJAALewEEfyMAQRBrIgIkACAAKAIAKAIAIQMgAkEIaiABQegAENMBAkAgAigCDCACKAIIIgRrIgFByAEgAUHIAUkbIgVFDQBBACEBA0AgAyABaiIAIAAtAAAgBCABai0AAHM6AAAgAUEBaiIBIAVJDQALCyADEAkgAkEQaiQAC3sBBH8jAEEQayICJAAgACgCACgCACEDIAJBCGogAUHIABDTAQJAIAIoAgwgAigCCCIEayIBQcgBIAFByAFJGyIFRQ0AQQAhAQNAIAMgAWoiACAALQAAIAQgAWotAABzOgAAIAFBAWoiASAFSQ0ACwsgAxAJIAJBEGokAAtyAQN/IwBBEGsiAiQAIAAQKyAAQcwAaiEDQQAhAANAIAIgAyAAaigCACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnI2AgwgASAAakEEIAJBDGpBBBBIIABBBGoiAEEcRw0ACyACQRBqJAALgQEBAX8CQCABKAIQIgQNAEHAoMEAQRlB3KDBABCpAQALIABBADYCHCAAIAI2AhQgACABKQIANwIAIABBGGogAzYCACAAQQhqIAFBCGopAgA3AgAgAEEQaiABQRBqKAIANgIAIAAgAyACa0ECdiICIAEoAgQgBG4iASABIAJLGzYCIAt9AQN/IwBBIGsiAiQAAkACQCAAIAEQLw0AIAFBHGooAgAhAyABKAIYIQQgAkEcakEANgIAIAJBmMDBADYCGCACQgE3AgwgAkGcwMEANgIIIAQgAyACQQhqEBBFDQELIAJBIGokAEEBDwsgAEEEaiABEC8hASACQSBqJAAgAQt/AQF/IwBBwABrIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUEsakECNgIAIAVBPGpBHzYCACAFQgI3AhwgBUHcwMEANgIYIAVBGzYCNCAFIAVBMGo2AiggBSAFQRBqNgI4IAUgBUEIajYCMCAFQRhqIAQQvAEAC34BAX8CQCADKAIQIgQNAEHAoMEAQRlBrKDBABCpAQALIAAgAjYCBCAAIAE2AgAgAEEANgIcIAAgAykCADcCCCAAQRBqIANBCGopAgA3AgAgAEEYaiADQRBqKAIANgIAIAAgAygCBCAEbiIDIAIgAWtBAnYiAiACIANLGzYCIAt2AQF/IwBBoAhrIgMkACADEOcBIANBwAVqEGogA0EANgLIASADQcwBaiADQcAFakGQARCsARogAyABIAIQIiADQeACaiADQeACEKwBGiAAEEMgA0HABWogA0HgAmpB4AIQrAEaIANBwAVqIAAQNSADQaAIaiQAC2gBA38CQAJAIAJFDQAgASACQQN0aiEDIAAoAgQhAiAAKAIAIQADQAJAIAFBBGooAgAgAkcNAEEBIQQgASgCACIFIABGDQMgBSAAIAIQpQFFDQMLIAFBCGoiASADRw0ACwtBACEECyAEC20BAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakEaNgIAIANCAjcCDCADQbDBwQA2AgggA0EaNgIkIAMgA0EgajYCGCADIAM2AiggAyADQQRqNgIgIANBCGogAhC8AQALbQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYCACADQSxqQRo2AgAgA0ICNwIMIANBgMXBADYCCCADQRo2AiQgAyADQSBqNgIYIAMgA0EEajYCKCADIAM2AiAgA0EIaiACELwBAAttAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBGjYCACADQgI3AgwgA0G0xcEANgIIIANBGjYCJCADIANBIGo2AhggAyADQQRqNgIoIAMgAzYCICADQQhqIAIQvAEAC2QBAn8jAEEgayICJAAgAUEcaigCACEDIAEoAhghASACQQhqQRBqIABBEGopAgA3AwAgAkEIakEIaiAAQQhqKQIANwMAIAIgACkCADcDCCABIAMgAkEIahAQIQAgAkEgaiQAIAALZQEBfyMAQRBrIgMkAAJAAkAgACgCBCABayACSQ0AIANBADYCAAwBCyADIAAgASACQQAQTSADKAIAQQFHDQACQCADQQhqKAIAIgJFDQAgAygCBCACEPABAAsQ6gEACyADQRBqJAALYwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGwvsEAIAJBCGoQECEBIAJBIGokACABC3MAAkACQEHo2sEAEIMCIAJPDQACQAJAQejawQAQgwIgAk8NAEHo2sEAIAIgAxAeIQIMAQtB6NrBACADEAUhAgsgAg0BQQAPC0Ho2sEAIAAgAxAVDwsgAiAAIAMgASABIANLGxCsASECQejawQAgABAKIAILYwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHYw8EAIAJBCGoQECEBIAJBIGokACABC2ABAX8jAEEgayICJAAgAiAANgIEIAJBCGpBEGogAUEQaikCADcDACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB2MPBACACQQhqEBAhASACQSBqJAAgAQtrAQN/IAAoAgwhASAAQYCAxAA2AgwCQCABQYCAxABHDQBBgIDEACEBIAAoAgAiAiAAKAIERg0AIAAgAkEBajYCACAAKAIIIgMgAi0AACICQQR2ai0AACEBIAAgAyACQQ9xai0AADYCDAsgAQteAQF/IwBB0AlrIgMkACADQQhqEM4BIANBCGogASACEDcgA0GgA2ogA0EIakGYAxCsARogABCVASADQbgGaiADQaADakGYAxCsARogA0G4BmogABC/ASADQdAJaiQAC10BAX8jAEGQBWsiAyQAIANBCGoQlAEgA0EIaiABIAIQMyADQeABaiADQQhqQdgBEKwBGiAAEHIgA0G4A2ogA0HgAWpB2AEQrAEaIANBuANqIAAQlgEgA0GQBWokAAtbAQF/IwBBkAVrIgMkACADQQhqEG8gA0EIaiABIAIQMSADQeABaiADQQhqQdgBEKwBGiAAEHIgA0G4A2ogA0HgAWpB2AEQrAEaIANBuANqIAAQViADQZAFaiQAC1sBAX8jAEGQBWsiAyQAIANBCGoQbiADQQhqIAEgAhAxIANB4AFqIANBCGpB2AEQrAEaIAAQaSADQbgDaiADQeABakHYARCsARogA0G4A2ogABBVIANBkAVqJAALWwEBfyMAQZAFayIDJAAgA0EIahBwIANBCGogASACEDEgA0HgAWogA0EIakHYARCsARogABBDIANBuANqIANB4AFqQdgBEKwBGiADQbgDaiAAEEIgA0GQBWokAAtcAQF/IwBBkAVrIgMkACADQQhqEG0gA0EIaiABIAIQMSADQeABaiADQQhqQdgBEKwBGiAAEJUBIANBuANqIANB4AFqQdgBEKwBGiADQbgDaiAAEFIgA0GQBWokAAtcAQF/IwBBgARrIgMkACADQQhqEGIgA0EIaiABIAIQHyADQbABaiADQQhqQagBEKwBGiAAEJUBIANB2AJqIANBsAFqQagBEKwBGiADQdgCaiAAECogA0GABGokAAtiAQF/IwBBIGsiASQAIAFBDGpBADYCACABQRhqQgA3AgAgAUIANwIEIAFCADcCECABQaCAhAg2AgAgACABECcgACAAKQMANwMIIABBlAFqIABBEGpBwAAQrAEaIAFBIGokAAteAQJ/IwBBkAFrIgEkAEEAIQIgAUEAQcQAEL0BIQEDQCACQQFqIgJBwABHDQALIAEgAjYCACABQcgAaiABQcQAEKwBGiAAIAFByABqQQRyQcAAEKwBGiABQZABaiQAC1YBAX8jAEEgayICJAAgAiAAQQAQdyABQRhqIAJBGGopAwA3AAAgAUEQaiACQRBqKQMANwAAIAFBCGogAkEIaikDADcAACABIAIpAwA3AAAgAkEgaiQAC1wBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQSRqQQE2AgAgA0IBNwIUIANB0MDBADYCECADQRs2AiwgAyADQShqNgIgIAMgA0EIajYCKCADQRBqIAIQvAEAC1EBAX8jAEEgayIEJAAgBEEIakEQaiABQRBqKAIANgIAIARBCGpBCGogAUEIaikCADcDACAEIAEpAgA3AwggACAEQQhqIAIgAxB9IARBIGokAAtSAQF/IwBBIGsiBCQAIARBCGpBEGogA0EQaigCADYCACAEQQhqQQhqIANBCGopAgA3AwAgBCADKQIANwMIIAAgASACIARBCGoQgAEgBEEgaiQAC1YBAX8jAEEgayICJAAgAiABQSBB3IjAABDGASAAQQA2AgggAEIBNwIAIAJBEGpBCGogAkEIaikDADcDACACIAIpAwA3AxAgACACQRBqEB0gAkEgaiQAC1YBAX8jAEEgayICJAAgAiABQRRB3IjAABDGASAAQQA2AgggAEIBNwIAIAJBEGpBCGogAkEIaikDADcDACACIAIpAwA3AxAgACACQRBqEB0gAkEgaiQAC1YBAX8jAEEgayICJAAgAiABQTBB3IjAABDGASAAQQA2AgggAEIBNwIAIAJBEGpBCGogAkEIaikDADcDACACIAIpAwA3AxAgACACQRBqEB0gAkEgaiQAC1cBAX8jAEEgayICJAAgAiABQcAAQdyIwAAQxgEgAEEANgIIIABCATcCACACQRBqQQhqIAJBCGopAwA3AwAgAiACKQMANwMQIAAgAkEQahAdIAJBIGokAAtWAQF/IwBBIGsiAiQAIAIgAUEQQdyIwAAQxgEgAEEANgIIIABCATcCACACQRBqQQhqIAJBCGopAwA3AwAgAiACKQMANwMQIAAgAkEQahAdIAJBIGokAAtWAQF/IwBBIGsiAiQAIAIgAUEcQdyIwAAQxgEgAEEANgIIIABCATcCACACQRBqQQhqIAJBCGopAwA3AwAgAiACKQMANwMQIAAgAkEQahAdIAJBIGokAAtSAQF/IwBBoAJrIgMkACADEF8gAyABIAIQMCADQeAAaiADQeAAEKwBGiAAEFAgA0HAAWogA0HgAGpB4AAQrAEaIANBwAFqIAAQGCADQaACaiQAC1IBAX8jAEGgAmsiAyQAIAMQYCADIAEgAhAbIANB4ABqIANB4AAQrAEaIAAQUCADQcABaiADQeAAakHgABCsARogA0HAAWogABAtIANBoAJqJAALUgEBfyMAQdACayIDJAAgAxBYIAMgASACEDggA0HwAGogA0HwABCsARogABByIANB4AFqIANB8ABqQfAAEKwBGiADQeABaiAAEFMgA0HQAmokAAtSAQF/IwBB0AJrIgMkACADEFkgAyABIAIQOCADQfAAaiADQfAAEKwBGiAAEEMgA0HgAWogA0HwAGpB8AAQrAEaIANB4AFqIAAQfCADQdACaiQAC0sBAX8jAEEQayICJAAgAiAAIAFBABBaAkACQCACKAIAQQFHDQAgAkEIaigCACIARQ0BIAIoAgQgABDwAQALIAJBEGokAA8LEOoBAAtKAQN/QQAhAwJAIAJFDQACQANAIAAtAAAiBCABLQAAIgVHDQEgAEEBaiEAIAFBAWohASACQX9qIgJFDQIMAAsLIAQgBWshAwsgAwtUAQF/AkACQCABQYCAxABGDQBBASEEIAAoAhggASAAQRxqKAIAKAIQEQYADQELAkAgAg0AQQAPCyAAKAIYIAIgAyAAQRxqKAIAKAIMEQgAIQQLIAQLUAACQAJAQejawQAQgwIgAU8NAEHo2sEAIAEgABAeIQEMAQtB6NrBACAAEAUhAQsCQCABRQ0AQejawQAgARDWAUUNACABQQAgABC9ARoLIAELSAEDf0EAIQICQCABKAIAIgEoAgQiAyABKAIQIgRJDQAgASADIARrNgIEIAEgASgCACICIARqNgIACyAAIAQ2AgQgACACNgIAC0gBAX8jAEEgayIDJAAgA0EUakEANgIAIANBmMDBADYCECADQgE3AgQgAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACELwBAAs4AQF/QQEhAwJAIAEgAk0NACAAIAJqQYABOgAAQQAhAyAAIAJBAWoiAmpBACABIAJrEL0BGgsgAwtFAQN/IwBBEGsiASQAIAAQ+AFBnL/BABDRASECIAAQ9wEQ0AEhAyABQQA2AgQgASADNgIAIAFBvL/BACAAEPcBIAIQTgALNgEBfwJAIAJFDQAgACEDA0AgAyABLQAAOgAAIAFBAWohASADQQFqIQMgAkF/aiICDQALCyAACy8AAkAgAEF8Sw0AAkAgAA0AQQQPCyAAIABBfUlBAnQQ2QEiAEUNACAADwsQ9gEACzUBAX8gACgCACIAIAIQUSAAKAIAIABBCGoiACgCACIDaiABIAIQrAEaIAAgAyACajYCAEEACzQBAX8gACAAKAIIIAIgAWsiAhCHASAAKAIIIgMgABD1AWogAiABIAIQTCAAIAMgAmo2AggLNAAgAEEBNgIEIABBCGogASgCBCABKAIAa0EBdCABKAIMQYCAxABHciIBNgIAIAAgATYCAAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAsyACAAKAIAIQACQCABEOQBDQACQCABEOUBDQAgACABEOwBDwsgACABEF0PCyAAIAEQXAs0AQF/AkAgASgCBCICRQ0AIAAgAjYCBCAAQQhqQQE2AgAgACABKAIANgIADwsgAEEANgIACzcBAn8CQCABKAIEIgIgASgCCCIDRg0AIAEgAxCkASABKAIIIQILIAAgAjYCBCAAIAEoAgA2AgALNAAgACABKAIYIAIgAyABQRxqKAIAKAIMEQgAOgAIIAAgATYCACAAIANFOgAJIABBADYCBAssACAAIAEpAgA3AgAgAEEQaiABQRBqKAIANgIAIABBCGogAUEIaikCADcCAAs1AQF/IwBBEGsiAiQAIAIgATYCDCACIAA2AgggAkHswMEANgIEIAJBmMDBADYCACACEKsBAAssAQF/AkAgAkUNACAAIQMDQCADIAE6AAAgA0EBaiEDIAJBf2oiAg0ACwsgAAsqAQF/IwBBEGsiAiQAIAIgAUGAtcEAQQgQugEgAhBhIQEgAkEQaiQAIAELKQEBfyMAQcAAayICJAAgAiAAQgAQTyABIAJBwAAQrAEaIAJBwABqJAALIwACQCABQXxLDQAgACABQQQgAhDSASIBRQ0AIAEPCxD2AQALJwEBfwJAIAAoAgAiAUUNACAAQQRqKAIAIgBFDQAgASAAQQEQ5gELCycBAX8CQCAAKAIEIgFFDQAgAEEIaigCACIARQ0AIAEgAEEBEOYBCwslAQF/IwBBEGsiAiQAIAIgATYCDCACIAA2AgggAkEIahCCAhoACycBAX9BASEDAkAgAkEERw0AIAAgASgAADYAAUEAIQMLIAAgAzoAAAsmAQF/IAAoAgQhASAAKAIAEP4BIQACQCABRQ0AIAAgAUEBEOYBCwskACAAQYCAxAA2AgwgACADNgIIIAAgATYCACAAIAEgAmo2AgQLJwACQEHo2sEAEIMCIAFPDQBB6NrBACABIAAQHg8LQejawQAgABAFCyABAX8gACABKAIQIgM2AgQgACABKAIAIAMgAmxqNgIACyABAX8gACABKAIQIgM2AgQgACABKAIAIAMgAmxqNgIACx0BAX8CQCAAKAIEIgFFDQAgACgCACABQQEQ5gELCx0AIABBCGpBACkC7LJBNwIAIABBACkC5LJBNwIACxoBAX8gACABQQAoAtjaQSICQQ8gAhsRBQAACxcAIABBADYCCCAAIAI2AgQgACABNgIACx4AIABBqLjBAEEAQai4wQBBAEGouMEAQQBBwAAQEwsXACAAIAI2AgggACADNgIEIAAgATYCAAsbAAJAIAANAEHYvsEAQStBrL/BABCpAQALIAALGAACQCAADQBB2L7BAEErIAEQqQEACyAACxQBAX8gACABIAIgAxCJASEEIAQPCxMAIAAgASACajYCBCAAIAE2AgALEwACQCABRQ0AIAAgAUEEEOYBCwsWACAAIAEoAgg2AgQgACABKAIANgIACxAAIAFBfGotAABBA3FBAEcLFAAgACgCACABIAAoAgQoAgwRBgALEAAgACgCACAAKAIEEPABAAsQAQF/IAAgARDHASECIAIPCxABAX8gACABEKcBIQIgAg8LEAAgAEEBNgIEIAAgATYCAAsQACAAIAI2AgQgACABNgIACw0AIAAoAgAgAUECdGoLDQAgACgCACABQQJ0agsRACAAKAIAIAAoAgQgARDxAQsQACAAIAI2AgQgACABNgIACxAAIAAgAjYCBCAAIAE2AgALEAAgACACNgIEIAAgATYCAAsQACABIAAoAgAgACgCBBAOCw0AIAAtAABBEHFBBHYLDQAgAC0AAEEgcUEFdgsMACAAIAEgAhDzAQ8LDQAgAEEAQcgBEL0BGgsMACAAIAFBJBCsARoLDAAgACABQSQQrAEaCxIAQfe/wQBBEUGIwMEAEKkBAAsNACAAKAIAGgN/DAALCw0AIAA1AgBBASABECwLDQAgACgCACABIAIQFwsMACAAIAEpAgg3AgALCgAgACABIAIQBgsKACAAIAEQzAEACwoAIAIgACABEA4LDQAgAUGoxMEAQQIQDgsLAEHo2sEAIAAQCgsGABDqAQALBwAgACgCAAsGABCBAgALBwAgACgCCAsHACAAKAIMCwQAIAALBAAgAAsEAEEACwQAQQALBAAgAAsEACAACw0AQoPOk6vH1bPqg38LDQBC1bT3tvHPmunWAAsDAAALAwAACwQAQQgLDQBCg86Tq8fVs+qDfwsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsCAAsLwNqBgAABAEGAgMAAC7XaAUJMQUtFMkI1MTIAAAAAEAAKAAAAQkxBS0UyUzI1NgAAFAAQAAoAAABNRDRSU0EtTUQ0TUQ0V0lUSFJTQUVOQ1JZUFRJT04AACgAEAADAAAAKwAQAAcAAAAyABAAFAAAAE1ENVJTQS1NRDVNRDVXSVRIUlNBRU5DUllQVElPTk1ENS1TSEExU1NMMy1NRDUAAGAAEAADAAAAYwAQAAcAAABqABAAFAAAAH4AEAAIAAAAhgAQAAgAAABSSVBFTUQxNjBSU0EtUklQRU1EMTYwUklQRU1EMTYwV0lUSFJTQVJJUEVNRFJNRDE2MAAAuAAQAAkAAADBABAADQAAAM4AEAAQAAAA3gAQAAYAAADkABAABgAAAFNIQTFSU0EtU0hBMVNIQTFXSVRIUlNBRU5DUllQVElPTlJTQS1TSEExLTJTU0wzLVNIQTEUARAABAAAABgBEAAIAAAAIAEQABUAAAA1ARAACgAAAD8BEAAJAAAAU0hBMjI0UlNBLVNIQTIyNFNIQTIyNFdJVEhSU0FFTkNSWVBUSU9OAHABEAAGAAAAdgEQAAoAAACAARAAFwAAAFNIQTI1NlJTQS1TSEEyNTZTSEEyNTZXSVRIUlNBRU5DUllQVElPTgCwARAABgAAALYBEAAKAAAAwAEQABcAAABTSEEzODRSU0EtU0hBMzg0U0hBMzg0V0lUSFJTQUVOQ1JZUFRJT04A8AEQAAYAAAD2ARAACgAAAAACEAAXAAAAU0hBNTEyUlNBLVNIQTUxMlNIQTUxMldJVEhSU0FFTkNSWVBUSU9OADACEAAGAAAANgIQAAoAAABAAhAAFwAAAFNIQTUxMi0yMjRSU0EtU0hBNTEyLzIyNFNIQTUxMi0yMjRXSVRIUlNBRU5DUllQVElPTgBwAhAACgAAAHoCEAAOAAAAiAIQABsAAABTSEE1MTItMjU2UlNBLVNIQTUxMi8yNTZTSEE1MTItMjU2V0lUSFJTQUVOQ1JZUFRJT04AvAIQAAoAAADGAhAADgAAANQCEAAbAAAAU0hBMy0yMjRSU0EtU0hBMy0yMjRJRC1SU0FTU0EtUEtDUzEtVjFfNS1XSVRILVNIQTMtMjI0AAAIAxAACAAAABADEAAMAAAAHAMQACIAAABTSEEzLTI1NlJTQS1TSEEzLTI1NklELVJTQVNTQS1QS0NTMS1WMV81LVdJVEgtU0hBMy0yNTYAAFgDEAAIAAAAYAMQAAwAAABsAxAAIgAAAFNIQTMtMzg0UlNBLVNIQTMtMzg0SUQtUlNBU1NBLVBLQ1MxLVYxXzUtV0lUSC1TSEEzLTM4NAAAqAMQAAgAAACwAxAADAAAALwDEAAiAAAAU0hBMy01MTJSU0EtU0hBMy01MTJJRC1SU0FTU0EtUEtDUzEtVjFfNS1XSVRILVNIQTMtNTEyAAD4AxAACAAAAAAEEAAMAAAADAQQACIAAABXSElSTFBPT0wAAABIBBAACQAAADAxMjM0NTY3ODlhYmNkZWYvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjkuMC9zcmMvbGliLnJzbAQQAFgAAACEAAAACQAAAGwEEABYAAAAhwAAABcAAABsBBAAWAAAAIsAAAAbAAAAbAQQAFgAAAAbAAAADQAAAGwEEABYAAAAIgAAAA0AAABsBBAAWAAAAC0AAAAJAAAAL2hvbWUvbHp6ci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9tZC01LTAuOS4xL3NyYy91dGlscy5ycwAAJAUQAFIAAAA1AAAAIQAAAC9ob21lL2x6enIvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3Qvc3JjL2xpYmNvcmUvc2xpY2UvbW9kLnJzY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAAAQAAAAAAAAABAAAAAgAAAIgFEABrAAAAzRMAABEAAABhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvL2hvbWUvbHp6ci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9ibG9jay1idWZmZXItMC45LjAvc3JjL2xpYi5ycwAAAFkGEABYAAAAOgAAAA0AAABZBhAAWAAAAEEAAAANAAAAWQYQAFgAAABVAAAACQAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmxvY2stYnVmZmVyLTAuOS4wL3NyYy9saWIucnPkBhAAWAAAABsAAAANAAAA5AYQAFgAAAAiAAAADQAAAOQGEABYAAAALQAAAAkAAABAAAAAYXNzZXJ0aW9uIGZhaWxlZDogYChsZWZ0ID09IHJpZ2h0KWAKICBsZWZ0OiBgYCwKIHJpZ2h0OiBgYAAAcAcQAC0AAACdBxAADAAAAKkHEAABAAAAL2hvbWUvbHp6ci8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9zcmMvbGliY29yZS9tYWNyb3MvbW9kLnJzxAcQAGwAAAAQAAAACQAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmxvY2stYnVmZmVyLTAuOS4wL3NyYy9saWIucnNACBAAWAAAABsAAAANAAAAQAgQAFgAAAAiAAAADQAAAEAIEABYAAAALQAAAAkAAAAvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjkuMC9zcmMvbGliLnJzyAgQAFgAAAAbAAAADQAAAMgIEABYAAAAIgAAAA0AAADICBAAWAAAAC0AAAAJAAAAAAAAAAAAAABPAbiH6MYjGFKRb3n10qY2NXsMo46bvGBX/ksuwtfgHdpK8J/lN3cVhWugsQopyVhnBT7L9BBdvdiVfaeLQSfknkcX3WZ87vszg1qtB78tytgweMAYYBgYJkavBSOMIyO4kfl+xj/GxvvNbxPoh+joyxOhTIcmh4cRbWKpuNq4uAkCBQgBBAEBDZ5uQk8hT0+bbO6tNtg2Nv9RBFmmoqamDLm93tJv0tIO9wb79fP19ZbygO95+Xl5MN7OX2+hb29tP+/8kX6RkfikB6pSVVJSR8D9J2CdYGA1ZXaJvMq8vDcrzaybVpubigGMBI4Cjo7SWxVxo7ajo2wYPGAMMAwMhPaK/3vxe3uAauG1NdQ1NfU6aegddB0ds91HU+Cn4OAhs6z213vX15yZ7V7CL8LCQ1yWbS64Li4plnpiSzFLS13hIaP+3/7+1a4WgldBV1e9KkGoFVQVFejutp93wXd3km7rpTfcNzee11Z75bPl5RMj2YyfRp+fI/0X0/Dn8PAglH9qSjVKSkSplZ7aT9raorAl+lh9WFjPj8oGyQPJyXxSjVUppCkpWhQiUAooCgpQf0/hsf6xscldGmmguqCgFNbaf2uxa2vZF6tchS6FhTxnc4G9zr29j7o00l1pXV2QIFCAEEAQEAf1A/P09/T03YvAFssLy8vTfMbtPvg+Pi0KESgFFAUFeM7mH2eBZ2eX1VNz5Lfk5AJOuyUnnCcnc4JYMkEZQUGnC50sixaLi/ZTAVGnpqensvqUz33pfX1JN/vclW6VlVatn47YR9jYcOswi/vL+/vNwXEj7p/u7rv4kcd87Xx8cczjF2aFZmZ7p46m3VPd3a8uS7gXXBcXRY5GAkcBR0caIdyEnkKentSJxR7KD8rKWFqZdS20LS0uY3mRv8a/vz8OGzgHHAcHrEcjAa2Ora2wtC/qWnVaWu8btWyDNoODtmb/hTPMMzNcxvI/Y5FjYxIEChACCAICk0k4OaqSqqre4qivcdlxccaNzw7IB8jI0TJ9yBlkGRk7knBySTlJSV+vmobZQ9nZMfkdw/Lv8vKo20hL46vj47m2KuJbcVtbvA2SNIgaiIg+KcikmlKamgtMvi0mmCYmv2T6jTLIMjJZfUrpsPqwsPLPahvpg+npdx4zeA88Dw8zt6bm1XPV1fQdunSAOoCAJ2F8mb7Cvr7rh94mzRPNzYlo5L000DQ0MpB1ekg9SEhU4ySr/9v//430j/d69Xp6ZD3q9JB6kJCdvj7CX2FfXz1AoB0ggCAgD9DVZ2i9aGjKNHLQGmgaGrdBLBmugq6ufXVeybTqtLTOqBmaVE1UVH875eyTdpOTL0SqDSKIIiJjyOkHZI1kZCr/Etvx4/HxzOaiv3PRc3OCJFqQEkgSEnqAXTpAHUBASBAoQAggCAiVm+hWwyvDw9/FezPsl+zsTauQlttL29vAXx9hob6hoZEHgxyNDo2NyHrJ9T30PT1bM/HMl2aXlwAAAAAAAAAA+YPUNs8bz89uVodFK6wrK+Hss5d2xXZ25hmwZIIygoIosan+1n/W1sM2d9gbbBsbdHdbwbXutbW+QykRr4avrx3U33dqtWpq6qANulBdUFBXikwSRQlFRTj7GMvz6/PzrWDwnTDAMDDEw3Qr75vv79p+w+U//D8/x6ocklVJVVXbWRB5orKiounJZQPqj+rqasrsD2WJZWUDaWi5utK6ukpek2UvvC8vjp3nTsAnwMBgoYG+3l/e3vw4bOAccBwcRucuu/3T/f0fmmRSTSlNTXY54OSScpKS+uq8j3XJdXU2DB4wBhgGBq4JmCSKEoqKS3lA+bLysrKF0Vlj5r/m5n4cNnAOOA4O5z5j+B98Hx9VxPc3YpViYjq1o+7Ud9TUgU0yKaiaqKhSMfTElmKWlmLvOpv5w/n5o5f2ZsUzxcUQSrE1JZQlJauyIPJZeVlZ0BWuVIQqhITF5Ke3ctVycuxy3dU55Dk5FphhWkwtTEyUvDvKXmVeXp/whed4/Xh45XDY3TjgODiYBYYUjAqMjBe/ssbRY9HR5FcLQaWupaWh2U1D4q/i4k7C+C9hmWFhQntF8bP2s7M0QqUVIYQhIQgl1pScSpyc7jxm8B54Hh5hhlIiQxFDQ7GT/HbHO8fHT+Urs/zX/PwkCBQgBBAEBOOiCLJRWVFRJS/HvJlemZki2sRPbaltbWUaOWgNNA0Neek1g/rP+vppo4S231vf36n8m9d+5X5+GUi0PSSQJCT+dtfFO+w7O5pLPTGrlqur8IHRPs4fzs6ZIlWIEUQREYMDiQyPBo+PBJxrSk4lTk5mc1HRt+a3t+DLYAvri+vrwXjM/TzwPDz9H798gT6BgUA1/tSUapSUHPMM6/f79/cYb2ehud65uYsmX5gTTBMTUVicfSywLCwFu7jW02vT04zTXGvnu+fnOdzLV26lbm6qlfNuxDfExBsGDxgDDAMD3KwTilZFVlZeiEkaRA1ERKD+nt9/4X9/iE83IameqalnVIJNKqgqKgprbbG71ru7h5/iRsEjwcHxpgKiU1FTU3Kli67cV9zcUxYnWAssCwsBJ9OcnU6dnSvYwUdsrWxspGL1lTHEMTHz6LmHdM10dBXxCeP2//b2TIxDCkYFRkalRSYJrIqsrLUPlzyJHomJtChEoBRQFBS630Jb4aPh4aYsTrAWWBYW93TSzTroOjoG0tBvablpaUESLUgJJAkJ1+Ctp3DdcHBvcVTZtuK2th69t87QZ9DQ1sd+O+2T7e3ihdsuzBfMzGiEVypCFUJCLC3CtJhamJjtVQ5JpKqkpHVQiF0ooCgohrgx2lxtXFxr7T+T+Mf4+MIRpESGIoaGMHjAGGAYGNhGrwUjjCMjJpH5fsY/xsa4zW8T6Ifo6PsToUyHJoeHy21iqbjauLgRAgUIAQQBAQmebkJPIU9PDWzurTbYNjabUQRZpqKmpv+5vd7Sb9LSDPcG+/Xz9fUO8oDvefl5eZbezl9voW9vMD/v/JF+kZFtpAeqUlVSUvjA/SdgnWBgR2V2ibzKvLw1K82sm1abmzcBjASOAo6OilsVcaO2o6PSGDxgDDAMDGz2iv978Xt7hGrhtTXUNTWAOmnoHXQdHfXdR1Pgp+Dgs7Os9td719chme1ewi/Cwpxclm0uuC4uQ5Z6YksxS0sp4SGj/t/+/l2uFoJXQVdX1SpBqBVUFRW97rafd8F3d+hu66U33Dc3ktdWe+Wz5eWeI9mMn0afnxP9F9Pw5/DwI5R/ako1SkogqZWe2k/a2kSwJfpYfVhYoo/KBskDycnPUo1VKaQpKXwUIlAKKAoKWn9P4bH+sbFQXRppoLqgoMnW2n9rsWtrFBerXIUuhYXZZ3OBvc69vTy6NNJdaV1djyBQgBBAEBCQ9QPz9Pf09AeLwBbLC8vL3XzG7T74Pj7TChEoBRQFBS3O5h9ngWdneNVTc+S35OSXTrslJ5wnJwKCWDJBGUFBcwudLIsWi4unUwFRp6anp/b6lM996X19sjf73JVulZVJrZ+O2EfY2FbrMIv7y/v7cMFxI+6f7u7N+JHHfO18fLvM4xdmhWZmcaeOpt1T3d17Lku4F1wXF6+ORgJHAUdHRSHchJ5Cnp4aicUeyg/KytRamXUttC0tWGN5kb/Gv78uDhs4BxwHBz9HIwGtjq2trLQv6lp1WlqwG7VsgzaDg+9m/4UzzDMztsbyP2ORY2NcBAoQAggCAhJJODmqkqqqk+Kor3HZcXHejc8OyAfIyMYyfcgZZBkZ0ZJwckk5SUk7r5qG2UPZ2V/5HcPy7/LyMdtIS+Or4+OotiriW3FbW7kNkjSIGoiIvCnIpJpSmpo+TL4tJpgmJgtk+o0yyDIyv31K6bD6sLBZz2ob6YPp6fIeM3gPPA8Pd7em5tVz1dUzHbp0gDqAgPRhfJm+wr6+J4feJs0Tzc3raOS9NNA0NImQdXpIPUhIMuMkq//b//9U9I/3evV6eo096vSQepCQZL4+wl9hX1+dQKAdIIAgID3Q1WdovWhoDzRy0BpoGhrKQSwZroKurrd1Xsm06rS0fagZmlRNVFTOO+Xsk3aTk39Eqg0iiCIiL8jpB2SNZGRj/xLb8ePx8Srmor9z0XNzzCRakBJIEhKCgF06QB1AQHoQKEAIIAgISJvoVsMrw8OVxXsz7Jfs7N+rkJbbS9vbTV8fYaG+oaHAB4McjQ6NjZF6yfU99D09yDPxzJdml5dbAAAAAAAAAACD1DbPG8/P+VaHRSusKytu7LOXdsV2duEZsGSCMoKC5rGp/tZ/1tYoNnfYG2wbG8N3W8G17rW1dEMpEa+Gr6++1N93arVqah2gDbpQXVBQ6opMEkUJRUVX+xjL8+vz8zhg8J0wwDAwrcN0K++b7+/EfsPlP/w/P9qqHJJVSVVVx1kQeaKyoqLbyWUD6o/q6unK7A9liWVlamloubrSuroDXpNlL7wvL0qd507AJ8DAjqGBvt5f3t5gOGzgHHAcHPznLrv90/39RppkUk0pTU0fOeDkknKSknbqvI91yXV1+gweMAYYBgY2CZgkihKKiq55QPmy8rKyS9FZY+a/5uaFHDZwDjgODn4+Y/gffB8f58T3N2KVYmJVtaPu1HfU1DpNMimomqiogTH0xJZilpZS7zqb+cP5+WKX9mbFM8XFo0qxNSWUJSUQsiDyWXlZWasVrlSEKoSE0OSnt3LVcnLFct3VOeQ5OeyYYVpMLUxMFrw7yl5lXl6U8IXneP14eJ9w2N044Dg45QWGFIwKjIyYv7LG0WPR0RdXC0GlrqWl5NlNQ+Kv4uKhwvgvYZlhYU57RfGz9rOzQkKlFSGEISE0JdaUnEqcnAg8ZvAeeB4e7oZSIkMRQ0Nhk/x2xzvHx7HlK7P81/z8TwgUIAQQBAQkogiyUVlRUeMvx7yZXpmZJdrET22pbW0iGjloDTQNDWXpNYP6z/r6eaOEtt9b399p/JvXfuV+fqlItD0kkCQkGXbXxTvsOzv+Sz0xq5arq5qB0T7OH87O8CJViBFEERGZA4kMjwaPj4Oca0pOJU5OBHNR0bfmt7dmy2AL64vr6+B4zP088Dw8wR+/fIE+gYH9Nf7UlGqUlEDzDOv3+/f3HG9nobneubkYJl+YE0wTE4tYnH0ssCwsUbu41tNr09MF01xr57vn54zcy1dupW5uOZXzbsQ3xMSqBg8YAwwDAxusE4pWRVZW3IhJGkQNRERe/p7ff+F/f6BPNyGpnqmpiFSCTSqoKipna22xu9a7uwqf4kbBI8HBh6YColNRU1PxpYuu3Ffc3HIWJ1gLLAsLUyfTnJ1OnZ0B2MFHbK1sbCti9ZUxxDExpOi5h3TNdHTz8Qnj9v/29hWMQwpGBUZGTEUmCayKrKylD5c8iR6JibUoRKAUUBQUtN9CW+Gj4eG6LE6wFlgWFqZ00s066Do699LQb2m5aWkGEi1ICSQJCUHgradw3XBw13FU2bbitrZvvbfO0GfQ0B7Hfjvtk+3t1oXbLswXzMzihFcqQhVCQmgtwrSYWpiYLFUOSaSqpKTtUIhdKKAoKHW4MdpcbVxchu0/k/jH+PhrEaREhiKGhsJ4wBhgGBjYMK8FI4wjIyZG+X7GP8bGuJFvE+iH6Oj7zaFMhyaHh8sTYqm42ri4EW0FCAEEAQEJAm5CTyFPTw2e7q022DY2m2wEWaaipqb/Ub3e0m/S0gy5Bvv18/X1DveA73n5eXmW8s5fb6FvbzDe7/yRfpGRbT8HqlJVUlL4pP0nYJ1gYEfAdom8yry8NWXNrJtWm5s3K4wEjgKOjooBFXGjtqOj0ls8YAwwDAxsGIr/e/F7e4T24bU11DU1gGpp6B10HR31OkdT4Kfg4LPdrPbXe9fXIbPtXsIvwsKcmZZtLrguLkNcemJLMUtLKZYho/7f/v5d4RaCV0FXV9WuQagVVBUVvSq2n3fBd3fo7uulN9w3N5JuVnvls+XlntfZjJ9Gn58TIxfT8Ofw8CP9f2pKNUpKIJSVntpP2tpEqSX6WH1YWKKwygbJA8nJz4+NVSmkKSl8UiJQCigKCloUT+Gx/rGxUH8aaaC6oKDJXdp/a7FraxTWq1yFLoWF2Rdzgb3Ovb08ZzTSXWldXY+6UIAQQBAQkCAD8/T39PQH9cAWywvLy92Lxu0++D4+03wRKAUUBQUtCuYfZ4FnZ3jOU3Pkt+Tkl9W7JSecJycCTlgyQRlBQXOCnSyLFouLpwsBUaemp6f2U5TPfel9fbL6+9yVbpWVSTefjthH2NhWrTCL+8v7+3DrcSPun+7uzcGRx3ztfHy7+OMXZoVmZnHMjqbdU93de6dLuBdcFxevLkYCRwFHR0WO3ISeQp6eGiHFHsoPysrUiZl1LbQtLVhaeZG/xr+/LmMbOAccBwc/DiMBrY6traxHL+padVpasLS1bIM2g4PvG/+FM8wzM7Zm8j9jkWNjXMYKEAIIAgISBDg5qpKqqpNJqK9x2XFx3uLPDsgHyMjGjX3IGWQZGdEycHJJOUlJO5KahtlD2dlfrx3D8u/y8jH5SEvjq+PjqNsq4ltxW1u5tpI0iBqIiLwNyKSaUpqaPim+LSaYJiYLTPqNMsgyMr9kSumw+rCwWX1qG+mD6enyzzN4DzwPD3cepubVc9XVM7e6dIA6gID0HXyZvsK+vidh3ibNE83N64fkvTTQNDSJaHV6SD1ISDKQJKv/2///VOOP93r1enqN9Or0kHqQkGQ9PsJfYV9fnb6gHSCAICA9QNVnaL1oaA/QctAaaBoayjQsGa6Crq63QV7JtOq0tH11GZpUTVRUzqjl7JN2k5N/O6oNIogiIi9E6QdkjWRkY8gS2/Hj8fEq/6K/c9Fzc8zmWpASSBISgiRdOkAdQEB6gChACCAICEgQ6FbDK8PDlZt7M+yX7OzfxZCW20vb202rH2GhvqGhwF+DHI0OjY2RB8n1PfQ9Pch68cyXZpeXWzMAAAAAAAAAANQ2zxvPz/mDh0UrrCsrblazl3bFdnbh7LBkgjKCguYZqf7Wf9bWKLF32BtsGxvDNlvBte61tXR3KRGvhq+vvkPfd2q1amod1A26UF1QUOqgTBJFCUVFV4oYy/Pr8/M4+/CdMMAwMK1gdCvvm+/vxMPD5T/8Pz/afhySVUlVVceqEHmisqKi21llA+qP6urpyewPZYllZWrKaLm60rq6A2mTZS+8Ly9KXudOwCfAwI6dgb7eX97eYKFs4BxwHBz8OC67/dP9/UbnZFJNKU1NH5rg5JJykpJ2ObyPdcl1dfrqHjAGGAYGNgyYJIoSioquCUD5svKyskt5WWPmv+bmhdE2cA44Dg5+HGP4H3wfH+c+9zdilWJiVcSj7tR31NQ6tTIpqJqoqIFN9MSWYpaWUjE6m/nD+fli7/ZmxTPFxaOXsTUllCUlEEog8ll5WVmrsq5UhCqEhNAVp7dy1XJyxeTd1TnkOTnscmFaTC1MTBaYO8peZV5elLyF53j9eHif8NjdOOA4OOVwhhSMCoyMmAWyxtFj0dEXvwtBpa6lpeRXTUPir+Liodn4L2GZYWFOwkXxs/azs0J7pRUhhCEhNELWlJxKnJwIJWbwHngeHu48UiJDEUNDYYb8dsc7x8exkyuz/Nf8/E/lFCAEEAQEJAgIslFZUVHjose8mV6ZmSUvxE9tqW1tIto5aA00DQ1lGjWD+s/6+nnphLbfW9/faaOb137lfn6p/LQ9JJAkJBlI18U77Ds7/nY9MauWq6uaS9E+zh/OzvCBVYgRRBERmSKJDI8Gj4+DA2tKTiVOTgScUdG35re3ZnNgC+uL6+vgy8z9PPA8PMF4v3yBPoGB/R/+1JRqlJRANQzr9/v39xzzZ6G53rm5GG9fmBNMExOLJpx9LLAsLFFYuNbTa9PTBbtca+e75+eM08tXbqVubjnc827EN8TEqpUPGAMMAwMbBhOKVkVWVtysSRpEDUREXoie33/hf3+g/jchqZ6pqYhPgk0qqCoqZ1RtsbvWu7sKa+JGwSPBwYefAqJTUVNT8aaLrtxX3NxypSdYCywLC1MW05ydTp2dASfBR2ytbGwr2PWVMcQxMaRiuYd0zXR08+gJ4/b/9vYV8UMKRgVGRkyMJgmsiqyspUWXPIkeiYm1D0SgFFAUFLQoQlvho+Hhut9OsBZYFhamLNLNOug6Ovd00G9puWlpBtItSAkkCQlBEq2ncN1wcNfgVNm24ra2b3G3ztBn0NAevX477ZPt7dbH2y7MF8zM4oVXKkIVQkJohMK0mFqYmCwtDkmkqqSk7VWIXSigKCh1UDHaXG1cXIa4P5P4x/j4a+2kRIYihobCEcAYYBgY2DB4BSOMIyMmRq9+xj/GxriR+RPoh+jo+81vTIcmh4fLE6GpuNq4uBFtYggBBAEBCQIFQk8hT08Nnm6tNtg2Npts7lmmoqam/1EE3tJv0tIMub379fP19Q73Bu95+Xl5lvKAX2+hb28w3s78kX6RkW0/76pSVVJS+KQHJ2CdYGBHwP2JvMq8vDVldqybVpubNyvNBI4Cjo6KAYxxo7ajo9JbFWAMMAwMbBg8/3vxe3uE9oq1NdQ1NYBq4egddB0d9TppU+Cn4OCz3Uf213vX1yGzrF7CL8LCnJntbS64Li5DXJZiSzFLSymWeqP+3/7+XeEhgldBV1fVrhaoFVQVFb0qQZ93wXd36O62pTfcNzeSbut75bPl5Z7XVoyfRp+fEyPZ0/Dn8PAj/RdqSjVKSiCUf57aT9raRKmV+lh9WFiisCUGyQPJyc+PylUppCkpfFKNUAooCgpaFCLhsf6xsVB/T2mguqCgyV0af2uxa2sU1tpchS6FhdkXq4G9zr29PGdz0l1pXV2PujSAEEAQEJAgUPP09/T0B/UDFssLy8vdi8DtPvg+PtN8xigFFAUFLQoRH2eBZ2d4zuZz5Lfk5JfVUyUnnCcnAk67MkEZQUFzglgsixaLi6cLnVGnpqen9lMBz33pfX2y+pTclW6VlUk3+47YR9jYVq2fi/vL+/tw6zAj7p/u7s3Bccd87Xx8u/iRF2aFZmZxzOOm3VPd3XunjrgXXBcXry5LAkcBR0dFjkaEnkKenhoh3B7KD8rK1InFdS20LS1YWpmRv8a/vy5jeTgHHAcHPw4bAa2Ora2sRyPqWnVaWrC0L2yDNoOD7xu1hTPMMzO2Zv8/Y5FjY1zG8hACCAICEgQKOaqSqqqTSTivcdlxcd7iqA7IB8jIxo3PyBlkGRnRMn1ySTlJSTuScIbZQ9nZX6+aw/Lv8vIx+R1L46vj46jbSOJbcVtbubYqNIgaiIi8DZKkmlKamj4pyC0mmCYmC0y+jTLIMjK/ZPrpsPqwsFl9Shvpg+np8s9qeA88Dw93HjPm1XPV1TO3pnSAOoCA9B26mb7Cvr4nYXwmzRPNzeuH3r000DQ0iWjkekg9SEgykHWr/9v//1TjJPd69Xp6jfSP9JB6kJBkPerCX2FfX52+Ph0ggCAgPUCgZ2i9aGgP0NXQGmgaGso0chmugq6ut0EsybTqtLR9dV6aVE1UVM6oGeyTdpOTfzvlDSKIIiIvRKoHZI1kZGPI6dvx4/HxKv8Sv3PRc3PM5qKQEkgSEoIkWjpAHUBAeoBdQAggCAhIEChWwyvDw5Wb6DPsl+zs38V7lttL29tNq5Bhob6hocBfHxyNDo2NkQeD9T30PT3IesnMl2aXl1sz8QAAAAAAAAAANs8bz8/5g9RFK6wrK25Wh5d2xXZ24eyzZIIygoLmGbD+1n/W1iixqdgbbBsbwzZ3wbXutbV0d1sRr4avr75DKXdqtWpqHdTfulBdUFDqoA0SRQlFRVeKTMvz6/PzOPsYnTDAMDCtYPAr75vv78TDdOU//D8/2n7DklVJVVXHqhx5orKiottZEAPqj+rq6cllD2WJZWVqyuy5utK6ugNpaGUvvC8vSl6TTsAnwMCOnee+3l/e3mChgeAccBwc/Dhsu/3T/f1G5y5STSlNTR+aZOSScpKSdjngj3XJdXX66rwwBhgGBjYMHiSKEoqKrgmY+bLysrJLeUBj5r/m5oXRWXAOOA4Ofhw2+B98Hx/nPmM3YpViYlXE9+7Ud9TUOrWjKaiaqKiBTTLElmKWllIx9Jv5w/n5Yu86ZsUzxcWjl/Y1JZQlJRBKsfJZeVlZq7IgVIQqhITQFa63ctVycsXkp9U55Dk57HLdWkwtTEwWmGHKXmVeXpS8O+d4/Xh4n/CF3TjgODjlcNgUjAqMjJgFhsbRY9HRF7+yQaWupaXkVwtD4q/i4qHZTS9hmWFhTsL48bP2s7NCe0UVIYQhITRCpZScSpycCCXW8B54Hh7uPGYiQxFDQ2GGUnbHO8fHsZP8s/zX/PxP5SsgBBAEBCQIFLJRWVFR46IIvJlemZklL8dPbaltbSLaxGgNNA0NZRo5g/rP+vp56TW231vf32mjhNd+5X5+qfybPSSQJCQZSLTFO+w7O/521zGrlqurmks9Ps4fzs7wgdGIEUQREZkiVQyPBo+PgwOJSk4lTk4EnGvRt+a3t2ZzUQvri+vr4Mtg/TzwPDzBeMx8gT6Bgf0fv9SUapSUQDX+6/f79/cc8wyhud65uRhvZ5gTTBMTiyZffSywLCxRWJzW02vT0wW7uGvnu+fnjNNcV26lbm453MtuxDfExKqV8xgDDAMDGwYPilZFVlbcrBMaRA1ERF6ISd9/4X9/oP6eIameqamITzdNKqgqKmdUgrG71ru7CmttRsEjwcGHn+KiU1FTU/GmAq7cV9zccqWLWAssCwtTFiecnU6dnQEn00dsrWxsK9jBlTHEMTGkYvWHdM10dPPoueP2//b2FfEJCkYFRkZMjEMJrIqsrKVFJjyJHomJtQ+XoBRQFBS0KERb4aPh4brfQrAWWBYWpixOzTroOjr3dNJvablpaQbS0EgJJAkJQRItp3DdcHDX4K3ZtuK2tm9xVM7QZ9DQHr23O+2T7e3Wx34uzBfMzOKF2ypCFUJCaIRXtJhamJgsLcJJpKqkpO1VDl0ooCgodVCI2lxtXFyGuDGT+Mf4+GvtP0SGIoaGwhGkGGAYGNgweMAjjCMjJkavBcY/xsa4kfl+6Ifo6PvNbxOHJoeHyxOhTLjauLgRbWKpAQQBAQkCBQhPIU9PDZ5uQjbYNjabbO6tpqKmpv9RBFnSb9LSDLm93vXz9fUO9wb7efl5eZbygO9voW9vMN7OX5F+kZFtP+/8UlVSUvikB6pgnWBgR8D9J7zKvLw1ZXaJm1abmzcrzayOAo6OigGMBKO2o6PSWxVxDDAMDGwYPGB78Xt7hPaK/zXUNTWAauG1HXQdHfU6aejgp+Dgs91HU9d719chs6z2wi/CwpyZ7V4uuC4uQ1yWbUsxS0splnpi/t/+/l3hIaNXQVdX1a4WghVUFRW9KkGod8F3d+jutp833Dc3km7rpeWz5eWe11Z7n0afnxMj2Yzw5/DwI/0X00o1SkoglH9q2k/a2kSplZ5YfVhYorAl+skDycnPj8oGKaQpKXxSjVUKKAoKWhQiULH+sbFQf0/hoLqgoMldGmlrsWtrFNbaf4UuhYXZF6tcvc69vTxnc4FdaV1dj7o00hBAEBCQIFCA9Pf09Af1A/PLC8vL3YvAFj74Pj7TfMbtBRQFBS0KEShngWdneM7mH+S35OSX1VNzJ5wnJwJOuyVBGUFBc4JYMosWi4unC50sp6anp/ZTAVF96X19svqUz5VulZVJN/vc2EfY2Fatn477y/v7cOswi+6f7u7NwXEjfO18fLv4kcdmhWZmcczjF91T3d17p46mF1wXF68uS7hHAUdHRY5GAp5Cnp4aIdyEyg/KytSJxR4ttC0tWFqZdb/Gv78uY3mRBxwHBz8OGzitjq2trEcjAVp1WlqwtC/qgzaDg+8btWwzzDMztmb/hWORY2NcxvI/AggCAhIEChCqkqqqk0k4OXHZcXHe4qivyAfIyMaNzw4ZZBkZ0TJ9yEk5SUk7knBy2UPZ2V+vmoby7/LyMfkdw+Or4+Oo20hLW3FbW7m2KuKIGoiIvA2SNJpSmpo+KcikJpgmJgtMvi0yyDIyv2T6jbD6sLBZfUrp6YPp6fLPahsPPA8Pdx4zeNVz1dUzt6bmgDqAgPQdunS+wr6+J2F8mc0Tzc3rh94mNNA0NIlo5L1IPUhIMpB1ev/b//9U4ySrevV6eo30j/eQepCQZD3q9F9hX1+dvj7CIIAgID1AoB1ovWhoD9DVZxpoGhrKNHLQroKurrdBLBm06rS0fXVeyVRNVFTOqBmak3aTk3875ewiiCIiL0SqDWSNZGRjyOkH8ePx8Sr/Ettz0XNzzOaivxJIEhKCJFqQQB1AQHqAXToIIAgISBAoQMMrw8OVm+hW7Jfs7N/FezPbS9vbTauQlqG+oaHAXx9hjQ6NjZEHgxw99D09yHrJ9Zdml5dbM/HMAAAAAAAAAADPG8/P+YPUNiusKytuVodFdsV2duHss5eCMoKC5hmwZNZ/1tYosan+G2wbG8M2d9i17rW1dHdbwa+Gr6++QykRarVqah3U33dQXVBQ6qANukUJRUVXikwS8+vz8zj7GMswwDAwrWDwne+b7+/Ew3QrP/w/P9p+w+VVSVVVx6ockqKyoqLbWRB56o/q6unJZQNliWVlasrsD7rSuroDaWi5L7wvL0pek2XAJ8DAjp3nTt5f3t5goYG+HHAcHPw4bOD90/39Rucuu00pTU0fmmRSknKSknY54OR1yXV1+uq8jwYYBgY2DB4wihKKiq4JmCSy8rKyS3lA+ea/5uaF0VljDjgODn4cNnAffB8f5z5j+GKVYmJVxPc31HfU1Dq1o+6omqiogU0yKZZilpZSMfTE+cP5+WLvOpvFM8XFo5f2ZiWUJSUQSrE1WXlZWauyIPKEKoSE0BWuVHLVcnLF5Ke3OeQ5Oexy3dVMLUxMFphhWl5lXl6UvDvKeP14eJ/whec44Dg45XDY3YwKjIyYBYYU0WPR0Re/ssalrqWl5FcLQeKv4uKh2U1DYZlhYU7C+C+z9rOzQntF8SGEISE0QqUVnEqcnAgl1pQeeB4e7jxm8EMRQ0NhhlIixzvHx7GT/Hb81/z8T+UrswQQBAQkCBQgUVlRUeOiCLKZXpmZJS/HvG2pbW0i2sRPDTQNDWUaOWj6z/r6eek1g99b399po4S2fuV+fqn8m9ckkCQkGUi0PTvsOzv+dtfFq5arq5pLPTHOH87O8IHRPhFEERGZIlWIjwaPj4MDiQxOJU5OBJxrSrfmt7dmc1HR64vr6+DLYAs88Dw8wXjM/YE+gYH9H798lGqUlEA1/tT3+/f3HPMM67neubkYb2ehE0wTE4smX5gssCwsUVicfdNr09MFu7jW57vn54zTXGtupW5uOdzLV8Q3xMSqlfNuAwwDAxsGDxhWRVZW3KwTikQNREReiEkaf+F/f6D+nt+pnqmpiE83ISqoKipnVIJNu9a7uwprbbHBI8HBh5/iRlNRU1PxpgKi3Ffc3HKli64LLAsLUxYnWJ1OnZ0BJ9OcbK1sbCvYwUcxxDExpGL1lXTNdHTz6LmH9v/29hXxCeNGBUZGTIxDCqyKrKylRSYJiR6JibUPlzwUUBQUtChEoOGj4eG630JbFlgWFqYsTrA66Do693TSzWm5aWkG0tBvCSQJCUESLUhw3XBw1+Ctp7bitrZvcVTZ0GfQ0B69t87tk+3t1sd+O8wXzMzihdsuQhVCQmiEVyqYWpiYLC3CtKSqpKTtVQ5JKKAoKHVQiF1cbVxchrgx2vjH+Phr7T+ThiKGhsIRpERgGBjYMHjAGIwjIyZGrwUjP8bGuJH5fsaH6Oj7zW8T6CaHh8sToUyH2ri4EW1iqbgEAQEJAgUIASFPTw2ebkJP2DY2m2zurTaipqb/UQRZpm/S0gy5vd7S8/X1DvcG+/X5eXmW8oDveaFvbzDezl9vfpGRbT/v/JFVUlL4pAeqUp1gYEfA/Sdgyry8NWV2ibxWm5s3K82smwKOjooBjASOtqOj0lsVcaMwDAxsGDxgDPF7e4T2iv971DU1gGrhtTV0HR31OmnoHafg4LPdR1Pge9fXIbOs9tcvwsKcme1ewrguLkNclm0uMUtLKZZ6Ykvf/v5d4SGj/kFXV9WuFoJXVBUVvSpBqBXBd3fo7rafd9w3N5Ju66U3s+XlntdWe+VGn58TI9mMn+fw8CP9F9PwNUpKIJR/akpP2tpEqZWe2n1YWKKwJfpYA8nJz4/KBsmkKSl8Uo1VKSgKCloUIlAK/rGxUH9P4bG6oKDJXRppoLFraxTW2n9rLoWF2RerXIXOvb08Z3OBvWldXY+6NNJdQBAQkCBQgBD39PQH9QPz9AvLy92LwBbL+D4+03zG7T4UBQUtChEoBYFnZ3jO5h9nt+Tkl9VTc+ScJycCTrslJxlBQXOCWDJBFouLpwudLIump6f2UwFRp+l9fbL6lM99bpWVSTf73JVH2NhWrZ+O2Mv7+3DrMIv7n+7uzcFxI+7tfHy7+JHHfIVmZnHM4xdmU93de6eOpt1cFxevLku4FwFHR0WORgJHQp6eGiHchJ4PysrUicUeyrQtLVhamXUtxr+/LmN5kb8cBwc/Dhs4B46traxHIwGtdVpasLQv6lo2g4PvG7Vsg8wzM7Zm/4UzkWNjXMbyP2MIAgISBAoQApKqqpNJODmq2XFx3uKor3EHyMjGjc8OyGQZGdEyfcgZOUlJO5JwcklD2dlfr5qG2e/y8jH5HcPyq+PjqNtIS+NxW1u5tiriWxqIiLwNkjSIUpqaPinIpJqYJiYLTL4tJsgyMr9k+o0y+rCwWX1K6bCD6enyz2ob6TwPD3ceM3gPc9XVM7em5tU6gID0Hbp0gMK+vidhfJm+E83N64feJs3QNDSJaOS9ND1ISDKQdXpI2///VOMkq//1enqN9I/3enqQkGQ96vSQYV9fnb4+wl+AICA9QKAdIL1oaA/Q1WdoaBoayjRy0BqCrq63QSwZruq0tH11Xsm0TVRUzqgZmlR2k5N/O+Xsk4giIi9Eqg0ijWRkY8jpB2Tj8fEq/xLb8dFzc8zmor9zSBISgiRakBIdQEB6gF06QCAICEgQKEAIK8PDlZvoVsOX7OzfxXsz7Evb202rkJbbvqGhwF8fYaEOjY2RB4McjfQ9Pch6yfU9ZpeXWzPxzJcAAAAAAAAAABvPz/mD1DbPrCsrblaHRSvFdnbh7LOXdjKCguYZsGSCf9bWKLGp/tZsGxvDNnfYG+61tXR3W8G1hq+vvkMpEa+1amod1N93al1QUOqgDbpQCUVFV4pMEkXr8/M4+xjL88AwMK1g8J0wm+/vxMN0K+/8Pz/afsPlP0lVVceqHJJVsqKi21kQeaKP6urpyWUD6ollZWrK7A9l0rq6A2loubq8Ly9KXpNlLyfAwI6d507AX97eYKGBvt5wHBz8OGzgHNP9/UbnLrv9KU1NH5pkUk1ykpJ2OeDkksl1dfrqvI91GAYGNgweMAYSioquCZgkivKyskt5QPmyv+bmhdFZY+Y4Dg5+HDZwDnwfH+c+Y/gflWJiVcT3N2J31NQ6taPu1JqoqIFNMimoYpaWUjH0xJbD+fli7zqb+TPFxaOX9mbFlCUlEEqxNSV5WVmrsiDyWSqEhNAVrlSE1XJyxeSnt3LkOTnsct3VOS1MTBaYYVpMZV5elLw7yl79eHif8IXneOA4OOVw2N04CoyMmAWGFIxj0dEXv7LG0a6lpeRXC0Glr+LiodlNQ+KZYWFOwvgvYfazs0J7RfGzhCEhNEKlFSFKnJwIJdaUnHgeHu48ZvAeEUNDYYZSIkM7x8exk/x2x9f8/E/lK7P8EAQEJAgUIARZUVHjogiyUV6ZmSUvx7yZqW1tItrET200DQ1lGjloDc/6+nnpNYP6W9/faaOEtt/lfn6p/JvXfpAkJBlItD0k7Ds7/nbXxTuWq6uaSz0xqx/OzvCB0T7ORBERmSJViBEGj4+DA4kMjyVOTgSca0pO5re3ZnNR0beL6+vgy2AL6/A8PMF4zP08PoGB/R+/fIFqlJRANf7UlPv39xzzDOv33rm5GG9noblMExOLJl+YE7AsLFFYnH0sa9PTBbu41tO75+eM01xr56Vubjncy1duN8TEqpXzbsQMAwMbBg8YA0VWVtysE4pWDUREXohJGkThf3+g/p7ff56pqYhPNyGpqCoqZ1SCTSrWu7sKa22xuyPBwYef4kbBUVNT8aYColNX3NxypYuu3CwLC1MWJ1gLTp2dASfTnJ2tbGwr2MFHbMQxMaRi9ZUxzXR08+i5h3T/9vYV8Qnj9gVGRkyMQwpGiqyspUUmCaweiYm1D5c8iVAUFLQoRKAUo+Hhut9CW+FYFhamLE6wFug6Ovd00s06uWlpBtLQb2kkCQlBEi1ICd1wcNfgradw4ra2b3FU2bZn0NAevbfO0JPt7dbHfjvtF8zM4oXbLswVQkJohFcqQlqYmCwtwrSYqqSk7VUOSaSgKCh1UIhdKG1cXIa4Mdpcx/j4a+0/k/gihobCEaREhhgY2DB4wBhgIyMmRq8FI4zGxriR+X7GP+jo+81vE+iHh4fLE6FMhya4uBFtYqm42gEBCQIFCAEET08Nnm5CTyE2Npts7q022Kam/1EEWaai0tIMub3e0m/19Q73Bvv183l5lvKA73n5b28w3s5fb6GRkW0/7/yRflJS+KQHqlJVYGBHwP0nYJ28vDVldom8ypubNyvNrJtWjo6KAYwEjgKjo9JbFXGjtgwMbBg8YAwwe3uE9or/e/E1NYBq4bU11B0d9Tpp6B104OCz3UdT4KfX1yGzrPbXe8LCnJntXsIvLi5DXJZtLrhLSymWemJLMf7+XeEho/7fV1fVrhaCV0EVFb0qQagVVHd36O62n3fBNzeSbuulN9zl5Z7XVnvls5+fEyPZjJ9G8PAj/RfT8OdKSiCUf2pKNdraRKmVntpPWFiisCX6WH3Jyc+PygbJAykpfFKNVSmkCgpaFCJQCiixsVB/T+Gx/qCgyV0aaaC6a2sU1tp/a7GFhdkXq1yFLr29PGdzgb3OXV2PujTSXWkQEJAgUIAQQPT0B/UD8/T3y8vdi8AWyws+PtN8xu0++AUFLQoRKAUUZ2d4zuYfZ4Hk5JfVU3PktycnAk67JSecQUFzglgyQRmLi6cLnSyLFqen9lMBUaemfX2y+pTPfemVlUk3+9yVbtjYVq2fjthH+/tw6zCL+8vu7s3BcSPun3x8u/iRx3ztZmZxzOMXZoXd3XunjqbdUxcXry5LuBdcR0dFjkYCRwGenhoh3ISeQsrK1InFHsoPLS1YWpl1LbS/vy5jeZG/xgcHPw4bOAccra2sRyMBrY5aWrC0L+padYOD7xu1bIM2MzO2Zv+FM8xjY1zG8j9jkQICEgQKEAIIqqqTSTg5qpJxcd7iqK9x2cjIxo3PDsgHGRnRMn3IGWRJSTuScHJJOdnZX6+ahtlD8vIx+R3D8u/j46jbSEvjq1tbubYq4ltxiIi8DZI0iBqamj4pyKSaUiYmC0y+LSaYMjK/ZPqNMsiwsFl9Sumw+unp8s9qG+mDDw93HjN4DzzV1TO3pubVc4CA9B26dIA6vr4nYXyZvsLNzeuH3ibNEzQ0iWjkvTTQSEgykHV6SD3//1TjJKv/23p6jfSP93r1kJBkPer0kHpfX52+PsJfYSAgPUCgHSCAaGgP0NVnaL0aGso0ctAaaK6ut0EsGa6CtLR9dV7JtOpUVM6oGZpUTZOTfzvl7JN2IiIvRKoNIohkZGPI6QdkjfHxKv8S2/Hjc3PM5qK/c9ESEoIkWpASSEBAeoBdOkAdCAhIEChACCDDw5Wb6FbDK+zs38V7M+yX29tNq5CW20uhocBfH2Ghvo2NkQeDHI0OPT3Iesn1PfSXl1sz8cyXZgAAAAAAAAAAz8/5g9Q2zxsrK25Wh0UrrHZ24eyzl3bFgoLmGbBkgjLW1iixqf7WfxsbwzZ32BtstbV0d1vBte6vr75DKRGvhmpqHdTfd2q1UFDqoA26UF1FRVeKTBJFCfPzOPsYy/PrMDCtYPCdMMDv78TDdCvvmz8/2n7D5T/8VVXHqhySVUmiottZEHmisurq6cllA+qPZWVqyuwPZYm6ugNpaLm60i8vSl6TZS+8wMCOnedOwCfe3mChgb7eXxwc/Dhs4Bxw/f1G5y67/dNNTR+aZFJNKZKSdjng5JJydXX66ryPdckGBjYMHjAGGIqKrgmYJIoSsrJLeUD5svLm5oXRWWPmvw4Ofhw2cA44Hx/nPmP4H3xiYlXE9zdildTUOrWj7tR3qKiBTTIpqJqWllIx9MSWYvn5Yu86m/nDxcWjl/ZmxTMlJRBKsTUllFlZq7Ig8ll5hITQFa5UhCpycsXkp7dy1Tk57HLd1TnkTEwWmGFaTC1eXpS8O8peZXh4n/CF53j9ODjlcNjdOOCMjJgFhhSMCtHRF7+yxtFjpaXkVwtBpa7i4qHZTUPir2FhTsL4L2GZs7NCe0Xxs/YhITRCpRUhhJycCCXWlJxKHh7uPGbwHnhDQ2GGUiJDEcfHsZP8dsc7/PxP5Suz/NcEBCQIFCAEEFFR46IIslFZmZklL8e8mV5tbSLaxE9tqQ0NZRo5aA00+vp56TWD+s/f32mjhLbfW35+qfyb137lJCQZSLQ9JJA7O/5218U77Kurmks9MauWzs7wgdE+zh8REZkiVYgRRI+PgwOJDI8GTk4EnGtKTiW3t2ZzUdG35uvr4MtgC+uLPDzBeMz9PPCBgf0fv3yBPpSUQDX+1JRq9/cc8wzr9/u5uRhvZ6G53hMTiyZfmBNMLCxRWJx9LLDT0wW7uNbTa+fnjNNca+e7bm453MtXbqXExKqV827ENwMDGwYPGAMMVlbcrBOKVkVERF6ISRpEDX9/oP6e33/hqamITzchqZ4qKmdUgk0qqLu7CmttsbvWwcGHn+JGwSNTU/GmAqJTUdzccqWLrtxXCwtTFidYCyydnQEn05ydTmxsK9jBR2ytMTGkYvWVMcR0dPPouYd0zfb2FfEJ4/b/RkZMjEMKRgWsrKVFJgmsiomJtQ+XPIkeFBS0KESgFFDh4brfQlvhoxYWpixOsBZYOjr3dNLNOuhpaQbS0G9puQkJQRItSAkkcHDX4K2ncN22tm9xVNm24tDQHr23ztBn7e3Wx3477ZPMzOKF2y7MF0JCaIRXKkIVmJgsLcK0mFqkpO1VDkmkqigodVCIXSigXFyGuDHaXG34+GvtP5P4x4aGwhGkRIYiGNgweMAYYBgjJkavBSOMI8a4kfl+xj/G6PvNbxPoh+iHyxOhTIcmh7gRbWKpuNq4AQkCBQgBBAFPDZ5uQk8hTzabbO6tNtg2pv9RBFmmoqbSDLm93tJv0vUO9wb79fP1eZbygO95+XlvMN7OX2+hb5FtP+/8kX6RUvikB6pSVVJgR8D9J2CdYLw1ZXaJvMq8mzcrzaybVpuOigGMBI4CjqPSWxVxo7ajDGwYPGAMMAx7hPaK/3vxezWAauG1NdQ1HfU6aegddB3gs91HU+Cn4Nchs6z213vXwpyZ7V7CL8IuQ1yWbS64LksplnpiSzFL/l3hIaP+3/5X1a4WgldBVxW9KkGoFVQVd+jutp93wXc3km7rpTfcN+We11Z75bPlnxMj2YyfRp/wI/0X0/Dn8EoglH9qSjVK2kSplZ7aT9pYorAl+lh9WMnPj8oGyQPJKXxSjVUppCkKWhQiUAooCrFQf0/hsf6xoMldGmmguqBrFNbaf2uxa4XZF6tchS6FvTxnc4G9zr1dj7o00l1pXRCQIFCAEEAQ9Af1A/P09/TL3YvAFssLyz7TfMbtPvg+BS0KESgFFAVneM7mH2eBZ+SX1VNz5LfkJwJOuyUnnCdBc4JYMkEZQYunC50sixaLp/ZTAVGnpqd9svqUz33pfZVJN/vclW6V2Fatn47YR9j7cOswi/vL++7NwXEj7p/ufLv4kcd87XxmcczjF2aFZt17p46m3VPdF68uS7gXXBdHRY5GAkcBR54aIdyEnkKeytSJxR7KD8otWFqZdS20Lb8uY3mRv8a/Bz8OGzgHHAetrEcjAa2OrVqwtC/qWnVag+8btWyDNoMztmb/hTPMM2NcxvI/Y5FjAhIEChACCAKqk0k4OaqSqnHe4qivcdlxyMaNzw7IB8gZ0TJ9yBlkGUk7knBySTlJ2V+vmobZQ9nyMfkdw/Lv8uOo20hL46vjW7m2KuJbcVuIvA2SNIgaiJo+KcikmlKaJgtMvi0mmCYyv2T6jTLIMrBZfUrpsPqw6fLPahvpg+kPdx4zeA88D9Uzt6bm1XPVgPQdunSAOoC+J2F8mb7Cvs3rh94mzRPNNIlo5L000DRIMpB1ekg9SP9U4ySr/9v/eo30j/d69XqQZD3q9JB6kF+dvj7CX2FfID1AoB0ggCBoD9DVZ2i9aBrKNHLQGmgarrdBLBmugq60fXVeybTqtFTOqBmaVE1Uk3875eyTdpMiL0SqDSKIImRjyOkHZI1k8Sr/Etvx4/FzzOaiv3PRcxKCJFqQEkgSQHqAXTpAHUAISBAoQAggCMOVm+hWwyvD7N/FezPsl+zbTauQlttL26HAXx9hob6hjZEHgxyNDo09yHrJ9T30PZdbM/HMl2aXAAAAAAAAAADP+YPUNs8bzytuVodFK6wrduHss5d2xXaC5hmwZIIygtYosan+1n/WG8M2d9gbbBu1dHdbwbXuta++QykRr4avah3U33dqtWpQ6qANulBdUEVXikwSRQlF8zj7GMvz6/MwrWDwnTDAMO/Ew3Qr75vvP9p+w+U//D9Vx6ocklVJVaLbWRB5orKi6unJZQPqj+plasrsD2WJZboDaWi5utK6L0pek2UvvC/Ajp3nTsAnwN5goYG+3l/eHPw4bOAccBz9Rucuu/3T/U0fmmRSTSlNknY54OSScpJ1+uq8j3XJdQY2DB4wBhgGiq4JmCSKEoqyS3lA+bLysuaF0Vlj5r/mDn4cNnAOOA4f5z5j+B98H2JVxPc3YpVi1Dq1o+7Ud9SogU0yKaiaqJZSMfTElmKW+WLvOpv5w/nFo5f2ZsUzxSUQSrE1JZQlWauyIPJZeVmE0BWuVIQqhHLF5Ke3ctVyOexy3dU55DlMFphhWkwtTF6UvDvKXmVeeJ/whed4/Xg45XDY3TjgOIyYBYYUjAqM0Re/ssbRY9Gl5FcLQaWupeKh2U1D4q/iYU7C+C9hmWGzQntF8bP2syE0QqUVIYQhnAgl1pScSpwe7jxm8B54HkNhhlIiQxFDx7GT/HbHO8f8T+Urs/zX/AQkCBQgBBAEUeOiCLJRWVGZJS/HvJlemW0i2sRPbaltDWUaOWgNNA36eek1g/rP+t9po4S231vffqn8m9d+5X4kGUi0PSSQJDv+dtfFO+w7q5pLPTGrlqvO8IHRPs4fzhGZIlWIEUQRj4MDiQyPBo9OBJxrSk4lTrdmc1HRt+a36+DLYAvri+s8wXjM/TzwPIH9H798gT6BlEA1/tSUapT3HPMM6/f797kYb2ehud65E4smX5gTTBMsUVicfSywLNMFu7jW02vT54zTXGvnu+duOdzLV26lbsSqlfNuxDfEAxsGDxgDDANW3KwTilZFVkReiEkaRA1Ef6D+nt9/4X+piE83IameqSpnVIJNKqgquwprbbG71rvBh5/iRsEjwVPxpgKiU1FT3HKli67cV9wLUxYnWAssC50BJ9OcnU6dbCvYwUdsrWwxpGL1lTHEMXTz6LmHdM109hXxCeP2//ZGTIxDCkYFRqylRSYJrIqsibUPlzyJHokUtChEoBRQFOG630Jb4aPhFqYsTrAWWBY693TSzTroOmkG0tBvablpCUESLUgJJAlw1+Ctp3DdcLZvcVTZtuK20B69t87QZ9Dt1sd+O+2T7czihdsuzBfMQmiEVypCFUKYLC3CtJhamKTtVQ5JpKqkKHVQiF0ooChchrgx2lxtXPhr7T+T+Mf4hsIRpESGIoZhc3NlcnRpb24gZmFpbGVkOiBgKGxlZnQgPT0gcmlnaHQpYAogIGxlZnQ6IGBgLAogcmlnaHQ6IGBgOiCoSRAALQAAANVJEAAMAAAA4UkQAAMAAABkZXN0aW5hdGlvbiBhbmQgc291cmNlIHNsaWNlcyBoYXZlIGRpZmZlcmVudCBsZW5ndGhz/EkQADQAAAAvaG9tZS9senpyLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L3NyYy9saWJjb3JlL21hY3Jvcy9tb2QucnM4ShAAbAAAABAAAAAJAAAABgAAAAAAAAABAAAABwAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2hpcmxwb29sLTAuOS4wL3NyYy9saWIucnMAAADEShAAVQAAAHcAAAAgAAAAd2UgbmV2ZXIgdXNlIGlucHV0X2xhenkAxEoQAFUAAACKAAAAEwAAAMRKEABVAAAAkQAAAA0AAAAvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjkuMC9zcmMvbGliLnJzZEsQAFgAAAAbAAAADQAAAGRLEABYAAAAIgAAAA0AAAAvaG9tZS9senpyLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L3NyYy9saWJjb3JlL3NsaWNlL21vZC5ycwDcSxAAawAAAAgEAAALAAAACAAAAAAAAAABAAAABwAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2hhMy0wLjkuMS9zcmMvbGliLnJzd2UgbmV2ZXIgdXNlIGlucHV0X2xhenkAaEwQAFAAAABmAAAAAQAAAGhMEABQAAAAbQAAAAEAAABoTBAAUAAAAHQAAAABAAAAaEwQAFAAAAB7AAAAAQAAAGFzc2VydGlvbiBmYWlsZWQ6IGAobGVmdCA9PSByaWdodClgCiAgbGVmdDogYGAsCiByaWdodDogYGAAABBNEAAtAAAAPU0QAAwAAABJTRAAAQAAAC9ob21lL2x6enIvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3Qvc3JjL2xpYmNvcmUvbWFjcm9zL21vZC5yc2RNEABsAAAAEAAAAAkAAABIAAAAiAAAAGgAAACQAAAAYXNzZXJ0aW9uIGZhaWxlZDogYChsZWZ0ID09IHJpZ2h0KWAKICBsZWZ0OiBgYCwKIHJpZ2h0OiBgYDog8E0QAC0AAAAdThAADAAAAClOEAADAAAAZGVzdGluYXRpb24gYW5kIHNvdXJjZSBzbGljZXMgaGF2ZSBkaWZmZXJlbnQgbGVuZ3Roc0ROEAA0AAAAL2hvbWUvbHp6ci8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9zcmMvbGliY29yZS9tYWNyb3MvbW9kLnJzgE4QAGwAAAAQAAAACQAAAAAAAAABAAAAAAAAAIKAAAAAAAAAioAAAAAAAIAAgACAAAAAgIuAAAAAAAAAAQAAgAAAAACBgACAAAAAgAmAAAAAAACAigAAAAAAAACIAAAAAAAAAAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAIAvaG9tZS9senpyLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L3NyYy9saWJjb3JlL3NsaWNlL21vZC5ycwDATxAAawAAAEsTAAARAAAAAAAAAGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AAADATxAAawAAAM0TAAARAAAA2J4FwQfVfDYX3XAwOVkO9zELwP8RFVhop4/5ZKRP+r5n5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gWwAAAADYngXBXZ27ywfVfDYqKZpiF91wMFoBWZE5WQ732OwvFTELwP9nJjNnERVYaIdKtI6nj/lkDS4M26RP+r4dSLVHCMm882fmCWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IOUR9sPiuMaAWba71B+6vZgx95IX4TGc3gW6JNVBnINz2M1tTciWaZ4XOCnP8yrrf6Hc+fL1gU1Z1nqE3Ue2krbQ9CicQEc2/jd8g2HWqohZ0/oZLWka3mEhEs9yv8lCExIsJkTMijX1WfUbFTb2u4kyO96kBZGXc4luP/jqjiPiiWkjmGUyUeXr6quIUs/JkBK6IsxYHcLbcOL2hvbWUvbHp6ci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9ibG9jay1idWZmZXItMC45LjAvc3JjL2xpYi5yc7BREABYAAAAhAAAAAkAAACwURAAWAAAAIcAAAAXAAAAsFEQAFgAAACLAAAAGwAAALBREABYAAAAOgAAAA0AAACwURAAWAAAAEEAAAANAAAAsFEQAFgAAABVAAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGAobGVmdCA9PSByaWdodClgCiAgbGVmdDogYGAsCiByaWdodDogYGA6IGhSEAAtAAAAlVIQAAwAAAChUhAAAwAAAGRlc3RpbmF0aW9uIGFuZCBzb3VyY2Ugc2xpY2VzIGhhdmUgZGlmZmVyZW50IGxlbmd0aHO8UhAANAAAAC9ob21lL2x6enIvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3Qvc3JjL2xpYmNvcmUvbWFjcm9zL21vZC5yc/hSEABsAAAAEAAAAAkAAAAvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjkuMC9zcmMvbGliLnJzdFMQAFgAAACEAAAACQAAAHRTEABYAAAAhwAAABcAAAB0UxAAWAAAAIsAAAAbAAAAdFMQAFgAAAA6AAAADQAAAHRTEABYAAAAQQAAAA0AAAB0UxAAWAAAAFUAAAAJAAAAL2hvbWUvbHp6ci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9ibG9jay1idWZmZXItMC45LjAvc3JjL2xpYi5ycyxUEABYAAAAhAAAAAkAAAAsVBAAWAAAAIcAAAAXAAAALFQQAFgAAACLAAAAGwAAAAEjRWeJq83v/ty6mHZUMhDw4dLDYXNzZXJ0aW9uIGZhaWxlZDogYChsZWZ0ID09IHJpZ2h0KWAKICBsZWZ0OiBgYCwKIHJpZ2h0OiBgYDogyFQQAC0AAAD1VBAADAAAAAFVEAADAAAAZGVzdGluYXRpb24gYW5kIHNvdXJjZSBzbGljZXMgaGF2ZSBkaWZmZXJlbnQgbGVuZ3RocxxVEAA0AAAAL2hvbWUvbHp6ci8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9zcmMvbGliY29yZS9tYWNyb3MvbW9kLnJzWFUQAGwAAAAQAAAACQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAA1FUQACoAAAB1bmtub3duIGljb3Nhcm91bmQgaW5kZXgIVhAAGAAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2hhLTEtMC45LjEvc3JjL2NvbXByZXNzL3NvZnQucnMAKFYQAFsAAAA8AAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IGAobGVmdCA9PSByaWdodClgCiAgbGVmdDogYGAsCiByaWdodDogYGA6IJRWEAAtAAAAwVYQAAwAAADNVhAAAwAAAGRlc3RpbmF0aW9uIGFuZCBzb3VyY2Ugc2xpY2VzIGhhdmUgZGlmZmVyZW50IGxlbmd0aHPoVhAANAAAAC9ob21lL2x6enIvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3Qvc3JjL2xpYmNvcmUvbWFjcm9zL21vZC5ycyRXEABsAAAAEAAAAAkAAAAvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jsb2NrLWJ1ZmZlci0wLjkuMC9zcmMvbGliLnJzoFcQAFgAAACEAAAACQAAAKBXEABYAAAAhwAAABcAAACgVxAAWAAAAIsAAAAbAAAAASNFZ4mrze/+3LqYdlQyEPDh0sMBI0VniavN7/7cuph2VDIQL2hvbWUvbHp6ci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9ibG9jay1idWZmZXItMC45LjAvc3JjL2xpYi5yc0xYEABYAAAAhAAAAAkAAABMWBAAWAAAAIcAAAAXAAAATFgQAFgAAACLAAAAGwAAAC9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbWQ0LTAuOS4wL3NyYy9saWIucnMAAAAAAAQAAAAIAAAADAAAANRYEABPAAAAbQAAACEAAADUWBAATwAAAG8AAAAhAAAAAAAAAAIAAAABAAAAAwAAAAEjRWeJq83v/ty6mHZUMhBhc3NlcnRpb24gZmFpbGVkOiBgKGxlZnQgPT0gcmlnaHQpYAogIGxlZnQ6IGBgLAogcmlnaHQ6IGBgOiB0WRAALQAAAKFZEAAMAAAArVkQAAMAAABkZXN0aW5hdGlvbiBhbmQgc291cmNlIHNsaWNlcyBoYXZlIGRpZmZlcmVudCBsZW5ndGhzyFkQADQAAAAvaG9tZS9senpyLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L3NyYy9saWJjb3JlL21hY3Jvcy9tb2QucnMEWhAAbAAAABAAAAAJAAAAUGFkRXJyb3Jhc3NlcnRpb24gZmFpbGVkOiBrayA8PSBVMzI6OnRvX3VzaXplKCkvaG9tZS9senpyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2JsYWtlMi0wLjkuMC9zcmMvYmxha2Uycy5ycwAAAK9aEABWAAAABAAAAAEAAABhc3NlcnRpb24gZmFpbGVkOiBubiA+PSAxICYmIG5uIDw9IFUzMjo6dG9fdXNpemUoKWhhc2ggZGF0YSBsZW5ndGggb3ZlcmZsb3dhc3NlcnRpb24gZmFpbGVkOiBkc3QubGVuKCkgPj0gc3JjLmxlbigpL2hvbWUvbHp6ci8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9zcmMvbGliY29yZS9tYWNyb3MvbW9kLnJzAItbEABsAAAACgAAAAkAAABhc3NlcnRpb24gZmFpbGVkOiA4IDw9IGJ1Zi5sZW4oKWFzc2VydGlvbiBmYWlsZWQ6IGtrIDw9IFU2NDo6dG9fdXNpemUoKS9ob21lL2x6enIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmxha2UyLTAuOS4wL3NyYy9ibGFrZTJiLnJzAAAAT1wQAFYAAAAEAAAAAQAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dHB1dF9zaXplIDw9IFU2NDo6dG9fdXNpemUoKWFzc2VydGlvbiBmYWlsZWQ6IHNhbHQubGVuKCkgPD0gbGVuZ3RoYXNzZXJ0aW9uIGZhaWxlZDogcGVyc29uYS5sZW4oKSA8PSBsZW5ndGhhc3NlcnRpb24gZmFpbGVkOiBubiA+PSAxICYmIG5uIDw9IFU2NDo6dG9fdXNpemUoKWhhc2ggZGF0YSBsZW5ndGggb3ZlcmZsb3dhc3NlcnRpb24gZmFpbGVkOiBgKGxlZnQgPT0gcmlnaHQpYAogIGxlZnQ6IGBgLAogcmlnaHQ6IGBgOiAAAIJdEAAtAAAAr10QAAwAAAC7XRAAAwAAAGRlc3RpbmF0aW9uIGFuZCBzb3VyY2Ugc2xpY2VzIGhhdmUgZGlmZmVyZW50IGxlbmd0aHPYXRAANAAAAC9ob21lL2x6enIvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3Qvc3JjL2xpYmNvcmUvbWFjcm9zL21vZC5ycxReEABsAAAAEAAAAAkAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHkvaG9tZS9senpyLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L3NyYy9saWJjb3JlL21hY3Jvcy9tb2QucnO0XhAAbAAAAAoAAAAJAAAAEAAAAAQAAAAEAAAAEQAAABIAAAATAAAAEAAAAAAAAAABAAAAFAAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVzcmMvbGlic3RkL3Bhbmlja2luZy5ycwAAg18QABcAAACCAQAADwAAAINfEAAXAAAAgwEAAA8AAAAVAAAAEAAAAAQAAAAWAAAAFwAAABgAAAAMAAAABAAAABkAAABzcmMvbGliYWxsb2MvcmF3X3ZlYy5yc2NhcGFjaXR5IG92ZXJmbG934F8QABcAAABEAgAABQAAAGAuLgAZYBAAAgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUAGGAQAAAAAAA6IAAAGGAQAAAAAABYYBAAAgAAACAAAAAAAAAAAQAAACEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAfGAQACAAAACcYBAAEgAAACAAAAAMAAAABAAAACIAAAAjAAAAJAAAACAgICAsCiwgKAooLClzcmMvbGliY29yZS9mbXQvbnVtLnJzAOVgEAAWAAAAVAAAABQAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AAAgAAAABAAAAAQAAAAlAAAAJgAAACcAAABzcmMvbGliY29yZS9mbXQvbW9kLnJzAADwYRAAFgAAAFMEAAARAAAA8GEQABYAAABdBAAAJAAAACgpc3JjL2xpYmNvcmUvc2xpY2UvbWVtY2hyLnJzAAAAKmIQABsAAABSAAAABQAAAGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCBYYhAABgAAAF5iEAAiAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAAkGIQABYAAACmYhAADQAAAHNyYy9saWJjb3JlL3N0ci9wYXR0ZXJuLnJzAADEYhAAGgAAAIsBAAAmAAAAc3JjL2xpYmNvcmUvc3RyL21vZC5ycwAA8GIQABYAAADDBwAALwAAAPBiEAAWAAAABAgAAC8AAABbLi4uXWJ5dGUgaW5kZXggIGlzIG91dCBvZiBib3VuZHMg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Y2s6OmhkNzM5YmRiNDc0YzI1ZWZjAy9zaGEyOjpzaGEyNTY6OnNvZnQ6OmNvbXByZXNzOjpoYWVlYWI2OTU2N2NlNzE2OAQ4Ymxha2UyOjpibGFrZTJzOjpWYXJCbGFrZTJzOjpjb21wcmVzczo6aDc2OTAwMjgzMDM5ODczMjcFN2RsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M6Om1hbGxvYzo6aDg2ZWI3MmE4ODRjMzFiZTYGMXNoYTE6OmNvbXByZXNzOjpzb2Z0Ojpjb21wcmVzczo6aGM1MWIyY2FjZjg3ODc2NTYHJ21kNTo6dXRpbHM6OmNvbXByZXNzOjpoMmYyZjRmMjJjM2ZkNmVjYwgnd2FzbV9ydXN0X2hhc2g6Omhhc2g6Omg2ZDQwYjFkNmU5ODM5NDQ4CSBrZWNjYWs6OmYxNjAwOjpoMzU2Nzc0NGE5MzM2NDJlOAo1ZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzo6ZnJlZTo6aGM3Y2ExODczYTA3ZTMzMzMLLmNvcmU6OnN0cjo6c2xpY2VfZXJyb3JfZmFpbDo6aDY1MWM1YTNkOTJkZjQ0MzAMLXdoaXJscG9vbDo6dXRpbHM6OmNvbXByZXNzOjpoMWE5MTRhODQxYzU1N2JhMA04PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDRlY2VjNzI5YTUwYjlkY2MOLGNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWQ6OmhhNWNkZTA3ODZlM2UxODIyDz5kbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jOjpkaXNwb3NlX2NodW5rOjpoNWQ2MzM4ZTA1MmI2ZjE2YxAjY29yZTo6Zm10Ojp3cml0ZTo6aDY1ZWRiNzk5OWZjMDI3NjERNWNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6OmhjM2YzZTM4YWViYWMyZTA2Ej1zaGExOjpjb21wcmVzczo6c29mdDo6c2hhMV9kaWdlc3Rfcm91bmRfeDQ6OmhjM2FkODJjMmQ4MWJkOWFmEztibGFrZTI6OmJsYWtlMmI6OlZhckJsYWtlMmI6OndpdGhfcGFyYW1zOjpoYTY4N2Q0ZmI4MzkwNGZjMBQvbWQ0OjpNZDRTdGF0ZTo6cHJvY2Vzc19ibG9jazo6aDhiYmE0ZjU4MTljMDA2ZTUVOGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M6OnJlYWxsb2M6OmhhZDU3ZmVmNDE3ZWZkY2E1FjI8Y2hhciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNmUxYTViMzRiMzM3ZTVlNBdTPGNvcmU6OmZtdDo6YnVpbGRlcnM6OlBhZEFkYXB0ZXIgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX3N0cjo6aDU4OWMxN2IxZjM1NTU1NjcYVzxzaGExOjpTaGExIGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoZjMyNDVlYzZkOTdmZjU5MBkyc2hhMjo6c2hhNTEyOjpFbmdpbmU1MTI6OmZpbmlzaDo6aGZmYjA4ZTliMjkzNmM5NDUaR2NvcmU6OnVuaWNvZGU6OnVuaWNvZGVfZGF0YTo6Z3JhcGhlbWVfZXh0ZW5kOjpsb29rdXA6OmhiMzcyZjNjYmQwM2QyZWQ3G0M8cmlwZW1kMTYwOjpSaXBlbWQxNjAgYXMgZGlnZXN0OjpVcGRhdGU+Ojp1cGRhdGU6OmgxNzAzM2ZlOWQ1NmVkZjhlHDc8bWQ0OjpNZDQgYXMgZGlnZXN0OjpVcGRhdGU+Ojp1cGRhdGU6OmhmZjZiYzQxNjNmN2E5NmUyHV88YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6Y29sbGVjdDo6RXh0ZW5kPGNoYXI+Pjo6ZXh0ZW5kOjpoMmE2ZDFhZDYzMWExNjY4ZB45ZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzo6bWVtYWxpZ246OmhiOGI3MjAxMTg4ZjQwNTg3H0M8d2hpcmxwb29sOjpXaGlybHBvb2wgYXMgZGlnZXN0OjpVcGRhdGU+Ojp1cGRhdGU6OmhiOWNhNDYyZDU0M2RiODliID1kbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jOjp1bmxpbmtfY2h1bms6Omg3Y2U2ZTI3NjRlZTFhOTc0ITJjb3JlOjp1bmljb2RlOjpwcmludGFibGU6OmNoZWNrOjpoOWIwMTE1MDkwMjk0MTY2ZCIpc2hhMzo6U2hhM18yMjQ6OmFic29yYjo6aGViNjVlMjljNDk5ZjY0NGMjKXNoYTM6OlNoYTNfMjU2OjphYnNvcmI6Omg0Y2ExMzFjNzA2MjVkNDNjJClzaGEzOjpTaGEzXzM4NDo6YWJzb3JiOjpoN2JlNDU0NTM4OWMyMTRjYiUpc2hhMzo6U2hhM181MTI6OmFic29yYjo6aDlhMDBkNjllN2YxZjY2NzgmLmNvcmU6OnNsaWNlOjptZW1jaHI6Om1lbWNocjo6aDlkMTZjZDRhNWRjZTdmNzUnRGJsYWtlMjo6Ymxha2Uyczo6VmFyQmxha2Uyczo6d2l0aF9wYXJhbWV0ZXJfYmxvY2s6Omg4MWZiMmY5MTg4NmM3MDM4KERibGFrZTI6OmJsYWtlMmI6OlZhckJsYWtlMmI6OndpdGhfcGFyYW1ldGVyX2Jsb2NrOjpoYTBjZTYxNmMxYmM3YzNmOSk7PCZtdXQgVyBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhcjo6aDA0MTE2ZDMwY2NhYjQyYTkqYTx3aGlybHBvb2w6OldoaXJscG9vbCBhcyBkaWdlc3Q6OmZpeGVkOjpGaXhlZE91dHB1dERpcnR5Pjo6ZmluYWxpemVfaW50b19kaXJ0eTo6aDQzMmQ2M2UyZjBmOWY3NmQrMnNoYTI6OnNoYTI1Njo6RW5naW5lMjU2OjpmaW5pc2g6Omg2ZTUyOGJjNTE4ZTg0MTk5LC9jb3JlOjpmbXQ6Om51bTo6aW1wOjpmbXRfdTY0OjpoM2QyODY3YTllNTUzMmM2Ni1hPHJpcGVtZDE2MDo6UmlwZW1kMTYwIGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoN2MyM2ExY2FkYzhmNTdhMC5VPG1kNDo6TWQ0IGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoNmQxNzc2YmI4ZDljOTRjZC9JY29yZTo6Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6RGVidWcgZm9yIHVzaXplPjo6Zm10OjpoZGI1MjMxZGU1ODQwMjg3NzA5PHNoYTE6OlNoYTEgYXMgZGlnZXN0OjpVcGRhdGU+Ojp1cGRhdGU6Omg5MzdjOGU3YzQ1YmZlNDQwMTJzaGEyOjpzaGE1MTI6OkVuZ2luZTUxMjo6dXBkYXRlOjpoYTg0YzA2NzM5ZmFjZmEwYTJoPHN0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpQYW5pY1BheWxvYWQgYXMgY29yZTo6cGFuaWM6OkJveE1lVXA+Ojp0YWtlX2JveDo6aDZjNjVhYzQyODcyMTlkNGMzNmJsYWtlMjo6Ymxha2Uyczo6VmFyQmxha2Uyczo6dXBkYXRlOjpoNmYwYzEyNmQ4OWYxYWMwNzQ5Y29yZTo6Zm10OjpidWlsZGVyczo6RGVidWdUdXBsZTo6ZmllbGQ6Omg4ZTkzZmRlMGI5NTdlNmM0NVs8c2hhMzo6U2hhM18yMjQgYXMgZGlnZXN0OjpmaXhlZDo6Rml4ZWRPdXRwdXREaXJ0eT46OmZpbmFsaXplX2ludG9fZGlydHk6Omg3MzhhZjA4Y2ExNjVjNTExNls8c2hhMzo6U2hhM18yNTYgYXMgZGlnZXN0OjpmaXhlZDo6Rml4ZWRPdXRwdXREaXJ0eT46OmZpbmFsaXplX2ludG9fZGlydHk6OmgwMGU4ODY0MTQ0ODE1YTdlNzZibGFrZTI6OmJsYWtlMmI6OlZhckJsYWtlMmI6OnVwZGF0ZTo6aDE1YTFkMDZlZTlkZDUxY2M4MnNoYTI6OnNoYTI1Njo6RW5naW5lMjU2Ojp1cGRhdGU6OmhkNjljMDRiM2JmYjhkZDVhOTN3aGlybHBvb2w6OldoaXJscG9vbDo6dXBkYXRlX2xlbjo6aGJkNTU4ZjNlOGMzMjgzMTA6L3NoYTI6OnNoYTI1Njo6c29mdDo6c2NoZWR1bGU6OmgyMGNjZmMwMjI2NTIyNmY5Ozs8Jm11dCBXIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyOjpoZmZmM2Q5MzY4NTFhZmVjNTwvY29yZTo6Zm10OjpXcml0ZTo6d3JpdGVfY2hhcjo6aGM4NmI4N2FjOThmNTFmNzc9PXNoYTI6OnNoYTI1Njo6c29mdDo6c2hhMjU2X2RpZ2VzdF9yb3VuZF94Mjo6aDljYTY0N2E5MDdmOTljZmM+BGhhc2g/WzxzaGEzOjpTaGEzXzM4NCBhcyBkaWdlc3Q6OmZpeGVkOjpGaXhlZE91dHB1dERpcnR5Pjo6ZmluYWxpemVfaW50b19kaXJ0eTo6aDBkOTIzNmY5NTA2Y2FhYmRAWzxzaGEzOjpTaGEzXzUxMiBhcyBkaWdlc3Q6OmZpeGVkOjpGaXhlZE91dHB1dERpcnR5Pjo6ZmluYWxpemVfaW50b19kaXJ0eTo6aDc5ZjQwNDgyMTY5NDU0ZWRBLmFsbG9jOjpyYXdfdmVjOjpmaW5pc2hfZ3Jvdzo6aGI2YzE3MWY5Y2Y4NjllYmRCaTxzaGEyOjpzaGE1MTI6OlNoYTUxMlRydW5jMjI0IGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoYTA0N2VhOTU2NDhkZTgyNkNuPGdlbmVyaWNfYXJyYXk6OkdlbmVyaWNBcnJheTxULE4+IGFzIGdlbmVyaWNfYXJyYXk6OnNlcXVlbmNlOjpHZW5lcmljU2VxdWVuY2U8VD4+OjpnZW5lcmF0ZTo6aDAzYWEzM2JiMTBlOTgwNmREYzxzdGQ6OnBhbmlja2luZzo6YmVnaW5fcGFuaWNfaGFuZGxlcjo6UGFuaWNQYXlsb2FkIGFzIGNvcmU6OnBhbmljOjpCb3hNZVVwPjo6Z2V0OjpoNmU2YzQwZWU3ZmQ1MWYyY0VMPGNvcmU6OmFycmF5OjpUcnlGcm9tU2xpY2VFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNjgxYTBjZDA3YzlmOTVkN0Y7Y29yZTo6c2xpY2U6OjxpbXBsIFtUXT46OmNvcHlfZnJvbV9zbGljZTo6aDg2ZTQzMTE2YmMwODZmYzlHO2NvcmU6OnNsaWNlOjo8aW1wbCBbVF0+Ojpjb3B5X2Zyb21fc2xpY2U6Omg3YjY3OTY5NjYzYzg2YjEySDtjb3JlOjpzbGljZTo6PGltcGwgW1RdPjo6Y29weV9mcm9tX3NsaWNlOjpoMjUxNjNhNWU1Y2VjOGU5Nkk7Y29yZTo6c2xpY2U6OjxpbXBsIFtUXT46OmNvcHlfZnJvbV9zbGljZTo6aDI2NjM5Mzk0Zjg0NDJkZTdKO2NvcmU6OnNsaWNlOjo8aW1wbCBbVF0+Ojpjb3B5X2Zyb21fc2xpY2U6Omg5OTVkOWM1YTI4NTQ3MjIxSztjb3JlOjpzbGljZTo6PGltcGwgW1RdPjo6Y29weV9mcm9tX3NsaWNlOjpoZDBhNmU4Y2EyYmMwY2QzZEw7Y29yZTo6c2xpY2U6OjxpbXBsIFtUXT46OmNvcHlfZnJvbV9zbGljZTo6aGQ3ZTZjZjBmZThhNDljMGNNPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19hbW9ydGl6ZWQ6OmgwYTllZmJkODNlYmY5MTJjTjdzdGQ6OnBhbmlja2luZzo6cnVzdF9wYW5pY193aXRoX2hvb2s6OmhiMmYxYmQ4YjQ2NjQwNzAyT0JibGFrZTI6OmJsYWtlMmI6OlZhckJsYWtlMmI6OmZpbmFsaXplX3dpdGhfZmxhZzo6aDkwM2MxZTZlM2FiNGU1ODNQbjxnZW5lcmljX2FycmF5OjpHZW5lcmljQXJyYXk8VCxOPiBhcyBnZW5lcmljX2FycmF5OjpzZXF1ZW5jZTo6R2VuZXJpY1NlcXVlbmNlPFQ+Pjo6Z2VuZXJhdGU6OmgwN2E4MjVlNTk2ZWJjMDJiUS5hbGxvYzo6dmVjOjpWZWM8VD46OnJlc2VydmU6OmhkNDAwY2U4ODNiMjU0ZmY0UmE8c2hhMjo6c2hhNTEyOjpTaGE1MTIgYXMgZGlnZXN0OjpmaXhlZDo6Rml4ZWRPdXRwdXREaXJ0eT46OmZpbmFsaXplX2ludG9fZGlydHk6Omg5MDIzNmM4MjA4MjY5MzJhU2E8c2hhMjo6c2hhMjU2OjpTaGEyNTYgYXMgZGlnZXN0OjpmaXhlZDo6Rml4ZWRPdXRwdXREaXJ0eT46OmZpbmFsaXplX2ludG9fZGlydHk6Omg2ZTk1MjQyYjUzMGY3Yzg1VDNzaGExOjpjb21wcmVzczo6c29mdDo6c2hhMXJuZHM0cDo6aDY2N2Q1MWVhOWZjNWZiYTNVYTxzaGEyOjpzaGE1MTI6OlNoYTM4NCBhcyBkaWdlc3Q6OmZpeGVkOjpGaXhlZE91dHB1dERpcnR5Pjo6ZmluYWxpemVfaW50b19kaXJ0eTo6aGFiMDljNmE1NjNkN2ZlNjRWaTxzaGEyOjpzaGE1MTI6OlNoYTUxMlRydW5jMjU2IGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoYWNiNWJlNDFlZDFlMWNmNVc2PFQgYXMgY29yZTo6Y29udmVydDo6SW50bzxVPj46OmludG86Omg1MGU3NjNlOTcxZjkyZGJmWEw8c2hhMjo6c2hhMjU2OjpTaGEyNTYgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhkYjY2MzU4NTFjMjkyODMxWUw8c2hhMjo6c2hhMjU2OjpTaGEyMjQgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmgzYjg1ODk4MjBlYTBjNTJjWjZhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnNocmluazo6aDg3ZmQ5MTI1NTkxOWRmNzNbODxEIGFzIGRpZ2VzdDo6ZGlnZXN0OjpEaWdlc3Q+OjpkaWdlc3Q6Omg1NDlmNGYzZjU5MjcwNjNmXEpjb3JlOjpmbXQ6Om51bTo6PGltcGwgY29yZTo6Zm10OjpMb3dlckhleCBmb3IgaTMyPjo6Zm10OjpoZjVmNzI0NDY0MjkyYjYyMF1KY29yZTo6Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6VXBwZXJIZXggZm9yIGkzMj46OmZtdDo6aDQ5MWM1YTAzM2I1Njk3NWReOXNoYTI6OnNoYTUxMjo6c29mdDo6c2hhNTEyX3NjaGVkdWxlX3gyOjpoMDRmZjE3YTg3ZGJhYWJmNF9CPHNoYTE6OlNoYTEgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmgwNTFhOGE3ODA0ZGI0Mjk2YEw8cmlwZW1kMTYwOjpSaXBlbWQxNjAgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhkOGUyM2NiY2M4Mjk5NDIyYTpjb3JlOjpmbXQ6OmJ1aWxkZXJzOjpEZWJ1Z1R1cGxlOjpmaW5pc2g6OmhmMTYwOTc2OTBmYTZjYjM5Ykw8d2hpcmxwb29sOjpXaGlybHBvb2wgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhiODNhM2JjY2JkZjQxMGRjYzY8VCBhcyBjb3JlOjpjb252ZXJ0OjpJbnRvPFU+Pjo6aW50bzo6aDMyYzI1MmQ2NzY5NGRhMzVkNjxUIGFzIGNvcmU6OmNvbnZlcnQ6OkludG88VT4+OjppbnRvOjpoNDZkNmNmOWM5YTkzNTI4YmU2PFQgYXMgY29yZTo6Y29udmVydDo6SW50bzxVPj46OmludG86Omg1ZTExNDI0NGYwMGYxM2FhZjY8VCBhcyBjb3JlOjpjb252ZXJ0OjpJbnRvPFU+Pjo6aW50bzo6aGE4MzFhNzcwNjJiMDQ0ZmFnbjxnZW5lcmljX2FycmF5OjpHZW5lcmljQXJyYXk8VCxOPiBhcyBnZW5lcmljX2FycmF5OjpzZXF1ZW5jZTo6R2VuZXJpY1NlcXVlbmNlPFQ+Pjo6Z2VuZXJhdGU6Omg2Mzg3NjM2MjFlOGY2MzY1aG48Z2VuZXJpY19hcnJheTo6R2VuZXJpY0FycmF5PFQsTj4gYXMgZ2VuZXJpY19hcnJheTo6c2VxdWVuY2U6OkdlbmVyaWNTZXF1ZW5jZTxUPj46OmdlbmVyYXRlOjpoMTc3ZjRkYTFiZmY2ZTE5ZmluPGdlbmVyaWNfYXJyYXk6OkdlbmVyaWNBcnJheTxULE4+IGFzIGdlbmVyaWNfYXJyYXk6OnNlcXVlbmNlOjpHZW5lcmljU2VxdWVuY2U8VD4+OjpnZW5lcmF0ZTo6aDc0ZmM5OGQ0YmZkMWJiNmNqbjxnZW5lcmljX2FycmF5OjpHZW5lcmljQXJyYXk8VCxOPiBhcyBnZW5lcmljX2FycmF5OjpzZXF1ZW5jZTo6R2VuZXJpY1NlcXVlbmNlPFQ+Pjo6Z2VuZXJhdGU6OmhhNjBmZGIyMjYzNGYxOTM4a248Z2VuZXJpY19hcnJheTo6R2VuZXJpY0FycmF5PFQsTj4gYXMgZ2VuZXJpY19hcnJheTo6c2VxdWVuY2U6OkdlbmVyaWNTZXF1ZW5jZTxUPj46OmdlbmVyYXRlOjpoYmQ0NmQ3OTllZTM1MWZjNWxuPGdlbmVyaWNfYXJyYXk6OkdlbmVyaWNBcnJheTxULE4+IGFzIGdlbmVyaWNfYXJyYXk6OnNlcXVlbmNlOjpHZW5lcmljU2VxdWVuY2U8VD4+OjpnZW5lcmF0ZTo6aGZjZjA2MWJkNGJmMzc2ZTFtTDxzaGEyOjpzaGE1MTI6OlNoYTUxMiBhcyBjb3JlOjpkZWZhdWx0OjpEZWZhdWx0Pjo6ZGVmYXVsdDo6aDIwNzZlYmZhZTUwMmU4ZjJuTDxzaGEyOjpzaGE1MTI6OlNoYTM4NCBhcyBjb3JlOjpkZWZhdWx0OjpEZWZhdWx0Pjo6ZGVmYXVsdDo6aGJlYjNmYzI2NTVkMDYwY2FvVDxzaGEyOjpzaGE1MTI6OlNoYTUxMlRydW5jMjU2IGFzIGNvcmU6OmRlZmF1bHQ6OkRlZmF1bHQ+OjpkZWZhdWx0OjpoMjBhNWVkY2JjOTAxNTJkZnBUPHNoYTI6OnNoYTUxMjo6U2hhNTEyVHJ1bmMyMjQgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmgzMmFlYmViNWYyYzUyNDQ4cUA8bWQ1OjpNZDUgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhmZGJiMjQzZjAzMmZlMzMxcm48Z2VuZXJpY19hcnJheTo6R2VuZXJpY0FycmF5PFQsTj4gYXMgZ2VuZXJpY19hcnJheTo6c2VxdWVuY2U6OkdlbmVyaWNTZXF1ZW5jZTxUPj46OmdlbmVyYXRlOjpoN2MwNjAzNTY3ZDM5MGRiYXM7YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+OjphbGxvY2F0ZV9pbjo6aDEyNzdlYjJlZWIyMDkxMzZ0ODxEIGFzIGRpZ2VzdDo6ZGlnZXN0OjpEaWdlc3Q+OjpkaWdlc3Q6Omg3OWI2OTNhZDdhMGY1YTNhdTg8RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RGlnZXN0Pjo6ZGlnZXN0OjpoOTFkMzQ0YTFiZmYyZjFiYXY4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aGMyMDQ2ZDgyYTNiYTZjNGF3QmJsYWtlMjo6Ymxha2Uyczo6VmFyQmxha2Uyczo6ZmluYWxpemVfd2l0aF9mbGFnOjpoMWFmOWQ1MmQ1ZDdhYjJhZXg2c2hhMzo6U2hhM18yMjQ6OmFic29yYjo6e3tjbG9zdXJlfX06OmhhYjNlMmE5NTExYTQyMjlieTZzaGEzOjpTaGEzXzI1Njo6YWJzb3JiOjp7e2Nsb3N1cmV9fTo6aDA0YzhkYmIxYmQwYTMxNDN6NnNoYTM6OlNoYTNfMzg0OjphYnNvcmI6Ont7Y2xvc3VyZX19OjpoZWE1ODY3Nzk0Y2EyYzZiN3s2c2hhMzo6U2hhM181MTI6OmFic29yYjo6e3tjbG9zdXJlfX06Omg1ZmY4NWZiYzdjODlkNDJhfGE8c2hhMjo6c2hhMjU2OjpTaGEyMjQgYXMgZGlnZXN0OjpmaXhlZDo6Rml4ZWRPdXRwdXREaXJ0eT46OmZpbmFsaXplX2ludG9fZGlydHk6Omg1YmY1ZmVlYTRkZGM0NmIxfWg8Y29yZTo6aXRlcjo6YWRhcHRlcnM6OnppcDo6WmlwPEEsQj4gYXMgY29yZTo6aXRlcjo6YWRhcHRlcnM6OnppcDo6WmlwSW1wbDxBLEI+Pjo6bmV3OjpoZjc4ZGVhNGQyMjg1MWFjZX5KPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlPElkeD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDJjMmZkNzllZWY3YmUwMGN/M2NvcmU6Om9wdGlvbjo6ZXhwZWN0X25vbmVfZmFpbGVkOjpoM2M3NzU1YmZmMDljOTg0MIABaDxjb3JlOjppdGVyOjphZGFwdGVyczo6emlwOjpaaXA8QSxCPiBhcyBjb3JlOjppdGVyOjphZGFwdGVyczo6emlwOjpaaXBJbXBsPEEsQj4+OjpuZXc6OmgzNWRlMDhjNDY1OTVkYmM1gQE4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDQyM2JlOGI4Yjc3N2E0NGOCAUQ8VCBhcyBjb3JlOjpzbGljZTo6U2xpY2VDb250YWlucz46OnNsaWNlX2NvbnRhaW5zOjpoNzc3M2ZiNWNiZDBmNTJiNoMBNmNvcmU6OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrOjpoNmMwYWJhNDI5MmEzZDYyYYQBNGNvcmU6OnNsaWNlOjpzbGljZV9pbmRleF9sZW5fZmFpbDo6aDc0M2E0NWQ2ZTA5Yzc5NjaFATZjb3JlOjpzbGljZTo6c2xpY2VfaW5kZXhfb3JkZXJfZmFpbDo6aDg1NDIzOTdiODcxOWIyYjGGAUQ8Y29yZTo6Zm10OjpBcmd1bWVudHMgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoNTk3NTQyYWEzMTljNTA4ZocBN2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6cmVzZXJ2ZTo6aGNhNDUxZmU1MjFhODg4MTGIATo8Jm11dCBXIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9mbXQ6OmhjYjEyNzljNjE0NjNjMGZmiQENX19yZGxfcmVhbGxvY4oBOjwmbXV0IFcgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX2ZtdDo6aGExMGJhNmVlOTFmNzVmYTaLAS5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6OmgwOWEwYzA4NzY5ZTRlZWExjAFZPGhleDo6Qnl0ZXNUb0hleENoYXJzIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDQ5YzEyOGNhMjE2NGMwYmONATg8RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RGlnZXN0Pjo6ZGlnZXN0OjpoMWQ3YzhhMzI1NTAxOWJjMY4BODxEIGFzIGRpZ2VzdDo6ZGlnZXN0OjpEaWdlc3Q+OjpkaWdlc3Q6OmhmZjkyMDZkNWMyY2YyZTFljwE4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDA2YTFiNTRlNDBjMzE4NmaQATg8RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RGlnZXN0Pjo6ZGlnZXN0OjpoMWY0MmJhM2FiYWY4ZWYzY5EBODxEIGFzIGRpZ2VzdDo6ZGlnZXN0OjpEaWdlc3Q+OjpkaWdlc3Q6Omg1NDkyNDVhMGJhNDMwYjcwkgE4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDcyMGNiNDdiNmY4MzliMDOTATg8RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RGlnZXN0Pjo6ZGlnZXN0OjpoN2ZiMjVmOTFlYTg4NGIxMpQBUDxibGFrZTI6OmJsYWtlMnM6OkJsYWtlMnMgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhkMTY2YzI3YjMyZWI4MTQ0lQFuPGdlbmVyaWNfYXJyYXk6OkdlbmVyaWNBcnJheTxULE4+IGFzIGdlbmVyaWNfYXJyYXk6OnNlcXVlbmNlOjpHZW5lcmljU2VxdWVuY2U8VD4+OjpnZW5lcmF0ZTo6aGM0MzlhNTNlNmM3ZjhiZjGWAWU8Ymxha2UyOjpibGFrZTJzOjpCbGFrZTJzIGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoNmM0YjQyZDI5ZDk1NWJiYZcBLmNvcmU6Om9wdGlvbjo6ZXhwZWN0X2ZhaWxlZDo6aGY2MjhhMjVhZjMzY2I3ZjaYATtjb3JlOjppdGVyOjphZGFwdGVyczo6emlwOjpaaXA8QSxCPjo6bmV3OjpoNDNhNGI1YTQyZDFlMjZhZJkBO2NvcmU6Oml0ZXI6OmFkYXB0ZXJzOjp6aXA6OlppcDxBLEI+OjpuZXc6OmhjMjVmMGFhNDE3OWVmMzRmmgEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6OmgxODYzNTE4NjgwMDNhMWIzmwEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6OmgzODMzNmVmMzE3MDQwNDFjnAEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6Omg1ZGRlNjYwNTc3YjFiMWE1nQEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6Omg2YTNhMThkMzM5N2Q0NGMyngEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6Omg3NTgwN2ZlZmY1ODZmODYwnwEwPFQgYXMgaGV4OjpUb0hleD46OmVuY29kZV9oZXg6OmhmMzM0YTQwOGM1MDRmYzkxoAE4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDkwY2ZmZWRlNjY4MDY0Y2ShATg8RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RGlnZXN0Pjo6ZGlnZXN0OjpoYjhjM2UxZjVlNGMwZDk5NaIBODxEIGFzIGRpZ2VzdDo6ZGlnZXN0OjpEaWdlc3Q+OjpkaWdlc3Q6OmgxYTE2N2RiZWM0MTJiMzRiowE4PEQgYXMgZGlnZXN0OjpkaWdlc3Q6OkRpZ2VzdD46OmRpZ2VzdDo6aDkxYmJlNDRmZTI3ZGNkNDWkAT1hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnNocmlua190b19maXQ6OmhmMDc4ODMyZDM1NmM4ZjFmpQEEYmNtcKYBQ2NvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6OndyaXRlX3ByZWZpeDo6aDY0ZWE2ZmFhYWYyNWY4NTGnARJfX3JkbF9hbGxvY196ZXJvZWSoAUs8Jm11dCBJIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDZhNGUzNjgyYTYwNWM0YTOpASljb3JlOjpwYW5pY2tpbmc6OnBhbmljOjpoNDExMDZiODIxMzY2ZTFkMaoBUDxibG9ja19wYWRkaW5nOjpJc283ODE2IGFzIGJsb2NrX3BhZGRpbmc6OlBhZGRpbmc+OjpwYWRfYmxvY2s6OmgwMmJkODU4MmM5YjFkMjlkqwERcnVzdF9iZWdpbl91bndpbmSsAQZtZW1jcHmtARFfX3diaW5kZ2VuX21hbGxvY64BOjwmbXV0IFcgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX3N0cjo6aDI0ZmRjNjg0NGI1NWU5NzivAWc8YWxsb2M6OnZlYzo6VmVjPFQ+IGFzIGFsbG9jOjp2ZWM6OlNwZWNFeHRlbmQ8JlQsY29yZTo6c2xpY2U6Okl0ZXI8VD4+Pjo6c3BlY19leHRlbmQ6OmhmZjhmY2ZlNDE4NzRiODcysAFePGhleDo6Qnl0ZXNUb0hleENoYXJzIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6c2l6ZV9oaW50OjpoNGQyOGQ4ZjM2ZGQzMDA0NLEBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoM2IyYzYxMWUwNDJkOTA0M7IBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMmM4YzcwMjUzMTE5MDE5ZLMBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZTc2ZTJhODA4ZWE3OTlmZbQBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNzc1OWZmYjYyYTIxMDU3ZbUBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoY2Y2NjhiOGY2YTAwMWY5M7YBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoYjQzMGEzYWE4OTJmMDFhM7cBMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZDhiOWI1Y2RlNGFiNzVmObgBPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Y3VycmVudF9tZW1vcnk6OmhkNDUwMTFhN2ZlY2M3NTk5uQE3YWxsb2M6OnZlYzo6VmVjPFQ+OjppbnRvX2JveGVkX3NsaWNlOjpoZmI0YmYwZmNjMDNjNTQwYboBNGNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpkZWJ1Z190dXBsZTo6aDcyNWJlOTYwZDY5Y2Q4YmG7AU48SSBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmNvbGxlY3Q6OkludG9JdGVyYXRvcj46OmludG9faXRlcjo6aGI3MzYwYTYyOTE1NmI5YWa8AS1jb3JlOjpwYW5pY2tpbmc6OnBhbmljX2ZtdDo6aDMyNDJkZTQ4YTI5NmEzMje9AQZtZW1zZXS+AUU8YmxvY2tfcGFkZGluZzo6UGFkRXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDhiMmIyOWQ3NzgyYTI0ODC/AWU8Ymxha2UyOjpibGFrZTJiOjpCbGFrZTJiIGFzIGRpZ2VzdDo6Zml4ZWQ6OkZpeGVkT3V0cHV0RGlydHk+OjpmaW5hbGl6ZV9pbnRvX2RpcnR5OjpoZDI4NmE3NTc2MGZmYjhhZMABEl9fd2JpbmRnZW5fcmVhbGxvY8EBK2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTo6aDA2YTA5M2VmZTYwYjg3YTbCAStjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U6Omg2NTA5OGM0NDBlODJmM2IxwwEKcnVzdF9wYW5pY8QBPTxUIGFzIGNvcmU6OmNvbnZlcnQ6OlRyeUludG88VT4+Ojp0cnlfaW50bzo6aDNmNjdhN2EyZWFhMGRlMDPFAStjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U6Omg3ZDZiODY5NDBhZGY0MWEwxgEsaGV4OjpCeXRlc1RvSGV4Q2hhcnM6Om5ldzo6aGVkZmU0NDlkMTM3ZjRlNWLHAQtfX3JkbF9hbGxvY8gBcTxjb3JlOjpzbGljZTo6Q2h1bmtzRXhhY3Q8VD4gYXMgY29yZTo6aXRlcjo6YWRhcHRlcnM6OnppcDo6VHJ1c3RlZFJhbmRvbUFjY2Vzcz46OmdldF91bmNoZWNrZWQ6OmhkNWYxNGExMTdkZDlhMWJjyQF0PGNvcmU6OnNsaWNlOjpDaHVua3NFeGFjdE11dDxUPiBhcyBjb3JlOjppdGVyOjphZGFwdGVyczo6emlwOjpUcnVzdGVkUmFuZG9tQWNjZXNzPjo6Z2V0X3VuY2hlY2tlZDo6aGI5M2VmYzc1NWNiOWI4ZmPKAU88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhmZTIzOTkzZmE3YzEzMDJmywFFPG1kNDo6TWQ0U3RhdGUgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bHQ6OmhkZTU3MjY5YTRiYjlhMTk3zAEIcnVzdF9vb23NATpjb3JlOjppdGVyOjphZGFwdGVyczo6RW51bWVyYXRlPEk+OjpuZXc6OmgwODMzOGM0ODNhYzRmMWE2zgFQPGJsYWtlMjo6Ymxha2UyYjo6Qmxha2UyYiBhcyBjb3JlOjpkZWZhdWx0OjpEZWZhdWx0Pjo6ZGVmYXVsdDo6aDU0ZGNjNzI1M2FhOTExYzjPATVhbGxvYzo6dmVjOjpWZWM8VD46OmZyb21fcmF3X3BhcnRzOjpoNTBiNjgxOWMwOTM2NDY5ONABMmNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+Ojp1bndyYXA6Omg1OWNkYjhjYjEwNDMxMDI00QEyY29yZTo6b3B0aW9uOjpPcHRpb248VD46OnVud3JhcDo6aGY1MDFiMGY5OWMzNGU4MGPSAQ5fX3J1c3RfcmVhbGxvY9MBZGNvcmU6OnNsaWNlOjo8aW1wbCBjb3JlOjppdGVyOjp0cmFpdHM6OmNvbGxlY3Q6OkludG9JdGVyYXRvciBmb3IgJltUXT46OmludG9faXRlcjo6aGEzZTBkMTU5ODcwZjUwYWXUAQ9fX3diaW5kZ2VuX2ZyZWXVAUk8YWxsb2M6OnZlYzo6VmVjPFQ+IGFzIGNvcmU6Om9wczo6ZGVyZWY6OkRlcmVmPjo6ZGVyZWY6OmgyYjMyNzYzNDljMzA0NDEy1gFCZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzo6Y2FsbG9jX211c3RfY2xlYXI6Omg2YjRjY2U3YjNkM2M0ZmJh1wEwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg5ZDU2ZmQ4NjM4OTFjOTJl2AFIYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+OjphbGxvY2F0ZV9pbjo6e3tjbG9zdXJlfX06OmhmOTg5ZjM3ODliZjkyNDg52QEMX19ydXN0X2FsbG9j2gETX19ydXN0X2FsbG9jX3plcm9lZNsBKGNvcmU6OnNsaWNlOjpmcm9tX3JlZjo6aGM2OGJhYzA5MzE4YTUwMjPcAU48SSBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmNvbGxlY3Q6OkludG9JdGVyYXRvcj46OmludG9faXRlcjo6aDNiMGYzMzE3MGMxMmU2NzjdAWo8Y29yZTo6c2xpY2U6Okl0ZXI8VD4gYXMgY29yZTo6aXRlcjo6YWRhcHRlcnM6OnppcDo6VHJ1c3RlZFJhbmRvbUFjY2Vzcz46OmdldF91bmNoZWNrZWQ6OmgzZjVkYmMzYjQyZDIzMGFi3gFtPGNvcmU6OnNsaWNlOjpJdGVyTXV0PFQ+IGFzIGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjp6aXA6OlRydXN0ZWRSYW5kb21BY2Nlc3M+OjpnZXRfdW5jaGVja2VkOjpoZTlhNzU3MWJlNmIxM2QyYt8BMjwmVCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg1OWU2MTYzMWE1ZjE0ZGVi4AEtY29yZTo6Zm10OjpBcmd1bWVudFYxOjpuZXc6Omg4ODI5ZmM4NGI3YTJiYWIz4QE6YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+OjpzZXRfbWVtb3J5OjpoMzJkMWJhOGUzZTM2NjA4NeIBNjxUIGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208VD4+Ojpmcm9tOjpoMDIwMjRlMjQwZDg3Yjg3MuMBMjwmVCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmgxZjBlNThlOGM5YTdhNWUx5AE4Y29yZTo6Zm10OjpGb3JtYXR0ZXI6OmRlYnVnX2xvd2VyX2hleDo6aDhjMzM1YWUwNTNlYmMxMzXlAThjb3JlOjpmbXQ6OkZvcm1hdHRlcjo6ZGVidWdfdXBwZXJfaGV4OjpoNjgwM2E1OGU5OTQwNDI1NOYBDl9fcnVzdF9kZWFsbG9j5wFRY29yZTo6YXJyYXk6OjxpbXBsIGNvcmU6OmRlZmF1bHQ6OkRlZmF1bHQgZm9yIFtUOyBfXT46OmRlZmF1bHQ6OmgwYjBkY2FjZTYzY2UyZWEx6AFOPEkgYXMgY29yZTo6aXRlcjo6dHJhaXRzOjpjb2xsZWN0OjpJbnRvSXRlcmF0b3I+OjppbnRvX2l0ZXI6OmgxYjkyZTY1NmQzNmI5YWVl6QFOPEkgYXMgY29yZTo6aXRlcjo6dHJhaXRzOjpjb2xsZWN0OjpJbnRvSXRlcmF0b3I+OjppbnRvX2l0ZXI6OmhkOTRiYTE0MGNhZGZhYmM16gE0YWxsb2M6OnJhd192ZWM6OmNhcGFjaXR5X292ZXJmbG93OjpoY2U1MjIxNTFmMTVlOWJhMesBOWNvcmU6Om9wczo6ZnVuY3Rpb246OkZuT25jZTo6Y2FsbF9vbmNlOjpoODYzOThlZDg3OGZhZjE0NOwBTmNvcmU6OmZtdDo6bnVtOjppbXA6OjxpbXBsIGNvcmU6OmZtdDo6RGlzcGxheSBmb3IgdTMyPjo6Zm10OjpoYmViNTViYWVkZTEzNTY2M+0BOjwmbXV0IFcgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX3N0cjo6aDNlNWVmODg3MGM4ODE0ZTLuATljb3JlOjpzbGljZTo6Q2h1bmtzRXhhY3Q8VD46OnJlbWFpbmRlcjo6aDc2NGUyODI5YmY4ZmNlYTHvAStzaGExOjpjb21wcmVzczo6Y29tcHJlc3M6OmhkYmEzYWM2MzA0ZjZhOTlk8AEzYWxsb2M6OmFsbG9jOjpoYW5kbGVfYWxsb2NfZXJyb3I6OmhmOTcxMjk3MDgxMzgxOGFh8QEzPHN0ciBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg3NDUwNGY1MTYyNDc3NWUy8gEwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg5YTkwZDRmNzQ5YjEwNTJk8wENX19yZGxfZGVhbGxvY/QBSGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6YWxsb2NhdGVfaW46Ont7Y2xvc3VyZX19OjpoYWViYTYyYmY5YWFjNDdhZPUBM2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6cHRyOjpoMGYzNjEyNDBkZjkyYmY2YfYBNXdhc21fYmluZGdlbjo6X19ydDo6bWFsbG9jX2ZhaWx1cmU6Omg1ZjE3OTY5ODM5MjdhNWIz9wEyY29yZTo6cGFuaWM6OlBhbmljSW5mbzo6bWVzc2FnZTo6aDRiM2MxZTA2YmFjOGExN2P4ATNjb3JlOjpwYW5pYzo6UGFuaWNJbmZvOjpsb2NhdGlvbjo6aDQ2Yzk1OTgwYzEwYzZkYTT5ASV3aGlybHBvb2w6OmNvbnZlcnQ6OmhjY2MxZTFiODllZTVkYWU0+gFOPEkgYXMgY29yZTo6aXRlcjo6dHJhaXRzOjpjb2xsZWN0OjpJbnRvSXRlcmF0b3I+OjppbnRvX2l0ZXI6OmhlNTliNzVlY2U0M2Y0YTJi+wF7PGNvcmU6OnNsaWNlOjpDaHVua3NFeGFjdE11dDxUPiBhcyBjb3JlOjppdGVyOjphZGFwdGVyczo6emlwOjpUcnVzdGVkUmFuZG9tQWNjZXNzPjo6bWF5X2hhdmVfc2lkZV9lZmZlY3Q6Omg0MWNiMDJkNjRiODgyMWM3/AF0PGNvcmU6OnNsaWNlOjpJdGVyTXV0PFQ+IGFzIGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjp6aXA6OlRydXN0ZWRSYW5kb21BY2Nlc3M+OjptYXlfaGF2ZV9zaWRlX2VmZmVjdDo6aDc2M2IwNGFmODA2NjA1YjP9AUNhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OmNhcGFjaXR5X2Zyb21fYnl0ZXM6OmgxNDQ4MGE0YWJmNzFiODYz/gE2PFQgYXMgY29yZTo6Y29udmVydDo6SW50bzxVPj46OmludG86OmgwZDZjMDdlZjhiNTI5YTQy/wExPFQgYXMgY29yZTo6YW55OjpBbnk+Ojp0eXBlX2lkOjpoNzM0NjVmYzFkMzNkYmZjM4ACMTxUIGFzIGNvcmU6OmFueTo6QW55Pjo6dHlwZV9pZDo6aDc5YTExMGNmYzQ1NTQ5YzKBAiZzdGQ6OnByb2Nlc3M6OmFib3J0OjpoNTZiZGI0MGI4OTIzMjczY4ICEl9fcnVzdF9zdGFydF9wYW5pY4MCQWRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M6Om1hbGxvY19hbGlnbm1lbnQ6OmgwMmVjMGRiZTg4Y2EyOGFihAIxPFQgYXMgY29yZTo6YW55OjpBbnk+Ojp0eXBlX2lkOjpoM2U3YmMzYTBjOGI1NGM1ZoUCK2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTo6aDZiZGM1N2Q4ZTk0ZmVhYmGGAitjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U6Omg0NDg1MWYxMWU0ZWM2NzM5hwIrY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlOjpoMmVhNzNhZTgzNzllZjgzOYgCNjxUIGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208VD4+Ojpmcm9tOjpoOWFlZGM3OWY0ZDEwNzBjNokCNjxUIGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208VD4+Ojpmcm9tOjpoOThlOGUzOGM0ZDFmZTk4OYoCRjxhbGxvYzo6dmVjOjpWZWM8VD4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDY1ZjJhOTU0MTE2N2FhZDiLAitjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U6OmgwMTU3ODY2NjM2NjliODc4jAI3c3RkOjphbGxvYzo6ZGVmYXVsdF9hbGxvY19lcnJvcl9ob29rOjpoY2I4MmM3ZmU3ZGY2OTUyMY0CK2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTo6aDA0YmYwNDhlOWM4Y2M3MjMA+4CAgAAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjQ1LjIgKGQzZmIwMDVhMyAyMDIwLTA3LTMxKQZ3YWxydXMGMC4xOC4wDHdhc20tYmluZGdlbhIwLjIuNjcgKDdiYWRjZDNhZCk=';
    }

    hash(algorithm, data) {
        let r0;
        let r1;
        try {
            const retptr = this._wasm.__wbindgen_export_0.value - 16;
            this._wasm.__wbindgen_export_0.value = retptr;
            const ptr0 = this._passStringToWasm0(algorithm, this._wasm.__wbindgen_malloc, this._wasm.__wbindgen_realloc);
            const len0 = this._WASM_VECTOR_LEN;
            const ptr1 = this._passStringToWasm0(data, this._wasm.__wbindgen_malloc, this._wasm.__wbindgen_realloc);
            const len1 = this._WASM_VECTOR_LEN;
            this._wasm.hash(retptr, ptr0, len0, ptr1, len1);
            r0 = this._getInt32Memory0()[retptr / 4 + 0];
            r1 = this._getInt32Memory0()[retptr / 4 + 1];
            return this._getStringFromWasm0(r0, r1);
        } finally {
            this._wasm.__wbindgen_export_0.value += 16;
            this._wasm.__wbindgen_free(r0, r1);
        }
    }

    async init() {
        const {instance} = await WebAssembly.instantiateStreaming(fetch(WasmHash.wasm_rust_hash));
        this._wasm = instance.exports;
        return this;
    }

    _encodeString(arg, view) {
        if (typeof this._cachedTextEncoder.encodeInto === "function")
            return this._cachedTextEncoder.encodeInto(arg, view);
        else {
            const buf = this._cachedTextEncoder.encode(arg);
            view.set(buf);
            return {
                read: arg.length,
                written: buf.length
            };
        }
    }

    _getStringFromWasm0(ptr, len) {
        return this._cachedTextDecoder.decode(this._getUint8Memory0().subarray(ptr, ptr + len));
    }

    _getUint8Memory0() {
        if (this._cachegetUint8Memory0 === undefined || this._cachegetUint8Memory0.buffer !== this._wasm.memory.buffer) {
            this._cachegetUint8Memory0 = new Uint8Array(this._wasm.memory.buffer);
        }
        return this._cachegetUint8Memory0;
    }

    _getInt32Memory0() {
        if (this._cachegetInt32Memory0 === undefined || this._cachegetInt32Memory0.buffer !== this._wasm.memory.buffer) {
            this._cachegetInt32Memory0 = new Int32Array(this._wasm.memory.buffer);
        }
        return this._cachegetInt32Memory0;
    }

    _passStringToWasm0(arg, malloc, realloc) {
        if (realloc === undefined) {
            const buf = this._cachedTextEncoder.encode(arg);
            const ptr = malloc(buf.length);
            this._getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
            this._WASM_VECTOR_LEN = buf.length;
            return ptr;
        }
        let len = arg.length;
        let ptr = malloc(len);
        const mem = this._getUint8Memory0();
        let offset = 0;
        for (; offset < len; offset++) {
            const code = arg.charCodeAt(offset);
            if (code > 0x7F)
                break;
            mem[ptr + offset] = code;
        }
        if (offset !== len) {
            if (offset !== 0) {
                arg = arg.slice(offset);
            }
            ptr = realloc(ptr, len, len = offset + arg.length * 3);
            const view = this._getUint8Memory0().subarray(ptr + offset, ptr + len);
            const ret = this._encodeString(arg, view);
            offset += ret.written;
        }
        this._WASM_VECTOR_LEN = offset;
        return ptr;
    }
}