Skip to content

Instantly share code, notes, and snippets.

@jefferoonie
Last active May 19, 2023 03:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jefferoonie/3a242c0a3633c66eacfd630e53a14522 to your computer and use it in GitHub Desktop.
Save jefferoonie/3a242c0a3633c66eacfd630e53a14522 to your computer and use it in GitHub Desktop.
EzcapeChat Modified FurtherChat
"use strict";
function fc_cam(t, e, n, i, s, o, c, r, l, a) {
this.ws = t,
this.pb = e,
this.div_maxcont = n,
this.camno = i,
this.ratio = s,
this.wndmedia = c,
this.tip = r,
this.menu_cb = l,
this.volhist = a,
this.kageshi_mode = !1,
this.outvid_w = 0,
this.outvid_h = 0,
this.outvid_ar = 0,
this.outvid_fps = 0,
this.starttime = 0,
this.offersonhold = null,
this.offersonhold_delay = 500,
this.offersonhold_interval = null,
this.user = null,
this.you = !1,
this.paused = !1,
this.rtcpush = null,
this.rtcpull = null,
this.cs_name = "",
this.cs_loc = "",
this.iser = null,
this.local_stream = null,
this.vab = null,
this.maxdummy = null,
this.elem = document.createElement("div"),
this.elem.className = "cam_a",
this.elem.style.width = o;
t = document.createElement("div");
t.className = "cam_b",
"16:9" === s ? (t.style.paddingTop = "56.25%",
this.outvid_w = 256,
this.outvid_h = 144,
this.outvid_ar = 1.777777778,
this.outvid_fps = 26) : "4:3" === s ? (t.style.paddingTop = "75%",
this.outvid_w = 320,
this.outvid_h = 240,
this.outvid_ar = 1.333333333,
this.outvid_fps = 26) : "21:9" === s && (t.style.paddingTop = "42.18%",
this.outvid_w = 420,
this.outvid_h = 180,
this.outvid_ar = 2.383333333,
this.outvid_fps = 26),
this.elem.appendChild(t),
this.cam_c = document.createElement("div"),
this.cam_c.className = "cam_c hvcntrl",
this.elem.appendChild(this.cam_c),
this.startbtn = null,
this.topbar = null,
this.statp = null,
this.maxbtn = null,
this.stopbtn = null,
this.pausebtn = null,
this.mobskin = null,
this.bottombar = null,
this.namep = null,
this.volrange = null,
this.mutebtn = null,
this.loading = null,
this.video = null,
this.unpausebtn = null,
this.stopcam()
}
function fc_camload(t, e) {
this.elem = null,
this.c1 = t,
this.c2 = e,
this.elem = document.createElement("div"),
this.elem.className = "camload",
this.step = 0,
this.backwards = !1,
this.interval = 0,
this.loading = null,
this.blocks = []
}
function fc_chatbox(t, e, n) {
this.ws = t,
this.menu_cb = e,
this.youtube_cb = n,
this.elem = document.createElement("div"),
this.elem.setAttribute("class", "chatbox"),
this.span_recon = null,
this.p_typing_line = null,
this.p_typing_names = null,
this.p_typing_status = null,
this.lastmn = 0
}
function fc_checkbox(t, e) {
this.elem = null,
this.cb = null,
this.ptext = null,
this.elem = document.createElement("div"),
this.elem.className = "fccb",
this.cb = document.createElement("input"),
this.cb.setAttribute("type", "checkbox"),
this.cb.checked = t,
this.elem.appendChild(this.cb);
t = document.createElement("label");
t.innerHTML = "<span class='material-icons'></span>" + e,
this.elem.appendChild(t)
}
function fc_config(t, e, n) {
this.ws = t,
this.pb = e,
this.applysetting_cb = n,
this.settings = {},
this.def_settings = {}
}
function fc_ctrlpm(t, e, n, i, s, o) {
this.ws = t,
this.pb = e,
this.wndctrl = n,
this.msglimit = i,
this.ul = s,
this.umcb = o,
this.font_colour = "#FF0000",
this.font_size = 1,
this.taka_enable = !0,
this.blockpm_enable = !1,
this.recvsnd_enable = !1,
this.wndpm = []
}
function fc_ctrlwnd(t) {
this.wnd_array = [],
this.mouse_x = 0,
this.mouse_y = 0,
this.drag_wnd = null,
this.drag_elem_x = 0,
this.drag_elem_y = 0,
this.resize_wnd = null,
this.resize_left = !1,
this.resize_right = !1,
this.resize_bottom = !1,
this.zindex_inc = 500,
this.wnd_infocus = null,
this.parent_elem = null === t ? document.body : t
}
function fc_layout(t, e, n, i, s, o) {
this.ws = t,
this.pb = e,
this.div_maxcont = n,
this.tip = s,
this.menu_cb = o,
this.cur_layout = 0,
this.cams = [],
this.wndmedia = i,
this.elem = document.createElement("div"),
this.elem.className = "camcont",
this.ul_cams = document.createElement("ul"),
this.ul_cams.className = "cams",
this.elem.appendChild(this.ul_cams),
this.dynarow = null,
this.kageshi_mode = !1,
this.volhist = [],
this.joined = !1
}
function fc_left(t, e, n, i) {
this.uuid = t,
this.username = e,
this.modlvl = n,
this.blocked = i
}
function fc_menu(t, e, n, i) {
this.ws = t,
this.pb = e,
this.lo = n,
this.t_uuid = "",
this.t_username = "",
this.t_modlvl = "",
this.t_online = !1,
this.pmctrl = i,
this.elem = document.createElement("div"),
this.elem.setAttribute("class", "usermenu"),
"mobile" === this.ws.mode ? this.elem.onclick = this.close.bind(this) : (this.elem.onmouseleave = this.mouseleave.bind(this),
this.elem.onmouseenter = this.mouseenter.bind(this)),
this.btn_close = document.createElement("button"),
this.h_title = document.createElement("h1"),
this.h_title.innerHTML = "menu",
this.elem.appendChild(this.h_title),
this.btn_stopcam = document.createElement("button"),
this.btn_stopcam.onclick = this.btnclick.bind(this),
this.btn_stopcam.setAttribute("data-btntype", "stopcam"),
this.btn_stopcam.innerHTML = "stop cam",
this.elem.appendChild(this.btn_stopcam),
this.btn_pausecam = document.createElement("button"),
this.btn_pausecam.onclick = this.btnclick.bind(this),
this.btn_pausecam.setAttribute("data-btntype", "pausecam"),
this.btn_pausecam.innerHTML = "pause cam",
this.elem.appendChild(this.btn_pausecam),
this.btn_mutecam = document.createElement("button"),
this.btn_mutecam.onclick = this.btnclick.bind(this),
this.btn_mutecam.setAttribute("data-btntype", "mutecam"),
this.btn_mutecam.innerHTML = "mute cam",
this.elem.appendChild(this.btn_mutecam),
this.btn_pm = document.createElement("button"),
this.btn_pm.onclick = this.btnclick.bind(this),
this.btn_pm.setAttribute("data-btntype", "pm"),
this.btn_pm.innerHTML = "pm",
this.elem.appendChild(this.btn_pm),
this.btn_profile = document.createElement("button"),
this.btn_profile.onclick = this.btnclick.bind(this),
this.btn_profile.setAttribute("data-btntype", "profile"),
this.btn_profile.innerHTML = "profile",
this.elem.appendChild(this.btn_profile),
this.btn_block = document.createElement("button"),
this.btn_block.onclick = this.btnclick.bind(this),
this.btn_block.setAttribute("data-btntype", "block"),
this.btn_block.innerHTML = "block",
this.elem.appendChild(this.btn_block),
this.btn_unblock = document.createElement("button"),
this.btn_unblock.onclick = this.btnclick.bind(this),
this.btn_unblock.setAttribute("data-btntype", "unblock"),
this.btn_unblock.innerHTML = "unblock",
this.elem.appendChild(this.btn_unblock),
this.btn_mod = document.createElement("button"),
this.btn_mod.onclick = this.btnclick.bind(this),
this.btn_mod.setAttribute("data-btntype", "mod"),
this.btn_mod.innerHTML = "mod",
this.elem.appendChild(this.btn_mod),
this.btn_unmod = document.createElement("button"),
this.btn_unmod.onclick = this.btnclick.bind(this),
this.btn_unmod.setAttribute("data-btntype", "unmod"),
this.btn_unmod.innerHTML = "unmod",
this.elem.appendChild(this.btn_unmod),
this.btn_kick = document.createElement("button"),
this.btn_kick.onclick = this.btnclick.bind(this),
this.btn_kick.setAttribute("data-btntype", "kick"),
this.btn_kick.innerHTML = "kick",
this.elem.appendChild(this.btn_kick),
this.btn_ban48 = document.createElement("button"),
this.btn_ban48.onclick = this.btnclick.bind(this),
this.btn_ban48.setAttribute("data-btntype", "ban48"),
this.btn_ban48.innerHTML = "ban 48hr",
this.elem.appendChild(this.btn_ban48),
this.btn_banperma = document.createElement("button"),
this.btn_banperma.onclick = this.btnclick.bind(this),
this.btn_banperma.setAttribute("data-btntype", "banperma"),
this.btn_banperma.innerHTML = "ban perma",
this.elem.appendChild(this.btn_banperma),
this.btn_purge = document.createElement("button"),
this.btn_purge.onclick = this.btnclick.bind(this),
this.btn_purge.setAttribute("data-btntype", "purge"),
this.btn_purge.innerHTML = "purge",
this.elem.appendChild(this.btn_purge),
this.btn_siteban = document.createElement("button"),
this.btn_siteban.onclick = this.btnclick.bind(this),
this.btn_siteban.setAttribute("data-btntype", "siteban"),
this.btn_siteban.style.backgroundColor = "red",
this.btn_siteban.style.color = "white",
this.btn_siteban.innerHTML = "site ban",
this.elem.appendChild(this.btn_siteban),
this.leavetimeout = null,
this.showtimeout = null
}
function fc_msglimit() {
this.cooloff_time = 5e3,
this.msg_interval = 600,
this.max_strikes = 3,
this.max_msg_length = 300,
this.prev_msg = "",
this.prev_msg_time = 0,
this.cur_strikes = 0,
this.msg_count = 0,
this.enforced = !1
}
function fc_msk(t, e) {
this.ws = t,
this.elem = document.createElement("div"),
this.elem.className = "msk",
document.getElementById(e).appendChild(this.elem),
this.mode = 0,
this.deadline = 0,
this.interval = null,
this.h1_status = null,
this.p_info = null,
this.p_countdown = null,
this.span_countdown = null,
this.text_password = null,
this.button = null
}
function fc_recon(t, e, n, i) {
this.ws = t,
this.msk = e,
this.cb = null,
this.recon_min = 3e3,
this.recon_max = 2e4,
this.recon_stepmax = 1e3,
this.last_reconstart = 0,
this.reqprx_cb = n,
this.max_recnt_prx = 3,
this.recnt_prx = 0,
this.waiting_prx = !1,
this.t2src_cb = i,
this.waiting_t2 = !1,
this.recon_timeout = 0,
this.countdown_timer = 0,
this.countdown_target = 0
}
function fc_rtcpull(t, e, n) {
this.ws = t,
this.pb = e,
this.cam = n,
this.tid = 0,
this.vstream = null,
this.astream = null,
this.rtcpeer = null,
this.srd_done = !1,
this.cndcount = 0,
this.icestack = [],
this.d_offer = !1,
this.d_ice = !1,
this.failed = !1,
this.finish = !1,
this.playtimeout = null,
this.dc_interval = 0,
this.rscount = 0,
this.stagcount = 0,
this.stat_interval = 0,
this.stat_vis = !1,
this.stat_viscount = 0,
this.byte_prev = 0,
this.frame_prev = 0,
this.vcodec = "",
this.acodec = ""
}
function fc_rtcpush(t, e, n, i, s, o) {
this.ws = t,
this.pb = e,
this.cam = n,
this.tid = i,
this.local_stream = s,
this.srd_done = !1,
this.cndcount = 0,
this.offersonhold = o,
this.rtcpeer = null,
this.d_offer = !1,
this.d_answer = !1,
this.d_ice = !1,
this.failed = !1,
this.finish = !1
}
function fc_status(t, e) {
this.ws = t,
this.pb = e,
this.autoidle_enable = !0,
this.tbi = 12e5,
this.statuslevel = 1,
this.statustime = 0,
this.statusmsg = "",
this.lastact = Date.now(),
this.lastreturn = Date.now(),
this.ws.isguest || (this.idleinterval = setInterval(this.tick.bind(this), 26e3))
}
function fc_switch() {
this.elem = null,
this.cb = null,
this.ptext = null
}
function fc_tip(t, e) {
this.ws = t,
this.ul = e,
this.elem = document.createElement("div"),
this.elem.className = "tooltip",
this.p_message = document.createElement("p"),
this.p_message.innerHTML = "",
this.elem.appendChild(this.p_message),
this.showtimeout = null,
this.hidetimeout = null,
this.config = null,
this.reqx = 0,
this.reqy = 0
}
function fc_toolbox(t, e, n, i, s, o, c) {
this.ws = t,
this.pb = e,
this.cb = s,
this.msglimit = o,
this.pmctrl = n,
this.layout = i,
this.yt_cb = c,
this.font_colour = "#FF0000",
this.font_size = 1,
this.elem = document.createElement("div"),
this.elem.className = "tb",
this.text_cp = document.createElement("input"),
this.text_cp.className = "jscolor",
this.text_cp.setAttribute("data-jscolor", "{position:'top',hash:false,value:'" + this.font_colour + "',borderRadius:'1px',borderColor:'" + this.ws.theme.lncol + "',controlBorderColor:'" + this.ws.theme.lncol + "',backgroundColor:'" + this.ws.theme.bgcol + "'}"),
this.text_cp.onchange = this.cp_change.bind(this),
this.elem.appendChild(this.text_cp),
this.sel_fs = document.createElement("select"),
this.sel_fs.className = "sizesel",
this.sel_fs.onchange = this.fs_change.bind(this),
(t = document.createElement("option")).innerHTML = "smaller",
t.value = 0,
this.sel_fs.appendChild(t),
(t = document.createElement("option")).innerHTML = "normal",
t.value = 1,
this.sel_fs.appendChild(t),
(t = document.createElement("option")).innerHTML = "bigger",
t.value = 2,
this.sel_fs.appendChild(t),
(t = document.createElement("option")).innerHTML = "more bigger",
t.value = 3,
this.sel_fs.appendChild(t),
this.sel_fs.selectedIndex = this.font_size,
this.elem.appendChild(this.sel_fs),
this.btn_ytpl = document.createElement("button"),
this.btn_ytpl.innerHTML = "YouTube Player",
this.btn_ytpl.onclick = this.yt_click.bind(this),
this.btn_ytpl.style.display = "none",
this.elem.appendChild(this.btn_ytpl),
this.cb_kmode = new fc_checkbox(!1,"Kageshi Mode"),
this.cb_kmode.addonclick(this.kmode_click.bind(this)),
this.elem.appendChild(this.cb_kmode.elem),
this.text_msg = document.createElement("input"),
this.text_msg.setAttribute("type", "text"),
this.text_msg.setAttribute("autocomplete", "off"),
this.text_msg.className = "chatmsg fs_" + this.font_size,
this.text_msg.style.color = this.font_colour,
this.text_msg.value = "",
this.text_msg.onkeyup = this.msg_keyup.bind(this),
this.text_msg.autocomplete = "off",
this.elem.appendChild(this.text_msg),
this.btn_send = document.createElement("button"),
this.btn_send.className = "sendbtn material-icons",
this.btn_send.onclick = this.send_click.bind(this),
this.elem.appendChild(this.btn_send)
}
function fc_topic(t, e, n, i, s, o) {
this.ws = t,
this.pb = e,
this.wndlayout = n,
this.wndpolicy = i,
this.wndconfig = s,
this.togulist_cb = o,
this.cur_topic = "",
this.elem = document.createElement("div"),
this.elem.className = "topicbar",
this.text_topic = document.createElement("input"),
this.text_topic.setAttribute("type", "text"),
this.text_topic.setAttribute("maxlength", 128),
this.text_topic.className = "fctopic",
this.text_topic.onblur = this.topicbar_change.bind(this),
this.elem.appendChild(this.text_topic),
this.btn_policy = document.createElement("button"),
this.btn_policy.className = "policybtn material-icons",
this.btn_policy.onclick = this.policy_click.bind(this),
this.elem.appendChild(this.btn_policy),
this.btn_layout = document.createElement("button"),
this.btn_layout.className = "layoutbtn material-icons",
this.btn_layout.onclick = this.layout_click.bind(this),
this.elem.appendChild(this.btn_layout),
this.btn_config = document.createElement("button"),
this.btn_config.className = "configbtn material-icons",
this.btn_config.onclick = this.config_click.bind(this),
this.elem.appendChild(this.btn_config),
this.btn_userlist = document.createElement("button"),
this.btn_userlist.className = "userlistbtn material-icons",
this.btn_userlist.onclick = o,
this.elem.appendChild(this.btn_userlist)
}
function fc_ulist(t, e, n, i, s) {
this.ws = t,
this.menu_cb = e,
this.tipshow_cb = n,
this.tipcancel_cb = i,
this.elem = document.createElement("div"),
this.elem.setAttribute("class", "userlist"),
"mobile" === this.ws.mode && (this.togulist_cb = s,
this.elem.onclick = s),
this.guest_elem = document.createElement("p"),
this.guest_elem.className = "guestcount fcguest";
t = document.createElement("span");
t.className = "material-icons",
this.guest_elem.appendChild(t),
this.p_guestcount = document.createElement("p"),
this.guest_elem.appendChild(this.p_guestcount),
this.updgsc(0),
this.users = [],
this.lefties = []
}
function fc_user(t, e, n) {
this.menu_cb = t,
this.tipshow_cb = e,
this.tipcancel_cb = n,
this.username = "",
this.username_lowercase = "",
this.uuid = 0,
this.modlvl = 0,
this.usernum = 0,
this.blocked = !1,
this.statuslevel = 0,
this.statustime = 0,
this.statusmsg = "",
this.online = !1,
this.jointime = 0,
this.ping = 0,
this.list_elem = null,
this.pmwnd = null
}
function fc_vab() {
this.stream = null,
this.audio_context = null,
this.analyser = null,
this.source = null,
this.interval = 0,
this.elem = document.createElement("div"),
this.elem.className = "va_b"
}
function fc_wnd(t, e, n, i, s, o) {
this.parent_elem = t,
this.index = e,
this.title = i,
this.min_width = 0,
this.min_height = 0,
this.focused = !1,
this.visible = !1,
this.resizable = n,
this.rz_left = null,
this.rz_right = null,
this.rz_bottom = null,
this.rz_bottomleft = null,
this.rz_bottomright = null,
this.resize_callback = null,
this.close_callback = null,
this.elem = document.createElement("div"),
this.elem.setAttribute("id", "wnd" + e),
this.elem.className = "fcwnd",
this.resizable && this.addresizers(),
this.elem_header = document.createElement("div"),
this.elem_header.setAttribute("class", "fcwnd_header"),
this.p_hdrico = document.createElement("p"),
this.p_hdrico.className = "material-icons",
this.elem_header.appendChild(this.p_hdrico),
this.elem_headerp = document.createElement("p"),
this.elem_headerp.innerHTML = i,
this.elem_header.appendChild(this.elem_headerp),
this.elem.appendChild(this.elem_header),
this.elem_closebtn = document.createElement("button"),
this.elem_closebtn.setAttribute("class", "close material-icons"),
this.elem_closebtn.onclick = this.click_close.bind(this),
this.elem.appendChild(this.elem_closebtn),
this.elem_content = document.createElement("div"),
this.elem_content.setAttribute("class", "fcwnd_content"),
this.elem.appendChild(this.elem_content),
this.parent_elem.appendChild(this.elem),
this.elem.style.left = s + "px",
this.elem.style.top = o + "px"
}
function fc_wndconfig(t, e, n) {
this.ws = t,
this.pb = e,
this.wndman = n,
this.wnd = null,
this.cb_blockpm = null,
this.cb_showtyping = null,
this.cb_autoidle = null,
this.cb_pmsnd = null
}
function fc_wndlayout(t, e, n) {
this.ws = t,
this.pb = e,
this.wndman = n,
this.wnd = null
}
function fc_wndmedia(t, e) {
this.ws = t,
this.wndman = e,
this.cam = null,
this.stream = null,
this.wnd = null,
this.cam_select = null,
this.cam_a = null,
this.cam_b = null,
this.cam_c = null,
this.video = null,
this.vab = null,
this.p_video = null,
this.sw_usemic = null,
this.sw_useec = null,
this.mic_select = null,
this.btn_cancel = null,
this.btn_start = null,
this.forced_camid = "",
this.forced_micid = ""
}
function fc_wndpm(t, e, n, i, s, o, c, r, l) {
this.ws = t,
this.pb = e,
this.wndman = n,
this.umcb = s,
this.msglimit = i,
this.username = o,
this.uuid = c,
this.wnd = null,
this.online = !0,
this.modlvl = 0,
this.blocked = !1,
this.status_code = 0,
this.status_text = "",
this.font_colour = r,
this.font_size = l,
this.blockpm_enable = !1,
this.block_whitelist = !1,
this.recvsnd = null,
this.taka_enable = !0,
this.type_state = 0,
this.type_time = 0,
this.type_timeout = null,
this.chatbox = null,
this.b_banner = null,
this.text_msg = null,
this.btn_send = null,
this.createui()
}
function fc_wndpolicy(t, e, n) {
this.ws = t,
this.pb = e,
this.wndman = n,
this.wnd = null,
this.cb_allowguest = null,
this.cb_allowyoutube = null,
this.cb_password = null,
this.text_password = null,
this.cb_modchangelayout = null,
this.cb_modchangetopic = null,
this.cb_modstopcam = null,
this.cb_enablemecmd = null,
this.cb_enablerollcmd = null,
this.cb_enableafkcmd = null,
this.cb_enablestopcmd = null,
this.cb_enablekickcmd = null
}
function fc_ws(t, e, n, i, s, o, c, r, l) {
this.pb = t,
this.pako = e,
this.ws = null,
this.addr = n,
this.mode = i,
this.rcv_cb = o,
this.error_cb = c,
this.close_cb = r,
this.sid = this.mkses(),
this.t2 = "",
this.t2exp = new Date,
this.ready = !1,
this.chead = null,
this.pver = 7,
this.cmtype = 2,
this.close_pf = null,
this.tmdelta = 0,
this.rn = 0,
this.un = 0,
this.uh = 0,
this.username = "",
this.uuid = 0,
this.modlvl = 0,
this.isguest = !1,
this.theme = s,
this.roompass = "",
this.joinover = !1,
this.jth = "",
this.jty = 1,
this.pol_allowguest = !0,
this.pol_allowyoutube = !0,
this.pol_pwenforced = !1,
this.pol_pw = "",
this.pol_modchangelayout = !0,
this.pol_modchangetopic = !0,
this.pol_modstopcam = !1,
this.pol_en_mecmd = !0,
this.pol_en_rollcmd = !0,
this.pol_en_afkcmd = !0,
this.pol_en_stopcmd = !0,
this.pol_en_kickcmd = !0,
this.cnf = new fc_config(this,this.pb,l),
this.chatmaxline = 800,
this.pn = 0,
this.flwb = 0,
this.clswait = null,
this.joined = !1
}
function fc_youtube(t, e, n, i, s) {
this.ws = t,
this.pb = e,
this.search_cb = n,
this.queue_cb = i,
this.yt_enable_search = s,
this.pa = !1,
this.ytpp = null,
this.player = null,
this.YT = null,
this.playstate = "unloaded",
this.cur_start_time = 0,
this.cur_video = null,
this.btn_addvideo = null,
this.btn_nextvideo = null,
this.div_privnote = null,
this.btn_acceptpriv = null,
this.div_qpopup = null,
this.div_queue = null,
this.div_qpopupbg = null,
this.div_qpopupcls = null,
this.text_search = null,
this.btn_search = null,
this.text_addurl = null,
this.btn_addurl = null,
this.p_query_err = null,
this.table_queue = null,
this.div_sresultcont = null,
this.div_sresult = null,
this.div_sresultload = null,
this.span_sresulttext = null
}
function fc(t, e, n, i, s, o, c, r, l, a, u, h) {
this.pb = t,
this.b64 = e,
this.pako = n,
this.mode = s,
this.addr = o,
this.gridcams = null,
this.gridtopic = null,
this.gridchat = null,
this.gridtools = null,
this.gridlist = null,
this.ui_done = !1,
this.width_step = 100,
this.step_timeout = 0,
this.reqprx_cb = r,
this.t2src_cb = l,
this.chatsnd = null,
this.chatsndcnt = 0,
this.ws = new fc_ws(this.pb,this.pako,this.addr,this.mode,c,this.wsrecv.bind(this),this.wserr.bind(this),this.wsclose.bind(this),this.applysetting.bind(this)),
this.ws.cnf.setdef({
fc: c.fcdef,
fs: 1,
pb: 0,
pt: 1,
ai: 1,
sc: 0,
sp: 0
}),
this.msk = new fc_msk(this.ws,i),
this.elem = document.createElement("div"),
this.elem.className = "fc",
document.getElementById(i).appendChild(this.elem),
this.div_maxcont = document.createElement("div"),
this.div_maxcont.className = "maxcamcont",
this.elem.appendChild(this.div_maxcont),
this.status = new fc_status(this.ws,this.pb),
this.msglimit = new fc_msglimit,
this.wndctrl = new fc_ctrlwnd(this.elem),
this.ul = new fc_ulist(this.ws,this.umopen.bind(this),this.tipshow.bind(this),this.tipcancel.bind(this),this.togulist.bind(this)),
this.pmctrl = new fc_ctrlpm(this.ws,this.pb,this.wndctrl,this.msglimit,this.ul,this.umopen.bind(this)),
this.cb = new fc_chatbox(this.ws,this.umopen.bind(this),this.ytopen.bind(this)),
this.ytpl = new fc_youtube(this.ws,this.pb,a,u,h),
this.tip = new fc_tip(this.ws,this.ul),
this.wndmedia = new fc_wndmedia(this.ws,this.wndctrl),
this.lo = new fc_layout(this.ws,this.pb,this.div_maxcont,this.wndmedia,this.tip,this.umopen.bind(this)),
this.wndlayout = new fc_wndlayout(this.ws,this.pb,this.wndctrl),
this.tb = new fc_toolbox(this.ws,this.pb,this.pmctrl,this.lo,this.cb,this.msglimit,this.ytopen.bind(this)),
this.wndpolicy = new fc_wndpolicy(this.ws,this.pb,this.wndctrl),
this.wndconfig = new fc_wndconfig(this.ws,this.pb,this.wndctrl),
this.tp = new fc_topic(this.ws,this.pb,this.wndlayout,this.wndpolicy,this.wndconfig,this.togulist.bind(this)),
this.um = new fc_menu(this.ws,this.pb,this.lo,this.pmctrl),
this.recon = new fc_recon(this.ws,this.msk,this.reqprx_cb,this.t2src_cb),
document.addEventListener("keydown", this.dockeydown.bind(this)),
document.addEventListener("mousedown", this.docmousedown.bind(this)),
document.addEventListener("mouseup", this.docmouseup.bind(this)),
document.addEventListener("mousemove", this.docmousemove.bind(this)),
document.addEventListener("touchcancel", this.docmouseup.bind(this)),
document.addEventListener("touchend", this.docmouseup.bind(this)),
document.addEventListener("touchmove", this.doctouchmove.bind(this), {
passive: !1
}),
window.addEventListener("resize", this.docresize.bind(this)),
window.addEventListener("orientationchange", this.docresize.bind(this));
t = this.checkcompat();
null !== t && alert(t),
this.createui(),
this.showmsk(),
this.msk.showcs("", "")
}
fc_cam.prototype.setkmode = function(t) {
this.kageshi_mode = t,
null === this.video || null === this.user || this.you || this.paused || this.kageshi_mode && (this.pausecam(this.user),
this.ws.sendpbuf(1200798, this.pb.roots.default.fc.p_1200798.encode({
cn: this.camno
}, null).finish()))
}
,
fc_cam.prototype.click_maxcam = function(t) {
null === this.maxdummy ? this.domax() : this.dodemax()
}
,
fc_cam.prototype.camc_mouseover = function(t) {
this.you || null === this.rtcpull || this.rtcpull.statstart()
}
,
fc_cam.prototype.camc_mouseout = function(t) {
this.you || null === this.rtcpull || this.rtcpull.statstop()
}
,
fc_cam.prototype.stat_click = function(t) {}
,
fc_cam.prototype.stat_mouseover = function(t) {
var e = document.getElementsByClassName("fc")[0];
this.tip.show(t.pageX - e.offsetLeft, t.pageY - e.offsetTop, {
buildtype: "camstats",
cs_name: this.cs_name,
cs_loc: this.cs_loc
})
}
,
fc_cam.prototype.stat_mouseout = function(t) {
this.tip.cancel()
}
,
fc_cam.prototype.dblclick_video = function(t) {
this.click_maxcam(t)
}
,
fc_cam.prototype.modchg = function() {
null !== this.user && (this.paused ? this.namep.className = "name paused " + this.user.getnccl() : this.namep.className = "name " + this.user.getnccl(),
this.canstop() ? this.stopbtn.style.display = "inline-block" : this.stopbtn.style.display = "none")
}
,
fc_cam.prototype.domax = function() {
null === this.maxdummy && (this.maxdummy = document.createElement("div"),
this.elem.parentNode.replaceChild(this.maxdummy, this.elem),
this.div_maxcont.style.display = "block",
this.div_maxcont.appendChild(this.elem),
this.maxbtn.innerHTML = "fullscreen_exit")
}
,
fc_cam.prototype.dodemax = function() {
if (null !== this.maxdummy) {
for (this.div_maxcont.style.display = "none"; this.div_maxcont.firstChild; )
this.div_maxcont.removeChild(this.div_maxcont.lastChild);
this.maxdummy.parentNode.replaceChild(this.elem, this.maxdummy),
this.maxdummy = null,
this.maxbtn.innerHTML = "fullscreen",
window.dispatchEvent(new Event("resize"))
}
}
,
fc_cam.prototype.click_startcam = function(t) {
this.ws.isguest || this.wndmedia.open(this, this.ratio)
}
,
fc_cam.prototype.click_stopcam = function(t) {
this.you && null !== this.local_stream && (this.local_stream.getTracks().forEach(function(t) {
t.stop()
}),
this.local_stream = null),
this.ws.sendpbuf(1200631, this.pb.roots.default.fc.p_1200631.encode({
cn: this.camno
}, null).finish())
}
,
fc_cam.prototype.click_pausecam = function(t) {
this.pausecam(this.user),
this.ws.sendpbuf(1200798, this.pb.roots.default.fc.p_1200798.encode({
cn: this.camno
}, null).finish())
}
,
fc_cam.prototype.click_unpausecam = function(t) {
this.showcam(this.user, !1)
}
,
fc_cam.prototype.input_volrange = function(t) {
this.you || (t.target.value / 100 == 0 ? (this.video.muted || (this.mutebtn.className = "mutebtn muted material-icons",
this.video.muted = !0,
this.vab.stop()),
this.video.volume = 0,
this.volhist[this.user.uuid.toString()] = {
m: !0,
v: this.video.volume
}) : (this.video.muted && (this.mutebtn.className = "mutebtn material-icons",
this.video.muted = !1,
this.vab.play()),
this.video.volume = t.target.value / 100,
this.volhist[this.user.uuid.toString()] = {
m: !1,
v: this.video.volume
}))
}
,
fc_cam.prototype.click_mute = function(t) {
var e;
this.you ? 0 < (e = this.local_stream.getAudioTracks()).length && (e[0].enabled ? (this.mutebtn.className = "mutebtn muted material-icons",
e[0].enabled = !1) : (this.mutebtn.className = "mutebtn material-icons",
e[0].enabled = !0)) : this.video.muted ? (e = .75,
this.volhist.hasOwnProperty(this.user.uuid.toString()) && (e = this.volhist[this.user.uuid.toString()].v),
this.video.muted = !1,
this.mutebtn.className = "mutebtn material-icons",
this.video.volume = e,
this.volrange.value = 100 * e,
this.vab.play(),
this.volhist[this.user.uuid.toString()] = {
m: !1,
v: e
}) : (this.volhist[this.user.uuid.toString()] = {
m: !0,
v: this.video.volume
},
this.video.muted = !0,
this.mutebtn.className = "mutebtn muted material-icons",
this.video.volume = 0,
this.volrange.value = 0,
this.vab.stop())
}
,
fc_cam.prototype.setpull_vabstream = function(t) {
this.vab.setstream(null),
this.vab.setstream(t);
var t = !0
, e = 0;
this.volhist.hasOwnProperty(this.user.uuid.toString()) && (t = this.volhist[this.user.uuid.toString()].m,
e = this.volhist[this.user.uuid.toString()].v),
t ? (this.vab.stop(),
this.mutebtn.className = "mutebtn muted material-icons",
this.video.muted = !0,
this.video.volume = 0,
this.volrange.value = 0) : (this.vab.play(),
this.mutebtn.className = "mutebtn material-icons",
this.video.muted = !1,
this.video.volume = e,
this.volrange.value = 100 * e)
}
,
fc_cam.prototype.selfdestruct = function() {
this.cleanuprtc(),
this.ws = null,
this.pb = null,
this.iser = null,
this.wndmedia = null,
this.user = null,
this.dodemax(),
null !== this.startbtn && (this.startbtn.onclick = null,
this.startbtn.parentNode.removeChild(this.startbtn),
this.startbtn = null),
null !== this.unpausebtn && (this.unpausebtn.onclick = null,
this.unpausebtn.parentNode.removeChild(this.unpausebtn),
this.unpausebtn = null),
null !== this.mobskin && (this.mobskin.onclick = null,
this.mobskin.parentNode.removeChild(this.mobskin),
this.mobskin = null),
null !== this.video && (this.video.parentNode.removeChild(this.video),
this.video = null),
null !== this.vab && (this.vab.stop(),
this.vab.setstream(null),
this.vab.elem.parentNode.removeChild(this.vab.elem),
this.vab = null),
null !== this.topbar && (this.topbar.parentNode.removeChild(this.topbar),
this.topbar = null),
null !== this.statp && (this.statp.parentNode.removeChild(this.statp),
this.statp = null),
null !== this.maxbtn && (this.maxbtn.onclick = null,
this.maxbtn.parentNode.removeChild(this.maxbtn),
this.maxbtn = null),
null !== this.pausebtn && (this.pausebtn.onclick = null,
this.pausebtn.parentNode.removeChild(this.pausebtn),
this.pausebtn = null),
null !== this.stopbtn && (this.stopbtn.onclick = null,
this.stopbtn.parentNode.removeChild(this.stopbtn),
this.stopbtn = null),
null !== this.bottombar && (this.bottombar.parentNode.removeChild(this.bottombar),
this.bottombar = null),
null !== this.namep && (this.namep.parentNode.removeChild(this.namep),
this.namep = null),
null !== this.volrange && (this.volrange.parentNode.removeChild(this.volrange),
this.volrange = null),
null !== this.mutebtn && (this.mutebtn.parentNode.removeChild(this.mutebtn),
this.mutebtn = null),
null !== this.loading && (this.loading.hide(),
this.loading.parentNode.removeChild(this.loading.elem),
this.loading = null),
this.elem.parentNode.removeChild(this.elem)
}
,
fc_cam.prototype.cleanuprtc = function() {
if (null !== this.vab && (this.vab.stop(),
this.vab.setstream(null)),
null !== this.local_stream && (this.local_stream.getTracks().forEach(function(t) {
t.stop()
}),
this.local_stream = null),
null !== this.offersonhold && (this.offersonhold = [],
this.offersonhold = null),
null !== this.offersonhold_interval && (clearInterval(this.offersonhold_interval),
this.offersonhold_interval = null),
null !== this.rtcpush) {
for (var t = 0; t < this.rtcpush.length; t++)
this.rtcpush[t].selfdestruct();
this.rtcpush = [],
this.rtcpush = null
}
null !== this.rtcpull && (this.rtcpull.selfdestruct(),
this.rtcpull = null)
}
,
fc_cam.prototype.setiser = function(t, e, n, i, s) {
this.cs_name = t,
this.cs_loc = e,
this.iser = {
iceServers: [{
urls: n,
credential: s,
username: i
}],
iceTransportPolicy: "relay",
RTCRtcpMuxPolicy: "negotiate"
}
}
,
fc_cam.prototype.startcam = function(t) {
try {
var e;
null !== t && 1 === (e = t.getVideoTracks()).length && (this.local_stream = t,
e[0].addEventListener("ended", this.strmend.bind(this)),
this.ws.sendpbuf(1200621, this.pb.roots.default.fc.p_1200621.encode({
cn: this.camno
}, null).finish()))
} catch (t) {}
}
,
fc_cam.prototype.strmend = function(t) {
this.click_stopcam()
}
,
fc_cam.prototype.showcam = function(t, e) {
this.user = t,
this.you = e,
this.paused = !1,
null !== this.startbtn && (this.startbtn.style.display = "none"),
null !== this.unpausebtn && (this.unpausebtn.style.display = "none"),
"mobile" === this.ws.mode ? (null === this.mobskin ? (this.mobskin = document.createElement("div"),
this.mobskin.className = "mobskin",
this.mobskin.onclick = this.menu_cb,
this.mobskin.setAttribute("data-uuid", this.user.uuid),
this.cam_c.appendChild(this.mobskin)) : this.mobskin.style.display = "block",
this.cam_c.className = "cam_c") : (this.cam_c.className = "cam_c hvcntrl",
this.cam_c.onmouseover = this.camc_mouseover.bind(this),
this.cam_c.onmouseout = this.camc_mouseout.bind(this),
null === this.statp ? (this.statp = document.createElement("p"),
this.statp.className = "stat",
this.statp.innerHTML = "",
this.statp.onclick = this.stat_click.bind(this),
this.statp.onmouseover = this.stat_mouseover.bind(this),
this.statp.onmouseout = this.stat_mouseout.bind(this),
this.cam_c.appendChild(this.statp)) : this.statp.style.display = "block"),
this.video = document.createElement("video"),
this.video.id = "video" + this.camno,
this.video.volume = 0,
this.video.muted = !0,
this.video.playsinline = !0,
this.video.setAttribute("playsinline", "playsinline"),
this.video.ondblclick = this.dblclick_video.bind(this),
this.cam_c.appendChild(this.video),
null === this.vab ? (this.vab = new fc_vab,
this.cam_c.appendChild(this.vab.elem)) : this.vab.elem.style.display = "block",
null === this.topbar ? (this.topbar = document.createElement("div"),
this.topbar.className = "topbar",
this.cam_c.appendChild(this.topbar)) : this.topbar.style.display = "block",
this.you || (null === this.volrange ? (this.volrange = document.createElement("input"),
this.volrange.className = "volume",
this.volrange.type = "range",
this.volrange.oninput = this.input_volrange.bind(this),
this.cam_c.appendChild(this.volrange)) : this.volrange.style.display = "inline-block",
null === this.mutebtn ? (this.mutebtn = document.createElement("button"),
this.mutebtn.className = "mutebtn muted material-icons",
this.mutebtn.onclick = this.click_mute.bind(this),
this.cam_c.appendChild(this.mutebtn)) : this.mutebtn.style.display = "inline-block"),
null === this.maxbtn ? (this.maxbtn = document.createElement("button"),
this.maxbtn.className = "maxbtn material-icons",
this.maxbtn.innerHTML = "fullscreen",
this.maxbtn.onclick = this.click_maxcam.bind(this),
this.cam_c.appendChild(this.maxbtn)) : this.maxbtn.style.display = "inline-block",
null === this.stopbtn && (this.stopbtn = document.createElement("button"),
this.stopbtn.className = "stopbtn material-icons",
this.stopbtn.innerHTML = "stop",
this.stopbtn.onclick = this.click_stopcam.bind(this),
this.cam_c.appendChild(this.stopbtn)),
this.canstop() ? this.stopbtn.style.display = "inline-block" : this.stopbtn.style.display = "none",
this.you || (null === this.pausebtn ? (this.pausebtn = document.createElement("button"),
this.pausebtn.className = "pausebtn material-icons",
this.pausebtn.innerHTML = "pause_circle_outline",
this.pausebtn.onclick = this.click_pausecam.bind(this),
this.cam_c.appendChild(this.pausebtn)) : this.pausebtn.style.display = "inline-block"),
null === this.bottombar ? (this.bottombar = document.createElement("div"),
this.bottombar.className = "bottombar",
this.cam_c.appendChild(this.bottombar)) : this.bottombar.style.display = "block",
null === this.namep ? (this.namep = document.createElement("p"),
this.namep.className = "name " + this.user.getnccl(),
this.namep.onclick = this.menu_cb,
this.cam_c.appendChild(this.namep)) : (this.namep.className = "name " + this.user.getnccl(),
this.namep.style.display = "block"),
this.namep.setAttribute("data-uuid", this.user.uuid),
this.namep.style.pointerEvents = "auto",
this.namep.innerHTML = this.user.username,
this.you || (null === this.loading ? (this.loading = new fc_camload(this.ws.theme.btnup,this.ws.theme.btnover),
this.loading.show(),
this.cam_c.appendChild(this.loading.elem)) : this.loading.show()),
this.you ? (this.video.srcObject = this.local_stream,
this.vab.setstream(this.local_stream),
this.starttime = Date.now(),
this.video.play(),
0 < this.local_stream.getAudioTracks().length && (null === this.mutebtn ? (this.mutebtn = document.createElement("button"),
this.mutebtn.className = "mutebtn muted material-icons",
this.mutebtn.onclick = this.click_mute.bind(this),
this.cam_c.appendChild(this.mutebtn)) : this.mutebtn.style.display = "inline-block",
this.mutebtn.className = "mutebtn material-icons",
this.vab.play())) : (null !== this.rtcpull && (this.rtcpull.selfdestruct(),
this.rtcpull = null),
this.rtcpull = new fc_rtcpull(this.ws,this.pb,this),
this.ws.sendpbuf(1200711, this.pb.roots.default.fc.p_1200711.encode({
cn: this.camno,
op1: !0,
op2: !1,
op3: !1
}, null).finish()),
this.volrange.value = 100 * this.video.volume)
}
,
fc_cam.prototype.canstop = function() {
return this.you || this.user.modlvl < this.ws.modlvl && (100 === this.ws.modlvl && this.ws.pol_modstopcam || 100 < this.ws.modlvl)
}
,
fc_cam.prototype.pausecam = function(t) {
this.user = t,
this.paused = !0,
this.dodemax(),
this.cleanuprtc(),
null !== this.mobskin && (this.mobskin.style.display = "none"),
null !== this.video && (this.video.parentNode.removeChild(this.video),
this.video = null),
null !== this.topbar && (this.topbar.style.display = "none"),
null !== this.statp && (this.statp.style.display = "none"),
null !== this.maxbtn && (this.maxbtn.style.display = "none"),
null !== this.pausebtn && (this.pausebtn.style.display = "none"),
null !== this.stopbtn && (this.stopbtn.style.display = "none"),
null !== this.bottombar && (this.bottombar.style.display = "none"),
null === this.namep ? (this.namep = document.createElement("p"),
this.namep.className = "name paused " + this.user.getnccl(),
this.namep.onclick = this.menu_cb,
this.cam_c.appendChild(this.namep)) : (this.namep.className = "name paused " + this.user.getnccl(),
this.namep.style.display = "block"),
this.namep.style.pointerEvents = "none",
this.namep.innerHTML = t.username,
null !== this.vab && (this.vab.stop(),
this.vab.setstream(null),
this.vab.elem.style.display = "none"),
null !== this.volrange && (this.volrange.style.display = "none"),
null !== this.mutebtn && (this.mutebtn.style.display = "none"),
null !== this.loading && this.loading.hide(),
null !== this.startbtn && (this.startbtn.style.display = "none"),
null === this.unpausebtn ? (this.unpausebtn = document.createElement("div"),
this.unpausebtn.className = "unpause",
this.unpausebtn.onclick = this.click_unpausecam.bind(this),
t = document.createElement("span"),
this.unpausebtn.appendChild(t),
this.cam_c.appendChild(this.unpausebtn)) : this.unpausebtn.style.display = "grid"
}
,
fc_cam.prototype.stopcam = function() {
var t;
this.user = null,
this.you = !1,
this.paused = !1,
this.starttime = 0,
this.dodemax(),
this.cleanuprtc(),
null !== this.mobskin && (this.mobskin.style.display = "none"),
null !== this.video && (this.video.parentNode.removeChild(this.video),
this.video = null),
null !== this.topbar && (this.topbar.style.display = "none"),
null !== this.statp && (this.statp.style.display = "none"),
null !== this.maxbtn && (this.maxbtn.style.display = "none"),
null !== this.pausebtn && (this.pausebtn.style.display = "none"),
null !== this.stopbtn && (this.stopbtn.style.display = "none"),
null !== this.bottombar && (this.bottombar.style.display = "none"),
null !== this.namep && (this.namep.style.display = "none"),
null !== this.vab && (this.vab.stop(),
this.vab.setstream(null),
this.vab.elem.style.display = "none"),
null !== this.volrange && (this.volrange.style.display = "none"),
null !== this.mutebtn && (this.mutebtn.style.display = "none"),
null !== this.loading && this.loading.hide(),
null !== this.unpausebtn && (this.unpausebtn.style.display = "none"),
null === this.startbtn ? (this.startbtn = document.createElement("div"),
this.startbtn.className = "camstart",
this.startbtn.onclick = this.click_startcam.bind(this),
t = document.createElement("span"),
this.startbtn.appendChild(t),
this.cam_c.appendChild(this.startbtn)) : this.startbtn.style.display = "grid"
}
,
fc_cam.prototype.havecam = function(t) {
for (var e = t.getTracks(), n = 0; n < e.length; n++)
;
this.video.muted = !0,
this.video.srcObject = t,
this.local_stream = t,
this.starttime = Date.now()
}
,
fc_cam.prototype.pshid = function(t) {
if (null !== this.rtcpush && 0 !== this.rtcpush.length)
for (var e = 0; e < this.rtcpush.length; e++)
if (this.rtcpush[e].finish)
this.rtcpush.splice(e, 1),
e = 0;
else if (this.rtcpush[e].tid === t)
return this.rtcpush[e];
return null
}
,
fc_cam.prototype.offerreq = function(t) {
var e;
this.you && null !== this.local_stream && (null === this.rtcpush && (this.rtcpush = []),
null === (e = this.pshid(t)) && (e = Date.now() - this.starttime < this.offersonhold_delay ? (null === this.offersonhold && (this.offersonhold = []),
null === this.offersonhold_interval && (this.offersonhold_interval = setInterval(this.ofonhold.bind(this), this.offersonhold_delay)),
new fc_rtcpush(this.ws,this.pb,this,t,this.local_stream,this.offersonhold)) : new fc_rtcpush(this.ws,this.pb,this,t,this.local_stream,null),
this.rtcpush.push(e)),
e.offerreq())
}
,
fc_cam.prototype.ofonhold = function(t) {
var e;
0 < this.offersonhold.length && (e = this.offersonhold.slice(),
this.offersonhold = [],
this.ws.sendpbuf(1200724, this.pb.roots.default.fc.p_1200724.encode({
sdp: e
}, null).finish())),
Date.now() - this.starttime > 3 * this.offersonhold_delay && (clearInterval(this.offersonhold_interval),
this.offersonhold_interval = null)
}
,
fc_cam.prototype.offer = function(t, e) {
null !== this.rtcpull && this.rtcpull.offer(t, e)
}
,
fc_cam.prototype.answer = function(t, e) {
this.you && null !== (t = this.pshid(t)) && t.answer(e)
}
,
fc_cam.prototype.ice = function(t, e) {
this.you ? null !== (t = this.pshid(t)) && t.ice(e) : null !== this.rtcpull && this.rtcpull.ice(e)
}
,
fc_cam.prototype.close = function(t) {
var e;
this.you ? null !== (e = this.pshid(t)) && e.selfdestruct() : null !== this.rtcpull && this.rtcpull.tid === t && (this.rtcpull.selfdestruct(),
this.rtcpull = null)
}
,
fc_camload.prototype.show = function() {
if (null === this.loading) {
this.loading = document.createElement("div"),
this.loading.className = "ld1";
for (var t = 0; t < 4; t++) {
var e = document.createElement("div")
, n = (e.className = "out",
document.createElement("div"));
n.className = "in",
e.appendChild(n),
this.loading.appendChild(e),
this.blocks.push(e)
}
this.elem.appendChild(this.loading)
}
"block" !== this.elem.style.display && (this.elem.style.display = "block"),
0 === this.interval && (this.interval = setInterval(this.tick.bind(this), 300))
}
,
fc_camload.prototype.tick = function() {
var t = this.blocks[this.step];
t.style.backgroundColor = this.c1,
t.style.opacity = .4,
this.step === this.blocks.length - 1 ? this.step = 0 : this.step++,
(t = this.blocks[this.step]).style.backgroundColor = this.c2,
t.style.opacity = .8
}
,
fc_camload.prototype.hide = function() {
"block" === this.elem.style.display && (this.elem.style.display = "none"),
0 !== this.interval && (clearInterval(this.interval),
this.interval = 0)
}
,
fc_chatbox.prototype.entypeline = function() {
this.p_typing_line = document.createElement("p"),
this.p_typing_line.className = "typing",
this.p_typing_names = document.createElement("span"),
this.p_typing_line.appendChild(this.p_typing_names),
this.p_typing_status = document.createElement("span"),
this.p_typing_line.appendChild(this.p_typing_status),
this.elem.appendChild(this.p_typing_line)
}
,
fc_chatbox.prototype.settyping = function(t, e, n) {
let i = !1;
this.isscrollpinned() && (i = !0);
0 === n ? this.p_typing_line.style.display = "none" : (this.p_typing_line.style.display = "inline-block",
this.p_typing_names.innerText = t,
this.p_typing_names.className = "nm " + this.ml2nc(e),
1 === n && (this.p_typing_status.innerText = "is typing",
this.p_typing_status.className = "takago fcsys"),
2 === n && (this.p_typing_status.innerText = "stopped typing",
this.p_typing_status.className = "takastop fcsys")),
i && this.scrolldown()
}
,
fc_chatbox.prototype.mkts = function(t) {
let e;
e = 0 === t ? new Date : new Date(t + this.ws.tmdelta);
t = document.createElement("span");
return t.className = "ts fcts",
t.innerText = "[" + e.toLocaleTimeString() + "] ",
t
}
,
fc_chatbox.prototype.addyoutube = function(t) {
var e = document.createElement("p")
, n = (e.appendChild(this.mkts(0)),
document.createElement("span"));
n.innerHTML = "YouTube now playing " + t,
n.className = "fcsys yt",
n.onclick = this.youtube_cb,
e.appendChild(n),
this.addpara(e)
}
,
fc_chatbox.prototype.addroll = function(t, e, n, i, s) {
let o = "[ROLL] " + t + " rolled " + n + "d" + i + " ";
for (var c = 0; c < s.length; c++)
o += s[c] + " ";
this.addsys(o, e)
}
,
fc_chatbox.prototype.addsys = function(t, e) {
var n = document.createElement("p")
, i = (n.appendChild(this.mkts(0)),
document.createElement("span"));
i.innerHTML = t,
i.className = "sysmsg fcsys",
"number" == typeof e && (i.className = "sysmsg fcsys menuable",
i.setAttribute("data-uuid", e),
i.onclick = this.menu_cb),
n.appendChild(i),
this.addpara(n)
}
,
fc_chatbox.prototype.addme = function(t, e, n, i, s, o) {
let c;
c = o ? e + "'s " + i : e + " " + i;
o = document.createElement("p"),
o.appendChild(this.mkts(t)),
e = document.createElement("span");
e.innerHTML = c,
e.className = "me " + this.ml2nc(s),
e.setAttribute("data-uuid", n),
e.onclick = this.menu_cb,
o.appendChild(e),
this.addpara(o)
}
,
fc_chatbox.prototype.addnormal = function(e, n, i, s, o, c, r, l) {
try {
if (0 < l) {
if (l <= this.lastmn)
return;
this.lastmn = l
}
// Beep when a PM is received.
else {
var beepToggle = new URLSearchParams(window.location.search);
// The username of the sender is stored in "e".
// Your username is stored in "this.ws.username".
// Only sound beep when it is a PM from anyone but yourself, and doesn't start with nb or NB (NoBeep)
// Only beep if querystring "beep" value is not set to "Off"
if (n != this.ws.username && !(o.toUpperCase().startsWith("NB")) && beepToggle.get('beep') != 'Off' ) {
// Prefix the PM Message with a "🔈". Mostly for sanity check.
o = "🔈" + o;
// Play the beep.
//new Audio("data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQwAEaYLWfkWgAI0wWs/ItAAAGDgYtAgAyN+QWaAAihwMWm4G8QQRDiMcCBcH3Cc+CDv/7xA4Tvh9Rz/y8QADBwMWgQAZG/ILNAARQ4GLTcDeIIIhxGOBAuD7hOfBB3/94gcJ3w+o5/5eIAIAAAVwWgQAVQ2ORaIQwEMAJiDg95G4nQL7mQVWI6GwRcfsZAcsKkJvxgxEjzFUgfHoSQ9Qq7KNwqHwuB13MA4a1q/DmBrHgPcmjiGoh//EwC5nGPEmS4RcfkVKOhJf+WOgoxJclFz3kgn//dBA+ya1GhurNn8zb//9NNutNuhz31f////9vt///z+IdAEAAAK4LQIAKobHItEIYCGAExBwe8jcToF9zIKrEdDYIuP2MgOWFSE34wYiR5iqQPj0JIeoVdlG4VD4XA67mAcNa1fhzA1jwHuTRxDUQ//iYBczjHiTJcIuPyKlHQkv/LHQUYkuSi57yQT//uggfZNajQ3Vmz+ Zt//+mm3Wm3Q576v////+32///5/EOgAAADVghQAAAAA//uQZAUAB1WI0PZugAAAAAoQwAAAEk3nRd2qAAAAACiDgAAAAAAABCqEEQRLCgwpBGMlJkIz8jKhGvj4k6jzRnqasNKIeoh5gI7BJaC1A1AoNBjJgbyApVS4IDlZgDU5WUAxEKDNmmALHzZp0Fkz1FMTmGFl1FMEyodIavcCAUHDWrKAIA4aa2oCgILEBupZgHvAhEBcZ6joQBxS76AgccrFlczBvKLC0QI2cBoCFvfTDAo7eoOQInqDPBtvrDEZBNYN5xwNwxQRfw8ZQ5wQVLvO8OYU+mHvFLlDh05Mdg7BT6YrRPpCBznMB2r//xKJjyyOh+cImr2/4doscwD6neZjuZR4AgAABYAAAABy1xcdQtxYBYYZdifkUDgzzXaXn98Z0oi9ILU5mBjFANmRwlVJ3/6jYDAmxaiDG3/6xjQQCCKkRb/6kg/wW+kSJ5//rLobkLSiKmqP/0ikJuDaSaSf/6JiLYLEYnW/+kXg1WRVJL/9EmQ1YZIsv/6Qzwy5qk7/+tEU0nkls3/zIUMPKNX/6yZLf+kFgAfgGyLFAUwY//uQZAUABcd5UiNPVXAAAApAAAAAE0VZQKw9ISAAACgAAAAAVQIygIElVrFkBS+Jhi+EAuu+lKAkYUEIsmEAEoMeDmCETMvfSHTGkF5RWH7kz/ESHWPAq/kcCRhqBtMdokPdM7vil7RG98A2sc7zO6ZvTdM7pmOUAZTnJW+NXxqmd41dqJ6mLTXxrPpnV8avaIf5SvL7pndPvPpndJR9Kuu8fePvuiuhorgWjp7Mf/PRjxcFCPDkW31srioCExivv9lcwKEaHsf/7ow2Fl1T/9RkXgEhYElAoCLFtMArxwivDJJ+bR1HTKJdlEoTELCIqgEwVGSQ+hIm0NbK8WXcTEI0UPoa2NbG4y2K00JEWbZavJXkYaqo9CRHS55FcZTjKEk3NKoCYUnSQ 0rWxrZbFKbKIhOKPZe1cJKzZSaQrIyULHDZmV5K4xySsDRKWOruanGtjLJXFEmwaIbDLX0hIPBUQPVFVkQkDoUNfSoDgQGKPekoxeGzA4DUvnn4bxzcZrtJyipKfPNy5w+9lnXwgqsiyHNeSVpemw4bWb9psYeq//uQZBoABQt4yMVxYAIAAAkQoAAAHvYpL5m6AAgAACXDAAAAD59jblTirQe9upFsmZbpMudy7Lz1X1DYsxOOSWpfPqNX2WqktK0DMvuGwlbNj44TleLPQ+Gsfb+GOWOKJoIrWb3cIMeeON6lz2umTqMXV8Mj30yWPpjoSa9ujK8SyeJP5y5mOW1D6hvLepeveEAEDo0mgCRClOEgANv3B9a6fikgUSu/DmAMATrGx7nng5p5iimPNZsfQLYB2sDLIkzRKZOHGAaUyDcpFBSLG9MCQALgAIgQs2YunOszLSAyQYPVC2YdGGeHD2dTdJk1pAHGAWDjnkcLKFymS3RQZTInzySoBwMG0QueC3gMsCEYxUqlrcxK6k1LQQcsmyYeQPdC2YfuGPASCBkcVMQQqpVJshui1tkXQJQV0OXGAZMXSOEEBRirXbVRQW7ugq7IM7rPWSZyDlM3IuNEkxzCOJ0ny2ThNkyRai1b6ev//3dzNGzNb//4uAvHT5sURcZCFcuKLhOFs8mLAAEAt4UWAAIABAAAAAB4qbHo0tIjVkUU//uQZAwABfSFz3ZqQAAAAAngwAAAE1HjMp2qAAAAACZDgAAAD5UkTE1UgZEUExqYynN1qZvqIOREEFmBcJQkwdxiFtw0qEOkGYfRDifBui9MQg4QAHAqWtAWHoCxu1Yf4VfWLPIM2mHDFsbQEVGwyqQoQcwnfHeIkNt9YnkiaS1oizycqJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7 FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb//////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=").play();
new Audio('data:audio/ogg;base64,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').play();
}
}
var a = document.createElement("p");
a.setAttribute("data-t", "c"),
a.appendChild(this.mkts(e));
let t = document.createElement("span");
t.innerHTML = n + ": ",
t.className = "nm " + this.ml2nc(s),
t.setAttribute("data-uuid", i),
t.onclick = this.menu_cb,
a.appendChild(t),
(t = document.createElement("span")).style.color = c,
t.className = "msg fs_" + r,
t.innerHTML = o,
a.appendChild(t),
this.addpara(a)
} catch (t) {}
}
,
fc_chatbox.prototype.addpara = function(e) {
try {
let t = !1;
this.isscrollpinned() && (t = !0),
null === this.p_typing_line ? this.elem.appendChild(e) : this.elem.insertBefore(e, this.p_typing_line),
this.elem.childNodes.length > this.ws.chatmaxline && this.elem.removeChild(this.elem.firstChild),
t && this.scrolldown()
} catch (t) {}
}
,
fc_chatbox.prototype.setrecon = function(t) {
var e;
null !== this.span_recon ? this.span_recon.innerText = "Connection lost, reconnecting (" + t + ")" : ((e = document.createElement("p")).appendChild(this.mkts(0)),
this.span_recon = document.createElement("span"),
this.span_recon.innerText = "Connection lost, reconnecting (" + t + ")",
this.span_recon.className = "sysmsg fcsys",
e.appendChild(this.span_recon),
this.addpara(e))
}
,
fc_chatbox.prototype.setrecon_done = function() {
null !== this.span_recon && (this.span_recon.innerText = "Connection has been restored",
this.span_recon = null)
}
,
fc_chatbox.prototype.purge = function(e) {
for (let t = -1; t < this.elem.childNodes.length; t++) {
var n = this.elem.childNodes[t];
void 0 !== n && "c" === n.dataset.t && n.innerHTML.includes(e) && (this.elem.removeChild(n),
t--)
}
this.scrolldown()
}
,
fc_chatbox.prototype.isscrollpinned = function() {
return -4 < Math.round(this.elem.scrollTop) - (this.elem.scrollHeight - this.elem.clientHeight)
}
,
fc_chatbox.prototype.scrolldown = function() {
this.elem.scrollTop = this.elem.scrollHeight - this.elem.clientHeight
}
,
fc_chatbox.prototype.pad2 = function(t) {
return t < 10 ? "0" + t : t
}
,
fc_chatbox.prototype.ml2nc = function(t) {
switch (t) {
case 100:
return "fcmod";
case 150:
return "fcsuper";
case 200:
return "fcowner";
case 300:
return "fcadmin";
default:
return "fcuser"
}
}
,
fc_chatbox.prototype.history = function(e, t, n) {
if (this.lastmn > t && (this.lastmn = t - e.length),
null !== e && 0 !== e.length) {
e.sort(function(t, e) {
return t.ts > e.ts
});
for (let t = 0; t < e.length; t++) {
var i = e[t];
this.addnormal(i.ts, i.snm, i.suuid, i.ml, i.msg, i.clr, i.sz, i.mn),
null === n.gubuid(i.suuid) && n.addleftskel(i.suuid, i.snm, i.ml, !0)
}
}
this.scrolldown()
}
,
fc_checkbox.prototype.setattrib = function(t, e) {
this.cb.setAttribute(t, e)
}
,
fc_checkbox.prototype.addonclick = function(t) {
this.elem.addEventListener("click", t)
}
,
fc_checkbox.prototype.check = function(t) {
this.cb.checked = t
}
,
fc_checkbox.prototype.getstate = function() {
return this.cb.checked
}
,
fc_checkbox.prototype.ischecked = function() {
return this.cb.checked
}
,
fc_checkbox.prototype.checked = function() {
return this.cb.checked
}
,
fc_config.prototype.readjson = function(t) {
if (0 !== t.length)
try {
var e, n = JSON.parse(t);
for (e in n)
this.set(e, n[e])
} catch (t) {}
}
,
fc_config.prototype.setdef = function(t) {
this.def_settings = t
}
,
fc_config.prototype.set = function(e, n) {
if (this.get(e) !== n) {
let t = !1;
var i = this.def_settings[e];
if (void 0 !== i && i === n && (void 0 !== this.settings[e] && delete this.settings[e],
t = !0),
!t)
for (var s in this.settings)
s === e && (this.settings[e] = n,
t = !0);
t || (this.settings[e] = n),
this.applysetting_cb(e, n)
}
}
,
fc_config.prototype.setandsave = function(t, e) {
this.set(t, e),
this.save()
}
,
fc_config.prototype.get = function(t) {
var e = this.settings[t];
return void 0 !== e ? e : this.def_settings[t]
}
,
fc_config.prototype.save = function() {
var t = JSON.stringify(this.settings);
this.ws.sendpbuf(1200331, this.pb.roots.default.fc.p_1200331.encode({
cnf: t
}, null).finish())
}
,
fc_ctrlpm.prototype.entaka = function(t) {
for (var e in this.taka_enable = t,
this.wndpm)
this.wndpm[e].entaka(t)
}
,
fc_ctrlpm.prototype.enblockpm = function(t) {
for (var e in this.blockpm_enable = t,
this.wndpm)
this.wndpm[e].enblockpm(t)
}
,
fc_ctrlpm.prototype.enrecvsnd = function(t) {
for (var e in this.recvsnd_enable = t,
this.wndpm)
this.wndpm[e].enrecvsnd(t)
}
,
fc_ctrlpm.prototype.getpm = function(t) {
var e, n;
return this.wndpm.hasOwnProperty(t) || (e = this.ul.gubuid(t),
(n = new fc_wndpm(this.ws,this.pb,this.wndctrl,this.msglimit,this.umcb,e.username,e.uuid,this.font_colour,this.font_size)).entaka(this.taka_enable),
n.enblockpm(this.blockpm_enable),
n.enrecvsnd(this.recvsnd_enable),
e.setpmwnd(n),
this.wndpm[t] = n),
this.wndpm[t]
}
,
fc_ctrlpm.prototype.updatemaxlen = function() {
for (var t in this.wndpm)
this.wndpm[t].updatemaxlen()
}
,
fc_ctrlpm.prototype.updatefc = function(t) {
for (var e in this.font_colour = t,
this.wndpm)
this.wndpm[e].updatefc(this.font_colour)
}
,
fc_ctrlpm.prototype.updatefs = function(t) {
for (var e in this.font_size = t,
this.wndpm)
this.wndpm[e].updatefs(this.font_size)
}
,
fc_ctrlpm.prototype.notifytaka = function(t, e) {
this.wndpm.hasOwnProperty(t) && this.wndpm[t].rcvtaka(e)
}
,
fc_ctrlpm.prototype.notifypmblock = function(t, e) {
this.wndpm.hasOwnProperty(t) && this.wndpm[t].rcvpmblock(e)
}
,
fc_ctrlpm.prototype.status = function(t) {
this.wndpm.hasOwnProperty(t) && this.wndpm[t].status()
}
,
fc_ctrlpm.prototype.closeuuid = function(t) {
for (var e in this.wndpm)
this.wndpm[e].uuid === t && this.wndpm[e].close()
}
,
fc_ctrlwnd.prototype.addwindow = function(t, e, n, i) {
var s = this
, o = this.wnd_array.length
, c = new fc_wnd(this.parent_elem,o,i,t,e,n);
return c.elem.addEventListener("mousedown", function(t) {
return t.stopPropagation(),
s.stealfocus(c),
!0
}),
c.elem_header.addEventListener("mousedown", function() {
return s.draggo(c),
!1
}),
c.elem_header.addEventListener("touchstart", function(t) {
t = t.targetTouches[0];
return s.mouse_x = t.pageX,
s.mouse_y = t.pageY,
s.draggo(c),
!1
}),
i && (c.rz_left.onmousedown = function(t) {
return t.stopPropagation(),
s.resizego(c, !0, !1, !1),
s.stealfocus(c),
!1
}
,
c.rz_right.onmousedown = function(t) {
return t.stopPropagation(),
s.resizego(c, !1, !0, !1),
s.stealfocus(c),
!1
}
,
c.rz_bottom.onmousedown = function(t) {
return t.stopPropagation(),
s.resizego(c, !1, !1, !0),
s.stealfocus(c),
!1
}
,
c.rz_bottomleft.onmousedown = function(t) {
return t.stopPropagation(),
s.resizego(c, !0, !1, !0),
s.stealfocus(c),
!1
}
,
c.rz_bottomright.onmousedown = function(t) {
return t.stopPropagation(),
s.resizego(c, !1, !0, !0),
s.stealfocus(c),
!1
}
),
this.wnd_array.push(c),
c
}
,
fc_ctrlwnd.prototype.stealfocus = function(t) {
null === t ? null !== this.wnd_infocus && (this.wnd_infocus.unfocus(),
this.wnd_infocus = null) : (null !== this.wnd_infocus && (this.wnd_infocus.unfocus(),
this.wnd_infocus = null),
this.wnd_infocus = t,
this.wnd_infocus.focus(this.zindex_inc),
this.zindex_inc++)
}
,
fc_ctrlwnd.prototype.draggo = function(t) {
this.drag_wnd = t,
this.drag_elem_x = this.mouse_x - t.elem.offsetLeft,
this.drag_elem_y = this.mouse_y - t.elem.offsetTop
}
,
fc_ctrlwnd.prototype.resizego = function(t, e, n, i) {
this.resize_wnd = t,
this.drag_elem_x = this.mouse_x - t.elem.offsetLeft,
this.drag_elem_y = this.mouse_y - t.elem.offsetTop,
this.resize_left = e,
this.resize_right = n,
this.resize_bottom = i,
!this.resize_left || this.resize_bottom || this.resize_right ? this.resize_left && this.resize_bottom && !this.resize_right ? document.getElementsByTagName("body")[0].style.cursor = "sw-resize" : this.resize_left || !this.resize_bottom || this.resize_right ? !this.resize_left && this.resize_bottom && this.resize_right ? document.getElementsByTagName("body")[0].style.cursor = "se-resize" : this.resize_left || this.resize_bottom || !this.resize_right || (document.getElementsByTagName("body")[0].style.cursor = "e-resize") : document.getElementsByTagName("body")[0].style.cursor = "s-resize" : document.getElementsByTagName("body")[0].style.cursor = "w-resize"
}
,
fc_ctrlwnd.prototype.docmousemove = function(t, e) {
this.mouse_x = t,
this.mouse_y = e,
null !== this.drag_wnd && (this.drag_wnd.elem.style.left = this.mouse_x - this.drag_elem_x + "px",
this.drag_wnd.elem.style.top = this.mouse_y - this.drag_elem_y + "px"),
null !== this.resize_wnd && (this.resize_left && (t = this.resize_wnd.elem.offsetLeft,
this.resize_wnd.elem.clientWidth - (this.mouse_x - this.drag_elem_x - t) > this.resize_wnd.min_width) && (this.resize_wnd.elem.style.left = this.mouse_x - this.drag_elem_x + "px",
this.resize_wnd.elem.style.width = this.resize_wnd.elem.clientWidth - (this.resize_wnd.elem.offsetLeft - t) + "px"),
this.resize_right && (this.resize_wnd.elem.style.width = this.mouse_x - (this.resize_wnd.elem.offsetLeft + this.resize_wnd.elem.parentNode.offsetLeft) + "px"),
this.resize_bottom && (this.resize_wnd.elem.style.height = this.mouse_y - (this.resize_wnd.elem.offsetTop + this.resize_wnd.elem.parentNode.offsetTop) + "px"),
this.resize_wnd.wnd_onresize())
}
,
fc_ctrlwnd.prototype.docmouseup = function() {
this.drag_wnd = null,
this.resize_wnd = null,
document.getElementsByTagName("body")[0].style.cursor = "default"
}
,
fc_layout.prototype.getcam = function(t) {
for (var e = 0; e < this.cams.length; e++)
if (this.cams[e].camno === t)
return this.cams[e];
return null
}
,
fc_layout.prototype.gcbu = function(t) {
for (var e = 0; e < this.cams.length; e++)
if (this.cams[e].username === t)
return this.cams[e];
return null
}
,
fc_layout.prototype.offerreq = function(t, e) {
for (var n, i = 0; i < this.cams.length; i++)
if ((n = this.cams[i]).camno === t) {
n.offerreq(e);
break
}
}
,
fc_layout.prototype.offer = function(t, e, n) {
for (var i, s = 0; s < this.cams.length; s++)
if ((i = this.cams[s]).camno === t) {
i.offer(e, n);
break
}
}
,
fc_layout.prototype.answer = function(t, e, n) {
t = this.getcam(t);
null !== t && t.answer(e, n)
}
,
fc_layout.prototype.ice = function(t, e, n) {
t = this.getcam(t);
null !== t && t.ice(e, n)
}
,
fc_layout.prototype.close = function(t, e) {
t = this.getcam(t);
null !== t && t.close(e)
}
,
fc_layout.prototype.modchg = function(t) {
for (var e = 0; e < this.cams.length; e++) {
var n = this.cams[e];
null === n.user || t !== n.user.username && t !== this.ws.username || n.modchg()
}
}
,
fc_layout.prototype.showlist = function(t, e) {
if (2 !== this.cur_layout) {
for (var n = [], i = 0; i < t.length; i++)
n[t[i].cn] = t[i];
for (var s, o, i = 0; i < n.length; i++)
void 0 === n[i] ? (o = this.cams[i]).stopcam() : null !== (s = e.gubn(n[i].nm)) && ((o = this.cams[i]).setiser(n[i].cs.fn, n[i].cs.lc, n[i].cs.ta, n[i].cs.tu, n[i].cs.tp),
this.kageshi_mode ? o.pausecam(s) : o.showcam(s, !1))
}
this.joined = !0
}
,
fc_layout.prototype.setkmode = function(t) {
this.kageshi_mode = t;
for (var e = 0; e < this.cams.length; e++)
this.cams[e].setkmode(t)
}
,
fc_layout.prototype.camsrvchg = function(t, e, n) {
e = this.getcam(e);
null !== e && e.setiser(n.fn, n.lc, n.ta, n.tu, n.tp)
}
,
fc_layout.prototype.showcam = function(t, e, n, i) {
var s, o = !1;
try {
var c = i.gubn(t);
null !== c && (2 !== this.cur_layout && (s = this.cams[e]),
this.ws.username === t && (o = !0),
s.setiser(n.fn, n.lc, n.ta, n.tu, n.tp),
!o && this.kageshi_mode ? s.pausecam(c) : s.showcam(c, o))
} catch (t) {}
}
,
fc_layout.prototype.stopcam = function(t) {
var e, n;
try {
for (e = 0; e < this.cams.length; e++)
if ((n = this.cams[e]).camno === t) {
2 === this.cur_layout ? (n.stopcam(),
n.selfdestruct(),
this.cams.splice(e, 1)) : n.stopcam();
break
}
} catch (t) {}
}
,
fc_layout.prototype.setup = function(t) {
switch (this.wndmedia.click_cancel(),
t) {
case 1:
default:
case 2:
this.set1();
break;
case 3:
this.set3();
break;
case 4:
this.set4();
break;
case 5:
this.set5();
break;
case 6:
this.set6();
break;
case 7:
this.set7();
break;
case 8:
this.set8();
break;
case 9:
this.set9()
}
this.setkmode(this.kageshi_mode)
}
,
fc_layout.prototype.createCam = function(t, e) {
t = new fc_cam(this.ws,this.pb,this.div_maxcont,this.cams.length,t,e,this.wndmedia,this.tip,this.menu_cb,this.volhist);
return this.cams.push(t),
t
}
,
fc_layout.prototype.clearLayout = function() {
for (this.cams = []; this.elem.hasChildNodes(); )
this.elem.removeChild(this.elem.lastChild);
this.elem.innerHTML = ""
}
,
fc_layout.prototype.set1 = function() {
this.clearLayout()
}
,
fc_layout.prototype.set2 = function() {}
,
fc_layout.prototype.dynstart = function() {}
,
fc_layout.prototype.set3 = function() {
this.clearLayout();
for (var t = 0; t < 8; t++) {
var e = this.createCam("4:3", "25%");
this.elem.appendChild(e.elem)
}
this.cur_layout = 3
}
,
fc_layout.prototype.set4 = function() {
this.clearLayout();
var t = this.createCam("4:3", "50%")
, e = (this.elem.appendChild(t.elem),
document.createElement("div"))
, n = (e.className = "camcol_a",
e.style.width = "50%",
this.elem.appendChild(e),
document.createElement("div"))
, e = (n.className = "camcol_b",
n.style.paddingTop = "75%",
e.appendChild(n),
document.createElement("div"))
, t = (e.className = "camcol_c",
n.appendChild(e),
this.createCam("4:3", "50%"))
, t = (e.appendChild(t.elem),
this.createCam("4:3", "50%"))
, t = (e.appendChild(t.elem),
this.createCam("4:3", "50%"))
, t = (e.appendChild(t.elem),
this.createCam("4:3", "50%"));
e.appendChild(t.elem),
this.cur_layout = 4
}
,
fc_layout.prototype.set5 = function() {
this.clearLayout();
var t = this.createCam("4:3", "50%");
this.elem.appendChild(t.elem),
t = this.createCam("4:3", "50%"),
this.elem.appendChild(t.elem),
this.cur_layout = 5
}
,
fc_layout.prototype.set6 = function() {
this.clearLayout();
for (var t = 0; t < 12; t++) {
var e = this.createCam("16:9", "25%");
this.elem.appendChild(e.elem)
}
this.cur_layout = 6
}
,
fc_layout.prototype.set7 = function() {
this.clearLayout();
for (var t = 0; t < 6; t++) {
var e = this.createCam("16:9", "33.33%");
this.elem.appendChild(e.elem)
}
this.cur_layout = 7
}
,
fc_layout.prototype.set8 = function() {
this.clearLayout();
var t = this.createCam("16:9", "66.6%")
, e = (this.elem.appendChild(t.elem),
document.createElement("div"))
, n = (e.className = "camcol_a",
e.style.width = "33.3%",
this.elem.appendChild(e),
document.createElement("div"))
, e = (n.className = "camcol_b",
e.appendChild(n),
document.createElement("div"))
, t = (e.className = "camcol_c",
n.appendChild(e),
this.createCam("16:9", "100%"))
, t = (e.appendChild(t.elem),
this.createCam("16:9", "100%"));
e.appendChild(t.elem),
this.cur_layout = 8
}
,
fc_layout.prototype.set9 = function() {
this.clearLayout();
var t = this.createCam("21:9", "100%");
this.elem.appendChild(t.elem),
this.cur_layout = 9
}
,
fc_left.prototype.mod = function() {
this.modlvl = 100
}
,
fc_left.prototype.unmod = function() {
this.modlvl = 0
}
,
fc_left.prototype.block = function() {
this.blocked = !0
}
,
fc_left.prototype.unblock = function() {
this.blocked = !1
}
,
fc_menu.prototype.mouseleave = function(t) {
null !== this.leavetimeout && (clearTimeout(this.leavetimeout),
this.leavetimeout = null),
this.leavetimeout = setTimeout(this.close.bind(this), 1e3)
}
,
fc_menu.prototype.mouseenter = function(t) {
null !== this.leavetimeout && (clearTimeout(this.leavetimeout),
this.leavetimeout = null)
}
,
fc_menu.prototype.close = function() {
null !== this.leavetimeout && (clearTimeout(this.leavetimeout),
this.leavetimeout = null),
null !== this.showtimeout && (clearTimeout(this.showtimeout),
this.showtimeout = null),
this.elem.style.display = "none"
}
,
fc_menu.prototype.open = function(t, e, n, i, s, o, c) {
this.t_uuid = n,
this.t_username = i,
this.t_modlvl = s,
this.t_online = o,
this.t_blocked = c,
this.h_title.innerHTML = this.t_username,
this.t_username === this.ws.username ? this.buildself() : this.t_online ? this.ws.isguest ? this.buildother_g() : this.buildother() : this.buildleft(),
this.elem.style.display = "block",
"mobile" !== this.ws.mode && (this.elem.style.left = t + "px",
this.elem.style.top = e + "px",
this.elem.getBoundingClientRect().left + this.elem.clientWidth + 10 >= window.innerWidth && (this.elem.style.left = t - this.elem.clientWidth + "px"),
this.elem.getBoundingClientRect().top + this.elem.clientHeight + 10 >= window.innerHeight && (this.elem.style.top = e - this.elem.clientHeight + "px"),
this.showtimeout = setTimeout(this.close.bind(this), 2e4))
}
,
fc_menu.prototype.buildself = function() {
var t = this.lo.gcbu(this.t_username);
this.btn_stopcam.style.display = "none",
this.btn_pausecam.style.display = "none",
this.btn_mutecam.style.display = "none",
null !== t && t.canstop() && (this.btn_stopcam.style.display = "block"),
this.btn_pm.style.display = "block",
this.btn_profile.style.display = "block",
this.btn_block.style.display = "none",
this.btn_unblock.style.display = "none",
this.btn_mod.style.display = "none",
this.btn_unmod.style.display = "none",
this.btn_kick.style.display = "block",
this.btn_ban48.style.display = "block",
this.btn_banperma.style.display = "none",
this.btn_purge.style.display = "none",
this.btn_siteban.style.display = "none"
}
,
fc_menu.prototype.buildleft = function() {
this.btn_stopcam.style.display = "none",
this.btn_pausecam.style.display = "none",
this.btn_mutecam.style.display = "none",
this.btn_pm.style.display = "none",
this.btn_block.style.display = "none",
this.btn_unblock.style.display = "none",
this.btn_purge.style.display = "none",
this.btn_siteban.style.display = "none",
this.btn_kick.style.display = "none",
this.btn_profile.style.display = "block",
this.t_blocked ? (this.btn_block.style.display = "none",
this.btn_unblock.style.display = "block") : (this.btn_block.style.display = "block",
this.btn_unblock.style.display = "none"),
150 <= this.ws.modlvl && this.t_modlvl < 100 ? this.btn_mod.style.display = "block" : this.btn_mod.style.display = "none",
150 <= this.ws.modlvl && 100 === this.t_modlvl ? this.btn_unmod.style.display = "block" : this.btn_unmod.style.display = "none",
100 <= this.ws.modlvl && this.t_modlvl < this.ws.modlvl ? this.btn_kick.style.display = "block" : this.btn_kick.style.display = "none",
150 <= this.ws.modlvl && this.t_modlvl < this.ws.modlvl ? (this.btn_ban48.style.display = "block",
this.btn_banperma.style.display = "block") : (this.btn_ban48.style.display = "none",
this.btn_banperma.style.display = "none"),
150 <= this.ws.modlvl && this.t_modlvl < this.ws.modlvl ? this.btn_purge.style.display = "block" : this.btn_purge.style.display = "none",
300 <= this.ws.modlvl && this.t_modlvl < this.ws.modlvl ? this.btn_siteban.style.display = "block" : this.btn_siteban.style.display = "none"
}
,
fc_menu.prototype.buildother = function() {
var t = this.ws.modlvl
, e = this.t_modlvl
, n = (this.ws.isguest,
this.lo.gcbu(this.t_username));
this.btn_stopcam.style.display = "none",
this.btn_pausecam.style.display = "none",
this.btn_mutecam.style.display = "none",
null !== n && (n.canstop() && (this.btn_stopcam.style.display = "block"),
n.paused ? this.btn_pausecam.innerText = "play cam" : this.btn_pausecam.innerText = "pause cam",
this.btn_pausecam.style.display = "block",
n.video.muted ? this.btn_mutecam.innerText = "unmute cam" : this.btn_mutecam.innerText = "mute cam",
this.btn_mutecam.style.display = "block"),
this.btn_pm.style.display = "block",
this.btn_profile.style.display = "block",
this.t_blocked ? (this.btn_block.style.display = "none",
this.btn_unblock.style.display = "block") : (this.btn_block.style.display = "block",
this.btn_unblock.style.display = "none"),
this.btn_mod.style.display = 150 <= t && e < 100 ? "block" : "none",
this.btn_unmod.style.display = 150 <= t && 100 === e ? "block" : "none",
100 <= t && e < this.ws.modlvl ? this.btn_kick.style.display = "block" : this.btn_kick.style.display = "none",
150 <= t && e < t ? (this.btn_ban48.style.display = "block",
this.btn_banperma.style.display = "block") : (this.btn_ban48.style.display = "none",
this.btn_banperma.style.display = "none"),
this.btn_purge.style.display = 150 <= t && e < t ? "block" : "none",
this.btn_siteban.style.display = 300 <= t && e < t ? "block" : "none"
}
,
fc_menu.prototype.buildother_g = function() {
this.ws.modlvl,
this.t_modlvl;
var t = this.lo.gcbu(this.t_username);
this.btn_stopcam.style.display = "none",
this.btn_pausecam.style.display = "none",
this.btn_mutecam.style.display = "none",
null !== t && (t.you || (t.paused ? this.btn_pausecam.innerText = "play cam" : this.btn_pausecam.innerText = "pause cam",
this.btn_pausecam.style.display = "block"),
t.you || (t.video.muted ? this.btn_mutecam.innerText = "unmute cam" : this.btn_mutecam.innerText = "mute cam",
this.btn_mutecam.style.display = "block")),
this.btn_pm.style.display = "none",
this.btn_profile.style.display = "block",
this.btn_block.style.display = "none",
this.btn_unblock.style.display = "none",
this.btn_mod.style.display = "none",
this.btn_unmod.style.display = "none",
this.btn_kick.style.display = "none",
this.btn_ban48.style.display = "none",
this.btn_banperma.style.display = "none",
this.btn_purge.style.display = "none",
this.btn_siteban.style.display = "none"
}
,
fc_menu.prototype.btnclick = function(t) {
switch (t.target.dataset.btntype) {
case "stopcam":
null !== (e = this.lo.gcbu(this.t_username)) && e.click_stopcam(t);
break;
case "pausecam":
null !== (e = this.lo.gcbu(this.t_username)) && (e.paused ? e.click_unpausecam(t) : e.click_pausecam(t));
break;
case "mutecam":
null !== (e = this.lo.gcbu(this.t_username)) && e.click_mute(t);
break;
case "pm":
var e = this.pmctrl.getpm(this.t_uuid);
e.open(),
e.focuswnd();
break;
case "profile":
window.open("/profiles/?uuid=" + this.t_uuid);
break;
case "block":
this.ws.sendpbuf(1200341, this.pb.roots.default.fc.p_1200341.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "unblock":
this.ws.sendpbuf(1200343, this.pb.roots.default.fc.p_1200343.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "mod":
this.ws.sendpbuf(1200811, this.pb.roots.default.fc.p_1200811.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "unmod":
this.ws.sendpbuf(1200815, this.pb.roots.default.fc.p_1200815.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "kick":
this.ws.sendpbuf(1200831, this.pb.roots.default.fc.p_1200831.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "ban48":
this.ws.sendpbuf(1200841, this.pb.roots.default.fc.p_1200841.encode({
uuid: this.t_uuid,
prm: !1
}, null).finish());
break;
case "banperma":
this.ws.sendpbuf(1200841, this.pb.roots.default.fc.p_1200841.encode({
uuid: this.t_uuid,
prm: !0
}, null).finish());
break;
case "purge":
this.ws.sendpbuf(1200851, this.pb.roots.default.fc.p_1200851.encode({
uuid: this.t_uuid
}, null).finish());
break;
case "siteban":
this.ws.sendpbuf(1200881, this.pb.roots.default.fc.p_1200881.encode({
uuid: this.t_uuid
}, null).finish())
}
this.close()
}
,
fc_msglimit.prototype.updateml = function(t) {
switch (t) {
case 0:
this.max_strikes = 4,
this.max_msg_length = 300;
break;
case 100:
this.max_strikes = 6,
this.max_msg_length = 500;
break;
case 150:
this.max_strikes = 8,
this.max_msg_length = 700;
break;
case 200:
this.max_strikes = 10,
this.max_msg_length = 900;
break;
case 300:
this.max_strikes = 12,
this.max_msg_length = 1200
}
}
,
fc_msglimit.prototype.cansend = function(t, e) {
var n = 0
, i = (new Date).getTime();
if (i < this.prev_msg_time + this.msg_interval && (1 < e ? n += e : n++),
(t.length > this.max_msg_length || 0 === t.length) && (n += this.max_strikes),
0 < n ? this.cur_strikes += n : this.cur_strikes = 0,
this.enforced) {
if (i < this.prev_msg_time + this.cooloff_time)
return this.prev_msg_time = i,
!1
} else if (this.cur_strikes >= this.max_strikes)
return this.prev_msg_time = i,
!(this.enforced = !0);
return this.msg_count++,
this.enforced = !1,
this.prev_msg = t,
this.prev_msg_time = i,
!0
}
,
fc_msk.prototype.clear = function() {
for (null !== this.interval && (clearInterval(this.interval),
this.interval = null); this.elem.firstChild; )
this.elem.removeChild(this.elem.firstChild);
this.h1_status = null,
this.p_info = null,
this.p_countdown = null,
this.span_countdown = null,
this.text_password = null,
this.button = null
}
,
fc_msk.prototype.showcs = function(t, e) {
1 !== this.mode && (this.mode = 1,
this.clear(),
this.h1_status = document.createElement("h1"),
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.elem.appendChild(this.p_info)),
this.h1_status.innerText = t,
this.p_info.innerText = e
}
,
fc_msk.prototype.showps = function() {
2 !== this.mode && (this.mode = 2,
this.clear(),
this.h1_status = document.createElement("h1"),
this.h1_status.innerHTML = "Enter Password",
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.p_info.innerHTML = "This room requires a password to join, you will need to get this from the room owner.",
this.elem.appendChild(this.p_info),
this.text_password = document.createElement("input"),
this.text_password.setAttribute("type", "password"),
this.text_password.maxLength = 16,
this.text_password.onkeyup = this.pw_keyup.bind(this),
this.elem.appendChild(this.text_password),
this.button = document.createElement("button"),
this.button.innerHTML = "Enter",
this.button.onclick = this.pw_click.bind(this),
this.elem.appendChild(this.button)),
this.text_password.value = "",
this.text_password.focus()
}
,
fc_msk.prototype.pw_keyup = function(t) {
13 === t.keyCode && this.connectpw(this.text_password.value)
}
,
fc_msk.prototype.pw_click = function(t) {
this.connectpw(this.text_password.value)
}
,
fc_msk.prototype.connectpw = function(t) {
0 < t.length && (this.showcs("Connecting"),
this.ws.roompass = t,
this.ws.start())
}
,
fc_msk.prototype.showjo = function() {
3 !== this.mode && (this.mode = 3,
this.clear(),
this.h1_status = document.createElement("h1"),
this.h1_status.innerHTML = "Already in room",
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.p_info.innerHTML = "You are already connected to this room, do you want to disconnect the other session and let this tab take over?",
this.elem.appendChild(this.p_info),
this.button = document.createElement("button"),
this.button.innerHTML = "OK ReJoin",
this.button.onclick = this.jobtn_click.bind(this),
this.elem.appendChild(this.button))
}
,
fc_msk.prototype.jobtn_click = function(t) {
this.showcs("Connecting"),
this.ws.joinover = !0,
this.ws.start()
}
,
fc_msk.prototype.showws = function(t, e) {
4 !== this.mode && (this.mode = 4,
this.clear(),
this.h1_status = document.createElement("h1"),
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.elem.appendChild(this.p_info),
this.p_countdown = document.createElement("p"),
this.elem.appendChild(this.p_countdown)),
this.h1_status.innerHTML = "Waiting before reconnect",
this.p_info.innerHTML = e,
this.deadline = Date.now() + (t + 200),
this.interval = setInterval(this.waitcd.bind(this), 97)
}
,
fc_msk.prototype.waitcd = function() {
0 < this.deadline - Date.now() ? this.p_countdown.innerHTML = "Rejoin in " + this.ws.mstohr(this.deadline - Date.now()) : (clearInterval(this.interval),
this.showcs("Rejoining Room", ""),
this.ws.start())
}
,
fc_msk.prototype.showks = function(t, e, n, i) {
5 !== this.mode && (this.mode = 5,
this.clear(),
this.h1_status = document.createElement("h1"),
this.h1_status.innerHTML = "Kicked",
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.elem.appendChild(this.p_info));
t = "You were kicked from the room by <strong>" + t + "</strong> for " + this.ws.stohr(n);
t += "<br><span id='kickcountdown'></span>",
0 < e.length && (t += "<br><br><i>" + e + "</i>"),
this.p_info.innerHTML = t,
this.span_countdown = document.getElementById("kickcountdown"),
this.deadline = Date.now() + 1e3 * i + 250,
this.kickcd(),
this.interval = setInterval(this.kickcd.bind(this), 100)
}
,
fc_msk.prototype.kickcd = function() {
0 < this.deadline - Date.now() ? this.span_countdown.innerHTML = "This kick expires in <strong>" + this.ws.mstohr(this.deadline - Date.now()) + "</strong>" : (clearInterval(this.interval),
this.span_countdown.innerHTML = "<strong>Kick has expired</strong>",
this.button = document.createElement("button"),
this.button.innerHTML = "Rejoin Room",
this.button.onclick = this.kick_click.bind(this),
this.elem.appendChild(this.button))
}
,
fc_msk.prototype.kick_click = function(t) {
this.showcs("Rejoining Room", ""),
this.ws.start()
}
,
fc_msk.prototype.showbs = function(t, e, n, i, s) {
6 !== this.mode && (this.mode = 6,
this.clear(),
this.h1_status = document.createElement("h1"),
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.elem.appendChild(this.p_info));
t = "<strong>" + t + "</strong> is banned from this room<br/>";
i || (t += "<span id='bancountdown'>This ban expires in <strong>" + this.ws.stohr(n) + "</strong></span>",
this.deadline = Date.now() + 1e3 * n + 1e3,
this.interval = setInterval(this.bancd.bind(this), 100)),
0 < s.length && (t += "</br><br/><i>" + s + "</i>"),
this.h1_status.innerHTML = "Banned",
this.p_info.innerHTML = t,
this.span_countdown = document.getElementById("bancountdown")
}
,
fc_msk.prototype.bancd = function() {
0 < this.deadline - Date.now() ? this.span_countdown.innerHTML = "This ban expires in <strong>" + this.ws.mstohr(this.deadline - Date.now()) + "</strong>" : (clearInterval(this.interval),
this.span_countdown.innerHTML = "<strong>Ban expired, please refresh to continue</strong>")
}
,
fc_msk.prototype.showds = function() {
7 !== this.mode && (this.mode = 7,
this.clear(),
this.h1_status = document.createElement("h1"),
this.elem.appendChild(this.h1_status),
this.p_info = document.createElement("p"),
this.elem.appendChild(this.p_info)),
this.h1_status.innerHTML = "Room Deleted",
this.p_info.innerHTML = "This room has been deleted"
}
,
fc_recon.prototype.mkcountdown = function() {
var t = Math.floor(Math.random() * (this.recon_stepmax - this.recon_min)) + this.recon_min;
return this.recon_stepmax < this.recon_max && (this.recon_stepmax += 1e3),
t
}
,
fc_recon.prototype.mkcountdown_extra = function() {
return Math.floor(2e4 * Math.random()) + 5e3
}
,
fc_recon.prototype.start = function(t) {
this.last_reconstart < (new Date).getTime() - 3e5 && (this.recon_stepmax = 1e3),
this.last_reconstart = (new Date).getTime(),
void 0 === t ? this.startrecon(this.mkcountdown()) : this.startrecon(t)
}
,
fc_recon.prototype.startrecon = function(t) {
this.ws.t2exp.getTime() < (new Date).getTime() && !this.waiting_t2 && this.reqt2(),
this.recnt_prx >= this.max_recnt_prx && this.reqprx(),
0 !== this.recon_timeout && (clearTimeout(this.recon_timeout),
this.recon_timeout = 0),
0 !== this.countdown_timer && (clearInterval(this.countdown_timer),
this.countdown_timer = 0),
this.countdown_target = Date.now() + t,
this.recon_timeout = setTimeout(this.recontick.bind(this), t),
this.countdown_timer = setInterval(this.countdowntick.bind(this), 1e3),
this.countdowntick()
}
,
fc_recon.prototype.done = function() {
this.cb.setrecon_done(),
0 !== this.recon_timeout && (clearTimeout(this.recon_timeout),
this.recon_timeout = 0),
0 !== this.countdown_timer && (clearInterval(this.countdown_timer),
this.countdown_timer = 0),
this.waiting_prx = !1,
this.waiting_t2 = !1
}
,
fc_recon.prototype.failed = function(t) {
0 !== this.recon_timeout && (clearTimeout(this.recon_timeout),
this.recon_timeout = 0),
0 !== this.countdown_timer && (clearInterval(this.countdown_timer),
this.countdown_timer = 0),
this.setmsg("failed to reconnect"),
this.cb.addsys(t)
}
,
fc_recon.prototype.setmsg = function(t) {
null !== this.cb ? this.cb.setrecon(t) : this.msk.showcs("Connecting", "Retrying connection (" + t + ")")
}
,
fc_recon.prototype.reqprx = function() {
this.setmsg("route change"),
this.waiting_prx = !0,
this.reqprx_cb(this.prxcb.bind(this))
}
,
fc_recon.prototype.prxcb = function(t, e) {
200 === e ? t.hasOwnProperty("error") ? (this.setmsg("failed to reconnect"),
this.failed("Session error, please refresh the page to continue. (" + t.error + ")")) : (this.setmsg("changed route"),
this.waiting_prx = !1,
this.ws.addr = t.addr,
this.recnt_prx = 0) : this.setmsg("route change failed")
}
,
fc_recon.prototype.reqt2 = function() {
this.setmsg("refreshing token"),
this.waiting_t2 = !0,
this.t2src_cb(this.t2cb.bind(this))
}
,
fc_recon.prototype.t2cb = function(t, e) {
200 === e ? t.hasOwnProperty("error") ? (this.setmsg("failed to reconnect"),
this.failed("Session error, please refresh the page to continue. (" + t.error + ")")) : (this.setmsg("token refreshed"),
this.waiting_t2 = !1,
this.ws.t2 = t.t2,
this.ws.t2exp = new Date(t.exp)) : this.setmsg("token refresh failed")
}
,
fc_recon.prototype.recontick = function() {
this.waiting_t2 || this.ws.t2exp.getTime() < (new Date).getTime() ? (this.start(this.mkcountdown_extra()),
this.reqt2()) : this.waiting_prx || 0 === this.ws.addr.length ? (this.start(this.mkcountdown_extra()),
this.reqprx()) : (this.setmsg("connecting"),
this.recnt_prx++,
this.ws.start())
}
,
fc_recon.prototype.countdowntick = function() {
this.waiting_prx;
var t = this.countdown_target - Date.now();
500 < t && this.setmsg("in " + this.ws.mstohr(t))
}
,
fc_rtcpull.prototype.selfdestruct = function() {
this.finish || (this.finish = !0,
this.ws = null,
this.pb = null,
this.cam = null,
this.vstream = null,
this.astream = null,
this.icestack = [],
null !== this.rtcpeer && (this.rtcpeer.close(),
this.rtcpeer.onicecandidate = null,
this.rtcpeer.onicegatheringstatechange = null,
this.rtcpeer.oniceconnectionstatechange = null,
this.rtcpeer.ontrack = null,
this.rtcpeer = null),
0 !== this.stat_interval && (clearInterval(this.stat_interval),
this.stat_interval = 0),
this.dcintrv_stop())
}
,
fc_rtcpull.prototype.statstart = function() {
this.stat_vis = !0,
this.stat_viscount = 0
}
,
fc_rtcpull.prototype.statstop = function() {
this.stat_vis = !1,
this.stat_viscount = 0
}
,
fc_rtcpull.prototype.stattick = function() {
var o;
null === this.rtcpeer ? (clearInterval(this.stat_interval),
this.stat_interval = 0) : "connected" === this.rtcpeer.iceConnectionState && (this.stat_vis || !this.stat_vis && this.stat_viscount < 120) ? (o = this).rtcpeer.getStats(null).then(function(s) {
s.forEach(function(t) {
var e, n, i;
"inbound-rtp" === t.type && "audio" === t.mediaType && 0 === o.acodec.length && (t.hasOwnProperty("codecId") ? o.acodec = o.getcodec(s, t.codecId) : o.acodec = "unsupported by browser"),
"inbound-rtp" === t.type && "video" === t.mediaType && (i = "",
(n = e = 0) === o.vcodec.length && (t.hasOwnProperty("codecId") ? o.vcodec = o.getcodec(s, t.codecId) : o.vcodec = "unsupported by browser"),
t.hasOwnProperty("framesReceived") ? (i = 0 !== (e = t.framesReceived - o.frame_prev) && 0 !== o.frame_prev ? e + " fps<br>" : "- fps<br>",
o.frame_prev = t.framesReceived) : t.hasOwnProperty("framerateMean") && (i = 0 !== (e = t.framesReceived - o.frame_prev) ? Math.round(t.framerateMean) + " fps<br>" : "- fps<br>"),
t.hasOwnProperty("bytesReceived") && (0 !== (n = (t.bytesReceived - o.byte_prev) / 1024) && 0 !== o.byte_prev ? i += n.toFixed(2) + " KiB/s" : i += "-.-- KiB/s",
o.byte_prev = t.bytesReceived),
o.cam.statp.innerHTML = i,
o.stat_vis || o.stat_viscount++)
})
}) : (this.byte_prev = 0,
this.frame_prev = 0)
}
,
fc_rtcpull.prototype.getcodec = function(t, e) {
var n = "unknown";
return t.forEach(function(t) {
"codec" === t.type && t.hasOwnProperty("id") && t.hasOwnProperty("mimeType") && t.id === e && (n = t.hasOwnProperty("channels") ? t.mimeType + " " + t.channels + "ch" : t.mimeType)
}),
n
}
,
fc_rtcpull.prototype.statresults = function(t) {}
,
fc_rtcpull.prototype.offer = function(t, e) {
if (this.dcintrv_stop(),
this.d_offer = !1,
this.d_ice = !1,
this.failed = !1,
this.cndcount = 0,
this.rscount++,
!this.d_offer) {
this.d_offer = !0;
var n = this;
this.tid = t;
try {
null !== this.rtcpeer && (this.rtcpeer.close(),
this.rtcpeer.onicecandidate = null,
this.rtcpeer.onicegatheringstatechange = null,
this.rtcpeer.oniceconnectionstatechange = null,
this.rtcpeer.ontrack = null,
this.rtcpeer = null),
this.rtcpeer = new RTCPeerConnection(this.cam.iser),
this.stat_interval = setInterval(this.stattick.bind(this), 1e3),
this.rtcpeer.onicecandidate = this.onicecandidate.bind(this),
this.rtcpeer.onicegatheringstatechange = this.onicegatheringstatechange.bind(this),
this.rtcpeer.oniceconnectionstatechange = this.oniceconnectionstatechange.bind(this),
this.rtcpeer.ontrack = this.gotremotestream.bind(this);
var i = new RTCSessionDescription({
type: "offer",
sdp: e
});
if (this.rtcpeer.setRemoteDescription(i).then(function() {
n.onsetremotesuccess()
}, function() {
n.onsetremoteerror()
}),
0 < this.icestack.length) {
for (var s = 0; s < this.icestack.length; s++)
this.ice(this.icestack[s]);
this.icestack = []
}
this.rtcpeer.createAnswer({
offerToReceiveAudio: 1,
offerToReceiveVideo: 1
}).then(function(t) {
n.oncreateanswersuccess(t)
}, function(t) {
n.oncreateanswererror(t)
})
} catch (t) {}
}
}
,
fc_rtcpull.prototype.gotremotestream = function(t) {
if ("video" === t.receiver.track.kind)
try {
this.vstream = t.streams[0],
this.cam.video.srcObject = this.vstream,
this.playremotevideo()
} catch (t) {}
else
"audio" === t.receiver.track.kind && 0 !== t.streams.length && this.cam.setpull_vabstream(t.streams[0])
}
,
fc_rtcpull.prototype.playremotevideo = function() {
let e = this
, t = this.cam.video.play();
this.playtimeout = setTimeout(function() {
e.playremotevideo()
}, 1e4),
void 0 !== t && t.then(function() {
clearTimeout(e.playtimeout)
}).catch(function(t) {
clearTimeout(e.playtimeout),
"NotAllowedError" === t.name && null !== e.cam && e.cam.click_pausecam()
})
}
,
fc_rtcpull.prototype.onsetremotesuccess = function(t) {}
,
fc_rtcpull.prototype.onsetremoteerror = function() {}
,
fc_rtcpull.prototype.oncreateanswersuccess = function(t) {
var e = this;
this.rtcpeer.setLocalDescription(t).then(function() {
e.onsetlocalsuccess(t.sdp)
}, function(t) {
e.onsetlocalerror(t)
}),
this.srd_done = !0
}
,
fc_rtcpull.prototype.oncreateanswererror = function(t) {}
,
fc_rtcpull.prototype.onsetlocalsuccess = function(t) {
this.ws.sendpbuf(1200735, this.pb.roots.default.fc.p_1200735.encode({
sdp: {
cn: this.cam.camno,
ti: this.tid,
dsc: t
}
}, null).finish())
}
,
fc_rtcpull.prototype.onsetlocalerror = function(t) {}
,
fc_rtcpull.prototype.ice = function(t) {
null === this.rtcpeer ? this.icestack.push(t) : (t = new RTCIceCandidate(JSON.parse(t)),
this.rtcpeer.addIceCandidate(t).then(function() {}).catch(function(t) {}))
}
,
fc_rtcpull.prototype.onicecandidate = function(t) {
var e;
null !== this.rtcpeer && (null === t.candidate ? 0 === this.cndcount && (this.rp_rtcerr(2),
this.dcintrv_start()) : -1 === (e = t.candidate.candidate).indexOf("typ host") && -1 === e.indexOf("srflx") && 0 < e.length && (this.cndcount++,
this.ws.sendpbuf(1200747, this.pb.roots.default.fc.p_1200747.encode({
cn: this.cam.camno,
ti: this.tid,
cnd: JSON.stringify(t.candidate)
}, null).finish())))
}
,
fc_rtcpull.prototype.onicegatheringstatechange = function(t) {
null !== this.rtcpeer && "complete" === this.rtcpeer.iceGatheringState && "connected" !== this.rtcpeer.iceConnectionState && (this.dcintrv_start(),
this.stagcount = 4)
}
,
fc_rtcpull.prototype.oniceconnectionstatechange = function(t) {
null !== this.rtcpeer && (this.stagcount = 0,
"failed" === this.rtcpeer.iceConnectionState ? (this.failed = !0,
this.cam.loading.show(),
this.rp_rtcerr(4),
this.dcintrv_start()) : "disconnected" === this.rtcpeer.iceConnectionState ? (setTimeout(this.loadshowtimeout.bind(this), 3e3),
this.rp_rtcerr(6),
this.dcintrv_start()) : "connected" === this.rtcpeer.iceConnectionState && this.cam.loading.hide())
}
,
fc_rtcpull.prototype.loadshowtimeout = function() {
"disconnected" === this.rtcpeer.iceConnectionState && this.cam.loading.show()
}
,
fc_rtcpull.prototype.dcintrv_start = function() {
this.dcintrv_stop();
var t = Math.floor(7001 * Math.random()) + 5e3;
this.dc_interval = setInterval(this.dcintrv_check.bind(this), t)
}
,
fc_rtcpull.prototype.dcintrv_stop = function() {
0 !== this.dc_interval && (clearInterval(this.dc_interval),
this.dc_interval = 0)
}
,
fc_rtcpull.prototype.dcintrv_check = function() {
"disconnected" === this.rtcpeer.iceConnectionState || "failed" === this.rtcpeer.iceConnectionState ? this.reqrst() : "connected" === this.rtcpeer.iceConnectionState ? this.dcintrv_stop() : "new" === this.rtcpeer.iceConnectionState && (3 < this.stagcount ? (this.stagcount = 0,
this.rp_rtcerr(7),
this.reqrst()) : this.stagcount++)
}
,
fc_rtcpull.prototype.rp_rtcerr = function(t) {
this.ws.sendpbuf(1200799, this.pb.roots.default.fc.p_1200799.encode({
cn: this.cam.camno,
ti: this.tid,
er: t
}, null).finish())
}
,
fc_rtcpull.prototype.reqrst = function() {
4 < this.rscount ? this.cam.click_pausecam() : this.ws.sendpbuf(1200797, this.pb.roots.default.fc.p_1200797.encode({
cn: this.cam.camno,
ti: this.tid
}, null).finish())
}
,
fc_rtcpush.prototype.selfdestruct = function() {
this.finish || (this.finish = !0,
this.ws = null,
this.pb = null,
(this.local_stream = null) !== this.offersonhold && (this.offersonhold = null),
null !== this.rtcpeer && (this.rtcpeer.close(),
this.rtcpeer.onicecandidate = null,
this.rtcpeer.oniceconnectionstatechange = null,
this.rtcpeer = null))
}
,
fc_rtcpush.prototype.offerreq = function() {
this.d_offer = !1,
this.d_answer = !1,
this.d_ice = !1,
this.failed = !1,
this.cndcount = 0;
var e = this;
this.d_offer || this.d_answer || (this.d_offer = !0,
this.rtcpeer = new RTCPeerConnection(this.cam.iser),
this.rtcpeer.onicecandidate = this.onicecandidate.bind(this),
this.rtcpeer.onicegatheringstatechange = this.onicegatheringstatechange.bind(this),
this.rtcpeer.oniceconnectionstatechange = this.oniceconnectionstatechange.bind(this),
this.rtcpeer.addStream(this.local_stream),
this.rtcpeer.createOffer({
offerToReceiveAudio: 1,
offerToReceiveVideo: 1
}).then(function(t) {
e.oncreateoffersuccess(t)
}, function(t) {
e.oncreatesessiondescriptionerror(t)
}))
}
,
fc_rtcpush.prototype.oncreateoffersuccess = function(t) {
var e = this;
this.rtcpeer.setLocalDescription(t).then(function() {
e.onsetlocalsuccess(t.sdp)
}, function(t) {
e.oncreatesessiondescriptionerror(t)
})
}
,
fc_rtcpush.prototype.onsetlocalsuccess = function(t) {
t = {
cn: this.cam.camno,
ti: this.tid,
dsc: t
};
null === this.offersonhold ? this.ws.sendpbuf(1200723, this.pb.roots.default.fc.p_1200723.encode({
sdp: t
}, null).finish()) : (this.offersonhold.push(t),
this.offersonhold = null)
}
,
fc_rtcpush.prototype.oncreatesessiondescriptionerror = function(t) {}
,
fc_rtcpush.prototype.answer = function(t) {
var e;
this.d_offer && !this.d_answer && (this.d_answer = !0,
e = this,
t = new RTCSessionDescription({
type: "answer",
sdp: t
}),
this.rtcpeer.setRemoteDescription(t).then(function() {
e.onsetremotesuccess()
}, function(t) {
e.onsetsessiondescriptionerror(t)
}))
}
,
fc_rtcpush.prototype.onsetremotesuccess = function(t) {
this.srd_done = !0
}
,
fc_rtcpush.prototype.onsetsessiondescriptionerror = function(t) {}
,
fc_rtcpush.prototype.ice = function(t) {
this.d_ice || (t = new RTCIceCandidate(JSON.parse(t)),
this.rtcpeer.addIceCandidate(t).then(function() {}).catch(function(t) {}))
}
,
fc_rtcpush.prototype.onicecandidate = function(t) {
null === t.candidate ? 0 === this.cndcount && this.rp_rtcerr(1) : -1 === t.candidate.candidate.indexOf("typ host") && -1 === t.candidate.candidate.indexOf("srflx") && 0 < t.candidate.candidate.length && (this.cndcount++,
this.ws.sendpbuf(1200747, this.pb.roots.default.fc.p_1200747.encode({
cn: this.cam.camno,
ti: this.tid,
cnd: JSON.stringify(t.candidate)
}, null).finish()))
}
,
fc_rtcpush.prototype.onicegatheringstatechange = function(t) {}
,
fc_rtcpush.prototype.oniceconnectionstatechange = function(t) {
"failed" === this.rtcpeer.iceConnectionState ? (this.failed = !0,
this.rp_rtcerr(3)) : "disconnected" === this.rtcpeer.iceConnectionState ? this.rp_rtcerr(5) : this.rtcpeer.iceConnectionState
}
,
fc_rtcpush.prototype.rp_rtcerr = function(t) {
this.ws.sendpbuf(1200799, this.pb.roots.default.fc.p_1200799.encode({
cn: this.cam.camno,
ti: this.tid,
er: t
}, null).finish())
}
,
fc_status.prototype.enautoidle = function(t) {
t ? (this.autoidle_enable = !0,
null === this.idleinterval && (this.idleinterval = setInterval(this.tick.bind(this), 26e3),
this.lastact = Date.now(),
this.lastreturn = Date.now())) : (this.autoidle_enable = !1,
null !== this.idleinterval && clearInterval(this.idleinterval))
}
,
fc_status.prototype.update = function(t, e) {
t === this.ws.username && (this.statuslevel = e.lv,
this.statustime = e.ct,
this.statusmsg = e.msg)
}
,
fc_status.prototype.act = function() {
this.ws.isguest || (this.lastact = Date.now(),
3 === this.statuslevel && 500 < Date.now() - this.lastreturn && (this.ws.sendpbuf(1200311, this.pb.roots.default.fc.p_1200311.encode({
il: !1,
tm: this.tbi
}, null).finish()),
this.lastreturn = Date.now()))
}
,
fc_status.prototype.tick = function() {
this.ws.isguest || 1 === this.statuslevel && Date.now() - this.lastact > this.tbi && this.autoidle_enable && this.ws.sendpbuf(1200311, this.pb.roots.default.fc.p_1200311.encode({
il: !0,
tm: this.tbi
}, null).finish())
}
,
fc_switch.prototype.create = function(t, e) {
this.elem = document.createElement("div"),
this.elem.className = "cbwlbl",
this.elem.onclick = this.lblclick.bind(this);
var n = document.createElement("label")
, t = (n.className = "switch",
this.cb = document.createElement("input"),
this.cb.type = "checkbox",
this.cb.checked = t,
document.createElement("span"));
t.className = "slider",
n.appendChild(this.cb),
n.appendChild(t),
this.elem.appendChild(n),
this.ptext = document.createElement("p"),
this.ptext.innerHTML = e,
this.elem.appendChild(this.ptext)
}
,
fc_switch.prototype.lblclick = function(t) {
this.cb.checked = !this.cb.checked
}
,
fc_switch.prototype.addonclick = function(t) {
this.cb.addEventListener("click", t),
this.elem.addEventListener("click", t)
}
,
fc_switch.prototype.check = function(t) {
this.cb.checked = t
}
,
fc_switch.prototype.getstate = function() {
return this.cb.checked
}
,
fc_switch.prototype.ischecked = function() {
return this.cb.checked
}
,
fc_switch.prototype.checked = function() {
return this.cb.checked
}
,
fc_tip.prototype.show = function(t, e, n) {
this.config = n,
this.reqx = t,
this.reqy = e,
null !== this.hidetimeout ? (clearTimeout(this.hidetimeout),
this.hidetimeout = null,
this.display()) : this.showtimeout = setTimeout(this.display.bind(this), 750)
}
,
fc_tip.prototype.cancel = function() {
null !== this.showtimeout ? (clearTimeout(this.showtimeout),
this.showtimeout = null) : this.hidetimeout = setTimeout(this.undisplay.bind(this), 150)
}
,
fc_tip.prototype.display = function() {
switch (this.showtimeout = null,
this.config.buildtype) {
case "userinfo":
this.build_userinfo(this.config.user);
break;
case "camstats":
this.build_camstats(this.config.cs_name, this.config.cs_loc)
}
this.elem.style.left = this.reqx + "px",
this.elem.style.top = this.reqy + "px",
this.elem.getBoundingClientRect().left + this.elem.clientWidth + 10 >= window.innerWidth && (this.elem.style.left = this.reqx - this.elem.clientWidth + "px"),
this.elem.getBoundingClientRect().top + this.elem.clientHeight + 10 >= window.innerHeight && (this.elem.style.top = this.reqy - this.elem.clientHeight + "px")
}
,
fc_tip.prototype.undisplay = function() {
this.hidetimeout = null,
this.elem.style.opacity = 0
}
,
fc_tip.prototype.build_userinfo = function(t) {
var e = Date.now() + this.ws.tmdelta
, n = "<b>" + t.username + "</b>";
switch (t.modlvl) {
case 100:
n += " (<span class='" + t.getnccl() + "'>Mod</span>)<br/>";
break;
case 150:
n += " (<span class='" + t.getnccl() + "'>Super</span>)<br/>";
break;
case 200:
n += " (<span class='" + t.getnccl() + "'>Owner</span>)<br/>";
break;
case 300:
n += " (<span class='" + t.getnccl() + "'>Admin</span>)<br/>";
break;
default:
n += "<br/>"
}
n += "Online for " + this.ws.mstohr(e - t.jointime),
2 === t.statuslevel ? (n += "<br/>AFK for " + this.ws.mstohr(e - t.statustime),
0 < t.statusmsg.length && (n += "<br/>" + t.statusmsg)) : 3 === t.statuslevel && (n += "<br/>Idle for " + this.ws.mstohr(e - t.statustime)),
0 < t.ping && (n += "<br/>Ping " + t.ping + "ms"),
this.p_message.innerHTML = n,
this.elem.style.opacity = 1
}
,
fc_tip.prototype.build_camstats = function(t, e) {
this.p_message.innerHTML = "<b>" + t + "</b><br>" + e,
this.elem.style.opacity = 1
}
,
fc_toolbox.prototype.mkguest = function() {
this.text_msg.disabled = !0,
this.text_msg.value = "You need to login to send messages, guest."
}
,
fc_toolbox.prototype.setfont = function(t, e) {
this.font_colour = t,
this.text_cp.jscolor.fromString(t),
this.text_msg.style.color = t,
this.pmctrl.updatefc(t),
this.font_size = e,
this.text_msg.className = "chatmsg fs_" + this.font_size,
this.sel_fs.selectedIndex = e,
this.pmctrl.updatefs(e)
}
,
fc_toolbox.prototype.refresh = function() {
this.text_msg.maxLength = this.msglimit.max_msg_length
}
,
fc_toolbox.prototype.toglyt = function() {
"mobile" !== this.ws.mode && this.ws.pol_allowyoutube ? this.btn_ytpl.style.display = "inline-block" : this.btn_ytpl.style.display = "none"
}
,
fc_toolbox.prototype.cp_change = function(t) {
var e = "#" + this.text_cp.value;
this.setfont(e, this.font_size),
this.ws.cnf.setandsave("fc", e)
}
,
fc_toolbox.prototype.fs_change = function(t) {
t = t.target.options[t.target.selectedIndex].value;
this.setfont(this.font_colour, t),
this.ws.cnf.setandsave("fs", parseInt(t))
}
,
fc_toolbox.prototype.kmode_click = function(t) {
this.layout.setkmode(this.cb_kmode.ischecked())
}
,
fc_toolbox.prototype.yt_click = function(t) {
this.yt_cb()
}
,
fc_toolbox.prototype.msg_keyup = function(t) {
13 === t.keyCode && this.sendmsg()
}
,
fc_toolbox.prototype.send_click = function(t) {
this.sendmsg()
}
,
fc_toolbox.prototype.sendmsg = function() {
"" !== this.text_msg.value && this.ws.ready && (this.ws.isguest ? this.text_msg.style.color = "#" + Math.floor(16777215 * Math.random()).toString(16) : this.msglimit.cansend(this.text_msg.value, this.font_size) ? !0 === this.ws.sendpbuf(1200511, this.pb.roots.default.fc.p_1200511.encode({
cm: {
msg: this.text_msg.value,
clr: this.font_colour,
sz: this.font_size
}
}, null).finish()) && (this.text_msg.value = "") : this.cb.addsys("Please don't spam the chat!"))
}
,
fc_topic.prototype.topicbar_change = function(t) {
(100 < this.ws.modlvl || this.ws.pol_modchangetopic && 100 === this.ws.modlvl) && this.ws.sendpbuf(1200821, this.pb.roots.default.fc.p_1200821.encode({
tpc: t.target.value
}, null).finish())
}
,
fc_topic.prototype.set = function(t) {
this.cur_topic = t,
this.text_topic.value = t
}
,
fc_topic.prototype.refresh = function() {
var t = this.btn_userlist.offsetWidth;
this.ws.isguest ? this.btn_config.style.display = "none" : (this.btn_config.style.display = "inline-block",
t += this.btn_config.offsetWidth),
100 < this.ws.modlvl ? (this.btn_policy.style.display = "inline-block",
t += this.btn_policy.offsetWidth) : this.btn_policy.style.display = "none",
100 < this.ws.modlvl || this.ws.pol_modchangelayout && 100 === this.ws.modlvl ? (this.btn_layout.style.display = "inline-block",
t += this.btn_layout.offsetWidth) : this.btn_layout.style.display = "none",
100 < this.ws.modlvl || this.ws.pol_modchangetopic && 100 === this.ws.modlvl ? this.text_topic.readOnly = !1 : this.text_topic.readOnly = !0,
this.ws.pol_pwenforced ? this.btn_policy.innerHTML = "" : this.btn_policy.innerHTML = "",
this.text_topic.style.width = "calc(100% - " + t + "px)"
}
,
fc_topic.prototype.layout_click = function(t) {
this.wndlayout.open()
}
,
fc_topic.prototype.policy_click = function(t) {
this.wndpolicy.open()
}
,
fc_topic.prototype.config_click = function(t) {
this.wndconfig.open()
}
,
fc_ulist.prototype.updgsc = function(t) {
this.p_guestcount.innerText = t + " Guests"
}
,
fc_ulist.prototype.enguest = function() {
this.ws.pol_allowguest ? this.guest_elem.style.display = "block" : this.guest_elem.style.display = "none"
}
,
fc_ulist.prototype.populate = function(t) {
let e, n, i;
for (e = 0; e < t.length; e++)
this.joinuser(t[e], !1);
for (e = 0; e < this.users.length; e++) {
for (i = !1,
n = 0; n < t.length; n++)
if (this.users[e].uuid === t[n].uuid) {
i = !0;
break
}
i || this.leaveuser(this.users[e].uuid)
}
this.rebuild()
}
,
fc_ulist.prototype.resort = function() {
this.users.sort(this.sortcompare.bind(this))
}
,
fc_ulist.prototype.sortcompare = function(t, e) {
return t.modlvl < e.modlvl ? 1 : t.modlvl > e.modlvl || t.username_lowercase < e.username_lowercase ? -1 : t.username_lowercase > e.username_lowercase ? 1 : 0
}
,
fc_ulist.prototype.joinuser = function(e, t) {
try {
let t = this.gubuid(e.uuid);
null !== t || (null !== (t = this.gubuid_left(e.uuid)) ? delete this.lefties[e.uuid] : t = new fc_user(this.menu_cb,this.tipshow_cb,this.tipcancel_cb),
this.users.push(t)),
t.joined(e)
} catch (t) {}
t && this.rebuild()
}
,
fc_ulist.prototype.addleftskel = function(t, e, n, i) {
try {
var s = new fc_user(this.menu_cb,this.tipshow_cb,this.tipcancel_cb);
s.uuid = t,
s.username = e,
s.modlvl = n,
s.blocked = i,
this.lefties[t] = s
} catch (t) {}
}
,
fc_ulist.prototype.leaveuser = function(t) {
for (var e = 0; e < this.users.length; e++)
try {
var n = this.users[e];
if (n.uuid === t) {
n.left(),
this.lefties[n.uuid] = n,
this.users.splice(e, 1);
break
}
} catch (t) {}
}
,
fc_ulist.prototype.clearlist = function() {
for (; this.elem.hasChildNodes(); )
this.elem.removeChild(this.elem.lastChild)
}
,
fc_ulist.prototype.rebuild = function() {
this.resort(),
this.clearlist(),
this.elem.appendChild(this.guest_elem);
for (var t = 0; t < this.users.length; t++)
try {
this.elem.appendChild(this.users[t].list_elem)
} catch (t) {}
}
,
fc_ulist.prototype.gubn = function(e) {
try {
for (let t = 0; t < this.users.length; t++)
if (this.users[t].username === e)
return this.users[t]
} catch (t) {}
return null
}
,
fc_ulist.prototype.gubuid = function(e) {
try {
for (let t = 0; t < this.users.length; t++)
if (this.users[t].uuid === e)
return this.users[t]
} catch (t) {}
return null
}
,
fc_ulist.prototype.gubuid_left = function(t) {
try {
for (var e in this.lefties)
if (this.lefties[e].uuid === t)
return this.lefties[e]
} catch (t) {}
return null
}
,
fc_ulist.prototype.blockuser = function(t) {
let e = this.gubuid(t);
null !== (e = null === e ? this.gubuid_left(t) : e) && (e.block(),
this.rebuild())
}
,
fc_ulist.prototype.unblockuser = function(t) {
let e = this.gubuid(t);
null !== (e = null === e ? this.gubuid_left(t) : e) && (e.unblock(),
this.rebuild())
}
,
fc_ulist.prototype.moduser = function(t) {
let e = this.gubuid(t);
null !== (e = null === e ? this.gubuid_left(t) : e) && (e.mod(),
this.rebuild())
}
,
fc_ulist.prototype.unmoduser = function(t) {
let e = this.gubuid(t);
null !== (e = null === e ? this.gubuid_left(t) : e) && (e.unmod(),
this.rebuild())
}
,
fc_ulist.prototype.setstatus = function(t, e) {
t = this.gubn(t);
null !== t && (t.setstatus(e),
this.rebuild())
}
,
fc_ulist.prototype.pingsync = function(t) {
let e, n, i = t.length;
for (e = 0; e < i; e++)
null !== (n = null === (n = this.gubuid(t[e].uuid)) ? this.gubuid_left(t[e].uuid) : n) && n.setping(t[e].ping)
}
,
fc_user.prototype.joined = function(t) {
this.online = !0,
this.username = t.nm,
this.username_lowercase = this.username.toLowerCase(),
this.uuid = t.uuid,
this.modlvl = t.ml,
this.usernum = t.un,
this.blocked = t.blk,
this.statuslevel = t.st.lv,
this.statustime = t.st.ct,
this.statusmsg = t.st.msg,
this.jointime = t.ct,
this.ping = t.ping,
null === this.list_elem && (this.list_elem = document.createElement("p"),
this.list_elem.className = "user available fcuser",
this.list_elem.value = this.username,
this.list_elem.setAttribute("data-uuid", this.uuid),
this.list_elem.onclick = this.menu_cb,
this.list_elem.onmouseover = this.tipshow_cb,
this.list_elem.onmouseout = this.tipcancel_cb),
null !== this.pmwnd && (this.pmwnd.do_online(!0),
this.pmwnd.setusername(this.username)),
this.setstatus(t.st),
this.updateelem()
}
,
fc_user.prototype.left = function() {
this.online = !1,
null !== this.list_elem && (this.list_elem.onclick = null,
this.list_elem.onmouseenter = null,
this.list_elem.onmouseout = null,
this.list_elem.remove(),
this.list_elem = null),
null !== this.pmwnd && this.pmwnd.do_online(!1)
}
,
fc_user.prototype.getnccl = function() {
if (this.blocked)
return "fcblocked";
switch (this.modlvl) {
case 100:
return "fcmod";
case 150:
return "fcsuper";
case 200:
return "fcowner";
case 300:
return "fcadmin";
default:
return "fcuser"
}
}
,
fc_user.prototype.setpmwnd = function(t) {
this.pmwnd = t,
this.pmwnd.do_status(this.statuslevel, this.statusmsg),
this.pmwnd.do_modlvl(this.modlvl),
this.pmwnd.do_blocked(this.blocked)
}
,
fc_user.prototype.setstatus = function(t) {
this.statuslevel = t.lv,
this.statustime = t.ct,
this.statusmsg = t.msg,
this.updateelem(),
null !== this.pmwnd && this.pmwnd.do_status(this.statuslevel, this.statusmsg)
}
,
fc_user.prototype.setping = function(t) {
this.ping = t
}
,
fc_user.prototype.updateelem = function() {
if (this.online)
if (this.blocked)
this.list_elem.innerHTML = "<span class='material-icons'></span>" + this.username,
this.list_elem.className = "user available fcblocked";
else
switch (this.list_elem.innerHTML = "<span class='material-icons'></span><span class='material-icons'></span>" + this.username,
this.statuslevel) {
case 1:
this.list_elem.className = "user available " + this.getnccl();
break;
case 2:
this.list_elem.className = "user afk " + this.getnccl();
break;
case 3:
this.list_elem.className = "user idle " + this.getnccl()
}
}
,
fc_user.prototype.block = function() {
this.blocked = !0,
this.updateelem(),
null !== this.pmwnd && this.pmwnd.do_blocked(!0)
}
,
fc_user.prototype.unblock = function() {
this.blocked = !1,
this.updateelem(),
null !== this.pmwnd && this.pmwnd.do_blocked(!1)
}
,
fc_user.prototype.mod = function() {
this.modlvl = 100,
this.updateelem(),
null !== this.pmwnd && this.pmwnd.do_modlvl(100)
}
,
fc_user.prototype.unmod = function() {
this.modlvl = 0,
this.updateelem(),
null !== this.pmwnd && this.pmwnd.do_modlvl(0)
}
,
fc_vab.prototype.mkbars = function() {
var t;
null === this.elem.firstChild && ((t = document.createElement("div")).className = "top",
this.elem.appendChild(t),
(t = document.createElement("div")).className = "bottom",
this.elem.appendChild(t),
(t = document.createElement("div")).className = "left",
this.elem.appendChild(t),
(t = document.createElement("div")).className = "right",
this.elem.appendChild(t))
}
,
fc_vab.prototype.tick = function() {
if (null === this.analyser)
this.stop();
else
try {
for (var t = new Uint8Array(this.analyser.frequencyBinCount), e = (this.analyser.getByteFrequencyData(t),
0), n = 0, i = 0, s = 0; s < 4; s++)
0 < t[s] && (e += t[s],
n += 255);
10 < e && (i = Math.round(e / n * 100),
i /= 100),
this.elem.style.opacity = i
} catch (t) {}
}
,
fc_vab.prototype.play = function() {
try {
return null !== this.stream && null === this.analyser && 0 < this.stream.getAudioTracks().length && (this.audio_context = new AudioContext,
this.analyser = this.audio_context.createAnalyser(),
this.source = this.audio_context.createMediaStreamSource(this.stream),
this.source.connect(this.analyser),
this.analyser.fftSize = 64,
this.analyser.smoothingTimeConstant = .4),
0 !== this.interval && (clearInterval(this.interval),
this.interval = 0),
this.interval = setInterval(this.tick.bind(this), 100),
this.mkbars(),
!0
} catch (t) {}
return !1
}
,
fc_vab.prototype.stop = function() {
for ((this.elem.opacity = 0) !== this.interval && (clearInterval(this.interval),
this.interval = 0); this.elem.firstChild; )
this.elem.removeChild(this.elem.lastChild)
}
,
fc_vab.prototype.setstream = function(t) {
null === t ? (this.stop(),
null !== this.source && this.source.disconnect(),
this.source = null,
this.audio_context = null,
this.analyser = null) : this.stream = t
}
,
fc_wnd.prototype.setclosecb = function(t) {
this.close_callback = t
}
,
fc_wnd.prototype.click_close = function(t) {
null === this.close_callback ? this.hide() : this.close_callback()
}
,
fc_wnd.prototype.hide = function() {
this.elem.style.display = "none",
this.visible = !1
}
,
fc_wnd.prototype.center = function() {
var t = this.elem.parentNode.clientWidth / 2 - this.elem.clientWidth / 2
, e = this.elem.parentNode.clientHeight / 2 - this.elem.clientHeight / 2;
this.elem.style.left = t.toString() + "px",
this.elem.style.top = e.toString() + "px"
}
,
fc_wnd.prototype.move_random = function() {
var t = Math.floor(Math.random() * (this.elem.parentNode.clientWidth - this.elem.clientWidth))
, e = Math.floor(Math.random() * (this.elem.parentNode.clientHeight - this.elem.clientHeight));
this.elem.style.left = t.toString() + "px",
this.elem.style.top = e.toString() + "px"
}
,
fc_wnd.prototype.show = function() {
this.elem.style.display = "block",
this.visible = !0
}
,
fc_wnd.prototype.getContentElem = function() {
return this.elem_content
}
,
fc_wnd.prototype.settitle = function(t) {
this.title = t,
this.elem_headerp.innerHTML = t
}
,
fc_wnd.prototype.setico = function(t) {
this.p_hdrico.innerText = t
}
,
fc_wnd.prototype.setminsize = function(t, e) {
this.min_width = t,
this.min_height = e,
this.elem.clientWidth < t && (this.elem.style.width = t + "px"),
this.elem.clientHeight < e && (this.elem.style.height = e + "px"),
this.elem.style.minWidth = t + "px",
this.elem.style.minHeight = e + "px"
}
,
fc_wnd.prototype.setresizecallback = function(t) {
this.resize_callback = t
}
,
fc_wnd.prototype.wnd_onresize = function() {
null !== this.resize_callback && this.resize_callback(this.elem.clientWidth, this.elem.clientHeight)
}
,
fc_wnd.prototype.addresizers = function() {
this.resizable = !0,
this.rz_left = document.createElement("div"),
this.rz_left.setAttribute("class", "rz_left"),
this.elem.appendChild(this.rz_left),
this.rz_right = document.createElement("div"),
this.rz_right.setAttribute("class", "rz_right"),
this.elem.appendChild(this.rz_right),
this.rz_bottom = document.createElement("div"),
this.rz_bottom.setAttribute("class", "rz_bottom"),
this.elem.appendChild(this.rz_bottom),
this.rz_bottomleft = document.createElement("div"),
this.rz_bottomleft.setAttribute("class", "rz_bottomleft"),
this.elem.appendChild(this.rz_bottomleft),
this.rz_bottomright = document.createElement("div"),
this.rz_bottomright.setAttribute("class", "rz_bottomright"),
this.elem.appendChild(this.rz_bottomright)
}
,
fc_wnd.prototype.hideclosebtn = function(t) {
this.elem_closebtn.style.display = t ? "none" : "inline-block"
}
,
fc_wnd.prototype.move = function(t, e) {
this.elem.style.left = t + "px",
this.elem.style.top = e + "px"
}
,
fc_wnd.prototype.focus = function(t) {
this.elem.style.zIndex = t,
this.elem.className = "fcwnd hasfocus",
this.focused = !0
}
,
fc_wnd.prototype.unfocus = function(t) {
this.elem.className = "fcwnd",
this.focused = !1
}
,
fc_wnd.prototype.begfocus = function() {
this.focused || (this.elem.className = "fcwnd begfocus")
}
,
fc_wndconfig.prototype.createui = function() {
this.wnd = this.wndman.addwindow("Settings", 600, 400, !1),
this.wnd.hideclosebtn(!1),
this.wnd.setico("");
let t, e, n, i = this.wnd.getContentElem();
(t = document.createElement("div")).className = "wndconfig",
(e = document.createElement("div")).className = "cont_cnfsect",
(n = document.createElement("h1")).innerText = "Privacy",
e.appendChild(n),
this.cb_blockpm = new fc_checkbox(!1,"Block uninvited PM's"),
this.cb_blockpm.setattrib("data-cbset", "pb"),
this.cb_blockpm.addonclick(this.cbclick.bind(this)),
e.appendChild(this.cb_blockpm.elem),
this.cb_showtyping = new fc_checkbox(!1,"Show me typing in PM"),
this.cb_showtyping.setattrib("data-cbset", "pt"),
this.cb_showtyping.addonclick(this.cbclick.bind(this)),
e.appendChild(this.cb_showtyping.elem),
this.cb_autoidle = new fc_checkbox(!1,"Automatically go idle"),
this.cb_autoidle.setattrib("data-cbset", "ai"),
this.cb_autoidle.addonclick(this.cbclick.bind(this)),
e.appendChild(this.cb_autoidle.elem),
t.appendChild(e),
(e = document.createElement("div")).className = "cont_cnfsect",
(n = document.createElement("h1")).innerText = "Sounds",
e.appendChild(n),
this.cb_chatsnd = new fc_checkbox(!1,"Play Chat Sounds"),
this.cb_chatsnd.setattrib("data-cbset", "sc"),
this.cb_chatsnd.addonclick(this.cbclick.bind(this)),
e.appendChild(this.cb_chatsnd.elem),
t.appendChild(e),
this.cb_pmsnd = new fc_checkbox(!1,"Play PM Sounds"),
this.cb_pmsnd.setattrib("data-cbset", "sp"),
this.cb_pmsnd.addonclick(this.cbclick.bind(this)),
e.appendChild(this.cb_pmsnd.elem),
t.appendChild(e),
i.appendChild(t)
}
,
fc_wndconfig.prototype.getcnf = function() {
this.cb_blockpm.check(this.ws.cnf.get("pb")),
this.cb_showtyping.check(this.ws.cnf.get("pt")),
this.cb_autoidle.check(this.ws.cnf.get("ai")),
this.cb_chatsnd.check(this.ws.cnf.get("sc")),
this.cb_pmsnd.check(this.ws.cnf.get("sp"))
}
,
fc_wndconfig.prototype.cbclick = function(t) {
var e = t.target.dataset.cbset
, t = t.target.checked ? 1 : 0;
this.ws.cnf.setandsave(e, t)
}
,
fc_wndconfig.prototype.open = function() {
null === this.wnd && this.createui(),
this.getcnf(),
this.wnd.show(),
this.wnd.center(),
this.wndman.stealfocus(this.wnd)
}
,
fc_wndconfig.prototype.close = function() {
null !== this.wnd && this.wnd.hide()
}
,
fc_wndlayout.prototype.createui = function() {
this.wnd = this.wndman.addwindow("Choose the new webcam layout", 600, 400, !1),
this.wnd.hideclosebtn(!1),
this.wnd.setico("");
var t, e, n, i = this.wnd.getContentElem(), s = document.createElement("div"), o = (s.setAttribute("class", "wndlayout"),
document.createElement("ul")), c = (s.appendChild(o),
document.createElement("li"));
o.appendChild(c),
(t = document.createElement("button")).setAttribute("class", "lyo1"),
t.setAttribute("data-layoutnumber", 1),
t.onclick = this.click_layoutbtn.bind(this),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 3),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo3"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 4),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo4"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 5),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo5"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
c = document.createElement("li"),
o.appendChild(c),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 6),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo6"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 7),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo7"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 8),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo8"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
(t = document.createElement("button")).setAttribute("data-layoutnumber", 9),
t.onclick = this.click_layoutbtn.bind(this),
(e = document.createElement("div")).setAttribute("class", "lyo9"),
n = document.createElement("span"),
e.appendChild(n),
t.appendChild(e),
c.appendChild(t),
i.appendChild(s)
}
,
fc_wndlayout.prototype.permcheck = function() {
return 100 === this.ws.modlvl && this.ws.pol_modchangelayout || 100 < this.ws.modlvl
}
,
fc_wndlayout.prototype.click_layoutbtn = function(t) {
this.permcheck() && void 0 !== (t = t.target.dataset.layoutnumber) && this.ws.sendpbuf(1200611, this.pb.roots.default.fc.p_1200611.encode({
lo: t
}, null).finish()),
this.wnd.hide()
}
,
fc_wndlayout.prototype.open = function() {
this.permcheck() && (null === this.wnd && this.createui(),
this.wnd.show(),
this.wnd.center(),
this.wndman.stealfocus(this.wnd))
}
,
fc_wndlayout.prototype.close = function() {
null !== this.wnd && this.wnd.hide()
}
,
fc_wndmedia.prototype.createui = function() {
this.wnd = this.wndman.addwindow("Select Webcam", 600, 400, !1),
this.wnd.hideclosebtn(!1),
this.wnd.setclosecb(this.click_cancel.bind(this)),
this.wnd.setico("");
var t = this.wnd.getContentElem()
, e = document.createElement("div")
, n = (e.className = "wndmedia",
this.cam_a = document.createElement("div"),
this.cam_a.className = "cam_a",
this.cam_b = document.createElement("div"),
this.cam_b.className = "cam_b",
this.cam_a.appendChild(this.cam_b),
this.cam_c = document.createElement("div"),
this.cam_c.className = "cam_c",
this.cam_a.appendChild(this.cam_c),
this.video = document.createElement("video"),
this.video.autoplay = !0,
this.video.muted = !0,
this.cam_c.appendChild(this.video),
this.vab = new fc_vab,
this.cam_c.appendChild(this.vab.elem),
this.p_video = document.createElement("p"),
this.p_video.innerText = "No Webcam Detected",
this.cam_c.appendChild(this.p_video),
e.appendChild(this.cam_a),
this.cam_select = document.createElement("select"),
this.cam_select.onchange = this.change_camsel.bind(this),
e.appendChild(this.cam_select),
this.sw_usemic = new fc_switch,
this.sw_usemic.create(!0, "Enable Microphone"),
this.sw_usemic.addonclick(this.click_usemic.bind(this)),
e.appendChild(this.sw_usemic.elem),
this.sw_useec = new fc_switch,
this.sw_useec.create(!0, "Echo Cancelling (use this for talky talky)"),
this.sw_useec.addonclick(this.click_usemic.bind(this)),
e.appendChild(this.sw_useec.elem),
this.mic_select = document.createElement("select"),
this.mic_select.onchange = this.change_micsel.bind(this),
e.appendChild(this.mic_select),
document.createElement("div"));
n.className = "btns",
this.btn_cancel = document.createElement("button"),
this.btn_cancel.onclick = this.click_cancel.bind(this),
this.btn_cancel.innerHTML = "Cancel",
n.appendChild(this.btn_cancel),
this.btn_start = document.createElement("button"),
this.btn_start.onclick = this.click_start.bind(this),
this.btn_start.innerHTML = "Start Cam",
n.appendChild(this.btn_start),
e.appendChild(n),
t.appendChild(e)
}
,
fc_wndmedia.prototype.setratio = function(t) {
"16:9" === t ? this.cam_b.style.paddingTop = "56.25%" : "4:3" === t ? this.cam_b.style.paddingTop = "75%" : "21:9" === t && (this.cam_b.style.paddingTop = "42.18%")
}
,
fc_wndmedia.prototype.enumerate = function() {
var e, n = this, i = !1;
this.btn_start.disabled = !0,
this.video.srcObject = null,
this.vab.setstream(null),
null !== this.stream && (this.stream.getTracks().forEach(function(t) {
t.stop()
}),
this.stream = null),
navigator.mediaDevices.enumerateDevices().then(function(t) {
var e = {
gotcam: !(n.p_video.innerText = "Enumerating Devices"),
gotmic: !1
};
return t.forEach(function(t) {
"audioinput" === t.kind && (e.gotmic = !0),
"videoinput" === t.kind && (e.gotcam = !0)
}),
e
}).catch(function(t) {}).then(function(t) {
t.gotcam ? n.p_video.innerText = "Accessing Webcam" : n.p_video.innerText = "No Webcam Detected",
n.sw_usemic.ischecked() && t.gotmic,
t.gotcam || "screen" === n.forced_camid ? (e = {
deviceId: n.forced_camid,
width: n.cam.outvid_w,
height: n.cam.outvid_h,
aspectRatio: n.cam.outvid_ar,
frameRate: n.cam.outvid_fps
},
t.gotmic && n.sw_usemic.ischecked() && (i = n.sw_useec.ischecked() ? {
deviceId: n.forced_micid,
autoGainControl: !0,
echoCancellation: !0,
noiseSuppression: !0
} : {
deviceId: n.forced_micid,
autoGainControl: !0,
echoCancellation: !1,
noiseSuppression: !1
}),
"screen" === n.forced_camid ? navigator.mediaDevices.getDisplayMedia({
video: e
}).then(function(e) {
t.gotmic && n.sw_usemic.ischecked() ? navigator.mediaDevices.getUserMedia({
audio: i
}).then(function(t) {
null !== t && 0 < (t = t.getAudioTracks()).length && e.addTrack(t[0]),
n.gotstream(e),
n.refresh_sel()
}).catch(function(t) {
n.gumerror(t.name),
n.refresh_sel()
}) : (n.gotstream(e),
n.refresh_sel())
}).catch(function(t) {
n.gumerror(t.name),
n.refresh_sel()
}) : navigator.mediaDevices.getUserMedia({
audio: i,
video: e
}).then(function(t) {
n.gotstream(t),
n.refresh_sel()
}).catch(function(t) {
"TypeError" !== t.name && n.gumerror(t.name),
n.refresh_sel()
})) : n.refresh_sel()
})
}
,
fc_wndmedia.prototype.gotstream = function(t) {
for (var e = !1, n = !1, i = t.getTracks(), s = 0; s < i.length; s++)
"audio" === i[s].kind && (n = !0),
"video" === i[s].kind && (e = !0);
e && (this.p_video.innerText = "PREVIEW",
this.video.srcObject = t),
n && (this.vab.setstream(t),
this.vab.play()),
this.stream = t,
this.btn_start.disabled = !1
}
,
fc_wndmedia.prototype.gumerror = function(t) {
switch (t) {
case "SecurityError":
case "NotAllowedError":
case "PermissionDeniedError":
case "PermissionDismissedError":
this.p_video.innerText = "Permission required";
break;
case "NotReadableError":
case "TrackStartError":
this.p_video.innerText = "Webcam already in use?";
break;
case "OverconstrainedError":
case "ConstraintNotSatisfiedError":
this.p_video.innerText = "Error: Webcam not supported";
break;
case "TypeError":
this.p_video.innerText = "TypeError (?)";
break;
case "AbortError":
this.p_video.innerText = "Aborted, webcam in use?";
break;
default:
this.p_video.innerText = "Unknown error: " + t
}
}
,
fc_wndmedia.prototype.click_start = function(t) {
this.cam.startcam(this.stream),
this.close()
}
,
fc_wndmedia.prototype.click_cancel = function(t) {
null !== this.video && (this.video.srcObject = null),
null !== this.stream && (this.stream.getTracks().forEach(function(t) {
t.stop()
}),
this.stream = null),
this.close()
}
,
fc_wndmedia.prototype.refresh_sel = function() {
var n, i = this, s = null, o = null;
null !== this.stream && this.stream.getTracks().forEach(function(t) {
switch (t.kind) {
case "video":
s = t;
break;
case "audio":
o = t
}
}),
i.sw_usemic.ischecked() || ((n = document.createElement("option")).innerHTML = "Microphone is disabled",
n.selected = !0,
this.mic_select.appendChild(n)),
navigator.mediaDevices.enumerateDevices().then(function(t) {
for (var e = i.cam_select.options.length - 1; 0 <= e; e--)
i.cam_select.remove(e);
for (e = i.mic_select.options.length - 1; 0 <= e; e--)
i.mic_select.remove(e);
t.forEach(function(t) {
"videoinput" === t.kind ? ((n = document.createElement("option")).innerHTML = 0 < t.label.length ? t.label : "unknown videoinput (permission granted?)",
n.value = t.deviceId,
null !== s && (s.getSettings().hasOwnProperty("deviceId") ? n.selected = s.getSettings().deviceId === t.deviceId : n.selected = s.label === t.label),
i.cam_select.appendChild(n)) : "audioinput" === t.kind && i.sw_usemic.ischecked() && ((n = document.createElement("option")).innerHTML = 0 < t.label.length ? t.label : "unknown audioinput (permission granted?)",
n.value = t.deviceId,
null !== o && (o.getSettings().hasOwnProperty("deviceId") ? n.selected = o.getSettings().deviceId === t.deviceId : n.selected = o.label === t.label),
i.mic_select.appendChild(n))
}),
0 === i.cam_select.options.length && ((n = document.createElement("option")).innerHTML = "No Camera's detected",
n.selected = !0,
i.cam_select.appendChild(n)),
0 === i.mic_select.options.length && ((n = document.createElement("option")).innerHTML = "No Microphones detected",
n.selected = !0,
i.mic_select.appendChild(n)),
navigator.mediaDevices && "getDisplayMedia"in navigator.mediaDevices && ((n = document.createElement("option")).innerHTML = "Use your browsers built in Screensharing feature",
(n.value = "screen") === i.forced_camid && (n.selected = !0),
i.cam_select.appendChild(n))
}).catch(function(t) {})
}
,
fc_wndmedia.prototype.change_camsel = function(t) {
this.forced_camid = t.target.value,
this.enumerate()
}
,
fc_wndmedia.prototype.change_micsel = function(t) {
this.forced_micid = t.target.value,
this.enumerate()
}
,
fc_wndmedia.prototype.click_usemic = function(t) {
this.sw_usemic.ischecked() ? (this.sw_useec.elem.style.display = "block",
this.mic_select.style.display = "block") : (this.sw_useec.elem.style.display = "none",
this.mic_select.style.display = "none"),
this.enumerate()
}
,
fc_wndmedia.prototype.open = function(t, e) {
this.cam = t,
null === this.wnd && this.createui(),
this.setratio(e),
this.wnd.visible || (this.wnd.show(),
this.wnd.center(),
this.wndman.stealfocus(this.wnd),
this.enumerate())
}
,
fc_wndmedia.prototype.close = function() {
null !== this.wnd && this.wnd.hide()
}
,
fc_wndpm.prototype.createui = function() {
this.wnd = this.wndman.addwindow(this.username, 0, 0, !0),
this.wnd.setminsize(320, 260),
this.wnd.setico(""),
this.wnd.setresizecallback(this.resize_callback.bind(this));
var t = this.wnd.getContentElem()
, e = document.createElement("div")
, n = (e.className = "wndpm",
this.b_banner = document.createElement("p"),
this.b_banner.innerText = "",
this.b_banner.className = "pmbanner",
e.appendChild(this.b_banner),
document.createElement("div"))
, n = (n.className = "pmgridbox_top",
this.chatbox = new fc_chatbox(this.ws,this.umcb,null),
this.chatbox.entypeline(),
n.appendChild(this.chatbox.elem),
e.appendChild(n),
document.createElement("div"));
n.className = "pmgridbox_bottom",
this.text_msg = document.createElement("textarea"),
this.text_msg.onkeydown = this.msg_keydown.bind(this),
this.text_msg.style.color = this.font_colour,
this.text_msg.className = "fs_" + this.font_size,
this.text_msg.value = "",
n.appendChild(this.text_msg),
this.btn_send = document.createElement("button"),
this.btn_send.className = "material-icons",
this.btn_send.onclick = this.send_click.bind(this),
n.appendChild(this.btn_send),
e.appendChild(n),
t.appendChild(e),
this.updatemaxlen(),
this.resize_callback(this.wnd.elem.clientWidth, this.wnd.elem.clientHeight)
}
,
fc_wndpm.prototype.resize_callback = function(t, e) {
this.b_banner.style.width = t - 20 + "px",
this.chatbox.elem.style.height = e - 120 + "px"
}
,
fc_wndpm.prototype.entaka = function(t) {
t ? this.taka_enable = !0 : (this.taka_enable = !1,
this.type_state = 0,
this.type_time = 0,
null !== this.type_timeout && (clearTimeout(this.type_timeout),
this.type_timeout = null),
this.sendtaka())
}
,
fc_wndpm.prototype.enblockpm = function(t) {
this.blockpm_enable = !!t,
this.block_whitelist = !1
}
,
fc_wndpm.prototype.enrecvsnd = function(t) {
this.recvsnd = t ? new Audio("/sounds/pop02_1.ogg") : null
}
,
fc_wndpm.prototype.playrecvsnd = function() {
null !== this.recvsnd && (this.recvsnd.play(),
this.recvsnd.currentTime = 0)
}
,
fc_wndpm.prototype.type_timeout_tick = function() {
this.taka_enable && (Date.now() - this.type_time < 2e3 ? (this.type_state = 1,
this.type_timeout = setTimeout(this.type_timeout_tick.bind(this), 4e3)) : ("" === this.text_msg.value ? this.type_state = 0 : this.type_state = 2,
this.type_timeout = null),
this.sendtaka())
}
,
fc_wndpm.prototype.msg_keydown = function(t) {
return 13 !== t.keyCode || t.shiftKey ? (this.taka_enable && (this.type_state = 1,
this.type_time = Date.now(),
null === this.type_timeout) && (this.type_timeout = setTimeout(this.type_timeout_tick.bind(this), 4e3),
this.sendtaka()),
!0) : (this.sendmsg(),
!1)
}
,
fc_wndpm.prototype.send_click = function(t) {
this.sendmsg()
}
,
fc_wndpm.prototype.sendmsg = function() {
this.online && !this.blocked && (this.taka_enable && (this.type_state = 0,
this.type_time = 0,
null !== this.type_timeout) && (clearTimeout(this.type_timeout),
this.type_timeout = null),
"" !== this.text_msg.value) && this.ws.ready && (this.msglimit.cansend(this.text_msg.value, this.font_size) ? !0 === this.ws.sendpbuf(1200541, this.pb.roots.default.fc.p_1200541.encode({
cm: {
ruuid: this.uuid,
msg: this.text_msg.value,
clr: this.font_colour,
sz: this.font_size
}
}, null).finish()) && (this.text_msg.value = "",
this.blockpm_enable) && (this.block_whitelist = !0) : this.chatbox.addsys("Please do not spam!"))
}
,
fc_wndpm.prototype.sendtaka = function() {
this.online && (!this.blockpm_enable || this.blockpm_enable && this.block_whitelist) && this.ws.sendpbuf(1200551, this.pb.roots.default.fc.p_1200551.encode({
st: this.type_state,
uuid: this.uuid
}, null).finish())
}
,
fc_wndpm.prototype.block_notify = function() {
this.ws.sendpbuf(1200553, this.pb.roots.default.fc.p_1200553.encode({
uuid: this.uuid,
msg: "/me has disabled pm's"
}, null).finish())
}
,
fc_wndpm.prototype.updatemaxlen = function() {
this.text_msg.maxLength = this.msglimit.max_msg_length
}
,
fc_wndpm.prototype.updatefc = function(t) {
this.font_colour = t,
this.text_msg.style.color = this.font_colour
}
,
fc_wndpm.prototype.updatefs = function(t) {
this.font_size = t,
this.text_msg.className = "fs_" + this.font_size
}
,
fc_wndpm.prototype.receive = function(t, e, n, i, s, o, c) {
!this.blockpm_enable || this.blockpm_enable && this.block_whitelist ? (this.chatbox.addnormal(t, e, n, i, s, o, c),
this.rcvtaka(0),
this.playrecvsnd(),
this.wnd.visible || this.open(),
this.wnd.begfocus()) : e === this.username && this.block_notify()
}
,
fc_wndpm.prototype.receiveme = function(t, e, n, i, s, o) {
!this.blockpm_enable || this.blockpm_enable && this.block_whitelist ? (this.chatbox.addme(t, e, n, i, s, o),
this.rcvtaka(0),
this.wnd.visible || this.open(),
this.wnd.begfocus()) : e === this.username && this.block_notify()
}
,
fc_wndpm.prototype.receiveroll = function(t, e, n, i, s) {
!this.blockpm_enable || this.blockpm_enable && this.block_whitelist ? (this.chatbox.addroll(t, e, n, i, s),
this.rcvtaka(0),
this.wnd.visible || this.open(),
this.wnd.begfocus()) : t === this.username && this.block_notify()
}
,
fc_wndpm.prototype.rcvtaka = function(t) {
(0 === t || !this.blockpm_enable || this.blockpm_enable && this.block_whitelist) && this.chatbox.settyping(this.username, this.modlvl, t)
}
,
fc_wndpm.prototype.rcvpmblock = function(t) {
this.chatbox.addsys(t)
}
,
fc_wndpm.prototype.do_status = function(t, e) {
this.status_code = t,
this.status_text = e,
this.refreshbanner()
}
,
fc_wndpm.prototype.do_online = function(t) {
this.online = t,
this.refreshbanner()
}
,
fc_wndpm.prototype.setusername = function(t) {
this.username = t,
null !== this.wnd && this.wnd.settitle(t)
}
,
fc_wndpm.prototype.do_blocked = function(t) {
this.blocked = t,
this.refreshbanner()
}
,
fc_wndpm.prototype.do_modlvl = function(t) {
this.modlvl = t
}
,
fc_wndpm.prototype.refreshbanner = function() {
if (this.online)
if (this.blocked)
this.b_banner.style.display = "block",
this.b_banner.innerText = this.username + " is blocked";
else
switch (this.status_code) {
case 1:
default:
this.b_banner.style.display = "none",
this.b_banner.innerText = "";
break;
case 2:
this.b_banner.style.display = "block",
this.b_banner.innerText = 0 === this.status_text.length ? "AFK" : "AFK: " + this.status_text;
break;
case 3:
this.b_banner.style.display = "block",
this.b_banner.innerText = this.username + " has gone idle"
}
else
this.b_banner.style.display = "block",
this.b_banner.innerText = this.username + " has left the room"
}
,
fc_wndpm.prototype.info = function(t) {
this.chatbox.addsys("[INFO]: " + t)
}
,
fc_wndpm.prototype.open = function() {
null === this.wnd && this.createui(),
this.wnd.show(),
this.wnd.move_random(),
this.resize_callback(this.wnd.elem.clientWidth, this.wnd.elem.clientHeight)
}
,
fc_wndpm.prototype.focuswnd = function() {
this.wndman.stealfocus(this.wnd),
this.text_msg.focus()
}
,
fc_wndpm.prototype.close = function() {
null !== this.wnd && this.wnd.hide()
}
,
fc_wndpolicy.prototype.createui = function() {
this.wnd = this.wndman.addwindow("Room Policy", 600, 400, !1),
this.wnd.hideclosebtn(!1),
this.new_password = "";
var t, e, n = this.wnd.getContentElem(), i = document.createElement("div");
i.className = "wndpolicy",
(e = document.createElement("div")).className = "cont_polsect",
(t = document.createElement("h1")).innerText = "Access Policy",
e.appendChild(t),
this.cb_allowguest = new fc_checkbox(this.ws.pol_allowguest,"Allow guests to join"),
this.cb_allowguest.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_allowguest.elem),
this.cb_allowyoutube = new fc_checkbox(this.ws.pol_allowyoutube,"Allow YouTube Player"),
this.cb_allowyoutube.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_allowyoutube.elem),
this.cb_password = new fc_checkbox(this.ws.pol_pwenforced,"Password required to enter"),
this.cb_password.addonclick(this.cbpassclick.bind(this)),
e.appendChild(this.cb_password.elem),
this.btn_editpass = document.createElement("button"),
this.btn_editpass.setAttribute("id", "pwdbtn"),
this.btn_editpass.style.borderColor = "transparent",
this.btn_editpass.className = "material-icons editpwd",
this.btn_editpass.onclick = this.btnpassclick.bind(this),
e.appendChild(this.btn_editpass),
this.text_password = document.createElement("input"),
this.text_password.setAttribute("type", "text"),
this.text_password.setAttribute("id", "pwdedit"),
this.text_password.setAttribute("autocomplete", "off"),
this.text_password.style.borderColor = "transparent",
this.text_password.placeholder = "blank password",
this.text_password.maxLength = 16,
this.text_password.autocomplete = "off",
this.text_password.disabled = !0,
e.appendChild(this.text_password),
i.appendChild(e),
(e = document.createElement("div")).className = "cont_polsect",
(t = document.createElement("h1")).innerText = "Mod Policy",
e.appendChild(t),
this.cb_modchangelayout = new fc_checkbox(this.ws.pol_modchangelayout,"Mods can change layout"),
this.cb_modchangelayout.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_modchangelayout.elem),
this.cb_modchangetopic = new fc_checkbox(this.ws.pol_modchangetopic,"Mods can change topic"),
this.cb_modchangetopic.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_modchangetopic.elem),
this.cb_modstopcam = new fc_checkbox(this.ws.pol_modstopcam,"Mods can stop cams"),
this.cb_modstopcam.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_modstopcam.elem),
i.appendChild(e),
(e = document.createElement("div")).className = "cont_polsect",
(t = document.createElement("h1")).innerText = "Command Policy",
e.appendChild(t),
this.cb_enablemecmd = new fc_checkbox(this.ws.pol_en_mecmd,"Allow /me command"),
this.cb_enablemecmd.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_enablemecmd.elem),
this.cb_enablerollcmd = new fc_checkbox(this.ws.pol_en_rollcmd,"Allow /roll command"),
this.cb_enablerollcmd.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_enablerollcmd.elem),
this.cb_enableafkcmd = new fc_checkbox(this.ws.pol_en_afkcmd,"Allow /afk command"),
this.cb_enableafkcmd.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_enableafkcmd.elem),
this.cb_enablestopcmd = new fc_checkbox(this.ws.pol_en_stopcmd,"Allow /stop command"),
this.cb_enablestopcmd.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_enablestopcmd.elem),
this.cb_enablekickcmd = new fc_checkbox(this.ws.pol_en_kickcmd,"Allow /kick command"),
this.cb_enablekickcmd.addonclick(this.apply_click.bind(this)),
e.appendChild(this.cb_enablekickcmd.elem),
i.appendChild(e),
n.appendChild(i)
}
,
fc_wndpolicy.prototype.permcheck = function() {
return 100 < this.ws.modlvl
}
,
fc_wndpolicy.prototype.cbpassclick = function(t) {
this.cb_password.ischecked() ? (this.text_password.style.display = "inline-block",
this.btn_editpass.style.display = "inline-block") : (this.text_password.style.display = "none",
this.btn_editpass.style.display = "none"),
this.apply_click()
}
,
fc_wndpolicy.prototype.btnpassclick = function(t) {
if (this.text_password.disabled)
this.text_password.style.borderColor = "inherit",
this.btn_editpass.style.borderColor = "inherit",
this.text_password.disabled = !1,
this.btn_editpass.className = "material-icons savepwd",
this.text_password.value = this.ws.pol_pw;
else {
this.text_password.style.borderColor = "transparent",
this.btn_editpass.style.borderColor = "transparent",
this.text_password.disabled = !0,
this.btn_editpass.className = "material-icons editpwd",
this.new_password = this.text_password.value;
for (var e = "", n = 0; n < this.new_password.length; n++)
e += "*";
this.text_password.value = e,
this.apply_click()
}
}
,
fc_wndpolicy.prototype.set = function() {
if (this.new_password = this.ws.pol_pw,
null !== this.cb_allowguest && this.cb_allowguest.check(this.ws.pol_allowguest),
null !== this.cb_allowyoutube && this.cb_allowyoutube.check(this.ws.pol_allowyoutube),
null !== this.cb_password && this.cb_password.check(this.ws.pol_pwenforced),
null !== this.text_password && (this.ws.pol_pwenforced ? (this.text_password.style.display = "inline-block",
this.btn_editpass.style.display = "inline-block") : (this.text_password.style.display = "none",
this.btn_editpass.style.display = "none"),
this.text_password.disabled)) {
for (var t = "", e = 0; e < this.ws.pol_pw.length; e++)
t += "*";
this.text_password.value = t
}
null !== this.cb_modchangelayout && this.cb_modchangelayout.check(this.ws.pol_modchangelayout),
null !== this.cb_modchangetopic && this.cb_modchangetopic.check(this.ws.pol_modchangetopic),
null !== this.cb_modstopcam && this.cb_modstopcam.check(this.ws.pol_modstopcam),
null !== this.cb_enablemecmd && this.cb_enablemecmd.check(this.ws.pol_en_mecmd),
null !== this.cb_enablerollcmd && this.cb_enablerollcmd.check(this.ws.pol_en_rollcmd),
null !== this.cb_enableafkcmd && this.cb_enableafkcmd.check(this.ws.pol_en_afkcmd),
null !== this.cb_enablestopcmd && this.cb_enablestopcmd.check(this.ws.pol_en_stopcmd),
null !== this.cb_enablekickcmd && this.cb_enablekickcmd.check(this.ws.pol_en_kickcmd),
null !== this.wnd && (this.ws.pol_pwenforced ? this.wnd.setico("") : this.wnd.setico(""))
}
,
fc_wndpolicy.prototype.open = function() {
this.permcheck() && (null === this.wnd && this.createui(),
this.wnd.show(),
this.wnd.center(),
this.wndman.stealfocus(this.wnd),
this.set())
}
,
fc_wndpolicy.prototype.apply_click = function() {
var t = [];
this.cb_allowguest.getstate() !== this.ws.pol_allowguest && t.push({
k: "ag",
v: this.cb_allowguest.checked() ? "1" : "0"
}),
this.cb_allowyoutube.getstate() !== this.ws.pol_allowyoutube && t.push({
k: "ay",
v: this.cb_allowyoutube.checked() ? "1" : "0"
}),
this.cb_password.getstate() !== this.ws.pol_pwenforced && t.push({
k: "pwe",
v: this.cb_password.checked() ? "1" : "0"
}),
this.new_password !== this.ws.pol_pw && t.push({
k: "pwd",
v: this.new_password
}),
this.cb_modchangelayout.getstate() !== this.ws.pol_modchangelayout && t.push({
k: "mcl",
v: this.cb_modchangelayout.checked() ? "1" : "0"
}),
this.cb_modchangetopic.getstate() !== this.ws.pol_modchangetopic && t.push({
k: "mct",
v: this.cb_modchangetopic.checked() ? "1" : "0"
}),
this.cb_modstopcam.getstate() !== this.ws.pol_modstopcam && t.push({
k: "msc",
v: this.cb_modstopcam.checked() ? "1" : "0"
}),
this.cb_enablemecmd.getstate() !== this.ws.pol_en_mecmd && t.push({
k: "amc",
v: this.cb_enablemecmd.checked() ? "1" : "0"
}),
this.cb_enablerollcmd.getstate() !== this.ws.pol_en_rollcmd && t.push({
k: "arc",
v: this.cb_enablerollcmd.checked() ? "1" : "0"
}),
this.cb_enableafkcmd.getstate() !== this.ws.pol_en_afkcmd && t.push({
k: "aac",
v: this.cb_enableafkcmd.checked() ? "1" : "0"
}),
this.cb_enablestopcmd.getstate() !== this.ws.pol_en_stopcmd && t.push({
k: "asc",
v: this.cb_enablestopcmd.checked() ? "1" : "0"
}),
this.cb_enablekickcmd.getstate() !== this.ws.pol_en_kickcmd && t.push({
k: "akc",
v: this.cb_enablekickcmd.checked() ? "1" : "0"
}),
0 < t.length && this.ws.sendpbuf(1200191, this.pb.roots.default.fc.p_1200191.encode({
rp: {
kv: t
}
}, null).finish())
}
,
fc_ws.prototype.mkses = function() {
for (var t = "", e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.!$%*@,=-_~", n = 0; n < 32; n++)
t += e.charAt(Math.floor(Math.random() * e.length));
return t
}
,
fc_ws.prototype.start = function() {
if (null === this.ws) {
this.chead = null,
this.chead = new ArrayBuffer(29);
var t = new DataView(this.chead);
t.setUint16(0, 65279),
t.setInt16(2, this.pver),
t.setUint32(4, this.rn),
t.setUint32(8, this.un),
t.setUint32(12, 0),
t.setUint32(16, 0),
t.setUint8(20, this.cmtype),
t.setInt32(21, 0),
t.setInt32(25, 0);
try {
this.ws = new WebSocket("wss://" + this.addr + "/fc/chat"),
this.ws.onopen = this.onopen.bind(this),
this.ws.onclose = this.onclose.bind(this),
this.ws.onerror = this.onerror.bind(this),
this.ws.onmessage = this.onmessage.bind(this)
} catch (t) {
this.ws = null
}
}
}
,
fc_ws.prototype.updatedelta = function(t) {
this.tmdelta = t - Date.now()
}
,
fc_ws.prototype.cheadupdate = function() {
var t = new DataView(this.chead);
t.setUint32(4, this.rn),
t.setUint32(8, this.un)
}
,
fc_ws.prototype.policyupdate = function(t) {
for (var e, n, i = 0; i < t.kv.length; i++)
switch (e = t.kv[i].k,
n = t.kv[i].v,
e) {
case "ag":
this.pol_allowguest = "1" === n;
break;
case "ay":
this.pol_allowyoutube = "1" === n;
break;
case "pwe":
this.pol_pwenforced = "1" === n;
break;
case "pwd":
this.pol_pw = n;
break;
case "mcl":
this.pol_modchangelayout = "1" === n;
break;
case "mct":
this.pol_modchangetopic = "1" === n;
break;
case "msc":
this.pol_modstopcam = "1" === n;
break;
case "amc":
this.pol_en_mecmd = "1" === n;
break;
case "arc":
this.pol_en_rollcmd = "1" === n;
break;
case "aac":
this.pol_en_afkcmd = "1" === n;
break;
case "asc":
this.pol_en_stopcmd = "1" === n;
break;
case "akc":
this.pol_en_kickcmd = "1" === n
}
}
,
fc_ws.prototype.disconnect = function() {
this.ws.readyState < 2 && this.ws.close()
}
,
fc_ws.prototype.isconnected = function() {
return null !== this.ws && 1 === this.ws.readyState
}
,
fc_ws.prototype.onopen = function(t) {}
,
fc_ws.prototype.onclose = function(t) {
this.ws = null,
this.rn = 0,
this.un = 0,
this.uh = 0,
(this.pn = 0) === this.flwb ? this.close_cb(t) : this.clswait = t
}
,
fc_ws.prototype.onerror = function(t) {
this.error_cb(t)
}
,
fc_ws.prototype.onmessage = function(t) {
var e;
this.ws && t.data instanceof Blob && (this.flwb++,
(e = new FileReader).onload = this.packetrdy.bind(this),
e.readAsArrayBuffer(t.data))
}
,
fc_ws.prototype.sendpbuf = function(t, e) {
if (null === this.ws || !this.isconnected())
return !1;
var n = null
, i = 0
, s = 0
, e = (this.uh = Math.floor(this.un / this.uh + 13 * this.pn),
null !== e && (s = (2 === this.cmtype ? (i = (n = this.pako.deflate(e)).byteLength,
e) : (i = (n = e).byteLength,
n)).byteLength),
new DataView(this.chead))
, t = (e.setUint32(12, this.uh),
e.setUint32(16, t),
e.setInt32(21, i),
e.setInt32(25, s),
new Uint8Array(this.chead.byteLength + n.byteLength));
t.set(new Uint8Array(this.chead), 0),
t.set(n, this.chead.byteLength);
try {
this.ws.send(t)
} catch (t) {
return !1
}
return this.pn++,
!0
}
,
fc_ws.prototype.packetrdy = function(t) {
this.flwb--;
var e = t.target.result
, t = !1
, n = new DataView(e)
, t = "fffe" === n.getUint16(0).toString(16)
, i = (n.getUint8(2, t),
n.getUint32(3, t))
, s = n.getUint8(7, t)
, o = null;
if (0 < n.getUint16(8, t))
switch (s) {
case 1:
break;
case 2:
try {
o = this.pako.inflate(e.slice(10))
} catch (t) {}
break;
default:
o = e.slice(10)
}
else
o = null;
this.rcv_cb(i, o),
0 !== this.flwb || this.isconnected() || null === this.clswait || (this.close_cb(this.clswait),
this.clswait = null)
}
,
fc_ws.prototype.close = function(t) {
this.ws && ("number" == typeof t ? this.ws.close(t) : this.ws.close(),
this.ws = null)
}
,
fc_ws.prototype.stohr = function(t) {
return this.mstohr(1e3 * t)
}
,
fc_ws.prototype.mstohr = function(t) {
if (t < 1e3)
return "0s";
for (var e, n = t, i = 0, s = 0, o = 0, c = 0, t = ""; 6e4 <= n; )
6048e5 <= n ? (n -= 6048e5,
c++) : 864e5 <= n ? (n -= 864e5,
o++) : 36e5 <= n ? (n -= 36e5,
s++) : 6e4 <= n && (n -= 6e4,
i++);
return 0 < c && (t += c + "w "),
0 < o && (t += o + "d "),
0 < s && (t += s + "h "),
0 < i && (t += i + "m "),
0 < (e = Math.floor(n / 1e3)) && (t += e + "s "),
t.trim()
}
,
fc_youtube.prototype.reqq = function() {
null !== this.ytpp && !this.ytpp.closed && this.pa && this.ws.sendpbuf(1200420, this.pb.roots.default.fc.p_1200420.encode({}, null).finish())
}
,
fc_youtube.prototype.open = function() {
return null === this.ytpp || this.ytpp.closed ? (1 === parseInt(getCookie("accept_youtube_pp")) && (this.pa = !0),
this.ytpp = window.open("/youtube.php", this.ws.rn + "_youtube_window", "location=no,toolbar=no,menubar=no,status=no,scrollbars=no,resizable=yes,width=720,height=445,left=500,top=300"),
this.ytpp.addEventListener("load", this.pp_load.bind(this)),
this.ytpp.addEventListener("resize", this.pp_resize.bind(this)),
this.ytpp.onYouTubeIframeAPIReady = this.pp_ytbr.bind(this)) : this.ytpp.focus(),
null !== this.ytpp
}
,
fc_youtube.prototype.pp_load = function() {
this.player_cont = this.ytpp.document.getElementById("kyt_player"),
this.div_qpopup = this.ytpp.document.getElementById("kyt_queue_popup"),
this.div_queue = this.ytpp.document.getElementById("kyt_queue"),
this.div_qpopupbg = this.ytpp.document.getElementById("popup_background"),
this.btn_addvideo = this.ytpp.document.getElementById("addvideobtn"),
this.btn_addvideo.onclick = this.openq.bind(this),
this.btn_nextvideo = this.ytpp.document.getElementById("nextbtn"),
this.btn_nextvideo.onclick = this.nextv.bind(this),
this.div_qpopupcls = this.ytpp.document.getElementById("qpopup_close"),
this.div_qpopupcls.onclick = this.closeq.bind(this),
this.text_search = this.ytpp.document.getElementById("searchbox"),
this.text_search.onkeydown = this.s_keydown.bind(this),
this.btn_search = this.ytpp.document.getElementById("searchbtn"),
this.btn_search.onclick = this.s_click.bind(this),
this.text_addurl = this.ytpp.document.getElementById("addurlbox"),
this.text_addurl.onkeydown = this.au_keydown.bind(this),
this.btn_addurl = this.ytpp.document.getElementById("addurlbtn"),
this.btn_addurl.onclick = this.au_click.bind(this),
this.p_query_err = this.ytpp.document.getElementById("query_err"),
this.table_queue = this.ytpp.document.getElementById("queue_table"),
this.div_sresultcont = this.ytpp.document.getElementById("kyt_sresults_cont"),
this.div_sresult = this.ytpp.document.getElementById("kyt_sresults"),
this.div_sresultload = this.ytpp.document.getElementById("queue_loading"),
this.span_sresulttext = this.ytpp.document.getElementById("kyt_sresult_text"),
this.div_sresultclose = this.ytpp.document.getElementById("sresult_close"),
this.div_sresultclose.onclick = this.close_sr.bind(this),
this.yt_enable_search ? (this.ytpp.document.getElementById("searchcont").style.display = "block",
this.ytpp.document.getElementById("addurlcont").style.display = "none",
this.p_query_err.innerText = "") : (this.ytpp.document.getElementById("searchcont").style.display = "none",
this.ytpp.document.getElementById("addurlcont").style.display = "block",
this.p_query_err.innerText = "You need to paste the video url into the box."),
this.pa ? (this.reqq(),
this.btn_addvideo.disabled = !1) : (this.div_privnote = this.ytpp.document.getElementById("privacy_notice"),
this.div_privnote.style.display = "block",
this.btn_acceptpriv = this.ytpp.document.getElementById("accept_priv"),
this.btn_acceptpriv.onclick = this.acceptpriv.bind(this))
}
,
fc_youtube.prototype.pp_resize = function() {
this.div_sresult.style.height = this.div_qpopup.clientHeight - this.div_sresult.offsetTop - 10 + "px",
this.div_queue.style.height = this.div_qpopup.clientHeight - this.div_queue.offsetTop - 10 + "px"
}
,
fc_youtube.prototype.pp_ytbr = function(t) {
this.pa ? (this.YT = this.ytpp.getYT(),
this.player = new this.YT.Player("kyt_player",{
videoId: "",
playerVars: {
autohide: 1,
controls: 1,
iv_load_policy: 3,
modestbranding: 1,
origin: "https://www.wechatcity.com"
},
events: {
onReady: this.ytb_rdy.bind(this),
onStateChange: this.ytb_stc.bind(this),
onError: this.ytb_err.bind(this)
}
})) : this.player = null
}
,
fc_youtube.prototype.acceptpriv = function(t) {
this.pa = !0,
this.div_privnote.style.display = "none",
setCookie("accept_youtube_pp", "1", 180),
this.reqq(),
this.pp_ytbr(t),
this.btn_addvideo.disabled = !1
}
,
fc_youtube.prototype.ytb_rdy = function(t) {
this.playstate = "loaded",
this.player_cont.style.display = "none",
this.setcur(this.cur_start_time, this.cur_video)
}
,
fc_youtube.prototype.ytb_stc = function(t) {
switch (t.data) {
case -1:
this.playstate = "unstarted";
break;
case this.YT.PlayerState.ENDED:
this.playstate = "ended",
this.btn_nextvideo.disabled = !0,
this.player_cont.style.display = "none";
break;
case this.YT.PlayerState.PLAYING:
this.playstate = "playing";
break;
case this.YT.PlayerState.PAUSED:
this.playstate = "paused";
break;
case this.YT.PlayerState.BUFFERING:
this.playstate = "buffering";
break;
case this.YT.PlayerState.CUED:
this.playstate = "cued"
}
}
,
fc_youtube.prototype.ytb_err = function(t) {}
,
fc_youtube.prototype.setcur = function(t, e) {
this.cur_start_time = t,
this.cur_video = e,
"unloaded" !== this.playstate && (t = Date.now() + this.ws.tmdelta,
e = Math.floor((t - this.cur_start_time) / 1e3),
this.player.loadVideoById(this.cur_video.id, e, "large"),
this.player_cont.style.display = "block",
this.player.playVideo(),
10 < e ? this.setupnb() : (this.btn_nextvideo.disabled = !0,
setTimeout(this.setupnb.bind(this), 1e3 * (11 - e))))
}
,
fc_youtube.prototype.setupnb = function() {
var t = Date.now() + this.ws.tmdelta
, t = Math.floor((t - this.cur_start_time) / 1e3);
(150 <= this.ws.modlvl || this.ws.username === this.cur_video.nm) && 2 < this.table_queue.childElementCount && 10 <= t && null !== this.cur_video ? this.btn_nextvideo.disabled = !1 : this.btn_nextvideo.disabled = !0
}
,
fc_youtube.prototype.nextv = function(t) {
null !== this.cur_video && "number" == typeof this.cur_video.uid && this.ws.sendpbuf(1200455, this.pb.roots.default.fc.p_1200455.encode({
cuid: this.cur_video.uid
}, null).finish())
}
,
fc_youtube.prototype.openq = function(t) {
this.div_qpopup.style.display = "block",
this.div_qpopupbg.style.display = "block"
}
,
fc_youtube.prototype.closeq = function(t) {
this.div_qpopup.style.display = "none",
this.div_qpopupbg.style.display = "none"
}
,
fc_youtube.prototype.s_keydown = function(t) {
13 === t.keyCode && 0 < this.text_search.value.length && this.search(this.text_search.value, "", "")
}
,
fc_youtube.prototype.s_click = function(t) {
0 < this.text_search.value.length && this.search(this.text_search.value, "", "")
}
,
fc_youtube.prototype.search = function(t, e, n) {
this.clear_sr(),
this.open_sr(),
this.ws.isguest ? this.span_sresulttext.innerText = "You must login to search YouTube" : this.ws.pol_allowyoutube ? (this.span_sresulttext.innerText = "Searching",
this.div_sresultload.style.display = "block",
this.search_cb(t, e, n, this.searchr.bind(this))) : this.span_sresulttext.innerText = "YouTube has been disabled"
}
,
fc_youtube.prototype.searchr = function(t, e) {
this.div_sresultload.style.display = "none",
200 !== e ? this.span_sresulttext.innerText = "Network Error, try later" : t.hasOwnProperty("error") ? this.span_sresulttext.innerText = "Error, please log back in" : t.hasOwnProperty("results") && (1 < t.results.se.length ? this.span_sresulttext.innerText = t.results.se : (this.span_sresulttext.innerText = "Search Results",
this.dspresults(t.results)))
}
,
fc_youtube.prototype.dspresults = function(t) {
for (var e = 0; e < t.v.length; e++) {
var n = t.v[e]
, i = document.createElement("div")
, s = (i.className = "kyt_vid",
document.createElement("ul"))
, o = (i.appendChild(s),
document.createElement("li"))
, c = (s.appendChild(o),
document.createElement("div"))
, r = (c.className = "ytthumb",
c.style.backgroundImage = "url('" + n.tn + "')",
o.appendChild(c),
document.createElement("div"))
, r = (r.className = "time",
r.innerText = n.l,
c.appendChild(r),
n.hasOwnProperty("ne") || ((c = document.createElement("button")).className = "kyt_addbtn",
c.innerText = "Add Video",
c.setAttribute("id", "btn" + n.id),
c.setAttribute("data-vid", n.id),
c.onclick = this.a_click.bind(this),
o.appendChild(c)),
document.createElement("li"))
, o = (s.appendChild(r),
document.createElement("h6"))
, c = (o.innerHTML = n.t,
r.appendChild(o),
document.createElement("p"))
, s = (c.innerText = n.pd + " ago - " + n.c + " views",
r.appendChild(c),
document.createElement("p"))
, o = (s.innerHTML = n.d,
r.appendChild(s),
document.createElement("p"));
o.setAttribute("id", "warn" + n.id),
o.className = "error",
i.appendChild(o),
n.hasOwnProperty("ne") && (o.innerText = "THE OWNER OF THIS VIDEO DOES NOT ALLOW EMBEDDING"),
this.div_sresult.appendChild(i)
}
var l, a = document.createElement("div"), u = (a.setAttribute("id", "nav"),
t.hasOwnProperty("ppt") && ((u = document.createElement("button")).innerText = "Previous Page",
a.appendChild(u),
l = this,
u.onclick = function() {
l.search(t.q, t.ppt, t.r)
}
),
t.hasOwnProperty("npt") && ((u = document.createElement("button")).innerText = "Next Page",
a.appendChild(u),
l = this,
u.onclick = function() {
l.search(t.q, t.npt, t.r)
}
),
document.createElement("p"));
u.innerText = t.tr + " results",
a.appendChild(u),
this.div_sresult.appendChild(a),
this.pp_resize()
}
,
fc_youtube.prototype.close_sr = function() {
this.div_sresultcont.style.display = "none",
this.div_queue.style.display = "block",
this.pp_resize()
}
,
fc_youtube.prototype.clear_sr = function() {
this.div_sresult.innerHTML = ""
}
,
fc_youtube.prototype.open_sr = function() {
this.div_sresultcont.style.display = "block",
this.div_queue.style.display = "none",
this.pp_resize()
}
,
fc_youtube.prototype.a_click = function(t) {
var e;
this.ws.pol_allowyoutube ? ((e = this.ytpp.document.getElementById("btn" + t.target.dataset.vid)).className = "pending",
e.innerHTML = "Wait..",
e.disabled = !0,
this.queue_cb(t.target.dataset.vid, this.queuer.bind(this))) : this.ytpp.document.getElementById("warn" + t.target.dataset.vid).innerText = "YouTube Disabled!"
}
,
fc_youtube.prototype.queuer = function(t, e) {
var n = this.ytpp.document.getElementById("warn" + t.video_id)
, i = this.ytpp.document.getElementById("btn" + t.video_id);
200 !== e ? n.innerText = "Network error: " + e : t.hasOwnProperty("error") ? n.innerText = "Reload the page" : 0 !== t.ae.length ? (n.innerText = t.ae,
i.className = "failed",
i.innerHTML = "Failed") : (i.className = "success",
i.innerHTML = "Added",
this.ws.sendpbuf(1200410, this.pb.roots.default.fc.p_1200410.encode({
uid: t.queue_id
}, null).finish()))
}
,
fc_youtube.prototype.qsync = function(t) {
if (0 === t.length) {
this.table_queue.innerHTML = "";
var e = document.createElement("tr")
, n = document.createElement("th");
n.innerText = "Empty Queue",
e.appendChild(n),
this.table_queue.appendChild(e)
} else
for (var i = 0; i < t.length; i++)
this.qadd(t[i].uid, t[i].nm, t[i].id, t[i].t, t[i].l)
}
,
fc_youtube.prototype.qadd = function(t, e, n, i, s) {
var o, c;
null === this.ytpp || null === this.table_queue || this.ytpp.closed || (1 === this.table_queue.childElementCount && (this.table_queue.innerHTML = "",
c = document.createElement("tr"),
(o = document.createElement("th")).innerText = "Username",
c.appendChild(o),
(o = document.createElement("th")).innerText = "Video",
c.appendChild(o),
(o = document.createElement("th")).innerText = "Length",
c.appendChild(o),
this.table_queue.appendChild(c)),
(c = document.createElement("tr")).setAttribute("data-uid", t),
(o = document.createElement("td")).innerText = e,
c.appendChild(o),
(o = document.createElement("td")).innerText = i,
c.appendChild(o),
(o = document.createElement("td")).innerText = s,
c.appendChild(o),
this.table_queue.appendChild(c),
this.setupnb())
}
,
fc_youtube.prototype.qdel = function(t) {
if (null !== this.ytpp && null !== this.table_queue && !this.ytpp.closed) {
if (1 < this.table_queue.childElementCount)
for (var e = 1; e < this.table_queue.rows.length; e++)
this.table_queue.rows[e].dataset.uid.toString() === t.toString() && this.table_queue.deleteRow(e);
var n, i;
1 === this.table_queue.childElementCount && (this.table_queue.innerHTML = "",
n = document.createElement("tr"),
(i = document.createElement("th")).innerText = "Empty Queue",
n.appendChild(i),
this.table_queue.appendChild(n))
}
}
,
fc_youtube.prototype.au_keydown = function(t) {
13 === t.keyCode && 0 < this.text_addurl.value.length && this.addurl(this.text_addurl.value)
}
,
fc_youtube.prototype.au_click = function(t) {
0 < this.text_addurl.value.length && this.addurl(this.text_addurl.value)
}
,
fc_youtube.prototype.addurl = function(t) {
this.ws.isguest ? this.p_query_err.innerText = "You must login to add videos" : (this.p_query_err.innerText = "Adding video",
this.div_sresultload.style.display = "block",
this.queue_cb(t, this.addurlr.bind(this)))
}
,
fc_youtube.prototype.addurlr = function(t, e) {
this.div_sresultload.style.display = "none",
200 !== e ? this.p_query_err.innerText = "Network Error " + e : t.hasOwnProperty("error") ? this.p_query_err.innerText = "Please log back in" : 0 !== t.ae.length ? this.p_query_err.innerText = t.ae : (this.p_query_err.innerText = "",
this.ws.sendpbuf(1200410, this.pb.roots.default.fc.p_1200410.encode({
uid: t.queue_id
}, null).finish()))
}
,
fc.prototype.dockeydown = function(t) {
this.status.act()
}
,
fc.prototype.docmousemove = function(t) {
this.status.act(),
this.wndctrl.docmousemove(t.pageX, t.pageY)
}
,
fc.prototype.doctouchmove = function(t) {
this.status.act();
var e = t.targetTouches[0];
this.wndctrl.docmousemove(e.pageX, e.pageY),
null !== this.wndctrl.drag_wnd && t.preventDefault()
}
,
fc.prototype.docmousedown = function(t) {
this.wndctrl.stealfocus(null)
}
,
fc.prototype.docmouseup = function(t) {
this.status.act(),
this.wndctrl.docmouseup()
}
,
fc.prototype.docresize = function() {
var t, e;
e = ("mobile" === this.mode ? t = "landscape" === window.getComputedStyle(this.elem).getPropertyValue("--fc-orientation") ? (this.gridcams.style.height = this.lo.elem.clientHeight + "px",
this.elem.clientHeight - this.gridtopic.clientHeight) : (this.gridcams.style.height = this.lo.elem.clientHeight + "px",
this.elem.clientHeight - (this.gridcams.clientHeight + this.gridtopic.clientHeight)) : "swf" === this.mode ? (clearTimeout(this.step_timeout),
this.gridcams.style.height = this.lo.elem.clientHeight + "px",
(e = (t = this.elem.clientHeight - (this.gridcams.clientHeight + this.gridtopic.clientHeight)) / this.elem.clientHeight * 100) < 40 ? (this.width_step -= 5,
document.getElementById("swf_chat_normal").style.width = this.width_step + "%",
this.step_timeout = setTimeout(this.docresize.bind(this), 50)) : 50 < e && 100 !== this.width_step && (this.width_step += 5,
100 < this.width_step && (this.width_step = 100),
document.getElementById("swf_chat_normal").style.width = this.width_step + "%",
this.step_timeout = setTimeout(this.docresize.bind(this), 50))) : (this.gridcams.style.height = this.lo.elem.clientHeight + "px",
t = this.elem.clientHeight - (this.gridcams.clientHeight + this.gridtopic.clientHeight)),
this.cb.isscrollpinned()),
this.gridchat.style.height = t - this.gridtools.clientHeight + "px",
this.gridlist.style.height = t + "px",
e && this.cb.scrolldown()
}
,
fc.prototype.togulist = function() {
"mobile" === this.ws.mode ? "none" === this.ul.elem.style.display ? this.ul.elem.style.display = "block" : this.ul.elem.style.display = "none" : "none" === this.gridlist.style.display ? (this.gridlist.style.display = "block",
this.gridchat.style.gridColumn = "1 / 4",
this.gridtools.style.gridColumn = "1 / 4") : (this.gridlist.style.display = "none",
this.gridchat.style.gridColumn = "1 / 5",
this.gridtools.style.gridColumn = "1 / 5")
}
,
fc.prototype.showfc = function() {
this.elem.style.pointerEvents = "auto",
this.msk.elem.style.opacity = 0,
this.elem.style.opacity = 1
}
,
fc.prototype.showmsk = function() {
this.elem.style.pointerEvents = "none",
this.elem.style.opacity = 0,
this.msk.elem.style.opacity = 1
}
,
fc.prototype.umopen = function(t) {
let e = this.ul.gubuid(parseInt(t.target.dataset.uuid));
null !== (e = null === e ? this.ul.gubuid_left(parseInt(t.target.dataset.uuid)) : e) && this.um.open(t.pageX - this.elem.offsetLeft, t.pageY - this.elem.offsetTop, e.uuid, e.username, e.modlvl, e.online, e.blocked)
}
,
fc.prototype.ytopen = function(t) {
this.ytpl.open()
}
,
fc.prototype.tipshow = function(t) {
var e = this.ul.gubuid(parseInt(t.target.dataset.uuid));
this.tip.show(t.pageX - this.elem.offsetLeft, t.pageY - this.elem.offsetTop, {
buildtype: "userinfo",
user: e
})
}
,
fc.prototype.tipcancel = function(t) {
this.tip.cancel()
}
,
fc.prototype.createui = function() {
return !this.ui_done && (this.gridcams = document.createElement("div"),
this.gridtopic = document.createElement("div"),
this.gridchat = document.createElement("div"),
this.gridtools = document.createElement("div"),
this.gridlist = document.createElement("div"),
this.gridcams.className = "gridbox_cams",
this.gridtopic.className = "gridbox_topic",
this.gridchat.className = "gridbox_chat",
this.gridtools.className = "gridbox_tools",
this.gridlist.className = "gridbox_list",
this.elem.appendChild(this.um.elem),
this.elem.appendChild(this.tip.elem),
this.gridcams.appendChild(this.lo.elem),
this.gridtopic.appendChild(this.tp.elem),
this.gridchat.appendChild(this.cb.elem),
this.gridtools.appendChild(this.tb.elem),
("mobile" === this.ws.mode ? this.elem : this.gridlist).appendChild(this.ul.elem),
this.elem.appendChild(this.gridcams),
this.elem.appendChild(this.gridtopic),
this.elem.appendChild(this.gridchat),
this.elem.appendChild(this.gridtools),
this.elem.appendChild(this.gridlist),
this.ui_done = !0)
}
,
fc.prototype.startband = function(t, e, n, i, s) {
this.msk.showbs(t, e, n, i, s),
this.showmsk()
}
,
fc.prototype.startdel = function() {
this.msk.showds(),
this.showmsk()
}
,
fc.prototype.startpass = function() {}
,
fc.prototype.startnoguest = function() {
this.msk.showcs("No Guests", "This room has disabled guests, please login or try again later."),
this.showmsk()
}
,
fc.prototype.start = function(t) {
this.ws.jty = t,
this.t2src_cb(this.t2cb.bind(this)),
this.msk.showcs("Ready", "Preparing to join room"),
this.showmsk()
}
,
fc.prototype.t2cb = function(t, e) {
200 === e ? t.hasOwnProperty("error") ? this.msk.showcs("Error", "Something went wrong, refresh the page, or log back in. Error: " + t.error) : (this.ws.t2 = t.t2,
this.ws.t2exp = new Date(t.exp),
this.msk.showcs("Connecting", "Connecting to server"),
this.ws.start()) : this.msk.showcs("Error", "Something went wrong, refresh the page, or log back in. Status: " + e)
}
,
fc.prototype.wserr = function(t) {}
,
fc.prototype.wsclose = function(t) {
var e, n;
if (this.ws.ready = !1,
null === this.ws.close_pf) {
if (0 < t.reason.length)
try {
n = this.b64.toByteArray(t.reason)
} catch (t) {}
} else
this.ws.close_pf.code === t.code && this.ws.close_pf.secret === t.reason && (n = this.b64.toByteArray(this.ws.close_pf.reason)),
this.ws.close_pf = null;
switch (t.code) {
case 1002:
case 1003:
case 1007:
case 1008:
case 1009:
case 1010:
case 1011:
case 1015:
default:
this.msk.showcs("RIP IN PIECE", "Lost connection with code " + t.code),
this.showmsk();
break;
case 1001:
"string" == typeof t.reason && -1 !== t.reason.toLowerCase().indexOf("cloudflare") ? this.recon.start() : this.cb.addsys("bye");
break;
case 4007:
this.msk.showcs("Session Ended", "You have left the room due to joining from another location."),
this.showmsk();
break;
case 4008:
this.msk.showcs("Error", "Your username is already taken in this room"),
this.showmsk();
break;
case 1e3:
case 1005:
case 1006:
case 1012:
case 1013:
this.recon.start();
break;
case 4001:
this.ws.joined && (this.recon.reqt2(),
this.recon.start());
break;
case 4002:
window.location.replace("/");
break;
case 4003:
null === this.pb.roots.default.fc.c_4003.verify(n) && (e = this.pb.roots.default.fc.c_4003.decode(n).kick,
this.msk.showks(e.mnm, e.rsn, e.ls, e.rs),
this.showmsk());
break;
case 4004:
null === this.pb.roots.default.fc.c_4004.verify(n) && (e = this.pb.roots.default.fc.c_4004.decode(n).ban,
this.msk.showbs(e.nm, e.exp, e.rs, e.prm, e.rsn),
this.showmsk());
break;
case 4005:
this.msk.showps(),
this.showmsk();
break;
case 4006:
this.msk.showjo(),
this.showmsk();
break;
case 4009:
null === this.pb.roots.default.fc.c_4009.verify(n) && ((e = this.pb.roots.default.fc.c_4009.decode(n)).hasOwnProperty("jth") && (this.ws.jth = e.jth),
this.ws.joined ? 0 < e.msg.length && this.cb.addsys(e.msg) : (0 < e.msg.length && this.msk.showws(e.ms, e.msg),
this.showmsk()),
this.recon.start(e.ms));
break;
case 4010:
this.msk.showcs("No Guests", "This room has disabled guests, please login or try again later."),
this.showmsk();
break;
case 4011:
this.msk.showcs("Too Many Guests", "This room has too many guests, please login or try again later."),
this.showmsk();
break;
case 4999:
this.ws.joined ? this.cb.addsys("The server has been updated, please refresh the page to continue.") : this.msk.showcs("Updates in progress", "The server and website are being updated, please try again later.")
}
}
,
fc.prototype.wsrecv = function(t, e) {
switch (t) {
case 1100101:
null === this.pb.roots.default.fc.p_1100101.verify(e) && (s = this.pb.roots.default.fc.p_1100101.decode(e),
this.ws.un = s.un,
this.ws.uh = s.uh,
this.ws.cheadupdate(),
s.pv !== this.ws.pver ? this.ws.close(4999) : (this.msk.showcs("Joining Room", "Received handshake, sending response"),
this.ws.sendpbuf(1200102, this.pb.roots.default.fc.p_1200102.encode({
sid: this.ws.sid,
tk: this.ws.t2,
pw: this.ws.roompass,
jo: this.ws.joinover,
jth: this.ws.jth,
jty: this.ws.jty
}, null).finish()),
!this.ws.joined && this.ws.joinover && (this.ws.joinover = !1),
0 < this.ws.jth.length && (this.ws.jth = "")));
break;
case 1100103:
null === this.pb.roots.default.fc.p_1100103.verify(e) && (this.ui_done || this.createui(),
this.msk.showcs("Joining Room", "Joining the room"),
s = this.pb.roots.default.fc.p_1100103.decode(e),
this.ws.rn = s.rn,
this.ws.cheadupdate(),
this.applypolicy(s.rp),
this.ws.username = s.nm,
this.ws.uuid = s.uuid,
this.ws.modlvl = s.ml,
this.ws.isguest = s.ig,
this.msglimit.updateml(this.ws.modlvl),
this.tb.refresh(),
this.ws.updatedelta(s.tm),
this.status.update(s.nm, s.st),
this.tp.set(s.tpc),
this.tp.refresh(),
this.ul.populate(s.users),
this.ul.updgsc(s.gsc),
this.lo.setup(s.lo),
this.lo.showlist(s.cams, this.ul),
this.cb.history(s.rcm, s.mn, this.ul),
this.ws.joined ? (this.recon.done(),
this.ytpl.reqq()) : (this.recon.cb = this.cb,
this.ws.cnf.readjson(s.cnf),
this.tb.setfont(this.ws.cnf.get("fc"), this.ws.cnf.get("fs"))),
this.ws.ready = !0,
this.ws.joined = !0,
this.ws.joinover = !0,
setTimeout(this.docresize.bind(this), 200),
setTimeout(this.showfc.bind(this), 300),
this.ws.isguest) && this.tb.mkguest();
break;
case 1100104:
null === this.pb.roots.default.fc.p_1100104.verify(e) && (s = this.pb.roots.default.fc.p_1100104.decode(e),
this.ws.updatedelta(s.tm),
this.ul.pingsync(s.pl));
break;
case 1100105:
null === this.pb.roots.default.fc.p_1100105.verify(e) && (0 === (s = this.pb.roots.default.fc.p_1100105.decode(e)).oruuid ? this.cb.addsys("[INFO]: " + s.msg) : null !== (i = this.pmctrl.getpm(s.oruuid)) && i.info(s.msg));
break;
case 1100106:
break;
case 1100107:
var n;
null === this.pb.roots.default.fc.p_1100107.verify(e) && (n = {
code: (s = this.pb.roots.default.fc.p_1100107.decode(e)).code,
reason: s.cr,
secret: s.sc
},
this.ws.close_pf = n);
break;
case 1100191:
null === this.pb.roots.default.fc.p_1100191.verify(e) && (s = this.pb.roots.default.fc.p_1100191.decode(e),
this.applypolicy(s.rp));
break;
case 1100210:
null === this.pb.roots.default.fc.p_1100210.verify(e) && ((s = this.pb.roots.default.fc.p_1100210.decode(e).user).blk || this.cb.addsys(s.nm + " has joined the room (<a href='/profiles/?uuid=" + s.uuid + "' target='_blank'>View Profile</a>)", s.uuid),
this.ul.joinuser(s, !0));
break;
case 1100212:
null === this.pb.roots.default.fc.p_1100212.verify(e) && (s = this.pb.roots.default.fc.p_1100212.decode(e),
this.ul.gubuid(s.uuid).blocked || this.cb.addsys(s.nm + " has left the room", s.uuid),
this.ul.leaveuser(s.uuid));
break;
case 1100220:
null === this.pb.roots.default.fc.p_1100220.verify(e) && (s = this.pb.roots.default.fc.p_1100220.decode(e),
this.ul.updgsc(s.gsc));
break;
case 1100321:
null === this.pb.roots.default.fc.p_1100321.verify(e) && ((s = this.pb.roots.default.fc.p_1100321.decode(e)).sn || 2 !== s.st.lv || this.ul.gubuid(s.uuid).blocked || this.cb.addsys(s.nm + " has gone AFK" + (0 === s.st.msg.length ? "" : " (" + s.st.msg + ")"), s.uuid),
this.ul.setstatus(s.nm, s.st),
this.status.update(s.nm, s.st));
break;
case 1100341:
null === this.pb.roots.default.fc.p_1100341.verify(e) && (s = this.pb.roots.default.fc.p_1100341.decode(e),
this.ul.blockuser(s.uuid),
this.cb.addsys("You have blocked " + s.nm));
break;
case 1100343:
null === this.pb.roots.default.fc.p_1100343.verify(e) && (s = this.pb.roots.default.fc.p_1100343.decode(e),
this.ul.unblockuser(s.uuid),
this.cb.addsys("You have unblocked " + s.nm));
break;
case 1100411:
null === this.pb.roots.default.fc.p_1100411.verify(e) && (s = this.pb.roots.default.fc.p_1100411.decode(e),
this.ytpl.qadd(s.v.uid, s.v.nm, s.v.id, s.v.t, s.v.l));
break;
case 1100413:
null === this.pb.roots.default.fc.p_1100413.verify(e) && (s = this.pb.roots.default.fc.p_1100413.decode(e),
this.ytpl.qdel(s.uid));
break;
case 1100421:
null === this.pb.roots.default.fc.p_1100421.verify(e) && (s = this.pb.roots.default.fc.p_1100421.decode(e),
this.ytpl.qsync(s.va));
break;
case 1100431:
null === this.pb.roots.default.fc.p_1100431.verify(e) && (s = this.pb.roots.default.fc.p_1100431.decode(e),
"mobile" !== this.ws.mode && this.ws.pol_allowyoutube && this.cb.addyoutube(s.v.t),
"mobile" !== this.ws.mode) && this.ytpl.setcur(s.st, s.v);
break;
case 1100514:
null === this.pb.roots.default.fc.p_1100514.verify(e) && (s = this.pb.roots.default.fc.p_1100514.decode(e).cm,
this.cb.addnormal(s.ts, s.snm, s.suuid, s.ml, s.msg, s.clr, s.sz, s.mn),
this.playchatsnd());
break;
case 1100541:
null === this.pb.roots.default.fc.p_1100541.verify(e) && null !== (i = (s = this.pb.roots.default.fc.p_1100541.decode(e).cm).snm !== this.ws.username ? this.pmctrl.getpm(s.suuid) : this.pmctrl.getpm(s.ruuid)) && i.receive(s.ts, s.snm, s.suuid, s.ml, s.msg, s.clr, s.sz);
break;
case 1100551:
null === this.pb.roots.default.fc.p_1100551.verify(e) && (s = this.pb.roots.default.fc.p_1100551.decode(e),
this.pmctrl.notifytaka(s.uuid, s.st));
break;
case 1100553:
null === this.pb.roots.default.fc.p_1100553.verify(e) && (s = this.pb.roots.default.fc.p_1100553.decode(e),
this.pmctrl.notifypmblock(s.uuid, s.msg));
break;
case 1100571:
null === this.pb.roots.default.fc.p_1100571.verify(e) && ((s = this.pb.roots.default.fc.p_1100571.decode(e)).hasOwnProperty("rnm") ? null !== (i = s.snm !== this.ws.username ? this.pmctrl.getpm(s.suuid) : this.pmctrl.getpm(s.ruuid)) && i.receiveme(s.ts, s.snm, s.suuid, s.msg, s.ml, s.my) : (this.cb.addme(s.ts, s.snm, s.suuid, s.msg, s.ml, s.my),
this.playchatsnd()));
break;
case 1100574:
var i;
null === this.pb.roots.default.fc.p_1100574.verify(e) && (0 < (s = this.pb.roots.default.fc.p_1100574.decode(e)).rnm.length ? null !== (i = s.snm !== this.ws.username ? this.pmctrl.getpm(s.suuid) : this.pmctrl.getpm(s.ruuid)) && i.receiveroll(s.snm, s.suuid, s.di, s.sd, s.rs) : (this.cb.addroll(s.snm, s.suuid, s.di, s.sd, s.rs),
this.playchatsnd()));
break;
case 1100614:
null === this.pb.roots.default.fc.p_1100614.verify(e) && (s = this.pb.roots.default.fc.p_1100614.decode(e),
this.lo.setup(s.lo),
this.cb.addsys(s.nm + " changed the layout"),
this.docresize());
break;
case 1100811:
null === this.pb.roots.default.fc.p_1100811.verify(e) && ((s = this.pb.roots.default.fc.p_1100811.decode(e)).nm === this.ws.username && (this.ws.modlvl = 100,
this.msglimit.updateml(this.ws.modlvl),
this.tp.refresh(),
this.tb.refresh()),
this.ul.moduser(s.uuid),
this.lo.modchg(s.nm),
this.cb.addsys(s.mnm + " modded " + s.nm));
break;
case 1100815:
null === this.pb.roots.default.fc.p_1100815.verify(e) && ((s = this.pb.roots.default.fc.p_1100815.decode(e)).nm === this.ws.username && (this.ws.modlvl = 0,
this.msglimit.updateml(this.ws.modlvl),
this.tp.refresh(),
this.tb.refresh()),
this.ul.unmoduser(s.uuid),
this.lo.modchg(s.nm),
this.cb.addsys(s.mnm + " unmodded " + s.nm));
break;
case 1100821:
null === this.pb.roots.default.fc.p_1100821.verify(e) && (s = this.pb.roots.default.fc.p_1100821.decode(e),
this.tp.set(s.tpc));
break;
case 1100831:
null === this.pb.roots.default.fc.p_1100831.verify(e) && (s = this.pb.roots.default.fc.p_1100831.decode(e).kick,
this.cb.addsys(s.mnm + " kicked " + s.nm + " from the room for " + this.ws.stohr(s.ls) + " (" + s.stc + "/" + s.stm + " strikes) " + (0 < s.rsn.length ? " (" + s.rsn + ")" : "")));
break;
case 1100841:
null === this.pb.roots.default.fc.p_1100841.verify(e) && ((s = this.pb.roots.default.fc.p_1100841.decode(e).ban).prm ? this.cb.addsys(s.bnm + " perma banned " + s.nm + " " + (0 < s.rsn.length ? " (" + s.rsn + ")" : "")) : this.cb.addsys(s.bnm + " banned " + s.nm + " for " + this.ws.stohr(s.rs) + (0 < s.rsn.length ? " (" + s.rsn + ")" : "")));
break;
case 1100851:
null === this.pb.roots.default.fc.p_1100851.verify(e) && (s = this.pb.roots.default.fc.p_1100851.decode(e),
this.cb.addsys(s.mnm + " purged " + s.nm),
this.cb.purge(s.uuid));
break;
case 1100621:
null === this.pb.roots.default.fc.p_1100621.verify(e) && (s = this.pb.roots.default.fc.p_1100621.decode(e).cam,
this.lo.showcam(s.nm, s.cn, s.cs, this.ul));
break;
case 1100627:
null === this.pb.roots.default.fc.p_1100627.verify(e) && ((s = this.pb.roots.default.fc.p_1100627.decode(e)).hasOwnProperty("stp") && this.cb.addsys(s.stp.mnm + " stopped your cam for " + this.ws.stohr(s.stp.ls) + " [" + this.ws.stohr(s.stp.rs) + " remaining]" + (0 < s.stp.rsn.length ? " (" + s.stp.rsn + ")" : "")),
s.hasOwnProperty("cn")) && this.lo.stopcam(s.cn);
break;
case 1100631:
null === this.pb.roots.default.fc.p_1100631.verify(e) && ((s = this.pb.roots.default.fc.p_1100631.decode(e)).hasOwnProperty("stp") && this.cb.addsys(s.stp.mnm + " stopped " + s.stp.nm + " for " + this.ws.stohr(s.stp.ls) + (0 < s.stp.rsn.length ? " (" + s.stp.rsn + ")" : "")),
-1 < s.cn) && this.lo.stopcam(s.cn);
break;
case 1100635:
null === this.pb.roots.default.fc.p_1100635.verify(e) && (s = this.pb.roots.default.fc.p_1100635.decode(e).cam,
this.lo.camsrvchg(s.nm, s.cn, s.cs));
break;
case 1100711:
null === this.pb.roots.default.fc.p_1100711.verify(e) && (s = this.pb.roots.default.fc.p_1100711.decode(e),
this.lo.offerreq(s.cn, s.ti));
break;
case 1100723:
null === this.pb.roots.default.fc.p_1100723.verify(e) && (s = this.pb.roots.default.fc.p_1100723.decode(e).sdp,
this.lo.offer(s.cn, s.ti, s.dsc));
break;
case 1100735:
null === this.pb.roots.default.fc.p_1100735.verify(e) && (s = this.pb.roots.default.fc.p_1100735.decode(e).sdp,
this.lo.answer(s.cn, s.ti, s.dsc));
break;
case 1100747:
null === this.pb.roots.default.fc.p_1100747.verify(e) && (s = this.pb.roots.default.fc.p_1100747.decode(e),
this.lo.ice(s.cn, s.ti, s.cnd));
break;
case 1100798:
null === this.pb.roots.default.fc.p_1100798.verify(e) && (s = this.pb.roots.default.fc.p_1100798.decode(e),
this.lo.close(s.cn, s.ti));
break;
case 1100881:
var s;
null === this.pb.roots.default.fc.p_1100881.verify(e) && (s = this.pb.roots.default.fc.p_1100881.decode(e),
this.cb.purge(s.uuid),
this.pmctrl.closeuuid(s.uuid))
}
}
,
fc.prototype.applypolicy = function(t) {
this.ws.policyupdate(t),
this.wndpolicy.set(),
this.tp.refresh(),
this.lo.modchg(this.ws.username),
this.tb.toglyt(),
this.ul.enguest()
}
,
fc.prototype.applysetting = function(t, e) {
switch (t) {
case "pb":
this.pmctrl.enblockpm(1 === e);
break;
case "pt":
this.pmctrl.entaka(1 === e);
break;
case "ai":
this.status.enautoidle(1 === e);
break;
case "sc":
this.enchatsnd(1 === e);
break;
case "sp":
this.pmctrl.enrecvsnd(1 === e)
}
}
,
fc.prototype.enchatsnd = function(t) {
t ? (this.chatsnd = [],
this.chatsnd.push(new Audio("/sounds/pop02_1.ogg")),
this.chatsnd.push(new Audio("/sounds/pop02_1.ogg")),
this.chatsnd.push(new Audio("/sounds/pop02_1.ogg"))) : this.chatsnd = null
}
,
fc.prototype.playchatsnd = function() {
null !== this.chatsnd && (this.chatsnd[this.chatsndcnt].play(),
this.chatsnd[this.chatsndcnt].currentTime = 0,
this.chatsndcnt++,
this.chatsndcnt >= this.chatsnd.length) && (this.chatsndcnt = 0)
}
,
fc.prototype.checkcompat = function() {
if (!window.WebSocket)
return "WebSocket not supported by your browser.";
if (!window.RTCPeerConnection)
return "RTCPeerConnection not supported by your browser.";
try {
window.AudioContext = window.AudioContext || window.webkitAudioContext,
window.audioContext = new AudioContext
} catch (t) {
return "AudioContext is not supported in this browser (required for volume activity monitors)."
}
return null
}
,
function(t) {
var c = t.Reader
, i = t.Writer
, s = t.util
, r = t.roots.default || (t.roots.default = {});
function e(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function n(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function o(t) {
if (this.users = [],
this.cams = [],
this.rcm = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function l(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function a(t) {
if (this.pl = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function u(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function M(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function H(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function h(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function B(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function q(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function D(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function R(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function p(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function d(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Y(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function W(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function U(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function V(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function K(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function F(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function G(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function J(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function X(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Q(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Z(t) {
if (this.va = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function $(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function tt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function et(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function nt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function m(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function it(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function st(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function ot(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function ct(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function rt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function lt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function at(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function ut(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function f(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function b(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function y(t) {
if (this.rs = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function ht(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function pt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function dt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function mt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function ft(t) {
if (this.kv = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function bt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function yt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function _t(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function _(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function gt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function wt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function g(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function vt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function w(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function v(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function k(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function kt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function xt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Ot(t) {
if (this.sdp = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function jt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Pt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Ct(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function x(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function O(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function j(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function P(t) {
if (this.cnd = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function C(t) {
if (this.cnd = [],
t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Tt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Et(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function T(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function It(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Lt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function E(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Nt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function I(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function St(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function zt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function L(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function At(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function N(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Mt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Ht(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function S(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Bt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function z(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function qt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Dt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Rt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Yt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function Wt(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
function A(t) {
if (t)
for (var e = Object.keys(t), n = 0; n < e.length; ++n)
null != t[e[n]] && (this[e[n]] = t[e[n]])
}
r.fc = ((t = {}).p_1100101 = (e.prototype.un = 0,
e.prototype.uh = 0,
e.prototype.pv = 0,
e.encode = function(t, e) {
return e = e || i.create(),
null != t.un && Object.hasOwnProperty.call(t, "un") && e.uint32(8).int32(t.un),
null != t.uh && Object.hasOwnProperty.call(t, "uh") && e.uint32(16).int32(t.uh),
null != t.pv && Object.hasOwnProperty.call(t, "pv") && e.uint32(24).int32(t.pv),
e
}
,
e.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100101; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.un = t.int32();
break;
case 2:
i.uh = t.int32();
break;
case 3:
i.pv = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
e.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.un && t.hasOwnProperty("un") && !s.isInteger(t.un) ? "un: integer expected" : null != t.uh && t.hasOwnProperty("uh") && !s.isInteger(t.uh) ? "uh: integer expected" : null != t.pv && t.hasOwnProperty("pv") && !s.isInteger(t.pv) ? "pv: integer expected" : null
}
,
e),
t.p_1200102 = (n.prototype.sid = "",
n.prototype.tk = "",
n.prototype.pw = "",
n.prototype.jo = !1,
n.prototype.jth = "",
n.prototype.jty = 0,
n.encode = function(t, e) {
return e = e || i.create(),
null != t.sid && Object.hasOwnProperty.call(t, "sid") && e.uint32(10).string(t.sid),
null != t.tk && Object.hasOwnProperty.call(t, "tk") && e.uint32(18).string(t.tk),
null != t.pw && Object.hasOwnProperty.call(t, "pw") && e.uint32(26).string(t.pw),
null != t.jo && Object.hasOwnProperty.call(t, "jo") && e.uint32(32).bool(t.jo),
null != t.jth && Object.hasOwnProperty.call(t, "jth") && e.uint32(42).string(t.jth),
null != t.jty && Object.hasOwnProperty.call(t, "jty") && e.uint32(48).int32(t.jty),
e
}
,
n.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200102; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.sid = t.string();
break;
case 2:
i.tk = t.string();
break;
case 3:
i.pw = t.string();
break;
case 4:
i.jo = t.bool();
break;
case 5:
i.jth = t.string();
break;
case 6:
i.jty = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
n.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.sid && t.hasOwnProperty("sid") && !s.isString(t.sid) ? "sid: string expected" : null != t.tk && t.hasOwnProperty("tk") && !s.isString(t.tk) ? "tk: string expected" : null != t.pw && t.hasOwnProperty("pw") && !s.isString(t.pw) ? "pw: string expected" : null != t.jo && t.hasOwnProperty("jo") && "boolean" != typeof t.jo ? "jo: boolean expected" : null != t.jth && t.hasOwnProperty("jth") && !s.isString(t.jth) ? "jth: string expected" : null != t.jty && t.hasOwnProperty("jty") && !s.isInteger(t.jty) ? "jty: integer expected" : null
}
,
n),
t.p_1100103 = (o.prototype.rn = 0,
o.prototype.lo = 0,
o.prototype.mn = 0,
o.prototype.gsc = 0,
o.prototype.pkc = 0,
o.prototype.tlc = 0,
o.prototype.tm = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
o.prototype.nm = "",
o.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
o.prototype.tpc = "",
o.prototype.ml = 0,
o.prototype.ig = !1,
o.prototype.st = null,
o.prototype.cnf = "",
o.prototype.users = s.emptyArray,
o.prototype.cams = s.emptyArray,
o.prototype.rcm = s.emptyArray,
o.prototype.rp = null,
o.encode = function(t, e) {
if (e = e || i.create(),
null != t.rn && Object.hasOwnProperty.call(t, "rn") && e.uint32(8).int32(t.rn),
null != t.lo && Object.hasOwnProperty.call(t, "lo") && e.uint32(16).int32(t.lo),
null != t.mn && Object.hasOwnProperty.call(t, "mn") && e.uint32(24).int32(t.mn),
null != t.gsc && Object.hasOwnProperty.call(t, "gsc") && e.uint32(32).int32(t.gsc),
null != t.pkc && Object.hasOwnProperty.call(t, "pkc") && e.uint32(40).int32(t.pkc),
null != t.tlc && Object.hasOwnProperty.call(t, "tlc") && e.uint32(48).int32(t.tlc),
null != t.tm && Object.hasOwnProperty.call(t, "tm") && e.uint32(56).int64(t.tm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(66).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(72).int64(t.uuid),
null != t.tpc && Object.hasOwnProperty.call(t, "tpc") && e.uint32(82).string(t.tpc),
null != t.ml && Object.hasOwnProperty.call(t, "ml") && e.uint32(88).int32(t.ml),
null != t.ig && Object.hasOwnProperty.call(t, "ig") && e.uint32(96).bool(t.ig),
null != t.st && Object.hasOwnProperty.call(t, "st") && r.fc.Status.encode(t.st, e.uint32(106).fork()).ldelim(),
null != t.cnf && Object.hasOwnProperty.call(t, "cnf") && e.uint32(114).string(t.cnf),
null != t.users && t.users.length)
for (var n = 0; n < t.users.length; ++n)
r.fc.User.encode(t.users[n], e.uint32(122).fork()).ldelim();
if (null != t.cams && t.cams.length)
for (n = 0; n < t.cams.length; ++n)
r.fc.Cam.encode(t.cams[n], e.uint32(130).fork()).ldelim();
if (null != t.rcm && t.rcm.length)
for (n = 0; n < t.rcm.length; ++n)
r.fc.ChatMsg.encode(t.rcm[n], e.uint32(138).fork()).ldelim();
return null != t.rp && Object.hasOwnProperty.call(t, "rp") && r.fc.Policy.encode(t.rp, e.uint32(146).fork()).ldelim(),
e
}
,
o.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100103; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.rn = t.int32();
break;
case 2:
i.lo = t.int32();
break;
case 3:
i.mn = t.int32();
break;
case 4:
i.gsc = t.int32();
break;
case 5:
i.pkc = t.int32();
break;
case 6:
i.tlc = t.int32();
break;
case 7:
i.tm = t.int64();
break;
case 8:
i.nm = t.string();
break;
case 9:
i.uuid = t.int64();
break;
case 10:
i.tpc = t.string();
break;
case 11:
i.ml = t.int32();
break;
case 12:
i.ig = t.bool();
break;
case 13:
i.st = r.fc.Status.decode(t, t.uint32());
break;
case 14:
i.cnf = t.string();
break;
case 15:
i.users && i.users.length || (i.users = []),
i.users.push(r.fc.User.decode(t, t.uint32()));
break;
case 16:
i.cams && i.cams.length || (i.cams = []),
i.cams.push(r.fc.Cam.decode(t, t.uint32()));
break;
case 17:
i.rcm && i.rcm.length || (i.rcm = []),
i.rcm.push(r.fc.ChatMsg.decode(t, t.uint32()));
break;
case 18:
i.rp = r.fc.Policy.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
o.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.rn && t.hasOwnProperty("rn") && !s.isInteger(t.rn))
return "rn: integer expected";
if (null != t.lo && t.hasOwnProperty("lo") && !s.isInteger(t.lo))
return "lo: integer expected";
if (null != t.mn && t.hasOwnProperty("mn") && !s.isInteger(t.mn))
return "mn: integer expected";
if (null != t.gsc && t.hasOwnProperty("gsc") && !s.isInteger(t.gsc))
return "gsc: integer expected";
if (null != t.pkc && t.hasOwnProperty("pkc") && !s.isInteger(t.pkc))
return "pkc: integer expected";
if (null != t.tlc && t.hasOwnProperty("tlc") && !s.isInteger(t.tlc))
return "tlc: integer expected";
if (null != t.tm && t.hasOwnProperty("tm") && !(s.isInteger(t.tm) || t.tm && s.isInteger(t.tm.low) && s.isInteger(t.tm.high)))
return "tm: integer|Long expected";
if (null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm))
return "nm: string expected";
if (null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)))
return "uuid: integer|Long expected";
if (null != t.tpc && t.hasOwnProperty("tpc") && !s.isString(t.tpc))
return "tpc: string expected";
if (null != t.ml && t.hasOwnProperty("ml") && !s.isInteger(t.ml))
return "ml: integer expected";
if (null != t.ig && t.hasOwnProperty("ig") && "boolean" != typeof t.ig)
return "ig: boolean expected";
if (null != t.st && t.hasOwnProperty("st") && (n = r.fc.Status.verify(t.st)))
return "st." + n;
if (null != t.cnf && t.hasOwnProperty("cnf") && !s.isString(t.cnf))
return "cnf: string expected";
if (null != t.users && t.hasOwnProperty("users")) {
if (!Array.isArray(t.users))
return "users: array expected";
for (var e = 0; e < t.users.length; ++e)
if (n = r.fc.User.verify(t.users[e]))
return "users." + n
}
if (null != t.cams && t.hasOwnProperty("cams")) {
if (!Array.isArray(t.cams))
return "cams: array expected";
for (e = 0; e < t.cams.length; ++e)
if (n = r.fc.Cam.verify(t.cams[e]))
return "cams." + n
}
if (null != t.rcm && t.hasOwnProperty("rcm")) {
if (!Array.isArray(t.rcm))
return "rcm: array expected";
for (var n, e = 0; e < t.rcm.length; ++e)
if (n = r.fc.ChatMsg.verify(t.rcm[e]))
return "rcm." + n
}
if (null != t.rp && t.hasOwnProperty("rp") && (n = r.fc.Policy.verify(t.rp)))
return "rp." + n;
return null
}
,
o),
t.User = (l.prototype.un = 0,
l.prototype.ml = 0,
l.prototype.ping = 0,
l.prototype.ct = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
l.prototype.nm = "",
l.prototype.blk = !1,
l.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
l.prototype.st = null,
l.encode = function(t, e) {
return e = e || i.create(),
null != t.un && Object.hasOwnProperty.call(t, "un") && e.uint32(8).int32(t.un),
null != t.ml && Object.hasOwnProperty.call(t, "ml") && e.uint32(16).int32(t.ml),
null != t.ping && Object.hasOwnProperty.call(t, "ping") && e.uint32(24).int32(t.ping),
null != t.ct && Object.hasOwnProperty.call(t, "ct") && e.uint32(32).int64(t.ct),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(42).string(t.nm),
null != t.blk && Object.hasOwnProperty.call(t, "blk") && e.uint32(48).bool(t.blk),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(56).int64(t.uuid),
null != t.st && Object.hasOwnProperty.call(t, "st") && r.fc.Status.encode(t.st, e.uint32(66).fork()).ldelim(),
e
}
,
l.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.User; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.un = t.int32();
break;
case 2:
i.ml = t.int32();
break;
case 3:
i.ping = t.int32();
break;
case 4:
i.ct = t.int64();
break;
case 5:
i.nm = t.string();
break;
case 6:
i.blk = t.bool();
break;
case 7:
i.uuid = t.int64();
break;
case 8:
i.st = r.fc.Status.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
l.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.un && t.hasOwnProperty("un") && !s.isInteger(t.un))
return "un: integer expected";
if (null != t.ml && t.hasOwnProperty("ml") && !s.isInteger(t.ml))
return "ml: integer expected";
if (null != t.ping && t.hasOwnProperty("ping") && !s.isInteger(t.ping))
return "ping: integer expected";
if (null != t.ct && t.hasOwnProperty("ct") && !(s.isInteger(t.ct) || t.ct && s.isInteger(t.ct.low) && s.isInteger(t.ct.high)))
return "ct: integer|Long expected";
if (null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm))
return "nm: string expected";
if (null != t.blk && t.hasOwnProperty("blk") && "boolean" != typeof t.blk)
return "blk: boolean expected";
if (null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)))
return "uuid: integer|Long expected";
if (null != t.st && t.hasOwnProperty("st")) {
t = r.fc.Status.verify(t.st);
if (t)
return "st." + t
}
return null
}
,
l),
t.p_1100104 = (a.prototype.tm = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
a.prototype.pl = s.emptyArray,
a.encode = function(t, e) {
if (e = e || i.create(),
null != t.tm && Object.hasOwnProperty.call(t, "tm") && e.uint32(8).int64(t.tm),
null != t.pl && t.pl.length)
for (var n = 0; n < t.pl.length; ++n)
r.fc.Ping.encode(t.pl[n], e.uint32(18).fork()).ldelim();
return e
}
,
a.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100104; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.tm = t.int64();
break;
case 2:
i.pl && i.pl.length || (i.pl = []),
i.pl.push(r.fc.Ping.decode(t, t.uint32()));
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
a.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.tm && t.hasOwnProperty("tm") && !(s.isInteger(t.tm) || t.tm && s.isInteger(t.tm.low) && s.isInteger(t.tm.high)))
return "tm: integer|Long expected";
if (null != t.pl && t.hasOwnProperty("pl")) {
if (!Array.isArray(t.pl))
return "pl: array expected";
for (var e = 0; e < t.pl.length; ++e) {
var n = r.fc.Ping.verify(t.pl[e]);
if (n)
return "pl." + n
}
}
return null
}
,
a),
t.Ping = (u.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
u.prototype.ping = 0,
u.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.ping && Object.hasOwnProperty.call(t, "ping") && e.uint32(16).int32(t.ping),
e
}
,
u.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Ping; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.ping = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
u.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.ping && t.hasOwnProperty("ping") && !s.isInteger(t.ping) ? "ping: integer expected" : null
}
,
u),
t.p_1100105 = (M.prototype.oruuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
M.prototype.msg = "",
M.encode = function(t, e) {
return e = e || i.create(),
null != t.oruuid && Object.hasOwnProperty.call(t, "oruuid") && e.uint32(8).int64(t.oruuid),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(18).string(t.msg),
e
}
,
M.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100105; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.oruuid = t.int64();
break;
case 2:
i.msg = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
M.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.oruuid && t.hasOwnProperty("oruuid") && !(s.isInteger(t.oruuid) || t.oruuid && s.isInteger(t.oruuid.low) && s.isInteger(t.oruuid.high)) ? "oruuid: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null
}
,
M),
t.p_1100106 = (H.prototype.msg = "",
H.encode = function(t, e) {
return e = e || i.create(),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(10).string(t.msg),
e
}
,
H.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100106; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.msg = t.string() : t.skipType(7 & s)
}
return i
}
,
H.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null
}
,
H),
t.p_1100107 = (h.prototype.code = 0,
h.prototype.cr = "",
h.prototype.sc = "",
h.encode = function(t, e) {
return e = e || i.create(),
null != t.code && Object.hasOwnProperty.call(t, "code") && e.uint32(8).int32(t.code),
null != t.cr && Object.hasOwnProperty.call(t, "cr") && e.uint32(18).string(t.cr),
null != t.sc && Object.hasOwnProperty.call(t, "sc") && e.uint32(26).string(t.sc),
e
}
,
h.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100107; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.code = t.int32();
break;
case 2:
i.cr = t.string();
break;
case 3:
i.sc = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
h.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.code && t.hasOwnProperty("code") && !s.isInteger(t.code) ? "code: integer expected" : null != t.cr && t.hasOwnProperty("cr") && !s.isString(t.cr) ? "cr: string expected" : null != t.sc && t.hasOwnProperty("sc") && !s.isString(t.sc) ? "sc: string expected" : null
}
,
h),
t.p_1100210 = (B.prototype.user = null,
B.encode = function(t, e) {
return e = e || i.create(),
null != t.user && Object.hasOwnProperty.call(t, "user") && r.fc.User.encode(t.user, e.uint32(10).fork()).ldelim(),
e
}
,
B.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100210; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.user = r.fc.User.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
B.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.user && t.hasOwnProperty("user")) {
t = r.fc.User.verify(t.user);
if (t)
return "user." + t
}
return null
}
,
B),
t.p_1100212 = (q.prototype.nm = "",
q.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
q.encode = function(t, e) {
return e = e || i.create(),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(10).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(16).int64(t.uuid),
e
}
,
q.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100212; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.nm = t.string();
break;
case 2:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
q.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
q),
t.p_1100220 = (D.prototype.gsc = 0,
D.encode = function(t, e) {
return e = e || i.create(),
null != t.gsc && Object.hasOwnProperty.call(t, "gsc") && e.uint32(8).int32(t.gsc),
e
}
,
D.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100220; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.gsc = t.int32() : t.skipType(7 & s)
}
return i
}
,
D.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.gsc && t.hasOwnProperty("gsc") && !s.isInteger(t.gsc) ? "gsc: integer expected" : null
}
,
D),
t.p_1200311 = (R.prototype.il = !1,
R.prototype.tm = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
R.encode = function(t, e) {
return e = e || i.create(),
null != t.il && Object.hasOwnProperty.call(t, "il") && e.uint32(8).bool(t.il),
null != t.tm && Object.hasOwnProperty.call(t, "tm") && e.uint32(16).int64(t.tm),
e
}
,
R.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200311; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.il = t.bool();
break;
case 2:
i.tm = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
R.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.il && t.hasOwnProperty("il") && "boolean" != typeof t.il ? "il: boolean expected" : null != t.tm && t.hasOwnProperty("tm") && !(s.isInteger(t.tm) || t.tm && s.isInteger(t.tm.low) && s.isInteger(t.tm.high)) ? "tm: integer|Long expected" : null
}
,
R),
t.p_1100321 = (p.prototype.nm = "",
p.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
p.prototype.sn = !1,
p.prototype.st = null,
p.encode = function(t, e) {
return e = e || i.create(),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(10).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(16).int64(t.uuid),
null != t.sn && Object.hasOwnProperty.call(t, "sn") && e.uint32(24).bool(t.sn),
null != t.st && Object.hasOwnProperty.call(t, "st") && r.fc.Status.encode(t.st, e.uint32(34).fork()).ldelim(),
e
}
,
p.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100321; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.nm = t.string();
break;
case 2:
i.uuid = t.int64();
break;
case 3:
i.sn = t.bool();
break;
case 4:
i.st = r.fc.Status.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
p.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm))
return "nm: string expected";
if (null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)))
return "uuid: integer|Long expected";
if (null != t.sn && t.hasOwnProperty("sn") && "boolean" != typeof t.sn)
return "sn: boolean expected";
if (null != t.st && t.hasOwnProperty("st")) {
t = r.fc.Status.verify(t.st);
if (t)
return "st." + t
}
return null
}
,
p),
t.Status = (d.prototype.lv = 0,
d.prototype.ct = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
d.prototype.msg = "",
d.encode = function(t, e) {
return e = e || i.create(),
null != t.lv && Object.hasOwnProperty.call(t, "lv") && e.uint32(8).int32(t.lv),
null != t.ct && Object.hasOwnProperty.call(t, "ct") && e.uint32(16).int64(t.ct),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(26).string(t.msg),
e
}
,
d.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Status; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.lv = t.int32();
break;
case 2:
i.ct = t.int64();
break;
case 3:
i.msg = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
d.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.lv && t.hasOwnProperty("lv") && !s.isInteger(t.lv) ? "lv: integer expected" : null != t.ct && t.hasOwnProperty("ct") && !(s.isInteger(t.ct) || t.ct && s.isInteger(t.ct.low) && s.isInteger(t.ct.high)) ? "ct: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null
}
,
d),
t.p_1200331 = (Y.prototype.cnf = "",
Y.encode = function(t, e) {
return e = e || i.create(),
null != t.cnf && Object.hasOwnProperty.call(t, "cnf") && e.uint32(10).string(t.cnf),
e
}
,
Y.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200331; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cnf = t.string() : t.skipType(7 & s)
}
return i
}
,
Y.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cnf && t.hasOwnProperty("cnf") && !s.isString(t.cnf) ? "cnf: string expected" : null
}
,
Y),
t.p_1200341 = (W.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
W.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
W.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200341; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
W.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
W),
t.p_1100341 = (U.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
U.prototype.nm = "",
U.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
e
}
,
U.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100341; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.nm = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
U.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null
}
,
U),
t.p_1200343 = (V.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
V.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
V.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200343; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
V.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
V),
t.p_1100343 = (K.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
K.prototype.nm = "",
K.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
e
}
,
K.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100343; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.nm = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
K.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null
}
,
K),
t.p_1200410 = (F.prototype.uid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
F.encode = function(t, e) {
return e = e || i.create(),
null != t.uid && Object.hasOwnProperty.call(t, "uid") && e.uint32(8).int64(t.uid),
e
}
,
F.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200410; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uid = t.int64() : t.skipType(7 & s)
}
return i
}
,
F.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uid && t.hasOwnProperty("uid") && !(s.isInteger(t.uid) || t.uid && s.isInteger(t.uid.low) && s.isInteger(t.uid.high)) ? "uid: integer|Long expected" : null
}
,
F),
t.p_1100411 = (G.prototype.v = null,
G.encode = function(t, e) {
return e = e || i.create(),
null != t.v && Object.hasOwnProperty.call(t, "v") && r.fc.YTVideo.encode(t.v, e.uint32(10).fork()).ldelim(),
e
}
,
G.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100411; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.v = r.fc.YTVideo.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
G.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.v && t.hasOwnProperty("v")) {
t = r.fc.YTVideo.verify(t.v);
if (t)
return "v." + t
}
return null
}
,
G),
t.p_1200412 = (J.prototype.uid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
J.encode = function(t, e) {
return e = e || i.create(),
null != t.uid && Object.hasOwnProperty.call(t, "uid") && e.uint32(8).int64(t.uid),
e
}
,
J.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200412; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uid = t.int64() : t.skipType(7 & s)
}
return i
}
,
J.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uid && t.hasOwnProperty("uid") && !(s.isInteger(t.uid) || t.uid && s.isInteger(t.uid.low) && s.isInteger(t.uid.high)) ? "uid: integer|Long expected" : null
}
,
J),
t.p_1100413 = (X.prototype.uid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
X.encode = function(t, e) {
return e = e || i.create(),
null != t.uid && Object.hasOwnProperty.call(t, "uid") && e.uint32(8).int64(t.uid),
e
}
,
X.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100413; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uid = t.int64() : t.skipType(7 & s)
}
return i
}
,
X.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uid && t.hasOwnProperty("uid") && !(s.isInteger(t.uid) || t.uid && s.isInteger(t.uid.low) && s.isInteger(t.uid.high)) ? "uid: integer|Long expected" : null
}
,
X),
t.p_1200420 = (Q.encode = function(t, e) {
return e = e || i.create()
}
,
Q.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, e = new r.fc.p_1200420; t.pos < n; ) {
var i = t.uint32();
t.skipType(7 & i)
}
return e
}
,
Q.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null
}
,
Q),
t.p_1100421 = (Z.prototype.va = s.emptyArray,
Z.encode = function(t, e) {
if (e = e || i.create(),
null != t.va && t.va.length)
for (var n = 0; n < t.va.length; ++n)
r.fc.YTVideo.encode(t.va[n], e.uint32(10).fork()).ldelim();
return e
}
,
Z.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100421; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? (i.va && i.va.length || (i.va = []),
i.va.push(r.fc.YTVideo.decode(t, t.uint32()))) : t.skipType(7 & s)
}
return i
}
,
Z.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.va && t.hasOwnProperty("va")) {
if (!Array.isArray(t.va))
return "va: array expected";
for (var e = 0; e < t.va.length; ++e) {
var n = r.fc.YTVideo.verify(t.va[e]);
if (n)
return "va." + n
}
}
return null
}
,
Z),
t.p_1200430 = ($.encode = function(t, e) {
return e = e || i.create()
}
,
$.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, e = new r.fc.p_1200430; t.pos < n; ) {
var i = t.uint32();
t.skipType(7 & i)
}
return e
}
,
$.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null
}
,
$),
t.p_1100431 = (tt.prototype.st = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
tt.prototype.v = null,
tt.encode = function(t, e) {
return e = e || i.create(),
null != t.st && Object.hasOwnProperty.call(t, "st") && e.uint32(8).int64(t.st),
null != t.v && Object.hasOwnProperty.call(t, "v") && r.fc.YTVideo.encode(t.v, e.uint32(18).fork()).ldelim(),
e
}
,
tt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100431; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.st = t.int64();
break;
case 2:
i.v = r.fc.YTVideo.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
tt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.st && t.hasOwnProperty("st") && !(s.isInteger(t.st) || t.st && s.isInteger(t.st.low) && s.isInteger(t.st.high)))
return "st: integer|Long expected";
if (null != t.v && t.hasOwnProperty("v")) {
t = r.fc.YTVideo.verify(t.v);
if (t)
return "v." + t
}
return null
}
,
tt),
t.p_1200450 = (et.encode = function(t, e) {
return e = e || i.create()
}
,
et.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, e = new r.fc.p_1200450; t.pos < n; ) {
var i = t.uint32();
t.skipType(7 & i)
}
return e
}
,
et.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null
}
,
et),
t.p_1200455 = (nt.prototype.cuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
nt.encode = function(t, e) {
return e = e || i.create(),
null != t.cuid && Object.hasOwnProperty.call(t, "cuid") && e.uint32(8).int64(t.cuid),
e
}
,
nt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200455; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
nt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cuid && t.hasOwnProperty("cuid") && !(s.isInteger(t.cuid) || t.cuid && s.isInteger(t.cuid.low) && s.isInteger(t.cuid.high)) ? "cuid: integer|Long expected" : null
}
,
nt),
t.YTVideo = (m.prototype.uid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
m.prototype.id = "",
m.prototype.t = "",
m.prototype.l = 0,
m.prototype.nm = "",
m.encode = function(t, e) {
return e = e || i.create(),
null != t.uid && Object.hasOwnProperty.call(t, "uid") && e.uint32(8).int64(t.uid),
null != t.id && Object.hasOwnProperty.call(t, "id") && e.uint32(18).string(t.id),
null != t.t && Object.hasOwnProperty.call(t, "t") && e.uint32(26).string(t.t),
null != t.l && Object.hasOwnProperty.call(t, "l") && e.uint32(32).int32(t.l),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(42).string(t.nm),
e
}
,
m.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.YTVideo; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uid = t.int64();
break;
case 2:
i.id = t.string();
break;
case 3:
i.t = t.string();
break;
case 4:
i.l = t.int32();
break;
case 5:
i.nm = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
m.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uid && t.hasOwnProperty("uid") && !(s.isInteger(t.uid) || t.uid && s.isInteger(t.uid.low) && s.isInteger(t.uid.high)) ? "uid: integer|Long expected" : null != t.id && t.hasOwnProperty("id") && !s.isString(t.id) ? "id: string expected" : null != t.t && t.hasOwnProperty("t") && !s.isString(t.t) ? "t: string expected" : null != t.l && t.hasOwnProperty("l") && !s.isInteger(t.l) ? "l: integer expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null
}
,
m),
t.p_1200511 = (it.prototype.cm = null,
it.encode = function(t, e) {
return e = e || i.create(),
null != t.cm && Object.hasOwnProperty.call(t, "cm") && r.fc.ChatMsg.encode(t.cm, e.uint32(10).fork()).ldelim(),
e
}
,
it.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200511; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cm = r.fc.ChatMsg.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
it.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cm && t.hasOwnProperty("cm")) {
t = r.fc.ChatMsg.verify(t.cm);
if (t)
return "cm." + t
}
return null
}
,
it),
t.p_1100514 = (st.prototype.cm = null,
st.encode = function(t, e) {
return e = e || i.create(),
null != t.cm && Object.hasOwnProperty.call(t, "cm") && r.fc.ChatMsg.encode(t.cm, e.uint32(10).fork()).ldelim(),
e
}
,
st.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100514; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cm = r.fc.ChatMsg.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
st.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cm && t.hasOwnProperty("cm")) {
t = r.fc.ChatMsg.verify(t.cm);
if (t)
return "cm." + t
}
return null
}
,
st),
t.p_1200541 = (ot.prototype.cm = null,
ot.encode = function(t, e) {
return e = e || i.create(),
null != t.cm && Object.hasOwnProperty.call(t, "cm") && r.fc.ChatMsg.encode(t.cm, e.uint32(10).fork()).ldelim(),
e
}
,
ot.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200541; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cm = r.fc.ChatMsg.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
ot.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cm && t.hasOwnProperty("cm")) {
t = r.fc.ChatMsg.verify(t.cm);
if (t)
return "cm." + t
}
return null
}
,
ot),
t.p_1100541 = (ct.prototype.cm = null,
ct.encode = function(t, e) {
return e = e || i.create(),
null != t.cm && Object.hasOwnProperty.call(t, "cm") && r.fc.ChatMsg.encode(t.cm, e.uint32(10).fork()).ldelim(),
e
}
,
ct.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100541; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cm = r.fc.ChatMsg.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
ct.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cm && t.hasOwnProperty("cm")) {
t = r.fc.ChatMsg.verify(t.cm);
if (t)
return "cm." + t
}
return null
}
,
ct),
t.p_1200551 = (rt.prototype.st = 0,
rt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
rt.encode = function(t, e) {
return e = e || i.create(),
null != t.st && Object.hasOwnProperty.call(t, "st") && e.uint32(8).int32(t.st),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(16).int64(t.uuid),
e
}
,
rt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200551; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.st = t.int32();
break;
case 2:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
rt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.st && t.hasOwnProperty("st") && !s.isInteger(t.st) ? "st: integer expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
rt),
t.p_1100551 = (lt.prototype.st = 0,
lt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
lt.encode = function(t, e) {
return e = e || i.create(),
null != t.st && Object.hasOwnProperty.call(t, "st") && e.uint32(8).int32(t.st),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(16).int64(t.uuid),
e
}
,
lt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100551; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.st = t.int32();
break;
case 2:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
lt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.st && t.hasOwnProperty("st") && !s.isInteger(t.st) ? "st: integer expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
lt),
t.p_1200553 = (at.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
at.prototype.msg = "",
at.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(18).string(t.msg),
e
}
,
at.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200553; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.msg = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
at.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null
}
,
at),
t.p_1100553 = (ut.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
ut.prototype.msg = "",
ut.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(18).string(t.msg),
e
}
,
ut.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100553; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.msg = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
ut.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null
}
,
ut),
t.ChatMsg = (f.prototype.mn = 0,
f.prototype.sz = 0,
f.prototype.ml = 0,
f.prototype.ts = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
f.prototype.snm = "",
f.prototype.suuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
f.prototype.msg = "",
f.prototype.clr = "",
f.prototype.rnm = "",
f.prototype.ruuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
f.encode = function(t, e) {
return e = e || i.create(),
null != t.mn && Object.hasOwnProperty.call(t, "mn") && e.uint32(8).int32(t.mn),
null != t.sz && Object.hasOwnProperty.call(t, "sz") && e.uint32(16).int32(t.sz),
null != t.ml && Object.hasOwnProperty.call(t, "ml") && e.uint32(24).int32(t.ml),
null != t.ts && Object.hasOwnProperty.call(t, "ts") && e.uint32(32).int64(t.ts),
null != t.snm && Object.hasOwnProperty.call(t, "snm") && e.uint32(42).string(t.snm),
null != t.suuid && Object.hasOwnProperty.call(t, "suuid") && e.uint32(48).int64(t.suuid),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(58).string(t.msg),
null != t.clr && Object.hasOwnProperty.call(t, "clr") && e.uint32(66).string(t.clr),
null != t.rnm && Object.hasOwnProperty.call(t, "rnm") && e.uint32(74).string(t.rnm),
null != t.ruuid && Object.hasOwnProperty.call(t, "ruuid") && e.uint32(80).int64(t.ruuid),
e
}
,
f.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.ChatMsg; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mn = t.int32();
break;
case 2:
i.sz = t.int32();
break;
case 3:
i.ml = t.int32();
break;
case 4:
i.ts = t.int64();
break;
case 5:
i.snm = t.string();
break;
case 6:
i.suuid = t.int64();
break;
case 7:
i.msg = t.string();
break;
case 8:
i.clr = t.string();
break;
case 9:
i.rnm = t.string();
break;
case 10:
i.ruuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
f.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mn && t.hasOwnProperty("mn") && !s.isInteger(t.mn) ? "mn: integer expected" : null != t.sz && t.hasOwnProperty("sz") && !s.isInteger(t.sz) ? "sz: integer expected" : null != t.ml && t.hasOwnProperty("ml") && !s.isInteger(t.ml) ? "ml: integer expected" : null != t.ts && t.hasOwnProperty("ts") && !(s.isInteger(t.ts) || t.ts && s.isInteger(t.ts.low) && s.isInteger(t.ts.high)) ? "ts: integer|Long expected" : null != t.snm && t.hasOwnProperty("snm") && !s.isString(t.snm) ? "snm: string expected" : null != t.suuid && t.hasOwnProperty("suuid") && !(s.isInteger(t.suuid) || t.suuid && s.isInteger(t.suuid.low) && s.isInteger(t.suuid.high)) ? "suuid: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null != t.clr && t.hasOwnProperty("clr") && !s.isString(t.clr) ? "clr: string expected" : null != t.rnm && t.hasOwnProperty("rnm") && !s.isString(t.rnm) ? "rnm: string expected" : null != t.ruuid && t.hasOwnProperty("ruuid") && !(s.isInteger(t.ruuid) || t.ruuid && s.isInteger(t.ruuid.low) && s.isInteger(t.ruuid.high)) ? "ruuid: integer|Long expected" : null
}
,
f),
t.p_1100571 = (b.prototype.ts = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
b.prototype.snm = "",
b.prototype.suuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
b.prototype.rnm = "",
b.prototype.ruuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
b.prototype.msg = "",
b.prototype.ml = 0,
b.prototype.my = !1,
b.encode = function(t, e) {
return e = e || i.create(),
null != t.ts && Object.hasOwnProperty.call(t, "ts") && e.uint32(8).int64(t.ts),
null != t.snm && Object.hasOwnProperty.call(t, "snm") && e.uint32(18).string(t.snm),
null != t.suuid && Object.hasOwnProperty.call(t, "suuid") && e.uint32(24).int64(t.suuid),
null != t.rnm && Object.hasOwnProperty.call(t, "rnm") && e.uint32(34).string(t.rnm),
null != t.ruuid && Object.hasOwnProperty.call(t, "ruuid") && e.uint32(40).int64(t.ruuid),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(50).string(t.msg),
null != t.ml && Object.hasOwnProperty.call(t, "ml") && e.uint32(56).int32(t.ml),
null != t.my && Object.hasOwnProperty.call(t, "my") && e.uint32(64).bool(t.my),
e
}
,
b.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100571; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.ts = t.int64();
break;
case 2:
i.snm = t.string();
break;
case 3:
i.suuid = t.int64();
break;
case 4:
i.rnm = t.string();
break;
case 5:
i.ruuid = t.int64();
break;
case 6:
i.msg = t.string();
break;
case 7:
i.ml = t.int32();
break;
case 8:
i.my = t.bool();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
b.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.ts && t.hasOwnProperty("ts") && !(s.isInteger(t.ts) || t.ts && s.isInteger(t.ts.low) && s.isInteger(t.ts.high)) ? "ts: integer|Long expected" : null != t.snm && t.hasOwnProperty("snm") && !s.isString(t.snm) ? "snm: string expected" : null != t.suuid && t.hasOwnProperty("suuid") && !(s.isInteger(t.suuid) || t.suuid && s.isInteger(t.suuid.low) && s.isInteger(t.suuid.high)) ? "suuid: integer|Long expected" : null != t.rnm && t.hasOwnProperty("rnm") && !s.isString(t.rnm) ? "rnm: string expected" : null != t.ruuid && t.hasOwnProperty("ruuid") && !(s.isInteger(t.ruuid) || t.ruuid && s.isInteger(t.ruuid.low) && s.isInteger(t.ruuid.high)) ? "ruuid: integer|Long expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null != t.ml && t.hasOwnProperty("ml") && !s.isInteger(t.ml) ? "ml: integer expected" : null != t.my && t.hasOwnProperty("my") && "boolean" != typeof t.my ? "my: boolean expected" : null
}
,
b),
t.p_1100574 = (y.prototype.snm = "",
y.prototype.suuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
y.prototype.rnm = "",
y.prototype.ruuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
y.prototype.di = 0,
y.prototype.sd = 0,
y.prototype.rs = s.emptyArray,
y.encode = function(t, e) {
if (e = e || i.create(),
null != t.snm && Object.hasOwnProperty.call(t, "snm") && e.uint32(10).string(t.snm),
null != t.suuid && Object.hasOwnProperty.call(t, "suuid") && e.uint32(16).int64(t.suuid),
null != t.rnm && Object.hasOwnProperty.call(t, "rnm") && e.uint32(26).string(t.rnm),
null != t.ruuid && Object.hasOwnProperty.call(t, "ruuid") && e.uint32(32).int64(t.ruuid),
null != t.di && Object.hasOwnProperty.call(t, "di") && e.uint32(40).int32(t.di),
null != t.sd && Object.hasOwnProperty.call(t, "sd") && e.uint32(48).int32(t.sd),
null != t.rs && t.rs.length) {
e.uint32(58).fork();
for (var n = 0; n < t.rs.length; ++n)
e.int32(t.rs[n]);
e.ldelim()
}
return e
}
,
y.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100574; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.snm = t.string();
break;
case 2:
i.suuid = t.int64();
break;
case 3:
i.rnm = t.string();
break;
case 4:
i.ruuid = t.int64();
break;
case 5:
i.di = t.int32();
break;
case 6:
i.sd = t.int32();
break;
case 7:
if (i.rs && i.rs.length || (i.rs = []),
2 == (7 & s))
for (var o = t.uint32() + t.pos; t.pos < o; )
i.rs.push(t.int32());
else
i.rs.push(t.int32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
y.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.snm && t.hasOwnProperty("snm") && !s.isString(t.snm))
return "snm: string expected";
if (null != t.suuid && t.hasOwnProperty("suuid") && !(s.isInteger(t.suuid) || t.suuid && s.isInteger(t.suuid.low) && s.isInteger(t.suuid.high)))
return "suuid: integer|Long expected";
if (null != t.rnm && t.hasOwnProperty("rnm") && !s.isString(t.rnm))
return "rnm: string expected";
if (null != t.ruuid && t.hasOwnProperty("ruuid") && !(s.isInteger(t.ruuid) || t.ruuid && s.isInteger(t.ruuid.low) && s.isInteger(t.ruuid.high)))
return "ruuid: integer|Long expected";
if (null != t.di && t.hasOwnProperty("di") && !s.isInteger(t.di))
return "di: integer expected";
if (null != t.sd && t.hasOwnProperty("sd") && !s.isInteger(t.sd))
return "sd: integer expected";
if (null != t.rs && t.hasOwnProperty("rs")) {
if (!Array.isArray(t.rs))
return "rs: array expected";
for (var e = 0; e < t.rs.length; ++e)
if (!s.isInteger(t.rs[e]))
return "rs: integer[] expected"
}
return null
}
,
y),
t.p_1200611 = (ht.prototype.lo = 0,
ht.encode = function(t, e) {
return e = e || i.create(),
null != t.lo && Object.hasOwnProperty.call(t, "lo") && e.uint32(8).int32(t.lo),
e
}
,
ht.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200611; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.lo = t.int32() : t.skipType(7 & s)
}
return i
}
,
ht.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.lo && t.hasOwnProperty("lo") && !s.isInteger(t.lo) ? "lo: integer expected" : null
}
,
ht),
t.p_1100614 = (pt.prototype.lo = 0,
pt.prototype.nm = "",
pt.encode = function(t, e) {
return e = e || i.create(),
null != t.lo && Object.hasOwnProperty.call(t, "lo") && e.uint32(8).int32(t.lo),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
e
}
,
pt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100614; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.lo = t.int32();
break;
case 2:
i.nm = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
pt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.lo && t.hasOwnProperty("lo") && !s.isInteger(t.lo) ? "lo: integer expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null
}
,
pt),
t.p_1200191 = (dt.prototype.rp = null,
dt.encode = function(t, e) {
return e = e || i.create(),
null != t.rp && Object.hasOwnProperty.call(t, "rp") && r.fc.Policy.encode(t.rp, e.uint32(10).fork()).ldelim(),
e
}
,
dt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200191; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.rp = r.fc.Policy.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
dt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.rp && t.hasOwnProperty("rp")) {
t = r.fc.Policy.verify(t.rp);
if (t)
return "rp." + t
}
return null
}
,
dt),
t.p_1100191 = (mt.prototype.rp = null,
mt.encode = function(t, e) {
return e = e || i.create(),
null != t.rp && Object.hasOwnProperty.call(t, "rp") && r.fc.Policy.encode(t.rp, e.uint32(10).fork()).ldelim(),
e
}
,
mt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100191; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.rp = r.fc.Policy.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
mt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.rp && t.hasOwnProperty("rp")) {
t = r.fc.Policy.verify(t.rp);
if (t)
return "rp." + t
}
return null
}
,
mt),
t.Policy = (ft.prototype.kv = s.emptyArray,
ft.encode = function(t, e) {
if (e = e || i.create(),
null != t.kv && t.kv.length)
for (var n = 0; n < t.kv.length; ++n)
r.fc.KeyValue.encode(t.kv[n], e.uint32(10).fork()).ldelim();
return e
}
,
ft.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Policy; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? (i.kv && i.kv.length || (i.kv = []),
i.kv.push(r.fc.KeyValue.decode(t, t.uint32()))) : t.skipType(7 & s)
}
return i
}
,
ft.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.kv && t.hasOwnProperty("kv")) {
if (!Array.isArray(t.kv))
return "kv: array expected";
for (var e = 0; e < t.kv.length; ++e) {
var n = r.fc.KeyValue.verify(t.kv[e]);
if (n)
return "kv." + n
}
}
return null
}
,
ft),
t.KeyValue = (bt.prototype.k = "",
bt.prototype.v = "",
bt.encode = function(t, e) {
return e = e || i.create(),
null != t.k && Object.hasOwnProperty.call(t, "k") && e.uint32(10).string(t.k),
null != t.v && Object.hasOwnProperty.call(t, "v") && e.uint32(18).string(t.v),
e
}
,
bt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.KeyValue; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.k = t.string();
break;
case 2:
i.v = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
bt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.k && t.hasOwnProperty("k") && !s.isString(t.k) ? "k: string expected" : null != t.v && t.hasOwnProperty("v") && !s.isString(t.v) ? "v: string expected" : null
}
,
bt),
t.p_1200621 = (yt.prototype.cn = 0,
yt.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
e
}
,
yt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200621; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cn = t.int32() : t.skipType(7 & s)
}
return i
}
,
yt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null
}
,
yt),
t.p_1100621 = (_t.prototype.cam = null,
_t.encode = function(t, e) {
return e = e || i.create(),
null != t.cam && Object.hasOwnProperty.call(t, "cam") && r.fc.Cam.encode(t.cam, e.uint32(10).fork()).ldelim(),
e
}
,
_t.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100621; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cam = r.fc.Cam.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
_t.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cam && t.hasOwnProperty("cam")) {
t = r.fc.Cam.verify(t.cam);
if (t)
return "cam." + t
}
return null
}
,
_t),
t.p_1100627 = (_.prototype.cn = 0,
_.prototype.rsn = "",
_.prototype.stp = null,
_.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.rsn && Object.hasOwnProperty.call(t, "rsn") && e.uint32(18).string(t.rsn),
null != t.stp && Object.hasOwnProperty.call(t, "stp") && r.fc.CamStop.encode(t.stp, e.uint32(26).fork()).ldelim(),
e
}
,
_.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100627; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.rsn = t.string();
break;
case 3:
i.stp = r.fc.CamStop.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
_.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn))
return "cn: integer expected";
if (null != t.rsn && t.hasOwnProperty("rsn") && !s.isString(t.rsn))
return "rsn: string expected";
if (null != t.stp && t.hasOwnProperty("stp")) {
t = r.fc.CamStop.verify(t.stp);
if (t)
return "stp." + t
}
return null
}
,
_),
t.p_1200631 = (gt.prototype.cn = 0,
gt.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
e
}
,
gt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200631; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cn = t.int32() : t.skipType(7 & s)
}
return i
}
,
gt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null
}
,
gt),
t.p_1100631 = (wt.prototype.cn = 0,
wt.prototype.stp = null,
wt.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.stp && Object.hasOwnProperty.call(t, "stp") && r.fc.CamStop.encode(t.stp, e.uint32(18).fork()).ldelim(),
e
}
,
wt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100631; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.stp = r.fc.CamStop.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
wt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn))
return "cn: integer expected";
if (null != t.stp && t.hasOwnProperty("stp")) {
t = r.fc.CamStop.verify(t.stp);
if (t)
return "stp." + t
}
return null
}
,
wt),
t.CamStop = (g.prototype.mnm = "",
g.prototype.nm = "",
g.prototype.rsn = "",
g.prototype.ls = 0,
g.prototype.rs = 0,
g.encode = function(t, e) {
return e = e || i.create(),
null != t.mnm && Object.hasOwnProperty.call(t, "mnm") && e.uint32(10).string(t.mnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.rsn && Object.hasOwnProperty.call(t, "rsn") && e.uint32(26).string(t.rsn),
null != t.ls && Object.hasOwnProperty.call(t, "ls") && e.uint32(32).int32(t.ls),
null != t.rs && Object.hasOwnProperty.call(t, "rs") && e.uint32(40).int32(t.rs),
e
}
,
g.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.CamStop; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.rsn = t.string();
break;
case 4:
i.ls = t.int32();
break;
case 5:
i.rs = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
g.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mnm && t.hasOwnProperty("mnm") && !s.isString(t.mnm) ? "mnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.rsn && t.hasOwnProperty("rsn") && !s.isString(t.rsn) ? "rsn: string expected" : null != t.ls && t.hasOwnProperty("ls") && !s.isInteger(t.ls) ? "ls: integer expected" : null != t.rs && t.hasOwnProperty("rs") && !s.isInteger(t.rs) ? "rs: integer expected" : null
}
,
g),
t.p_1100635 = (vt.prototype.cam = null,
vt.encode = function(t, e) {
return e = e || i.create(),
null != t.cam && Object.hasOwnProperty.call(t, "cam") && r.fc.Cam.encode(t.cam, e.uint32(10).fork()).ldelim(),
e
}
,
vt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100635; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cam = r.fc.Cam.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
vt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cam && t.hasOwnProperty("cam")) {
t = r.fc.Cam.verify(t.cam);
if (t)
return "cam." + t
}
return null
}
,
vt),
t.Cam = (w.prototype.cn = 0,
w.prototype.nm = "",
w.prototype.cs = null,
w.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.cs && Object.hasOwnProperty.call(t, "cs") && r.fc.Camserver.encode(t.cs, e.uint32(26).fork()).ldelim(),
e
}
,
w.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Cam; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.cs = r.fc.Camserver.decode(t, t.uint32());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
w.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn))
return "cn: integer expected";
if (null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm))
return "nm: string expected";
if (null != t.cs && t.hasOwnProperty("cs")) {
t = r.fc.Camserver.verify(t.cs);
if (t)
return "cs." + t
}
return null
}
,
w),
t.Camserver = (v.prototype.fn = "",
v.prototype.lc = "",
v.prototype.ta = "",
v.prototype.tu = "",
v.prototype.tp = "",
v.encode = function(t, e) {
return e = e || i.create(),
null != t.fn && Object.hasOwnProperty.call(t, "fn") && e.uint32(10).string(t.fn),
null != t.lc && Object.hasOwnProperty.call(t, "lc") && e.uint32(18).string(t.lc),
null != t.ta && Object.hasOwnProperty.call(t, "ta") && e.uint32(26).string(t.ta),
null != t.tu && Object.hasOwnProperty.call(t, "tu") && e.uint32(34).string(t.tu),
null != t.tp && Object.hasOwnProperty.call(t, "tp") && e.uint32(42).string(t.tp),
e
}
,
v.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Camserver; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.fn = t.string();
break;
case 2:
i.lc = t.string();
break;
case 3:
i.ta = t.string();
break;
case 4:
i.tu = t.string();
break;
case 5:
i.tp = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
v.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.fn && t.hasOwnProperty("fn") && !s.isString(t.fn) ? "fn: string expected" : null != t.lc && t.hasOwnProperty("lc") && !s.isString(t.lc) ? "lc: string expected" : null != t.ta && t.hasOwnProperty("ta") && !s.isString(t.ta) ? "ta: string expected" : null != t.tu && t.hasOwnProperty("tu") && !s.isString(t.tu) ? "tu: string expected" : null != t.tp && t.hasOwnProperty("tp") && !s.isString(t.tp) ? "tp: string expected" : null
}
,
v),
t.p_1200711 = (k.prototype.cn = 0,
k.prototype.op1 = !1,
k.prototype.op2 = !1,
k.prototype.op3 = !1,
k.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.op1 && Object.hasOwnProperty.call(t, "op1") && e.uint32(16).bool(t.op1),
null != t.op2 && Object.hasOwnProperty.call(t, "op2") && e.uint32(24).bool(t.op2),
null != t.op3 && Object.hasOwnProperty.call(t, "op3") && e.uint32(32).bool(t.op3),
e
}
,
k.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200711; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.op1 = t.bool();
break;
case 3:
i.op2 = t.bool();
break;
case 4:
i.op3 = t.bool();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
k.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.op1 && t.hasOwnProperty("op1") && "boolean" != typeof t.op1 ? "op1: boolean expected" : null != t.op2 && t.hasOwnProperty("op2") && "boolean" != typeof t.op2 ? "op2: boolean expected" : null != t.op3 && t.hasOwnProperty("op3") && "boolean" != typeof t.op3 ? "op3: boolean expected" : null
}
,
k),
t.p_1100711 = (kt.prototype.cn = 0,
kt.prototype.ti = 0,
kt.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
e
}
,
kt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100711; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
kt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null
}
,
kt),
t.p_1200723 = (xt.prototype.sdp = null,
xt.encode = function(t, e) {
return e = e || i.create(),
null != t.sdp && Object.hasOwnProperty.call(t, "sdp") && r.fc.SDP.encode(t.sdp, e.uint32(10).fork()).ldelim(),
e
}
,
xt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200723; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.sdp = r.fc.SDP.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
xt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.sdp && t.hasOwnProperty("sdp")) {
t = r.fc.SDP.verify(t.sdp);
if (t)
return "sdp." + t
}
return null
}
,
xt),
t.p_1200724 = (Ot.prototype.sdp = s.emptyArray,
Ot.encode = function(t, e) {
if (e = e || i.create(),
null != t.sdp && t.sdp.length)
for (var n = 0; n < t.sdp.length; ++n)
r.fc.SDP.encode(t.sdp[n], e.uint32(10).fork()).ldelim();
return e
}
,
Ot.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200724; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? (i.sdp && i.sdp.length || (i.sdp = []),
i.sdp.push(r.fc.SDP.decode(t, t.uint32()))) : t.skipType(7 & s)
}
return i
}
,
Ot.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.sdp && t.hasOwnProperty("sdp")) {
if (!Array.isArray(t.sdp))
return "sdp: array expected";
for (var e = 0; e < t.sdp.length; ++e) {
var n = r.fc.SDP.verify(t.sdp[e]);
if (n)
return "sdp." + n
}
}
return null
}
,
Ot),
t.p_1100723 = (jt.prototype.sdp = null,
jt.encode = function(t, e) {
return e = e || i.create(),
null != t.sdp && Object.hasOwnProperty.call(t, "sdp") && r.fc.SDP.encode(t.sdp, e.uint32(10).fork()).ldelim(),
e
}
,
jt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100723; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.sdp = r.fc.SDP.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
jt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.sdp && t.hasOwnProperty("sdp")) {
t = r.fc.SDP.verify(t.sdp);
if (t)
return "sdp." + t
}
return null
}
,
jt),
t.p_1200735 = (Pt.prototype.sdp = null,
Pt.encode = function(t, e) {
return e = e || i.create(),
null != t.sdp && Object.hasOwnProperty.call(t, "sdp") && r.fc.SDP.encode(t.sdp, e.uint32(10).fork()).ldelim(),
e
}
,
Pt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200735; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.sdp = r.fc.SDP.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
Pt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.sdp && t.hasOwnProperty("sdp")) {
t = r.fc.SDP.verify(t.sdp);
if (t)
return "sdp." + t
}
return null
}
,
Pt),
t.p_1100735 = (Ct.prototype.sdp = null,
Ct.encode = function(t, e) {
return e = e || i.create(),
null != t.sdp && Object.hasOwnProperty.call(t, "sdp") && r.fc.SDP.encode(t.sdp, e.uint32(10).fork()).ldelim(),
e
}
,
Ct.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100735; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.sdp = r.fc.SDP.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
Ct.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.sdp && t.hasOwnProperty("sdp")) {
t = r.fc.SDP.verify(t.sdp);
if (t)
return "sdp." + t
}
return null
}
,
Ct),
t.SDP = (x.prototype.cn = 0,
x.prototype.ti = 0,
x.prototype.dsc = "",
x.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.dsc && Object.hasOwnProperty.call(t, "dsc") && e.uint32(26).string(t.dsc),
e
}
,
x.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.SDP; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.dsc = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
x.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null != t.dsc && t.hasOwnProperty("dsc") && !s.isString(t.dsc) ? "dsc: string expected" : null
}
,
x),
t.p_1200747 = (O.prototype.cn = 0,
O.prototype.ti = 0,
O.prototype.cnd = "",
O.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.cnd && Object.hasOwnProperty.call(t, "cnd") && e.uint32(26).string(t.cnd),
e
}
,
O.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200747; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.cnd = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
O.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null != t.cnd && t.hasOwnProperty("cnd") && !s.isString(t.cnd) ? "cnd: string expected" : null
}
,
O),
t.p_1100747 = (j.prototype.cn = 0,
j.prototype.ti = 0,
j.prototype.cnd = "",
j.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.cnd && Object.hasOwnProperty.call(t, "cnd") && e.uint32(26).string(t.cnd),
e
}
,
j.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100747; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.cnd = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
j.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null != t.cnd && t.hasOwnProperty("cnd") && !s.isString(t.cnd) ? "cnd: string expected" : null
}
,
j),
t.p_1200748 = (P.prototype.cn = 0,
P.prototype.ti = 0,
P.prototype.cnd = s.emptyArray,
P.encode = function(t, e) {
if (e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.cnd && t.cnd.length)
for (var n = 0; n < t.cnd.length; ++n)
e.uint32(26).string(t.cnd[n]);
return e
}
,
P.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200748; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.cnd && i.cnd.length || (i.cnd = []),
i.cnd.push(t.string());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
P.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn))
return "cn: integer expected";
if (null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti))
return "ti: integer expected";
if (null != t.cnd && t.hasOwnProperty("cnd")) {
if (!Array.isArray(t.cnd))
return "cnd: array expected";
for (var e = 0; e < t.cnd.length; ++e)
if (!s.isString(t.cnd[e]))
return "cnd: string[] expected"
}
return null
}
,
P),
t.p_1100748 = (C.prototype.cn = 0,
C.prototype.ti = 0,
C.prototype.cnd = s.emptyArray,
C.encode = function(t, e) {
if (e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.cnd && t.cnd.length)
for (var n = 0; n < t.cnd.length; ++n)
e.uint32(26).string(t.cnd[n]);
return e
}
,
C.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100748; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.cnd && i.cnd.length || (i.cnd = []),
i.cnd.push(t.string());
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
C.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn))
return "cn: integer expected";
if (null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti))
return "ti: integer expected";
if (null != t.cnd && t.hasOwnProperty("cnd")) {
if (!Array.isArray(t.cnd))
return "cnd: array expected";
for (var e = 0; e < t.cnd.length; ++e)
if (!s.isString(t.cnd[e]))
return "cnd: string[] expected"
}
return null
}
,
C),
t.p_1200798 = (Tt.prototype.cn = 0,
Tt.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
e
}
,
Tt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200798; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.cn = t.int32() : t.skipType(7 & s)
}
return i
}
,
Tt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null
}
,
Tt),
t.p_1100798 = (Et.prototype.cn = 0,
Et.prototype.ti = 0,
Et.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
e
}
,
Et.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100798; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
Et.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null
}
,
Et),
t.p_1200799 = (T.prototype.cn = 0,
T.prototype.ti = 0,
T.prototype.er = 0,
T.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
null != t.er && Object.hasOwnProperty.call(t, "er") && e.uint32(24).int32(t.er),
e
}
,
T.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200799; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
case 3:
i.er = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
T.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null != t.er && t.hasOwnProperty("er") && !s.isInteger(t.er) ? "er: integer expected" : null
}
,
T),
t.p_1200797 = (It.prototype.cn = 0,
It.prototype.ti = 0,
It.encode = function(t, e) {
return e = e || i.create(),
null != t.cn && Object.hasOwnProperty.call(t, "cn") && e.uint32(8).int32(t.cn),
null != t.ti && Object.hasOwnProperty.call(t, "ti") && e.uint32(16).int32(t.ti),
e
}
,
It.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200797; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.cn = t.int32();
break;
case 2:
i.ti = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
It.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.cn && t.hasOwnProperty("cn") && !s.isInteger(t.cn) ? "cn: integer expected" : null != t.ti && t.hasOwnProperty("ti") && !s.isInteger(t.ti) ? "ti: integer expected" : null
}
,
It),
t.p_1200811 = (Lt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
Lt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
Lt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200811; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
Lt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
Lt),
t.p_1100811 = (E.prototype.mnm = "",
E.prototype.nm = "",
E.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
E.encode = function(t, e) {
return e = e || i.create(),
null != t.mnm && Object.hasOwnProperty.call(t, "mnm") && e.uint32(10).string(t.mnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(24).int64(t.uuid),
e
}
,
E.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100811; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
E.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mnm && t.hasOwnProperty("mnm") && !s.isString(t.mnm) ? "mnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
E),
t.p_1200815 = (Nt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
Nt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
Nt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200815; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
Nt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
Nt),
t.p_1100815 = (I.prototype.mnm = "",
I.prototype.nm = "",
I.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
I.encode = function(t, e) {
return e = e || i.create(),
null != t.mnm && Object.hasOwnProperty.call(t, "mnm") && e.uint32(10).string(t.mnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(24).int64(t.uuid),
e
}
,
I.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100815; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
I.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mnm && t.hasOwnProperty("mnm") && !s.isString(t.mnm) ? "mnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
I),
t.p_1200821 = (St.prototype.tpc = "",
St.encode = function(t, e) {
return e = e || i.create(),
null != t.tpc && Object.hasOwnProperty.call(t, "tpc") && e.uint32(10).string(t.tpc),
e
}
,
St.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200821; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.tpc = t.string() : t.skipType(7 & s)
}
return i
}
,
St.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.tpc && t.hasOwnProperty("tpc") && !s.isString(t.tpc) ? "tpc: string expected" : null
}
,
St),
t.p_1100821 = (zt.prototype.tpc = "",
zt.encode = function(t, e) {
return e = e || i.create(),
null != t.tpc && Object.hasOwnProperty.call(t, "tpc") && e.uint32(10).string(t.tpc),
e
}
,
zt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100821; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.tpc = t.string() : t.skipType(7 & s)
}
return i
}
,
zt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.tpc && t.hasOwnProperty("tpc") && !s.isString(t.tpc) ? "tpc: string expected" : null
}
,
zt),
t.p_1200831 = (L.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
L.prototype.rsn = "",
L.prototype.ls = 0,
L.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.rsn && Object.hasOwnProperty.call(t, "rsn") && e.uint32(18).string(t.rsn),
null != t.ls && Object.hasOwnProperty.call(t, "ls") && e.uint32(24).int32(t.ls),
e
}
,
L.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200831; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.rsn = t.string();
break;
case 3:
i.ls = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
L.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.rsn && t.hasOwnProperty("rsn") && !s.isString(t.rsn) ? "rsn: string expected" : null != t.ls && t.hasOwnProperty("ls") && !s.isInteger(t.ls) ? "ls: integer expected" : null
}
,
L),
t.p_1100831 = (At.prototype.kick = null,
At.encode = function(t, e) {
return e = e || i.create(),
null != t.kick && Object.hasOwnProperty.call(t, "kick") && r.fc.Kick.encode(t.kick, e.uint32(10).fork()).ldelim(),
e
}
,
At.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100831; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.kick = r.fc.Kick.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
At.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.kick && t.hasOwnProperty("kick")) {
t = r.fc.Kick.verify(t.kick);
if (t)
return "kick." + t
}
return null
}
,
At),
t.Kick = (N.prototype.mnm = "",
N.prototype.nm = "",
N.prototype.rsn = "",
N.prototype.ls = 0,
N.prototype.rs = 0,
N.prototype.stm = 0,
N.prototype.stc = 0,
N.encode = function(t, e) {
return e = e || i.create(),
null != t.mnm && Object.hasOwnProperty.call(t, "mnm") && e.uint32(10).string(t.mnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.rsn && Object.hasOwnProperty.call(t, "rsn") && e.uint32(26).string(t.rsn),
null != t.ls && Object.hasOwnProperty.call(t, "ls") && e.uint32(32).int32(t.ls),
null != t.rs && Object.hasOwnProperty.call(t, "rs") && e.uint32(40).int32(t.rs),
null != t.stm && Object.hasOwnProperty.call(t, "stm") && e.uint32(48).int32(t.stm),
null != t.stc && Object.hasOwnProperty.call(t, "stc") && e.uint32(56).int32(t.stc),
e
}
,
N.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.Kick; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.rsn = t.string();
break;
case 4:
i.ls = t.int32();
break;
case 5:
i.rs = t.int32();
break;
case 6:
i.stm = t.int32();
break;
case 7:
i.stc = t.int32();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
N.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mnm && t.hasOwnProperty("mnm") && !s.isString(t.mnm) ? "mnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.rsn && t.hasOwnProperty("rsn") && !s.isString(t.rsn) ? "rsn: string expected" : null != t.ls && t.hasOwnProperty("ls") && !s.isInteger(t.ls) ? "ls: integer expected" : null != t.rs && t.hasOwnProperty("rs") && !s.isInteger(t.rs) ? "rs: integer expected" : null != t.stm && t.hasOwnProperty("stm") && !s.isInteger(t.stm) ? "stm: integer expected" : null != t.stc && t.hasOwnProperty("stc") && !s.isInteger(t.stc) ? "stc: integer expected" : null
}
,
N),
t.p_1200841 = (Mt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
Mt.prototype.prm = !1,
Mt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
null != t.prm && Object.hasOwnProperty.call(t, "prm") && e.uint32(16).bool(t.prm),
e
}
,
Mt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200841; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.uuid = t.int64();
break;
case 2:
i.prm = t.bool();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
Mt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.prm && t.hasOwnProperty("prm") && "boolean" != typeof t.prm ? "prm: boolean expected" : null
}
,
Mt),
t.p_1100841 = (Ht.prototype.ban = null,
Ht.encode = function(t, e) {
return e = e || i.create(),
null != t.ban && Object.hasOwnProperty.call(t, "ban") && r.fc.RoomBan.encode(t.ban, e.uint32(10).fork()).ldelim(),
e
}
,
Ht.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100841; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.ban = r.fc.RoomBan.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
Ht.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.ban && t.hasOwnProperty("ban")) {
t = r.fc.RoomBan.verify(t.ban);
if (t)
return "ban." + t
}
return null
}
,
Ht),
t.RoomBan = (S.prototype.bnm = "",
S.prototype.nm = "",
S.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
S.prototype.rsn = "",
S.prototype.exp = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
S.prototype.rs = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
S.prototype.prm = !1,
S.encode = function(t, e) {
return e = e || i.create(),
null != t.bnm && Object.hasOwnProperty.call(t, "bnm") && e.uint32(10).string(t.bnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(24).int64(t.uuid),
null != t.rsn && Object.hasOwnProperty.call(t, "rsn") && e.uint32(34).string(t.rsn),
null != t.exp && Object.hasOwnProperty.call(t, "exp") && e.uint32(40).int64(t.exp),
null != t.rs && Object.hasOwnProperty.call(t, "rs") && e.uint32(48).int64(t.rs),
null != t.prm && Object.hasOwnProperty.call(t, "prm") && e.uint32(56).bool(t.prm),
e
}
,
S.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.RoomBan; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.bnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.uuid = t.int64();
break;
case 4:
i.rsn = t.string();
break;
case 5:
i.exp = t.int64();
break;
case 6:
i.rs = t.int64();
break;
case 7:
i.prm = t.bool();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
S.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.bnm && t.hasOwnProperty("bnm") && !s.isString(t.bnm) ? "bnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null != t.rsn && t.hasOwnProperty("rsn") && !s.isString(t.rsn) ? "rsn: string expected" : null != t.exp && t.hasOwnProperty("exp") && !(s.isInteger(t.exp) || t.exp && s.isInteger(t.exp.low) && s.isInteger(t.exp.high)) ? "exp: integer|Long expected" : null != t.rs && t.hasOwnProperty("rs") && !(s.isInteger(t.rs) || t.rs && s.isInteger(t.rs.low) && s.isInteger(t.rs.high)) ? "rs: integer|Long expected" : null != t.prm && t.hasOwnProperty("prm") && "boolean" != typeof t.prm ? "prm: boolean expected" : null
}
,
S),
t.p_1200851 = (Bt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
Bt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
Bt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200851; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
Bt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
Bt),
t.p_1100851 = (z.prototype.mnm = "",
z.prototype.nm = "",
z.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
z.encode = function(t, e) {
return e = e || i.create(),
null != t.mnm && Object.hasOwnProperty.call(t, "mnm") && e.uint32(10).string(t.mnm),
null != t.nm && Object.hasOwnProperty.call(t, "nm") && e.uint32(18).string(t.nm),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(24).int64(t.uuid),
e
}
,
z.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100851; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.mnm = t.string();
break;
case 2:
i.nm = t.string();
break;
case 3:
i.uuid = t.int64();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
z.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.mnm && t.hasOwnProperty("mnm") && !s.isString(t.mnm) ? "mnm: string expected" : null != t.nm && t.hasOwnProperty("nm") && !s.isString(t.nm) ? "nm: string expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
z),
t.p_1200881 = (qt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
qt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
qt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1200881; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
qt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
qt),
t.p_1100881 = (Dt.prototype.uuid = s.Long ? s.Long.fromBits(0, 0, !1) : 0,
Dt.encode = function(t, e) {
return e = e || i.create(),
null != t.uuid && Object.hasOwnProperty.call(t, "uuid") && e.uint32(8).int64(t.uuid),
e
}
,
Dt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.p_1100881; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.uuid = t.int64() : t.skipType(7 & s)
}
return i
}
,
Dt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.uuid && t.hasOwnProperty("uuid") && !(s.isInteger(t.uuid) || t.uuid && s.isInteger(t.uuid.low) && s.isInteger(t.uuid.high)) ? "uuid: integer|Long expected" : null
}
,
Dt),
t.c_4002 = (Rt.prototype.rn = 0,
Rt.encode = function(t, e) {
return e = e || i.create(),
null != t.rn && Object.hasOwnProperty.call(t, "rn") && e.uint32(8).int32(t.rn),
e
}
,
Rt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.c_4002; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.rn = t.int32() : t.skipType(7 & s)
}
return i
}
,
Rt.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.rn && t.hasOwnProperty("rn") && !s.isInteger(t.rn) ? "rn: integer expected" : null
}
,
Rt),
t.c_4003 = (Yt.prototype.kick = null,
Yt.encode = function(t, e) {
return e = e || i.create(),
null != t.kick && Object.hasOwnProperty.call(t, "kick") && r.fc.Kick.encode(t.kick, e.uint32(10).fork()).ldelim(),
e
}
,
Yt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.c_4003; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.kick = r.fc.Kick.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
Yt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.kick && t.hasOwnProperty("kick")) {
t = r.fc.Kick.verify(t.kick);
if (t)
return "kick." + t
}
return null
}
,
Yt),
t.c_4004 = (Wt.prototype.ban = null,
Wt.encode = function(t, e) {
return e = e || i.create(),
null != t.ban && Object.hasOwnProperty.call(t, "ban") && r.fc.RoomBan.encode(t.ban, e.uint32(10).fork()).ldelim(),
e
}
,
Wt.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.c_4004; t.pos < n; ) {
var s = t.uint32();
s >>> 3 == 1 ? i.ban = r.fc.RoomBan.decode(t, t.uint32()) : t.skipType(7 & s)
}
return i
}
,
Wt.verify = function(t) {
if ("object" != typeof t || null === t)
return "object expected";
if (null != t.ban && t.hasOwnProperty("ban")) {
t = r.fc.RoomBan.verify(t.ban);
if (t)
return "ban." + t
}
return null
}
,
Wt),
t.c_4009 = (A.prototype.ms = 0,
A.prototype.msg = "",
A.prototype.jth = "",
A.encode = function(t, e) {
return e = e || i.create(),
null != t.ms && Object.hasOwnProperty.call(t, "ms") && e.uint32(8).int32(t.ms),
null != t.msg && Object.hasOwnProperty.call(t, "msg") && e.uint32(18).string(t.msg),
null != t.jth && Object.hasOwnProperty.call(t, "jth") && e.uint32(26).string(t.jth),
e
}
,
A.decode = function(t, e) {
t instanceof c || (t = c.create(t));
for (var n = void 0 === e ? t.len : t.pos + e, i = new r.fc.c_4009; t.pos < n; ) {
var s = t.uint32();
switch (s >>> 3) {
case 1:
i.ms = t.int32();
break;
case 2:
i.msg = t.string();
break;
case 3:
i.jth = t.string();
break;
default:
t.skipType(7 & s)
}
}
return i
}
,
A.verify = function(t) {
return "object" != typeof t || null === t ? "object expected" : null != t.ms && t.hasOwnProperty("ms") && !s.isInteger(t.ms) ? "ms: integer expected" : null != t.msg && t.hasOwnProperty("msg") && !s.isString(t.msg) ? "msg: string expected" : null != t.jth && t.hasOwnProperty("jth") && !s.isString(t.jth) ? "jth: string expected" : null
}
,
A),
t)
}(protobuf);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment