/** Copyright (C) 2020-2026 Kedron Holdings LLC, All Rights Reserved. This file is part of Reactor.
 *  For info and license terms please see https://reactor.toggledbits.com/
 *  ------------------------------------------------------------------------------
*/
const a38_0x1ffa9c = a38_0x1ed7;
(function (_0x32f7e9, _0x767d6d) {
    const _0x3a69f4 = a38_0x1ed7, _0xae0d32 = _0x32f7e9();
    while (!![]) {
        try {
            const _0x15171d = -parseInt(_0x3a69f4(0xc5)) / 0x1 * (-parseInt(_0x3a69f4(0xe9)) / 0x2) + -parseInt(_0x3a69f4(0xd0)) / 0x3 * (-parseInt(_0x3a69f4(0xd2)) / 0x4) + -parseInt(_0x3a69f4(0xee)) / 0x5 * (-parseInt(_0x3a69f4(0xe7)) / 0x6) + parseInt(_0x3a69f4(0xda)) / 0x7 + parseInt(_0x3a69f4(0xe2)) / 0x8 + parseInt(_0x3a69f4(0xc6)) / 0x9 + -parseInt(_0x3a69f4(0xd6)) / 0xa * (parseInt(_0x3a69f4(0xed)) / 0xb);
            if (_0x15171d === _0x767d6d)
                break;
            else
                _0xae0d32['push'](_0xae0d32['shift']());
        } catch (_0x12c58d) {
            _0xae0d32['push'](_0xae0d32['shift']());
        }
    }
}(a38_0x5a7f, 0x54f2d));
function a38_0x5a7f() {
    const _0xd6a5c3 = [
        'prepare',
        'getTrouble',
        'now',
        '6jsnMbP',
        'ERROR',
        '7312CVRqNJ',
        'timerNext',
        'getPrototypeOf',
        '%1\x20tried\x20to\x20set\x20next\x20trigger\x20for\x20%2,\x20which\x20is\x20before\x20%3;\x20enforcing\x2060-second\x20delay\x20from\x20now',
        '27629569hHnTjz',
        '3020375vPDVxn',
        'sendWarning',
        'getBaseTime',
        'getEngine',
        '28wzloab',
        '6010992GhnrlM',
        'valueOf',
        'getTime',
        'err',
        'addAlert',
        'Subclass\x20does\x20not\x20implement\x20addAlert()',
        'constructor',
        'exports',
        'getLogger',
        'sendErrorDetail',
        '3yffHsa',
        'WARNING',
        '2628320PmVbqc',
        'parent',
        'delayTrigger',
        'getTimeTrigger',
        '10YLOrRH',
        'isConstraint',
        'getGlobalExpressionContext',
        'getID',
        '2108085SpDvPZ',
        'getParent',
        'basetime',
        'engine',
        'trouble',
        'name',
        'signalTrouble',
        'expressionContext',
        '4217296IsOStN',
        'sendError'
    ];
    a38_0x5a7f = function () {
        return _0xd6a5c3;
    };
    return a38_0x5a7f();
}
function a38_0x1ed7(_0x4bab82, _0x9d452a) {
    _0x4bab82 = _0x4bab82 - 0xc3;
    const _0x5a7fec = a38_0x5a7f();
    let _0x1ed75a = _0x5a7fec[_0x4bab82];
    return _0x1ed75a;
}
const version = 0x62fe, AlertManager = require('./AlertManager');
class PredicateContext {
    constructor(_0x210342, _0x2eabe2, _0xa21b44) {
        const _0x2b4954 = a38_0x1ed7;
        this[_0x2b4954(0xd3)] = _0x210342, this[_0x2b4954(0xdd)] = _0x2eabe2, this[_0x2b4954(0xe1)] = _0xa21b44 || _0x2eabe2[_0x2b4954(0xd8)](), this[_0x2b4954(0xe4)]();
    }
    ['toString']() {
        const _0x1e8a7e = a38_0x1ed7;
        return Object[_0x1e8a7e(0xeb)](this)[_0x1e8a7e(0xcc)][_0x1e8a7e(0xdf)] + '#' + this[_0x1e8a7e(0xd3)][_0x1e8a7e(0xd9)]();
    }
    [a38_0x1ffa9c(0xe4)]() {
        const _0x4c5d7a = a38_0x1ffa9c;
        this[_0x4c5d7a(0xdc)] = this['now'](), this[_0x4c5d7a(0xea)] = ![], this['trouble'] = ![];
    }
    [a38_0x1ffa9c(0xd7)]() {
        return !![];
    }
    [a38_0x1ffa9c(0xdb)]() {
        const _0x309bad = a38_0x1ffa9c;
        return this[_0x309bad(0xd3)];
    }
    [a38_0x1ffa9c(0xce)]() {
        const _0x175e4b = a38_0x1ffa9c;
        return this[_0x175e4b(0xd3)]['log'];
    }
    [a38_0x1ffa9c(0xc4)]() {
        const _0x5ef6a9 = a38_0x1ffa9c;
        return this[_0x5ef6a9(0xdd)];
    }
    ['getExpressionContext']() {
        return this['expressionContext'];
    }
    [a38_0x1ffa9c(0xc3)]() {
        const _0x1f7cfc = a38_0x1ffa9c;
        return this[_0x1f7cfc(0xdc)];
    }
    [a38_0x1ffa9c(0xd5)]() {
        const _0x5ec3ae = a38_0x1ffa9c;
        return this[_0x5ec3ae(0xea)];
    }
    [a38_0x1ffa9c(0xe5)]() {
        const _0x3bd772 = a38_0x1ffa9c;
        return this[_0x3bd772(0xde)];
    }
    [a38_0x1ffa9c(0xe6)]() {
        const _0x2f92cd = a38_0x1ffa9c;
        return this[_0x2f92cd(0xdd)][_0x2f92cd(0xc8)]();
    }
    [a38_0x1ffa9c(0xe0)]() {
        const _0x3afa4f = a38_0x1ffa9c;
        this[_0x3afa4f(0xde)] = !![];
    }
    ['timeTrigger'](_0x2cde31) {
        const _0x3fb387 = a38_0x1ffa9c, _0x3af4f6 = this[_0x3fb387(0xe6)]()[_0x3fb387(0xc8)]();
        _0x2cde31 <= _0x3af4f6 && (this[_0x3fb387(0xce)]()[_0x3fb387(0xc9)](_0x3fb387(0xec), this[_0x3fb387(0xd3)], _0x2cde31, _0x3af4f6), _0x2cde31 = _0x3af4f6 + 0xea60), (!this['timerNext'] || this[_0x3fb387(0xea)] > _0x2cde31) && (this[_0x3fb387(0xea)] = _0x2cde31[_0x3fb387(0xc7)]());
    }
    [a38_0x1ffa9c(0xd4)](_0x2e5b11) {
        const _0x3b102a = a38_0x1ffa9c;
        return this['timeTrigger'](this[_0x3b102a(0xe6)]()[_0x3b102a(0xc8)]() + _0x2e5b11);
    }
    [a38_0x1ffa9c(0xca)]() {
        const _0x10dd9e = a38_0x1ffa9c;
        throw new ReferenceError(_0x10dd9e(0xcb));
    }
    [a38_0x1ffa9c(0xe3)](_0x366f07, ..._0x4a0c7c) {
        const _0x589c0c = a38_0x1ffa9c;
        this[_0x589c0c(0xca)](AlertManager[_0x589c0c(0xe8)], _0x366f07, {}, ..._0x4a0c7c), this[_0x589c0c(0xe0)]();
    }
    [a38_0x1ffa9c(0xcf)](_0x30ad42, _0x5b86f5, ..._0x2ccdfd) {
        const _0x1805ba = a38_0x1ffa9c;
        this[_0x1805ba(0xca)](AlertManager[_0x1805ba(0xe8)], _0x30ad42, { 'detail': String(_0x5b86f5) }, ..._0x2ccdfd), this[_0x1805ba(0xe0)]();
    }
    [a38_0x1ffa9c(0xef)](_0x1048d9, ..._0x510c27) {
        const _0x80e422 = a38_0x1ffa9c;
        this[_0x80e422(0xca)](AlertManager[_0x80e422(0xd1)], _0x1048d9, {}, ..._0x510c27), this['signalTrouble']();
    }
}
module[a38_0x1ffa9c(0xcd)] = PredicateContext;