/** Copyright (C) 2020-2025 Kedron Holdings LLC, All Rights Reserved. This file is part of Reactor.
 *  For info and license terms please see https://reactor.toggledbits.com/
 *  ------------------------------------------------------------------------------
*/
const a9_0x23e4b4 = a9_0x2af1;
(function (_0x1294fa, _0x5c69f9) {
    const _0x56cd4e = a9_0x2af1, _0x180139 = _0x1294fa();
    while (!![]) {
        try {
            const _0xc96881 = -parseInt(_0x56cd4e(0x19a)) / 0x1 * (-parseInt(_0x56cd4e(0x19d)) / 0x2) + -parseInt(_0x56cd4e(0x1b5)) / 0x3 * (-parseInt(_0x56cd4e(0x1a5)) / 0x4) + parseInt(_0x56cd4e(0x1a8)) / 0x5 * (-parseInt(_0x56cd4e(0x1a7)) / 0x6) + -parseInt(_0x56cd4e(0x1b1)) / 0x7 * (-parseInt(_0x56cd4e(0x1af)) / 0x8) + -parseInt(_0x56cd4e(0x1a9)) / 0x9 * (parseInt(_0x56cd4e(0x1a6)) / 0xa) + -parseInt(_0x56cd4e(0x197)) / 0xb * (-parseInt(_0x56cd4e(0x1a2)) / 0xc) + parseInt(_0x56cd4e(0x1a1)) / 0xd * (parseInt(_0x56cd4e(0x198)) / 0xe);
            if (_0xc96881 === _0x5c69f9)
                break;
            else
                _0x180139['push'](_0x180139['shift']());
        } catch (_0x43bc32) {
            _0x180139['push'](_0x180139['shift']());
        }
    }
}(a9_0x39eb, 0x36fc5));
export const version = 0x5263;
function a9_0x2af1(_0x50f88c, _0x1af278) {
    const _0x39eb5e = a9_0x39eb();
    return a9_0x2af1 = function (_0x2af11d, _0x52b267) {
        _0x2af11d = _0x2af11d - 0x196;
        let _0x42fca0 = _0x39eb5e[_0x2af11d];
        return _0x42fca0;
    }, a9_0x2af1(_0x50f88c, _0x1af278);
}
function a9_0x39eb() {
    const _0x4ad6ae = [
        'publish',
        '557756JRiqrD',
        '10tmMeXd',
        '6vSDjUA',
        '1433515LUsAsF',
        '3145113ZyBqWt',
        'log',
        'toString',
        'stopPropagation',
        'dump',
        'notify',
        '8lvhfHV',
        'propagate',
        '1336748mVjyHx',
        'currentSender',
        'getBusName',
        'object',
        '3VDAavd',
        '__proto__',
        'connect',
        '642829EVjTFh',
        '3660314vUgvhk',
        'send',
        '21807hoJDoH',
        'Can\x27t\x20propagate;\x20class\x20is\x20not\x20Observable\x20(',
        'bind',
        '14tCFOAf',
        'disconnect',
        'Can\x27t\x20subscribe\x20to\x20object\x20that\x20is\x20not\x20Observable!\x20',
        'subscribe',
        '13rAskzv',
        '24dirwLn',
        'Class\x20does\x20not\x20implement\x20required\x20Observer\x20interface\x20method\x20toString()'
    ];
    a9_0x39eb = function () {
        return _0x4ad6ae;
    };
    return a9_0x39eb();
}
import a9_0x337d67 from './MessageBus.js';
export default class Observer {
    constructor() {
        throw new Error('Can\x27t\x20construct\x20interface\x20class\x20object');
    }
    ['toString']() {
        const _0x73a080 = a9_0x2af1;
        throw new Error(_0x73a080(0x1a3));
    }
    ['notify'](_0x2d2f30) {
        const _0xef475f = a9_0x2af1;
        console[_0xef475f(0x1aa)](this[_0xef475f(0x1ab)](), 'has\x20no\x20Observer\x20implementation,\x20losing\x20message', _0x2d2f30);
    }
    [a9_0x23e4b4(0x1b0)](_0x2f741c) {
        const _0x366ebb = a9_0x23e4b4;
        if (!this[_0x366ebb(0x1b6)][_0x366ebb(0x1a4)])
            throw new TypeError(_0x366ebb(0x19b) + String(this) + ')');
        !![] !== _0x2f741c[_0x366ebb(0x1ac)] && (_0x2f741c[_0x366ebb(0x1b2)] = this, a9_0x337d67[_0x366ebb(0x199)](this['getBusName'](), this, _0x2f741c));
    }
    [a9_0x23e4b4(0x1a0)](_0xdda9a1, _0x1cfcd4, _0x5a94a7) {
        const _0x2bff53 = a9_0x23e4b4;
        if (!_0xdda9a1['__proto__'][_0x2bff53(0x1a4)])
            throw new TypeError(_0x2bff53(0x19f) + String(_0xdda9a1));
        _0x1cfcd4 = _0x1cfcd4 || this[_0x2bff53(0x1ae)][_0x2bff53(0x19c)](this), _0x5a94a7 = _0x5a94a7 || String(this), a9_0x337d67[_0x2bff53(0x196)]('object' === typeof _0xdda9a1 ? _0xdda9a1[_0x2bff53(0x1b3)]() : _0xdda9a1, this, _0x1cfcd4 || this['notify'][_0x2bff53(0x19c)](this), _0x5a94a7);
    }
    ['unsubscribe'](_0x35deb5, _0x5279eb) {
        const _0x4ebf9f = a9_0x23e4b4;
        a9_0x337d67[_0x4ebf9f(0x19e)](_0x4ebf9f(0x1b4) === typeof _0x35deb5 ? _0x35deb5[_0x4ebf9f(0x1b3)]() : _0x35deb5, this, _0x5279eb);
    }
    ['dump_observed'](_0x3d7da2, _0x5dd30b) {
        const _0x22fbd3 = a9_0x23e4b4;
        a9_0x337d67[_0x22fbd3(0x1ad)](_0x22fbd3(0x1b4) === typeof _0x3d7da2 ? _0x3d7da2['getBusName']() : _0x3d7da2, this, _0x5dd30b);
    }
}