"use strict";
/**
 * @license Angular v12.0.0-next.0
 * (c) 2010-2020 Google LLC. https://angular.io/
 * License: MIT
 */
/**
 * @license
 * Copyright Google LLC All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */Zone.__load_patch("socketio",(e,t,o)=>{t[t.__symbol__("socketio")]=function t(p){o.patchEventTarget(e,[p.Socket.prototype],{useG:!1,chkDup:!1,rt:!0,diff:(e,t)=>e.callback===t}),p.Socket.prototype.on=p.Socket.prototype.addEventListener,p.Socket.prototype.off=p.Socket.prototype.removeListener=p.Socket.prototype.removeAllListeners=p.Socket.prototype.removeEventListener}});