Contract: CErc20Delegator
Malicious: no
Decompiled opcodes:
PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x0010 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x07f5 CODESIZE SUB DUP1 PUSH2 0x07f5 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x0120 DUP2 LT ISZERO PUSH2 0x0034 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP1 MLOAD SWAP3 MLOAD SWAP5 SWAP7 SWAP4 SWAP6 SWAP2 SWAP5 SWAP4 SWAP2 DUP3 ADD SWAP3 DUP5 PUSH5 0x0100000000 DUP3 GT ISZERO PUSH2 0x0067 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x007c JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x0100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x0096 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x00c3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x00ab JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x00f0 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE PUSH1 0x20 ADD DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x0100000000 DUP3 GT ISZERO PUSH2 0x0113 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x0128 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x0100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x0142 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x016f JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0157 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x019c JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD SWAP3 ADD DUP1 MLOAD SWAP3 SWAP5 SWAP2 SWAP4 SWAP2 SWAP3 DUP5 PUSH5 0x0100000000 DUP3 GT ISZERO PUSH2 0x01c4 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x01d9 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x0100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x01f3 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x0220 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0208 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x024d JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 ADD MLOAD SWAP4 SWAP1 SWAP2 ADD MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP1 DUP15 AND PUSH1 0x24 DUP6 ADD SWAP1 DUP2 MSTORE DUP2 DUP15 AND PUSH1 0x44 DUP7 ADD MSTORE SWAP1 DUP13 AND PUSH1 0x64 DUP6 ADD MSTORE PUSH1 0xc4 DUP5 ADD DUP6 SWAP1 MSTORE PUSH1 0xe4 DUP5 ADD DUP3 SWAP1 MSTORE PUSH1 0xe0 PUSH1 0x84 DUP6 ADD SWAP1 DUP2 MSTORE DUP12 MLOAD PUSH2 0x0104 DUP7 ADD MSTORE DUP12 MLOAD SWAP6 SWAP8 POP SWAP2 SWAP6 POP PUSH2 0x03b5 SWAP5 DUP10 SWAP5 DUP16 SWAP5 DUP16 SWAP5 DUP16 SWAP5 DUP16 SWAP5 DUP16 SWAP5 DUP14 SWAP5 DUP14 SWAP5 SWAP3 PUSH1 0xa4 DUP4 ADD SWAP3 PUSH2 0x0124 ADD SWAP2 DUP10 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x02e7 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x02cf JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x0314 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP DUP4 DUP2 SUB DUP3 MSTORE DUP7 MLOAD DUP2 MSTORE DUP7 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 DUP9 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x0347 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x032f JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x0374 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1f NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB SWAP1 DUP2 AND PUSH4 0xa0b0d289 PUSH1 0xe0 SHL OR SWAP1 SWAP2 MSTORE SWAP1 SWAP11 POP PUSH2 0x0498 AND SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH2 0x0489 DUP5 DUP6 PUSH1 0x00 DUP7 PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP5 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x0420 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0408 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x044d JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1f NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB SWAP1 DUP2 AND PUSH4 0x50d85b73 PUSH1 0xe0 SHL OR SWAP1 SWAP2 MSTORE SWAP1 SWAP6 POP PUSH2 0x0498 AND SWAP4 POP POP POP POP JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP PUSH2 0x055a JUMP JUMPDEST PUSH1 0x60 PUSH1 0x00 PUSH1 0x60 DUP5 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x04d8 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1f NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x04b9 JUMP JUMPDEST PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x0538 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x053d JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x00 DUP3 EQ ISZERO PUSH2 0x0552 JUMPI RETURNDATASIZE PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x028c DUP1 PUSH2 0x0569 PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x04 CALLDATASIZE LT PUSH2 0x001e JUMPI PUSH1 0x00 CALLDATALOAD PUSH1 0xe0 SHR DUP1 PUSH4 0x5c60da1b EQ PUSH2 0x011e JUMPI JUMPDEST CALLVALUE ISZERO PUSH2 0x005b JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x37 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0221 PUSH1 0x37 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x00 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x04 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB AND PUSH4 0x076de251 PUSH1 0xe2 SHL OR SWAP1 MSTORE PUSH2 0x009a SWAP2 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND SWAP1 PUSH2 0x014f JUMP JUMPDEST POP PUSH1 0x00 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP3 SWAP1 CALLDATASIZE SWAP1 DUP1 DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x40 MLOAD SWAP3 ADD SWAP5 POP PUSH1 0x00 SWAP4 POP SWAP1 SWAP2 POP POP DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x00fe JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x0103 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x00 DUP3 RETURNDATACOPY DUP2 DUP1 ISZERO PUSH2 0x011a JUMPI RETURNDATASIZE DUP3 RETURN JUMPDEST RETURNDATASIZE DUP3 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x012a JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x0133 PUSH2 0x0211 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x00 PUSH1 0x60 DUP5 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x018f JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1f NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x0170 JUMP JUMPDEST PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x01ef JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x01f4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x00 DUP3 EQ ISZERO PUSH2 0x0209 JUMPI RETURNDATASIZE PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x00 SLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP2 JUMP UNKNOWN_0xfe NUMBER GASLIMIT PUSH19 0x63323044656c656761746f723a66616c6c6261 PUSH4 0x6b3a2063 PUSH2 0x6e6e PUSH16 0x742073656e642076616c756520746f20 PUSH7 0x616c6c6261636b LOG2 PUSH6 0x627a7a723158 SHA3 SDIV UNKNOWN_0xc7 DUP3 UNKNOWN_0x2f PUSH19 0x94a2303680b0d2b051bee472cd65b928fd92ba UNKNOWN_0xcf CALLVALUE UNKNOWN_0x5e UNKNOWN_0x29 UNKNOWN_0xe5 UNOFFICIAL_SWAP PUSH13 0x9f64736f6c6343000511003200 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP MOD UNKNOWN_0xcb UNKNOWN_0x22 PUSH2 0x5ba5 RETURNDATACOPY PUSH1 0xd6 PUSH28 0xf6c341a0fd5e718e1655000000000000000000000000c54172e34046 UNKNOWN_0xc1 PUSH6 0x3d1920d40333 UNKNOWN_0xdd CALLDATALOAD DUP13 PUSH27 0x1af4000000000000000000000000bab47e4b692195bf064923178a SWAP1 UNKNOWN_0xef SWAP10 SWAP11 ISZERO UNKNOWN_0xf8 NOT STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD SHA3 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD PUSH1 0x00 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP PUSH8 0xdb14e73c2dce786b JUMPDEST UNKNOWN_0xbb STATICCALL UNKNOWN_0x4d ADD UNKNOWN_0xd UNKNOWN_0xea UNKNOWN_0xb4 UNKNOWN_0xbb UNKNOWN_0xfc UNKNOWN_0xf9 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD LOG0 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP UNKNOWN_0x1f CHAINID PUSH6 0x695261726920 CHAINID GASLIMIT UNKNOWN_0x49 UNKNOWN_0x2d CALLER NUMBER PUSH19 0x76204d6574616d706f6f6c2046757365000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP SIGNEXTEND PUSH7 0x4645492d334372 PUSH23 0x2d38000000000000000000000000000000000000000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP