fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0xfffe0}, {&(0x7f000007da00)="eb52904e5446532020202000040400000000000000f8000000000000000000000000000080008000ff070000000000000400000000000000ff00000000000000f600000001000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffc00}, {&(0x7f000007db00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ffde0}], 0x0, &(0x7f000007dc00)) 04:24:44 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$udf(&(0x7f0000000240)='udf\x00', &(0x7f0000000280)='./file0\x00', 0x0, 0x0, &(0x7f0000000340), 0x0, &(0x7f0000000380)={[{@nostrict='nostrict'}]}) [ 256.683453][ T35] audit: type=1800 audit(1608956684.572:37): pid=15539 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=15906 res=0 errno=0 04:24:44 executing program 2: r0 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000200)={0x800, 0x5, 0x2}) ioctl$VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000140)={0x0, 0x5, 0x0, 0x0, 0x0, {0x0, 0x7530}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "bc4c74c7"}, 0x0, 0x2}) 04:24:44 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x5c, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_MAXELEM={0x8}]}, @IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}]}, 0x5c}}, 0x0) [ 256.794891][T15553] loop5: detected capacity change from 8189 to 0 04:24:44 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x5c, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_MAXELEM={0x8}]}, @IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}]}, 0x5c}}, 0x0) [ 256.844888][T15553] ntfs: volume version 3.1. [ 256.862543][T15562] use of bytesused == 0 is deprecated and will be removed in the future, [ 256.893651][T15562] use the actual size instead. [ 256.908588][T15563] UDF-fs: warning (device loop1): udf_load_vrs: No VRS found 04:24:44 executing program 2: r0 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000200)={0x800, 0x5, 0x2}) ioctl$VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000140)={0x0, 0x5, 0x0, 0x0, 0x0, {0x0, 0x7530}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "bc4c74c7"}, 0x0, 0x2}) 04:24:44 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x5c, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_MAXELEM={0x8}]}, @IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}]}, 0x5c}}, 0x0) [ 256.963580][ T3721] usb 4-1: new high-speed USB device number 6 using dummy_hcd [ 256.979694][T15563] UDF-fs: Scanning with blocksize 512 failed [ 256.996308][T15563] UDF-fs: warning (device loop1): udf_load_vrs: No VRS found [ 257.004380][T15563] UDF-fs: Scanning with blocksize 1024 failed [ 257.010555][T15563] UDF-fs: warning (device loop1): udf_load_vrs: No VRS found [ 257.018297][T15563] UDF-fs: Scanning with blocksize 2048 failed [ 257.025914][T15563] UDF-fs: warning (device loop1): udf_load_vrs: No VRS found [ 257.033300][T15563] UDF-fs: Scanning with blocksize 4096 failed [ 257.203564][ T3721] usb 4-1: Using ep0 maxpacket: 16 04:24:45 executing program 0: clone(0x4000002206ffd, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = getpid() r1 = getpid() rt_tgsigqueueinfo(r1, r1, 0x16, &(0x7f0000000000)) ptrace(0x10, r1) ptrace$getregset(0x4202, r0, 0x0, 0x0) 04:24:45 executing program 2: r0 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000200)={0x800, 0x5, 0x2}) ioctl$VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000140)={0x0, 0x5, 0x0, 0x0, 0x0, {0x0, 0x7530}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "bc4c74c7"}, 0x0, 0x2}) 04:24:45 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x5c, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_MAXELEM={0x8}]}, @IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}]}, 0x5c}}, 0x0) 04:24:45 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) [ 257.323911][ T3721] usb 4-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 257.351288][ T3721] usb 4-1: New USB device found, idVendor=046d, idProduct=c218, bcdDevice= 0.00 [ 257.369634][ T3721] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 257.379713][ T3721] usb 4-1: config 0 descriptor?? [ 257.427142][ T3721] usbhid 4-1:0.0: couldn't find an input interrupt endpoint [ 257.626643][ T3721] usb 4-1: USB disconnect, device number 6 [ 258.183485][ T3721] usb 4-1: new high-speed USB device number 7 using dummy_hcd [ 258.423477][ T3721] usb 4-1: Using ep0 maxpacket: 32 [ 258.543792][ T3721] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 258.554748][ T3721] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 258.564486][ T3721] usb 4-1: New USB device found, idVendor=046d, idProduct=c31c, bcdDevice= 0.04 [ 258.573544][ T3721] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 258.582572][ T3721] usb 4-1: config 0 descriptor?? [ 258.623841][ T3721] hub 4-1:0.0: USB hub found [ 258.843510][ T3721] hub 4-1:0.0: 1 port detected [ 259.184545][ T3721] hub 4-1:0.0: hub_hub_status failed (err = -71) [ 259.190872][ T3721] hub 4-1:0.0: config failed, can't get hub status (err -71) [ 259.200493][ T3721] usbhid 4-1:0.0: can't add hid device: -22 [ 259.206571][ T3721] usbhid: probe of 4-1:0.0 failed with error -22 [ 259.245053][ T3721] usb 4-1: USB disconnect, device number 7 [ 259.943325][ T17] usb 4-1: new high-speed USB device number 8 using dummy_hcd [ 260.134118][ T17] usb 4-1: device descriptor read/64, error 18 [ 260.414558][ T17] usb 4-1: new high-speed USB device number 9 using dummy_hcd 04:24:48 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:48 executing program 5: msgrcv(0x0, 0x0, 0x0, 0x0, 0x0) 04:24:48 executing program 4: r0 = socket$packet(0x11, 0x2, 0x300) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000040)={0x0}, &(0x7f00000000c0)=0xc) sendmsg$IPVS_CMD_GET_CONFIG(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f00000001c0)={&(0x7f0000000240)=ANY=[@ANYBLOB='L\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="00012dbd7000fbdbdf250d00000008000400400000000c00028005000d000100000008710600070000001c000380080003000300000006007f5d75c303fb3f39010001000000"], 0x4c}, 0x1, 0x0, 0x0, 0x24004844}, 0x90) r2 = socket(0x10, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000100)={'syztnl1\x00', 0x0}) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r2, 0x89f1, &(0x7f00000000c0)={'ip6tnl0\x00', &(0x7f0000000000)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @private1, @ipv4={[0x0, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2], [], @private}}}) r3 = getgid() r4 = socket$inet6(0x10, 0x3, 0x0) sendmsg(r2, &(0x7f00000003c0)={0x0, 0x0, &(0x7f00000004c0)}, 0x0) sendmsg$unix(0xffffffffffffffff, &(0x7f0000003900)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="1c0f0000009bda4c1ac7f40000000100000002000000", @ANYRES16, @ANYRES32=0x0, @ANYRES32=r3, @ANYBLOB="000002001c0000200000d15000000100000002000000335e9ba7fbbcaa93722e95ffd395a4bd4174cb8dfe328ee4e1f5484df78434d9a4e1341023b99cc31d16cd9728ce93", @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRESDEC, @ANYRES32=r4, @ANYRESDEC=r2], 0xf8}, 0x20000000) setsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000100)={r1, 0xffffffffffffffff, r3}, 0xc) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000000)={0x2, &(0x7f0000000080)=[{0x48}, {0x80000006}]}, 0x10) r5 = socket$inet_udp(0x2, 0x2, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000040)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000280)=0xc9095ba04274a951) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000002c0)={0x2, 0x3}, 0x4) setsockopt$SO_VM_SOCKETS_BUFFER_SIZE(0xffffffffffffffff, 0x28, 0x0, &(0x7f0000000340)=0x310, 0x8) bind$inet(r5, &(0x7f0000000380)={0x2, 0x0, @local}, 0x10) setsockopt$sock_int(r5, 0x1, 0x6, &(0x7f0000000140)=0x32, 0x4) connect$inet(r5, &(0x7f0000000200)={0x2, 0x0, @broadcast}, 0x10) sendmmsg(r5, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) 04:24:48 executing program 2: r0 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000200)={0x800, 0x5, 0x2}) ioctl$VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000140)={0x0, 0x5, 0x0, 0x0, 0x0, {0x0, 0x7530}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "bc4c74c7"}, 0x0, 0x2}) 04:24:48 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:48 executing program 0: clone(0x4000002206ffd, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = getpid() r1 = getpid() rt_tgsigqueueinfo(r1, r1, 0x16, &(0x7f0000000000)) ptrace(0x10, r1) ptrace$getregset(0x4202, r0, 0x0, 0x0) 04:24:48 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x89f0, &(0x7f0000000140)={'tunl0\x00', &(0x7f0000000640)=ANY=[@ANYBLOB='gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00', @ANYRES32]}) 04:24:48 executing program 5: timer_create(0x0, &(0x7f0000044000)={0x0, 0x12}, &(0x7f0000044000)) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) accept$inet(r0, 0x0, 0x0) close(r0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'sha512\x00'}, 0x58) r2 = gettid() tkill(r2, 0x1000000000016) 04:24:48 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000000)={0x2c, r1, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r2}, @void}}, [@mon_options=[@NL80211_ATTR_MNTR_FLAGS={0x8, 0x17, 0x0, 0x1, [@NL80211_MNTR_FLAG_CONTROL={0x4}]}], @NL80211_ATTR_IFTYPE={0x8, 0x5, 0x6}]}, 0x2c}}, 0x0) 04:24:48 executing program 5: timer_create(0x0, &(0x7f0000044000)={0x0, 0x12}, &(0x7f0000044000)) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) accept$inet(r0, 0x0, 0x0) close(r0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'sha512\x00'}, 0x58) r2 = gettid() tkill(r2, 0x1000000000016) 04:24:48 executing program 2: clone(0x0, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$KDGETKEYCODE(0xffffffffffffffff, 0x5412, 0x0) ioctl$BTRFS_IOC_QGROUP_CREATE(0xffffffffffffffff, 0x4010942a, 0x0) connect$vsock_stream(0xffffffffffffffff, 0x0, 0x0) ioctl$BTRFS_IOC_QGROUP_LIMIT(0xffffffffffffffff, 0x8030942b, 0x0) sendmsg$NFT_MSG_GETOBJ_RESET(0xffffffffffffffff, 0x0, 0x20008080) sendmsg$NL80211_CMD_TDLS_MGMT(0xffffffffffffffff, 0x0, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, 0x0, 0x0) ioprio_set$uid(0x3, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) sendmsg$MPTCP_PM_CMD_FLUSH_ADDRS(0xffffffffffffffff, 0x0, 0x0) prlimit64(0x0, 0x0, 0x0, 0x0) 04:24:48 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x46d, 0xc218, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, {0x9}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000090000206d041cc304000000000109022400010000a0000904000001"], 0x0) syz_usb_control_io(r1, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x20, 0x29, 0xf, {0xf, 0x29, 0x7f, 0x0, 0x0, 0x0, '\x00', "fe7fffff"}}, 0x0}, 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) [ 261.063246][ T55] usb 5-1: new high-speed USB device number 2 using dummy_hcd [ 261.303204][ T55] usb 5-1: Using ep0 maxpacket: 16 04:24:49 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:49 executing program 2: sendmsg$nl_xfrm(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000600)=@newsa={0xf0, 0x10, 0x713, 0x0, 0x0, {{@in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, @in6=@rand_addr=' \x01\x00'}, {@in6=@ipv4={[0xfffffff0], [], @empty}, 0x0, 0x3c}, @in=@remote, {}, {}, {}, 0x0, 0x0, 0xa}}, 0xf0}}, 0x0) r0 = socket$nl_xfrm(0x10, 0x3, 0x6) r1 = socket$unix(0x1, 0x2, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg(r0, &(0x7f0000000180), 0xf1, 0x0) 04:24:49 executing program 5: timer_create(0x0, &(0x7f0000044000)={0x0, 0x12}, &(0x7f0000044000)) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) accept$inet(r0, 0x0, 0x0) close(r0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'sha512\x00'}, 0x58) r2 = gettid() tkill(r2, 0x1000000000016) 04:24:49 executing program 0: clone(0x4000002206ffd, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = getpid() r1 = getpid() rt_tgsigqueueinfo(r1, r1, 0x16, &(0x7f0000000000)) ptrace(0x10, r1) ptrace$getregset(0x4202, r0, 0x0, 0x0) 04:24:49 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:49 executing program 2: mknod(&(0x7f0000000040)='./file0\x00', 0x8001420, 0x0) r0 = open(&(0x7f0000000000)='./file0\x00', 0x2100, 0x0) r1 = open$dir(&(0x7f0000000180)='./file0\x00', 0x7e, 0x0) dup2(r1, r0) [ 261.433451][ T55] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 261.453870][ T55] usb 5-1: New USB device found, idVendor=046d, idProduct=c218, bcdDevice= 0.00 [ 261.463120][ T55] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 261.476407][ T55] usb 5-1: config 0 descriptor?? 04:24:49 executing program 5: timer_create(0x0, &(0x7f0000044000)={0x0, 0x12}, &(0x7f0000044000)) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) accept$inet(r0, 0x0, 0x0) close(r0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'sha512\x00'}, 0x58) r2 = gettid() tkill(r2, 0x1000000000016) [ 261.526711][ T55] usbhid 5-1:0.0: couldn't find an input interrupt endpoint 04:24:49 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:49 executing program 2: r0 = epoll_create1(0x0) r1 = epoll_create1(0x0) close(r0) socket(0x1e, 0x1000000000002, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000780)={0x4000201f}) poll(&(0x7f0000000000)=[{r1}], 0x1, 0x0) 04:24:49 executing program 2: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) mmap(&(0x7f0000002000/0x4000)=nil, 0x4000, 0x0, 0x2812, r0, 0x0) perf_event_open(&(0x7f0000000240)={0x6, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1081}, 0x0, 0x0, 0xffffffffffffffff, 0x0) write$FUSE_DIRENTPLUS(r0, &(0x7f0000000040)=ANY=[@ANYBLOB="664d9a"], 0x3) mmap(&(0x7f0000004000/0x4000)=nil, 0x4000, 0x0, 0x32, 0xffffffffffffffff, 0x0) 04:24:49 executing program 3: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000002e40)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446c7670568982b4e020f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdceda5e0125ebbc08dee510cb2364149215108333719acd97cf31d6442d24edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff09000f0000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1bfeda7be586602d985430cea0162ab3fcf4591c926abf7076719237a8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa477d419fd7af4c0eb97fca585ef6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f1451869b4767ccbd6c712016219848624b8706c2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e2808271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f0000100000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff01589646efd1cf870cd7bb2366fde41f94290c2a5f00020000fd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969c41595229df17bcad70fb4021428ce970275d13b78249688f11f761038b75d4fe32b561d46ea3d94fe6ff21b59585c2fbd8abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377323ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d14f93100c2e0893862eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4abc7094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f9218621306ddd69c347056ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d185fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c57685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bc19faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761f0382f14d12ca3c3431ee97471c7868dcda7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e894f745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d76331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb43541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df978675033e3edb5b1dc082178741320e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebc660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569e7397f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca1868eeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f95a5f622f851c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467a0045feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9a797cd79c8fab24accfecb0f477db103463af2847e6ade5b9e065edf5a4390cf8f3d928818fea475b169469f9efd131925d98c34b3cb26fe26796dd43b87e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929dfa5a210bf5858e2a4ff8e8d1e8c9cceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e6a4598b45bc9e549847c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f469366a03a0e91ab49fa147e6f78dd8f00000000f20437a96355df93b47b3c69e8da0241d43156985fe36007d7afa13c35c7f6ea6d5316b6705e8c0681f718ebd726bba19b07729ce1f23073995900e8fdf3e680ff15777fe6ee7e752183d68ee3b968bd391adaa77f1525047c52a2b5e98928ea72b21cbdda18b6721a614a8bc8ea2a3a4f11562fd54b9975134e69a1521326ae772c068368fe360766e5002ead277db6f5aaac9b83380e9a8437d592722be596110c0ddfe876cff8555e3a65eea0d27436450000000000000000000000004d84bc041aadba9efc5c2bf76d09b19c8bf2c3881d603f2948b3985309796373fed1c4d943e6b43f1b5d941bed63f41efcdec52bbe89935bb417cf4992d9302be4822b5ddff7e0648d7fa8b2dd18b329e16975b7c12bd5c3bde80f0529a35416fd0f21a516f9a9450c5ee33a034703134184fa6b952177d73de75e36ec1cdd6152e5fbaed1888f56baf976b428adde5440899670c429fcb6d43e09a5c1f6882596db4b92f7507fcec44e8b9da98e0691cac197719b49e8f67f9dc2cb6390403d1bbbf8e49cb9eedc56b579bbf641f7710567a53e00f1d1b6ad"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000040)='sys_exit\x00', r1}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f00000001c0)={0x7}, 0x40) [ 261.726641][ T55] usb 5-1: USB disconnect, device number 2 [ 262.323109][ T55] usb 5-1: new high-speed USB device number 3 using dummy_hcd [ 262.573094][ T55] usb 5-1: Using ep0 maxpacket: 32 [ 262.694185][ T55] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 262.705121][ T55] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 262.715422][ T55] usb 5-1: New USB device found, idVendor=046d, idProduct=c31c, bcdDevice= 0.04 [ 262.724782][ T55] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 262.736684][ T55] usb 5-1: config 0 descriptor?? [ 262.774917][ T55] hub 5-1:0.0: USB hub found [ 262.993074][ T55] hub 5-1:0.0: config failed, can't read hub descriptor (err -90) [ 263.002987][ T55] usbhid 5-1:0.0: can't add hid device: -22 [ 263.009053][ T55] usbhid: probe of 5-1:0.0 failed with error -22 04:24:52 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x46d, 0xc218, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, {0x9}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000090000206d041cc304000000000109022400010000a0000904000001"], 0x0) syz_usb_control_io(r1, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x20, 0x29, 0xf, {0xf, 0x29, 0x7f, 0x0, 0x0, 0x0, '\x00', "fe7fffff"}}, 0x0}, 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) 04:24:52 executing program 5: add_key$keyring(&(0x7f00000002c0)='keyring\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$keyring(&(0x7f00000003c0)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffe) request_key(&(0x7f0000000180)='asymmetric\x00', &(0x7f00000001c0)={'syz', 0x0}, &(0x7f0000000200)=']}\x1b\xc4u\xc7\xcfsm\x9a\xfdR\xdf\x96\x12\xe4@\x00', 0x0) 04:24:52 executing program 2: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000000)={0x0}}, 0x0) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=ANY=[@ANYBLOB="3401000010000507000000880600000000000000", @ANYRES32, @ANYBLOB="0000000004000000080112000c0001006d6163766c616e00f80002004c0005000a0004005c1be6ca646304920a000400d21bf5466bca0000cd1256acea9c2f85340b00000a000400aaaaaaaaaaaa00000a000400aaaaaaaaaabb20000a000400aaaaaaaaaabb00000a000400aaaaaaaaaabb000008000100100000000a000400aaaaaaaaaaaa00000a0004"], 0x134}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x0, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000100), 0xd}], 0x492492492492805, 0x0) 04:24:52 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) perf_event_open(&(0x7f0000001380)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) 04:24:52 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0x8}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, [], 0x0, 0xb, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 04:24:52 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000380), 0x10000023, &(0x7f00000002c0)=""/77, 0x42e}, 0x0) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x2028c400}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) ioctl$sock_kcm_SIOCKCMUNATTACH(r0, 0x5452, &(0x7f0000000000)) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x30000) socket$kcm(0x2b, 0x0, 0x0) 04:24:52 executing program 5: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) listen(r0, 0x3ea) sendmsg$inet_sctp(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000240)=[@sndinfo={0x20, 0x84, 0x2, {0x0, 0x8000}}], 0x20}, 0x0) sendmmsg$inet_sctp(r0, &(0x7f0000000080)=[{&(0x7f0000000180)=@in={0x2, 0x0, @local={0xac, 0x14, 0xffffffffffffffff}}, 0x10, &(0x7f0000562000), 0x0, &(0x7f00000c3000)=[@sndinfo={0x20, 0x84, 0x2, {0x0, 0x241}}], 0x20}], 0x4924924924924d0, 0x0) 04:24:52 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000000)='wireguard\x00') sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000001c0)={0x80, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}, @WGDEVICE_A_PEERS={0x58, 0x8, 0x0, 0x1, [{0x54, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x2c, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x3, @private1}, {0x5}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}]}]}]}, 0x80}}, 0x0) 04:24:52 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_open_dev$loop(0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000000b000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b805000000b9510000000f01c10f46a78900000066ba2100b067ee66ba4100edb9800000c00f3266ba400066ed0f30c4c271de9d0000000066b808008ed0660f38806f000f011c2666b8bf008ee0", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000000)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) openat$vsock(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vsock\x00', 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 264.244471][T15776] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.2'. [ 264.256970][T15776] netlink: 124 bytes leftover after parsing attributes in process `syz-executor.2'. 04:24:52 executing program 2: bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x68) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x9, 0x4, &(0x7f0000000580)=ANY=[@ANYBLOB="180000000000000000000000000000006112000000000000950000000000000001c4863902414990533b815449472168a25a4c4d3a875333365b85ffba6706"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000100)={r1, r0, 0x2}, 0x10) socket$inet(0x2, 0x4000000000000001, 0x106) 04:24:52 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r0, 0x8000000000000, 0x40, &(0x7f0000000340)=@raw={'raw\x00', 0x2, 0x3, 0x240, 0xd8, 0x0, 0xd8, 0xd8, 0xd8, 0x1a8, 0x1a8, 0x1a8, 0x1a8, 0x1a8, 0x3, 0x0, {[{{@ip={@broadcast, @initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0x0, 'gre0\x00', '\x00', {}, {}, 0x6}, 0x0, 0xb8, 0xd8, 0x0, {}, [@common=@inet=@ecn={{0x28, 'ecn\x00'}, {0x11}}, @common=@socket0={{0x20, 'socket\x00'}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00'}}, {{@ip={@dev, @empty, 0x0, 0x0, 'veth0_to_hsr\x00', 'team_slave_1\x00'}, 0x0, 0x70, 0xd0}, @common=@CLUSTERIP={0x60, 'CLUSTERIP\x00', 0x0, {0x0, @remote}}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x2a0) 04:24:52 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r1, 0x0) r2 = shmget$private(0x0, 0x400000, 0x0, &(0x7f000000e000/0x400000)=nil) shmctl$IPC_SET(r2, 0x1, &(0x7f0000000000)={{0x0}}) shmctl$SHM_UNLOCK(r2, 0xc) [ 264.381864][T15799] netlink: 'syz-executor.3': attribute type 3 has an invalid length. [ 264.432831][T15808] netlink: 'syz-executor.3': attribute type 3 has an invalid length. [ 264.488175][T15811] xt_CT: netfilter: NOTRACK target is deprecated, use CT instead or upgrade iptables [ 264.493131][ T3721] usb 5-1: reset high-speed USB device number 3 using dummy_hcd [ 264.515995][T15811] ipt_CLUSTERIP: Please specify destination IP [ 264.762878][ T3721] usb 5-1: Using ep0 maxpacket: 16 [ 264.804518][ T3721] usb 5-1: device firmware changed [ 264.809689][ T3721] usb 5-1: USB disconnect, device number 3 [ 265.172877][ T3721] usb 5-1: new high-speed USB device number 4 using dummy_hcd [ 265.452846][ T3721] usb 5-1: Using ep0 maxpacket: 16 [ 265.574485][ T3721] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 265.587302][ T3721] usb 5-1: New USB device found, idVendor=046d, idProduct=c218, bcdDevice= 0.00 [ 265.596787][ T3721] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 265.605668][ T3721] usb 5-1: config 0 descriptor?? [ 265.656629][ T3721] usbhid 5-1:0.0: couldn't find an input interrupt endpoint [ 265.863506][ T3721] usb 5-1: USB disconnect, device number 4 [ 266.342777][ T3721] usb 5-1: new high-speed USB device number 5 using dummy_hcd [ 266.622752][ T3721] usb 5-1: Using ep0 maxpacket: 32 [ 266.752867][ T3721] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 266.763835][ T3721] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 266.773886][ T3721] usb 5-1: New USB device found, idVendor=046d, idProduct=c31c, bcdDevice= 0.04 [ 266.782957][ T3721] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 266.791675][ T3721] usb 5-1: config 0 descriptor?? [ 266.834310][ T3721] hub 5-1:0.0: USB hub found [ 267.052766][ T3721] hub 5-1:0.0: config failed, can't read hub descriptor (err -90) [ 267.063037][ T3721] usbhid 5-1:0.0: can't add hid device: -22 [ 267.069005][ T3721] usbhid: probe of 5-1:0.0 failed with error -22 04:24:56 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x46d, 0xc218, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, {0x9}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000090000206d041cc304000000000109022400010000a0000904000001"], 0x0) syz_usb_control_io(r1, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x20, 0x29, 0xf, {0xf, 0x29, 0x7f, 0x0, 0x0, 0x0, '\x00', "fe7fffff"}}, 0x0}, 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) 04:24:56 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) io_setup(0x3, &(0x7f0000000240)=0x0) io_submit(r1, 0x2, &(0x7f0000000500)=[&(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, r0, 0x0, 0x700}, 0x0]) 04:24:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000000)='wireguard\x00') sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000001c0)={0x80, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}, @WGDEVICE_A_PEERS={0x58, 0x8, 0x0, 0x1, [{0x54, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x2c, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x3, @private1}, {0x5}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}]}]}]}, 0x80}}, 0x0) 04:24:56 executing program 1: r0 = syz_io_uring_setup(0x87, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ee8000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x1, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 04:24:56 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x5}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='ext4_mballoc_alloc\x00', r1}, 0x10) bpf$ENABLE_STATS(0x20, 0x0, 0x0) write$cgroup_type(r0, &(0x7f0000000000)='threaded\x00', 0x248800) 04:24:56 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_open_dev$loop(0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000000b000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b805000000b9510000000f01c10f46a78900000066ba2100b067ee66ba4100edb9800000c00f3266ba400066ed0f30c4c271de9d0000000066b808008ed0660f38806f000f011c2666b8bf008ee0", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000000)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) openat$vsock(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vsock\x00', 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 268.312698][T15864] netlink: 'syz-executor.3': attribute type 3 has an invalid length. 04:24:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000000)='wireguard\x00') sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000001c0)={0x80, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}, @WGDEVICE_A_PEERS={0x58, 0x8, 0x0, 0x1, [{0x54, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x2c, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x3, @private1}, {0x5}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}]}]}]}, 0x80}}, 0x0) 04:24:56 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x5}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='ext4_mballoc_alloc\x00', r1}, 0x10) bpf$ENABLE_STATS(0x20, 0x0, 0x0) write$cgroup_type(r0, &(0x7f0000000000)='threaded\x00', 0x248800) 04:24:56 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) getuid() 04:24:56 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_open_dev$loop(0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000000b000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b805000000b9510000000f01c10f46a78900000066ba2100b067ee66ba4100edb9800000c00f3266ba400066ed0f30c4c271de9d0000000066b808008ed0660f38806f000f011c2666b8bf008ee0", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000000)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) openat$vsock(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vsock\x00', 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 268.448030][T15884] netlink: 'syz-executor.3': attribute type 3 has an invalid length. 04:24:56 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x5}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='ext4_mballoc_alloc\x00', r1}, 0x10) bpf$ENABLE_STATS(0x20, 0x0, 0x0) write$cgroup_type(r0, &(0x7f0000000000)='threaded\x00', 0x248800) 04:24:56 executing program 1: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000340)={0xa, 0x3, 0xa79, 0x1}, 0x40) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000000040)={r0, &(0x7f0000000000), &(0x7f0000000140)=""/130}, 0x18) bpf$MAP_LOOKUP_ELEM(0x3, &(0x7f0000000000)={r0, &(0x7f0000000380), 0x0}, 0x20) [ 268.532747][ T55] usb 5-1: reset high-speed USB device number 5 using dummy_hcd [ 268.782573][ T55] usb 5-1: Using ep0 maxpacket: 16 [ 268.822877][ T55] usb 5-1: device firmware changed [ 268.829528][ T55] usb 5-1: USB disconnect, device number 5 [ 269.192541][ T55] usb 5-1: new high-speed USB device number 6 using dummy_hcd [ 269.432502][ T55] usb 5-1: Using ep0 maxpacket: 16 [ 269.552553][ T55] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 269.566793][ T55] usb 5-1: New USB device found, idVendor=046d, idProduct=c218, bcdDevice= 0.00 [ 269.576516][ T55] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 269.585755][ T55] usb 5-1: config 0 descriptor?? [ 269.624559][ T55] usbhid 5-1:0.0: couldn't find an input interrupt endpoint [ 269.830955][ T9799] usb 5-1: USB disconnect, device number 6 [ 270.412451][ T9799] usb 5-1: new high-speed USB device number 7 using dummy_hcd [ 270.662421][ T9799] usb 5-1: Using ep0 maxpacket: 32 [ 270.802450][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 270.813325][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 270.823334][ T9799] usb 5-1: New USB device found, idVendor=046d, idProduct=c31c, bcdDevice= 0.04 [ 270.832442][ T9799] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 270.842701][ T9799] usb 5-1: config 0 descriptor?? [ 270.882877][ T9799] hub 5-1:0.0: USB hub found [ 271.102405][ T9799] hub 5-1:0.0: config failed, can't read hub descriptor (err -90) [ 271.112261][ T9799] usbhid 5-1:0.0: can't add hid device: -22 [ 271.118247][ T9799] usbhid: probe of 5-1:0.0 failed with error -22 04:25:00 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x46d, 0xc218, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, {0x9}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000090000206d041cc304000000000109022400010000a0000904000001"], 0x0) syz_usb_control_io(r1, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x20, 0x29, 0xf, {0xf, 0x29, 0x7f, 0x0, 0x0, 0x0, '\x00', "fe7fffff"}}, 0x0}, 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) 04:25:00 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000000)='wireguard\x00') sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000001c0)={0x80, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}, @WGDEVICE_A_PEERS={0x58, 0x8, 0x0, 0x1, [{0x54, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x2c, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x3, @private1}, {0x5}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}]}]}]}, 0x80}}, 0x0) 04:25:00 executing program 1: perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3fc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f00009fd000/0x600000)=nil, 0x600000, 0x2, 0x6031, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000a01000/0x4000)=nil, 0x4000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) munlockall() syz_genetlink_get_family_id$nl80211(0x0) add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffb) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(0xffffffffffffffff, 0x0, 0x0) 04:25:00 executing program 5: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) writev(r1, &(0x7f0000003540)=[{&(0x7f00000001c0)="9e", 0x1}], 0x1) mmap(&(0x7f0000000000/0x4000)=nil, 0x4000, 0x1, 0x10012, r1, 0x0) getsockopt$inet6_int(r0, 0x29, 0xc9, 0x0, &(0x7f0000000240)) 04:25:00 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x5}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='ext4_mballoc_alloc\x00', r1}, 0x10) bpf$ENABLE_STATS(0x20, 0x0, 0x0) write$cgroup_type(r0, &(0x7f0000000000)='threaded\x00', 0x248800) 04:25:00 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_open_dev$loop(0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000000b000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b805000000b9510000000f01c10f46a78900000066ba2100b067ee66ba4100edb9800000c00f3266ba400066ed0f30c4c271de9d0000000066b808008ed0660f38806f000f011c2666b8bf008ee0", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000000)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) openat$vsock(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vsock\x00', 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 272.364922][T15952] netlink: 'syz-executor.3': attribute type 3 has an invalid length. 04:25:00 executing program 5: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000002c0)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_VENDOR(r1, &(0x7f0000001640)={0x0, 0x0, &(0x7f0000001600)={&(0x7f0000000100)={0x2c, r2, 0x303, 0x0, 0x0, {{}, {@void, @val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_VENDOR_SUBCMD={0x8}, @NL80211_ATTR_VENDOR_ID={0x8}]}, 0x2c}}, 0x0) 04:25:00 executing program 2: r0 = syz_open_dev$mouse(&(0x7f0000000080)='/dev/input/mouse#\x00', 0x0, 0x201) write$char_raw(r0, &(0x7f0000000400)={"8442ae40d67a506e435ad6016173b920479f18a969f8f464eff5e91ea93c1d0f314f161073cab45c5b511bca71bb1d82cd393e69a2bf0fdc425a552c580fe69a2e73dfb16f7a71161ff63d9a5d6c05aeffeaf9d890567f5ada551eb1fec26c6facd8de983058b8f900d9b673dbd83748d18096601912f092a3f4f2a59d7e6483cc88a087dc1f853a65049a19a2075e74dff6578d1f2814ff2dc5e230682b91deaa43e73f6bd5522d1864e63885735ede8864b9e479931bc65097a05a5e48369724378f359c0823f91d5e37c0f482fc5d996022d31db2b1d733ffde4e11ee9632c8efa4b7fca657d1cd4550997745176481e08fc4487dff3c272745871f535a871b671faf0a3193981bb7d0e84706e5ee112e24b0c212d4d21eda61eb396a24c2f8f2233a6b6fc83c08287e59e45959feeb21036ebfbdb3c88cbc2d2aeeca2be2108eff2252ef08f07dfe9afe0e27da3086c92e575e0c5055068245466222ed775835f091d63dc7fe08a1645fceea06a42abbdff31c1dc1a15f8c2c2f13dbe83412dd9027af07e8d250c199dac889c8d3a25069da79339c22a19107df4e32423ae4f80756332ead8ff374c3a938c6b47799bd01999b825144db5669144400894780fd5ec9d34dbf0abe058e0008874316a226261f7c5c7a6b30bea3705de42706bcb6bfcc796d487bbdedd021fb431076479ab5c0da37ef34f3be43de60b1a71d1dd40e0e780aa54b0fbbd18ae26ceea15882938ad9f7521d0e31090c28b56d6c865d44ffd21cbe3f96ea1c2c11b4f864c156607fe35eb211db270b4ec5b873225bcd7b435615ec0f73130774dedd238289e30d51a7f64479c98991d05e5bfb5e72340904d1af7b93b0dc83a7b91c43341770de5a8acba2b7f3f1bf0d9bebfa37f440cc53bdd0791cf27a579eeb315eb56d504733e6bfe42b2da6eef2eaae23f7468101d954eb4abc18df2b644c54e04224ded198adb28888e41225c16ba535604f785632f2547c511d92ca45ec7c485ac7165e78dcc3df63ffb1aa2b7f6d0b0f9e43ae023f0296e06fcbd84678bb5806fc1444dff58e6d75409f1e394c8c21bbb92fda20952c640899d9f6c852bf8f3082d7b887a194d0f6e2b01630d3180312d8e8b72f93fcf1707c46f2fe8f241207cca93161b284f4f13f75392d1aa8e6c053660e5d253a2f80572cc08394dd1cf402ea92c3c156521436b89b27c839643ee9a89218833b8f5f309972d8d7434a0d8d97e5cc17a681996d12c7bd11dede3b273aaa4aca5207abdf714ba467f5eae558f7ae8b11719806d91fa4456817146f446c739a22eeaf612ac7a5fc19c4dfa9c075d960e5a541513f5d258e8739cb38771570a8d675b090294971f4ac72495f1c2f6b724fb3f5dbde4ac2de21d5b05a37583e0e7fc5963025998b73b44840ae60081d2736db24387176aa2678baf63dff046b770da21d61e9044857ff0003bb79bbc875a3e670405f02ee3bc8db06102ee1a18cd4609e8ffb71b01fb7162fa539ff08348b0d67222f1fb750e2b62acfbd8c76abcffbffb1df0f9734702b1f2e5a0926e894156e223f9a0b21343bfb3ac810f80ace67a162d007427e93b7dabdc17c326b10d6599e913aa69a8d45afd16ad297b8e8d6e51883893ed97209429f9287b98da87d63e3d2ebc0105cdb1745b3d43b05a1fe800b19e09483228c999d5251bd1b90666878ebbb980358142352deca7aaa0f6038f12ec305dfaaca6de3a95670fa73782ca482e8560de0a7a93d9fe8822942c8cfe75536e8ad0f7f8b1dab7f8b24cd63f0c3d7138c7621d83f873061e1721381983c189ddaf67a59fd1a1bd09d1929952b02730fc6b4fc34615334cfedbbc920388ed32947dab71136ce278c597d50b4c49e40a69d308cc326cee9e702473622eed7ed07662f0b3bbd27e4016b6b393c714051fe49e3c192e7d85d342abb15f91d07fc35625ee0c46b7d1281989a9f9e5d8412e638169797c9b3a679abc5680146d5e4833936bfa04c7c7a9c33493dddc7248ebdb7598259c99605a1e4dfc8d8febb10936e54ee79cf19304598fc5bf312b6c4b5085dbc87cb8346e46a41561fc698125d937046a322b1e9c496915091faa603f68016bd8806941d54a03b4c7a230c16cd8dbe02ca8d02354e73949adbcfa807fa7b51c423eecf891e19ae137cc41b8b7c0fa53a0081fffc09c1c71854d2d79a3e2b6130469274308b78738eda26544be503722746947e839f423c6ebffb16d8950768b0676b6d26659bd842e6e5e938cc1a5278cc7186d6070f38225a5b604d972ddfea0178bc2b5079780e569d5a449a5549e4c54e609426aacea1863a7c0aeb712b3ae6d59a5fb30d6dfb3e2d59f6c305ef2cc63d03b3aead37d3d02375f59cd31becea6f0909f14702453c8ea73426f12885a188249f2c8979f436fb3d561cb4a390e9b4972a29506663fd56e3be07339b1497458c0079507a17afbe57d3b9f821b5f6748c83807c7f6736aa7d3041d0f21f0028991cd7e249b8b05ef6f7d7deea991a1040d7705315921ae7e8899c7e9ede5ec14121473aa9157bf5b0d6237f68ba5d535fc976b3d0285145019a9f1ed62c9d2a3bcba186ecebba7ea83da1f3e41ad084336706c885053ea7514cc04217e83b8517ecb189683c33aabcfcc4423b2ab854a2e7b87a22babb9773fd288ea838e71c948dc969a30e3a58116a0a4f527e4618822f81e174eeda140da551c5293c70b4fd26b8305d21bfdc6e0093f491b3539426ebb5f5e359c2a7107c5bcbdf56a911540b745c803fb67de0a67e09b2ba6c79e559cae79e72113ef872b87a9567fc66c619c3c4ef05c08169c9f61dca33de4beb05ac3fb87c5d85a3da0cefb7c10172ef29b6cab95c2f5b393ae89b524be9962e3a00b6aa22b66b6e89662bcc63693441866f6caf09a5d1ab9e92f93b26a9e207258b8890c9db14080d6a93c60bdc0e3c236008046222f748f71ab5dc5f323247906bdcd2660fc79475ca60f6afa7d3ba82db9a6360d4e6af4cc812073ad70a0f3605609de5014e36390b697d3cabb851aba97f92778c9231b22989beefca5c4d20063cf77d348ea3f76e7d769912c59c2271be5033e9f0eca2adba7591a8dedb62c291724406a8143b1ae56d5e25d96b2dfaee183eb422f4a8aa3bb6e1cf663da485ed6bd7dd10c17afbc7ee7809cc0e0c03988924ac8e48e3e4e4b47c3d96c5792630bf2d331a772dcfe64a9070e1fe9ab3e412899fd37a3fae28dba1310b7ce070b90ff6ebd7905f2c1020f3d30d365ac379aae11df3c18a3e09bcb518015f6bd7d6d0ac5f8890b3d12e0ed36b36e2807606a0408732e7c1058b49bc806991bca0df703b0ca0288ac70dd5dc87cb4e1e72b59482c405be6b54b5fa10c0e7aa2ad6f02c7e48bd704bca67f065fc182b5770af7518dbb1255ab97424da8f0b82c85f79a7e3bc8e2dd1d000b65c190627eea6f227b2fcdccc45ea5297471e462ca2ebf6c48edb3b3dace5c4a3b016bfcb8cec2acda6efc3a4d87d560f25b3c7c023a71da8d3d528201d3653739efd63f3060d28fba530ee7bccca4e4635918cfc90ee78866339b9339aa80d2025303abd7eaa84517e0aa11a0b21619a9d2596ccb38f963dd530b050d60b8d7f85b38517f13df1f8c574cb7d0e69dfcb8c6db966004262ebbc1f15667a04d371b81cde1a222fc6db912ec95287d09c61ed1e573c8fc02f82fec52b0df4b0bd4d4b2f709248865a3c9f9645db10251959be73b6054ed51dd74bee338e259720196344016e1a9785f9d24ff45b0245068d9948033eb7df0178502ce3bf8fee7f8001e9cc2fe2d063dccadb05854787ad5fe88e619693ca78593679905297a6e0013e1ad8c8073c4e5799758a8706bfecff7abb25f6d1ec8910cff425fdb042fa93bbdd047269a23994356607db4aa7f5433efa4b83f94205a53034d3e6e94940e858fa2dae6d4e3eac7054255be1551e9ec8030c9d7f101dc858261fdc34f08fc0bf7690c3c7a1a8d5f2f72558fb11c16e4eebf02a9cdea8c8d5d6354679d65757d5587bc66a98cc87984a67f84b5eb94fae4fe2584052eef40eaba6f6226d1a2cd1cf1df1ef73d2b822d1406abb1c8c5e7e56ab5003019651277726a50721460c2dcba911c9c880fef53fb0bdcd2e54d63164a46c45f06732595ae0a72d3054d9f9d02a84b4be8041008314a4c41b373c006a7a88cfc2409fe86a03904c555c89e7b4dc8009485ffb1e3c38fca64ca0f1c126c5029ef769cc9f56e5d5526daf52fb93e77d678062a2eb801980b62467d522c660ccd1e34a1c51c393d8ab4a5d525d4421392aec6ab7a10c0019d03be187069f26cf9a6413cc87ab91d240a5f8cfb588cf9889aadec3b81ccbf85a8b00b4738637b46be54a7baa1b18428f4f85606cb2def738c4da4ef8c4510210c81c8ce861540bb5e21f2fc0517e02a1587fdf80e90d6102c4a46dfeb0c5b1188307b852679cd18186b1a8e8d3221675499c1111046e9c8ef4fa5bc5f3f4350ee6ecd279e632aa542cb43c1d0aa52bc2a09f0df3107fc69c0cccf86122ad6778c99141f8500cba44e4417e062b9008558268826c70fdc30f2afee0352e4514b666ae1afd9dba2b552620aaea51ca5d94c7650436c395df9a24f13b1c93b2e81b58fa499affd19f5d68f9b2cecf3fa96e36a468beeff5429c35c015f75648db5f59a946e0bedbb503a345a131325f98c0b13d20a2de672d0be8bcac41113398912da4738bdb7ea08513bbadb7de197b3a551ebb9278f8a156a47a7fe2b1f662e98592c35ab835d8393d6a0a82ccaa3a4c50b075861510c25af38f8f83e6ad5f57c0f747e38c868d711f8dfd931d8dfaa2a744c72ee22b6373295ba49f0d2b1e2837b8eafc022e0a7b36bdcf31fb396d0b653ec12bf4ad9c4320b44c878503f08a7bf04e5cd568bf198a00dba40719cfd593f663101542fc2e179c635046964c25e1e0e7d918c101c4a57b26575cd34d36fc73dbe6a7af84f4d52516e99a0e978be89d9769da30dad001574a95fc3be0196f32f419c584865ddda9fa35e27304c4a673a5d33977c504ddd4a87ffbe79530bbe390fabd3fe5fe639e64dd692f05e460a2ff4668e1062574b55b0327e78505407fa0067358e520e7b5a72dd15ed09fa22b4181f244ca85a1c1cb42758aa2ac46d7f0087cf160c4a4f50c1783e67b762dd8b714ace4aa276dc0163a15b8ee055090accfb22510374fe346195f15e886a25cb84d66969649bda505bfb74fbb6dad98259cdbf966cf5684b69482fd493527f226238000627f624f749e0587a549095b70376a376b84bdf7fe8b69b93253dd4b48cbace7c382dfbf8436725d0c95c1f3f2eb47b54ff5be0040194c91e13422cfecc2185203b0a81242218fc5d0382bf690a7e8a1cce69cfab86d4363b3a9abb02a44257fc96a9e5bb025c6ebc9862d28df15d1fc87ef03be0ad7c5109dfcded6e02eb5e9950c1f0d88b5a8c7c4cc4a65d9c2dc477b2b16afd1efb51002de0089199fd712b54d1a9a84766c7acd06440aea307735e1ff45b6b9228b50e9fb568cb8afe431f5030a46263e761ba62db34d7b967bdaf093e31902286dad491ba9c31b874e52ab23f3fc9a2433da503ea45def304507ed3ac33d87b7b61939410071f2ddd2b433a43a6107823fbc499ae69c783c34435a560ff1d35b4c65df6641513efdbdf7a88b12ba8b1c19645bd997a4792bf6105aeddd835f92629085444daceff51a523086b38e323c52ba9c4772e4fae16fb5952464f599c825804f4c287a52660fa8ba56e6779ebf86123946a00ec0408722ade10702abf7bb1211aa671402f7d7d2c02d6a291666aa1346996fb9bc87de39dd6b3135f723c44053ad69e1ceb3f2b6177d826145ce2a95297210f4a3de235e7092f714d066ea713f737ae9de23a83d3abfd4ee36b40a2180a5dee68776eec93058a16e24906e7c0007cfb294e377820065493f1c2910f3b3899b49c98ee0337393d99a2a6c82047af269e5dfe174108c8ffc8f7ffc4158c68019f0796fce3279d89a46798a69bb3277739db02521df6bc716252ce9133b6a2ff6ed20f023ce2ef86e58d4ea3202eafe364ff1e0c28c591892e34317e21efe33dc7249cbef8121870b6923b4399befc43999087be1d135f873d9949f50caca59a799b1bc9d7a2c774ee5030879b8651691e9d96c274ba48da08b391e55c8a7d29d5aff49ac27c87f2eab4262f78c4769685c7bd5d9e2ea867d745687e895787fa3fa88b754be9db4783ace8932de3fd4223a39c95eecc90eeea83a9651b3f76c9c59ffaf1f302c3d7edec5fcc5a71d5f7cbf153c5f83d54f662a24cc5832484a6ca875702af3ad17141a2fd23913d1b313b4e9a1a195818d2e5d1197e64f0bbefd531657175610d146b5b20b4d2b541c0cd29f5da1c436831ec185efa50fe8e6c4ee332c0011724ee0184e9a975c5714f312756f43cef122f5097d08c583408f5b257f37e7b0c71d55199bf9311b5ffea4cf4f1c7f22255ce813eb62718336d660b2d63cbe3c2744e94734e0042f310baae6966fb445053f32da021d6dd492fdba0b14cf7c82388111001e9bafdb0cf57f8d4f199cddae7b0e60e8941d93d3ba4e633deb8b6f064f7b173c7b0738e1a1f9f660985f0e15842c16fa549b6b24e0e2e37bc0eb0ccdd01199a0f6a9625e5f809e51d681e05d97669444700f0b408c193947f4753def07845e4de80cabe0b22c3b5c672742712f785ae95a686385e2a7b6930d00112879a2fec3fc0825c385a7db77be945115e4bf7c69bc2cced1330394488e27d11cd8f24252f36ca517b89859d1abae0076bb8efd425e8d4ae6f25ebca055a2b661cabc1f75ff0c3f76aa743b07f447743fc3add516dc52f79c78ef1d3e1e4ff9fac0a2619d551da3faa97311d8f81b29033e6a1630481b6e5f27f8cbd6b93de23d749807c5351f57d2c84cacebd75cd69bca65551701baad0ee868c9593e9abd64bae4311421300c570d5456de1fbdc1677a2810b68c45d191893aabb3fd128c86646a301e730d0181b6c9bc50a30c8f996e5c4ab8f5be5035fcb980e8fefe4a608b43a9f73cfd5775a9e8950e20d65fc36c7bdae5367d852a83adb4f2b126c4f7e96946e31b38a737a81ce17ff1fac9201621dc9515b000925fdea68a97eec08e93c385782f63492d4df219d0a812fd208302170faa26b5f084610ecafc9e5c178bd6bdcf7c715ffdfaa7475e41eb24449028ceb65b4f17fd73fe8a921e4a574685795fe06308a714a84a8f7be0e2857d1981275142650689bf98a73ed80a8e78e457b8b0c7a4728252396e3a19882f04337d15108ab860e62eeecce3d38724f3f1e4004e491d19acb2b7b8e5d961c01a4dcdd09486a567e3b8bf2b939c5be50551c15df0bbbb77dd3b6fd11a674318cbb93e6c4e8c48a0fe3cc2dd8ccd254411ab6f7ae667d0ca46b58a089a84dbacc56eec2b3d14d0d011c40c26809a90dcaf3f84b755ed6e5f2624790d4c51c03c4924ff639b7f865c871a8b98a26afdc79931b0c2d23f780e5f12fe307d0c784c58f52808f5883ba4d64787390d46e60104a5e150ff1c5606681cbfbd76f13f0f8b90e6bf1737e0f641a5b03a545f52139de78eebcabf81139da54e75492770603c0602e31c0d32dada173c931da2b1ff5d6f5cd31bbde87cbe22196952ecd9804a07e19a163e128b64e00fdac4dcd0eafac152f2151dc92e0a5b6af6c02b47c7e8a0c6fadda140b9929bd0f6d635d25b80bcaf6a25b229a01056ca9723afc65f237067f2a60c2a1b9ed506468b584a818d63c104a26ee31b694be8adb4e9a3c10f7600877ba015dfb3ae7ee34735424067aaa0014d6e2128de661aea453e5bf757d84f3a449bbfffe961cf2c0a5fdd47a0b3551ed7a880081351d6dc3baefa9736f67c68b89190ae0b1893e62e7c57d8d79b9e1f44f2dfb04dbfdc955ae3a6aa6e807fc6867da2818a15d0b26e9cb637f9f5d6cadb4fdf179f5e86302b4e28732abfc324017abf13727c4bd90d37e8fef4008b7b1280576028cc300d3c309fd28260876b7e4273d8001f30e366f149f10c21c4b117889e0f850c286e1cb001157a228f094e6535c7a209e6fd140b838d4c6100a75ee5485461dd2a4bd6b9ba4f7502e400ad8ab8b360a8fe08702d3d3f437b2818ba4a7ead6dd844416013884fb40a79d28e5aceca495717cc813c0d97b2f3764fd098bac1926b6664bda8f65c8d347a3487f2d504e09d91ae87a1236149183540f600129c3b5932ea944e78a901df20a3aa1f487f44d52e62a961f20b42a67062cf885cd66495212e6a0a291d47c4c6dc3415c3f07459e55d2feac055e9f238d5b4f5ddc9a503221d042fd9ff5bf959714961ac67322bf6289b2916c2a4da8196637a881f2671acc9e6858440f41c0881034d252da7af053d532232a47863b18687d449dbf4c0dda6d5a601d481f3e1dce9f77fe0b536467ccd6fc39efc090e5ac8d078d26cf07f2f24846cc0934f441db490c0226c9e7148ee88b818bfd1d500be950777d6791250f549ae884625153f57ccd6e38d7cb3091d31fd821006fd8eef5889d926b34dd7f7c803f63879ed54f011514c5c62613d99900477183c9fa0e7b093e65bab35b55d4e0047d1b10bdc4c201bb172429fbe43decf050dc2e3c2118e3ab1ca2d83e34c4d220181422dec03e4680f84e3796864ad4a90c7e7c5134b553da2578f442b9c8be2172d392d7c7073f4c62a74302d7de27679b3b017301aca69c0b8090732d795c04db821423927f3299437ba57da453d5d5bdc923c4d74e2fe73ec84455f21facca024f72a37042955d3f0c5734c438bddfac957bdbc2cc80f1e3e3b6771cbf5e2ed5dc02d0fd487e4eb4eb8ca8c670c8360c01fcb579d0bf1e8ee9cacad788e5b3a79463d5342316d0896075c79413e3abaa90bd62dc8f6dc5cefb6ebcfb91f4678a4a00f4cf324202be20cb062e37b56505839204c393865b32a86ae38f654df7979fd3d4c2ba064f38f59b3a5e29b8d44c3facac526cbcd888ab783ffd1cb2d83108694721ddf598409e1f9042059e5d5f4f891fd85bda6fa7aeb4736115a09d8c4421c4c06215a1e3fe93ecbcdbfec2b30637a237c8310301f5d5ec47bf68b7759d354c2506349ad95e76bb193c9a003f3298312c283ca8d2959e8c2e56e5aa41fa26f716238d372ccd2e2744ae24fb6925ccdde2ce1f3fad713e3777b1c8b39f322c9071dd93041493564029be1b887c7df57918a5da70a5cfa82b011eb4d777dc9a0cea4c3399897f4da00d0aa32d39e2acdc5288c0d62c873ae321f4213bbae8ae7bf2447d691933633b83e7dbd4381b3fad71c6bf68d1c623bd5e74f3bea9f9d56d5ddfa5bd1529bce9cc1af6c9f4b4ffdfce132173b6ca2aaa9ee9024d369d9392192fdaf5b053dc0a130cf4d3e8a0d1584cba6b97f3856b9f1cd23501e4ee24c820fd60a025cdc28e1c615d1221563e304fd9907b6c9749e9c1acd07bddc3b3fc74398358272bf1ba1a34bfb993a3d9565518a1514db18cbb8ffb6cb2245211587f62a934e70a3c24c6f2ffe228ce5b6bac79fda2b0211fd7eff2cf97df0c0d93e5221a81d6f08406159f1963eea0b53e3d18799e84a50673c985b2e71a80a197f85b3f1dec4b3d5c7ee6e47290aba1614b1a236261ddc54fbfa9d4a57cbc862d2ef7d5ffd283bc0f2bdfd3ddc136b471488336514cdfaa8feae206b1b04aec2cf5f00564446e6eea3e26aaffb096bf4f4e1cee24a6efe49472b1deae6e688a3402d4f3aad42c91bece8294bcede400601176e599f11f00c79c07748f2df995908a8ecd19c8be8b99c6c2473a8576e2f86bb748a35890b151f35a68f4b1f52b00ea4628c97107d1a8038a712cab7a60166921021bf39f5beed6cd0ce0b20ceb0b345aa0f1ef5d41deb11e48bc01bd71f9a459c250e3ab8dad3a77908c365a931bddb21bd191440ddca3dec572ae06ae355c16251c87bcdcdbc57e568f0113ecea3471b352ed0b602fb05395e229a2c1cdc034f401b38ad76ba36491367cc792b794c851503f8ff519edd4953ddb398a78fb4e27837100bb33b0f493730ffdc7264edb875af4a31fd43df66a732fb5c404d2c060bb23fc897ff8e2fe22dc4aa3998b71a677a3e48fe19f15df08810b34dcbcc3ab20321f1fb3b2ffbe4f958c6002a49eeffecd544a94af67dbbc9a5d97176749e79edfec7bea0eba80f1345ad430c801646dcd058a8d6cea246da9a1c4e9241bb9df939ba2608115c7b7ca3f1c89363426b26fcfa96efbdba0e591935527c59ff2a4775afc5eb0e6203d9a3685a2e714f9f82ea6399a1e9799c1d2748ad2e56e3d7878eb2ddf79845a93466203126eef7e5c487976f7008527ea22ea7a41f2e5c2f10479b6e01b2d15ba443b0b31307969eb1befafae6ea356ba04c8234f21926b01714f67d51cad7c7449e8cd6f9b15cffe740516c0c2ca587223b53c044ec86a1bf00b26d959f0ed74f3d14dbc5001de5d0661590856ed558ece7dbbfeb3bed4085579244f8b63cb4bc5173863c492c38da3fe1e3b9386cd8f765a0da885eaf02cce77d42576b6199bf7868a9d177cae3bfd4ed6aa00b9ba4187e39a224db6360b4db1a9fd3f3b9882c633d5c7ce27b69e0c254a70e325d2a5abca9f2e001bde17c170873576705adedf3733dfb682b9bb5302f4b3210820a5a48d2ee15a3fc85288d0082cf4779c4bb70d8575190e37be804a833159fab0f60da6786c4370fb61fb94685dc41d75e9e71de5aeaca3d7b25e4658780e63e91777c634bf8b02ca4d86a99cea160f2f9d1497d3f1014d740c558f1c1bb3d2201a7af81e2985c02257ab50d0ec3f1959699600af6085f21b5727502ae73cefe31727b59f0de1441391e7dddcfc6cf823d256613550c7150f03984a93121420a1a6855f8023a1ec16349e6f21df202709dd8d4d704c841d35e4dfee4c022bd1394941bb8b5d5d8827d22876becf9cfedc869c3b8d2593f43de9ffdd9339131e44199e0b00929b7947f8bd1be90d60a16568321bcd43cce00aab6c1c05369d422cf53c765e9b199e1189a7deecf36db1f9650088cdf6f2be9d9558136d651718e535fd8bf6a980d2edcb4a32bb144711a27b351a3fbea06a335b31950364297503077d3c45ab4e9f484f1d4aa5096e2e91734dfd691bd484fae8f3b033ab81afc102019f7ac96f4ec5ecf7735e95a00e75668c7e1a8d08f41c7ad12247e16166f38c441052a25648f31fd0ee40360452aa275222f6cf775b2f2f71978c3b9fb3b2289a79a056e322168052f02fbfcf9094eb8f52cf1b3971ea9a49a53fe4a988a92d92b951bf04ee3935eff6c7a60319562d1a8f77eb6f3be53e43717f15bcf28d9af4482a40d477fc8363241d2eacde6a0920c66ed5255f06fbe6cb577c943e20ebb23fb4533ebd1cc91340317bfcb6ee247bb7036607c7da1ec87e78fdad27f38148aaab1bbd38c9eb4702009ca0afabab79c353c4c13760e9f094a3ae3a19c75e35c4483fca7e71f4dbc8da79d48443e23ea11bfc2df84aab4201fdd6119ed436007ceec34b9cd783c8fbed38231dfb880f970493d796fd46278ab4b8805104731cf4ea5e0df466180f49701c0ed750eaaa29ceff462e0b416629564ea9ed6a11fd86d271c241a8b5c90e71924acf40c6c07e7ab194573e6c1f6f0be391efbb1fe3ad8c54db6bc995eb2a917efdf2e24f3e3229d7b1204550960addf485e6208de2a99d592f72cdcd0c207dec1de0c4d40c29a8e155d37b84ddf636214f5e84ef68b0ea00b14b93955b08aa87a39e1bae39328c48707491eca76f526d5d25f02feff71460fe3faa0285874e05fc89ae8fbcd5c03f0feb22b9b8da4b23baf4c939a67a65ff3e09201e05d992144faf82096a0318052fd519ee10e0ff67cc017970588d4c359a4f81e27a3f056b880af3d4bece73e171e9223f972660f4410843e91406308566b5524778e2aefbda22cc399d5cb38ac8315f97bd12ad998101dece26efd50d9e9e7d289c1b32c46d3b60b80f66a2b6f6cd2aac760cb9f3420bc152663b37d9f06a4425ef7e04bbf20756379dfe3a8558f7d69ab8331bf2d5f18f365f80d47020a440263ed640e257300d82b0d97914b45ea24f54986c1dafc0195f5dbc808c136c63de850db5f5c1e44a143227cc23729bd5dd3a9aed44005cbbae678af19136b9aa81e36f055576b3431abf57e2839cd36dfd8404acfaf87a14a2d7e716a4b70c7e85ddc608e7f2150df9f0055f9b4e450516e95d562652609b44392e6646c23cae3d3e526cec2eaa25f5376bf3540d645e5a60f32ca2837b8c4c8f69da211a3bc46931a7b311a3fca3cdbc67caf1ccc7af42dc2c80d9159171020de59c8e094a363b50878c822dc4e41d7f42ebf2f5d949cf3a89e1445341717134fe29ee43ce40e3a85334dd014d83d0e97acf0f70fda06ba09426850cf68a733c785c3889bf1fe5d4284f1ada36ec29601e802aae2bf5a65f9514eadfc1420b09935b3b565d147b5dd63aa6dcf096d9cdd86e24e341d8733d90e157e57d042db1ce7ca79f4c31c0f7cc09eb36f29bf9d08152a2c17c0a308cc1639b3ba74135c44cb101f66aa07a1df1f0baebbd5e20dc70c87c8822914c8c03f7484686f466aaea1600e6d1da501f83d4f9c46e1ec486c566e6cb5429559c80bfba122eda05ec5bcce193b776d3d1af09192c320b39124fa8ea1c3cf57d437ccb6e067d265a381267090afce5a52c7e30c088a79aeb1515eabc532338471c5fff5883a7454c9abb88864287cbc3fe3ff5795f4716203fb8dfabd765fde80a095785d5552697d72a0035c4c335295e4f9ff0b7d93027cfeff31469e956ccf881c1c01cb8f51319352c1eb92b5481c19259821630895171bc4a420870f98a8807d97ca2ae52fd1505a26e8f2777c7e1424cd35f3ba4922bfc53c5af75d6e9f413ceefecb628eb8ab501735701924916dda3bacb4929f21f3d516560a8a9f5027a1f907af51cbbdd5cfcebe8ebf1164a3209b93c809b368e771d98acccbf04fb0cc7e546800c764f78669d9065d61cc4a1e6367d5539896dcedf69c4f1a4fae88e9a019340d4d32038e45fe69ac2c3434c64cd830467266f97bda54e0013df0272a4933123fbd4098b6cacf8f1506699794c1df2b99c8ca89e0f85fa90d22cb72ae288f4db83959a19d9e9e79bdf3f9fcd2b0b828922e30fa21bdd0d74161145df28b59238db3e0d5c6dfc6e9014b7448513ef9500c67456053821f802ea8f1ba2e6acd387b1be4fabaa8e10496491edccd4eaca367f4c67e415235c3f93186c17c749d9e9aee10a7824dd84bf5bbb02332e9916d8ef890a1adfafaf5ca7e1ee3bb8837c1d5433856a78a7c28513f7db3d20ec8101deda844b81e03db15f3ea73b99ef3630ae5cf50b1eacd4de8db6d0f4f80ee7d279ed07a22b2809aaa662de283d21edbe9afdc62ed0d5c4657bc2fce93975cef171a143f8a57c8277e74ed74a94ab54776b02107598948718602352e77c78f14fe872a9606228012246fcf759335e3ccccf88d8757f933d6174a3cbc0341ebaf014a5e53303f626dd1912bc5b3b2178a8d35b0566ab26c9e319429f869fb15d2d13e053f808c12f96e7310733dda786da4d612fde8b7aa9c3c6e8bf112c35f3e9b7f1672f4771f41e316eab3552ba3fe0de46666829d9e69158e167fc087f131a016ed10d9c9ec6db7c544cc3f33b421bebf8ce362998daf3de798437bddeb3f56ec5ffcfbc7128cc0f9c0fa4b9d38ae40ef3e036aa0107a5894080f41ee91aead2ca4948c0be22bbc871ca9fd4e4c510cdf4a209158229abf3bd3081e2f86b17b0aa3b2784417e6e6a8e4d0c79b47adbad4f0e40d48e58739e3180d103c13befbdf9792e0e4551362d5b302accb2f90dc637fb0ffe029de73f1b9edd8fb0b366563d57b7df3494e26c5d2265c1d76f8fd334eed982ea80f9a06c5f1128be35dfdf42f2b31bf926edb22bb53419c0d549011d6bc0a501c27ffd70aa5351d0511366f5ff3f64760b7bf08e03919a1101778f420b41093f0dc34dc13bc630d54352d3ddf88235274e0ca29eb090b19ab7fe581ebb3f09fb3eeb82c0d950b3983c088031fdf65821abb572fa1c6ae4816675b3be619a4ddcca8d5ded58e48f740a0a2066d7f55a06309acde558483df8d2c9cbed427e26457d8e76cab4e938fbbda4a9d80f71b8b4ded19dd1e8f9056f15bf5b3614a3cf56c6926635cb6df90ac649b6219a8021024fb7b2456d1ab03a01ea4cb2f497dad323eefd0e402839b49562eaddda162807bd344a1d33dbff6d6f4e641c5c389da3aa10a559466beb80c8d131172d84460562683877a6f3cc7d3590d1efb88b5793119701150321ad0b10cdcbaa8dddf8a624096cf4c9eda19ead20ac4f6b6ed291e7702fbc4e47a04511262d74751f47301c26d5fa2c76f7a98e26bdd944a3a90f0a674f321550421ec7cbeebc06c4002992161c9a04b6f84a728979a010897101e5629e320b4890d87b2e672addb90c41eafbfc0922ab9ecf64d85086def1cf4097897c35e160c75102e4289cfadf1cfd20f9d2b39eb8247b07a9ad680e391a83b8bd4b1219a6c7c96474854af5d124e812d63e75da753173eec53d9668349138b7d8f833397c03db14d4a495fbc555fd9eec50b7ae250cfec563678ce6ff9841b3a0e18a9f26d46a751ff89f33e07a1c12149ee255b010566c66203f680212ae8900a9c958aac5085ce39a5b0dc6d0a8d94ee2314fdfe4a608e6f5b6ba7bd0868d53250bc2599e6504f35df4074aa3777443dd5222101f0fd4e45b0c5e07f9c829bc83351b45352d895d69a08c509ccfeccc8304762f211767d8e95a7cabc5c2a99f96c6ed5687595dd97f68ef74ff7c8dd5f0a1c3a56992500a70627be6e81a0538cd37df5380e22238b6490914291d5d4a283cc6930b7f4f5af2e3dbf4da4bd8a3babc144240608387dbab6e666ab6492ba7677cfe383e3f2832f6d543adef7570c3975a69f94b8e1f3c158bb24ac1c385be508b6764d694e0c1f704221ac37c05b715a0d710caa36f4b770e9fb477134172ca73a495ea29c0561d43033740ae784a5a504ecae6a02297bacf991462563b4606e418e4c6e2a9969ee2e8aa0487c64d326979848a08f3b4dfccd2838dcad76058d7c1b70db3690faa2c94ee5d88299d13ce1da0d7e1060b8890940d6c3062342a38e7b26ace6b3d223bd3f3ae56fde19626233a41e5238367287551f9dc168460a49ee5247a0a18dad7c216d6fcad924ee973ea7ab87d8ef571b326f430eb22e9aec70d0f08e0020aeca22333849c8c4d8d08a1d34b2e06f9b7dc2e6c61f53dcf731c8cb2e9fd37fc24df784028e75db2a01dc6b36c964310afe18588eb6179e642f9296e23de961b175af2e25b4fbbafc142c877cacd8dbcd6111f3bbd5eb955cdd552186440c759b019236d246e638c614b6dfa6eaf0b5bee67fb5a16ecee24df81c2b9abedb8ffff50c1cc3b5e7e7f82e7f409ab973f925438d638e0e88deb57766849fd70709bcf6524373eac520f8fac3c3c2dbc08438a96a0f062271bf2d3ee740d3e0145638ab342866cea2b9cd4fde01f5e58b64ae91c8ccced493f21661ac94328dada3de3090bef5cf12256ba32f3ea17d7fe10257b399b2ada0fc45ef883cf5f1379dcfd7b8b50b0b4204e2ed3f4865c72809e5b89721ff017a1027cbe2019ac347883a58d9ed7fbf8bc1b25fa75ea9c69661761245bf6261989215809b016bddd08bef797fb9ab1a8994939c3db4ba6da17af2f3078402c738c7242dcc217c2bda169a1b06cf7ef780add980e35e5a04ffc25b01adf7c98cbc5e08aa979ad229195e09f8c4760caea74488ed8dd40c8e7f344a23a128541f9bf09e6f7ce88ea6d8e43c46f0c523ea7fe3ec278311ba938f78f3b73dc3788b176d5a4159655fc73c94b56c1e75f78bc816c41aec5142fd5bc04fc9f1598c1a2e11fa5b9b4c2b8f4e7a923931114833a7b98aaea94d236ddbaa7007696c6b6cd49fa187140a75327721ab503d8b1b4c7edcdd20fc064c56a9c1a70fae7cbb2f4de5925e14eb2e19994cc724f37d90de1add725a6f0053d2faba108f7776aee805960aa1b2effe4a5443dd9780b48a3c85862a5428478843cc28a621e9c2c75e492481046c2e42bb8d5045152640cecb8b1197ae4a01d35d9b76935d01cceed1d377dea24c12fe2d83c1105386af853e67e65fe415cd64365a245c2251532d234c0b731a846f12f6ef31aafa51c7dd4fd99705caf6f8956781a5464e3aab9a0f7fdbc042490955c7082a7a86ed100a5ec4de811121ff4f507cfb7a3521c0e3c66d160fe14586101e8c5ab55ce6b50e7402273f799b36059f8974be1f9cc020d1125d30f03348252b7697a1c24adc57318ccd9a644ad6e535b7b0cb156043ae8c0bac1ac460d0e661ace26cdb37144a5ee81b34705f0ad1ba7d48de8ff0c25224d1313e1fefa18e0075d8eaa04e6c45c00d713a3ae0546c7e2c569b913032612b39cb76b2901d38c0e19c005fd6f4cd09632b12c04cd2f56bc47308dd36264148dbb2dc7ab0e5c41be6d6ce6d4a818b7a9385d78601f5d8948ffad35513e8111dd17c67fae680ab34c24a9ddbdbfd6eb6b8e0a8b0cf3eddb470e124b17f548f1516fdc4d1ec7324707d1cc04c1db8a31bbc595ca4a0a30e558a642b277db69cc6bccc8819abf32869af86f43fac2d6e8a0af6039cb652159053d77e57843bd5a964a196bc622addde83c5baaee5bfaa9fb4fe84b401eedcb4a36a4fde86c2676e9ee70ef3caaa9d22c96d1ce98b58cf76a2cfc60716a3cd4221fcac5e34c42f786fe376d0bd8b991f340f810fa039f5f9dd5be0e86c120f69abe6e0540db9d81a60aff84e445586e49fd8a7d81d4c7ee00816eb72b8dd73e28288acaedb92241beff58926ac7beb8fb88b98fb5ac6045c254d0d4b7a03b7bed6f76645e4f96a91109e26897500402cd76d92530a9d2597a4fbd18f416fc4785d696b869da25cb7db3ae414df11f96b04b5f64bf24e1f1a26aeac0fd3bfd1c0e6107ac2180c8976939bfca8b69fd191169ab7b1d703f504ad1cb09de70f2a838e0ba84592d951ba967e11870bc84804c1fdd1d01e628bae41696c8db5f8915f83ca13f55a7fcf297b7540cebe57b5e4de1ef03cee90212b4d20f92ff31afb1a1d44a23eaa6e1e3c8cb1b10c8e27c25a9cd75892144338319faf5d1207c22a2393f32f1ecfc10b07570e4c1331923e86004ca92a3065eb65e8fb1442242a8a3e946aee071ccbd88a8d22db4c439f3e20c4ee63e4c325f10c362366e9317d3568d8961b89bdacebd68e646dfced09042d97c198b4b12aba77024ad806dde17e6c8373fec3856cc95e621aae61ad792fa5145dc8427b6bacbfe3edfb31e7d47cbede0d922d713396facd03295cf497dbb896b47ec544a4861dfc6a21fe9d8f33608ce9f0ca9ae921c7811416971e9244eccd2be7834301900a9a3e2fe0c6e97cb8e6e6af5124ad78a2ac063b5800d9680e7c441731adfd9a8b83d819e171ccac404809466df38b57ddf7d539a5231c83aaa011834e6b18f92933904d675ea3b715311b2eddcde9ed9cd3366bc03ce4a0aee84ea114de7a60c005dcc34e020d46e2f0502b2fed98d48a4cf6efdeedc24c54abb1547960eb427b5a5429f2f011e1601d704d98a8f29e60f0adf42374cb9d6a7859a5bcc3b3a6c8316e4cda0ffc72af147715a56e8a451b26fa981d5c64c51e452a4b1b0f044dd1754e8d673e215cb22ec00ca3d59f869bb46d14a7add264354a7708edf47690bc48db4fa460ac55b2affcf962bfae3596bb22f497feddbc0bce1e3dfa68bf80c5c352a45706e30ba15539b284269fb86b447f530ef2bf54816edd31a19f44c89e5059150e18d29a4e1ff6072f3d37732d277f80d080435ec3da00ba1d71e99004f9a87321b44d9f12b648571628bdd390a74418592fa6a7781303eb4d3f58982e063fc321b8ce442478fc43fb94ada4dc3546aa81a5b8f12400e08d1ac00ec321aa4526e2f8e8dc6a984eeffee87e28ce2c0b60b719b26b7e37750362dce0243e104dbffbe69eee305da878757dcebafed77d827d6c4d8273fcbda1460a59ef2d163a3dbc47e7a35a88333268e7e88edaf4519ad0067d4120a192a4cfc9c6acbdbf1b564524e23b3ccb6500c69adf4c1e21b5d83cad64d9ec7347b0ab8c792638e19429d2787d4a3f7fcce2c366321ee3df71b352d136891fff1e7c2ef0d35e9c583fb13ae36f7e338e010aa3d5363f96a27ab509a6f38a30039ebc4cd4c3546f98497d1d5fb4a4eaadcbcb540792b11119103f92b4f9396d3d9dcc9a17b8c86ecfd625de42ac5f8d5ec25410fab7fa44344297c4fb20ddc0698f2df1f82e3927b44f281c4d52f83a2e464e80a617ecbbf7e4ea49fe7c937c7b1b9c5b17e2a85b5f7a72be5ad0c89c9a6553d14bc97df7747c0dfce0864dd67fffbc56efde8fc0da9bcb848ab23072c327ed8fdedfe33c2305182a7f943b4e0bddac92542963e82e1d438ae1e8dd5f91ee2a4dc167279c6bb43ecb10c14db4967121c37941a87e8d6d8fe7392014ee6389ed1e35d2944d3279b185373e9b8f69cae8f2c7b30393316dd8f2732de8b7e00bc251cd776f13096de75e0d47a4c8aa97effe1965f38772f11e15b5fba63a2cfd017bfb0a5a10928de07cfb1bc07209eac5341487577463bd674575bf9b8fa7f022f239cf240ced22e4179e972ece6a9063f355c3564b9d4a51af96956ffdb771bf6a286c5c61a7351fa85fab16d33ae964bf6a361ce6646b059f979e8e49c4d231c419ea724fa077d4a2650249dba085b2932ae3f88436389dc6cb24abc6d2c3fa500493bac406841c713c7cd730535041ad9da2008e824ae811135bfed49cfbdb95117cf890f38ed55d3d4d6614d49550062de6a537e92aaf246afef2ab5c0ee69e92343f7ffb0febfc35bc9310ab05cff87825ffab877036f96cda9824c29c33d0da568ef7e5cb3edf6fb54e894985db8b187a342e2e60b20b4149846f2daa5e8add6684143d4a2ecb7a8fe71a82dda88ef521423ca4bc5f59fa455b3f3febae2c66326a37e6170f397bfedf9aae241e12c5986c7d4c9f5dc7861ccabccf7433382a9459f9c55354f7a321c5729b73be942e7cdcf5aa25527f5d0396c39e063e6b511b4735f6a3fdb999d00ccbe7916c487de1594125c555174ec48fa79df496ad4a25282cc6cefc98e6a8e5155600b4f37f3dbb6f132fa06ac435b60677a1d1e7c5895df8726c94e78da7d77af03957f377b9d8570b654d302e05ea007a28669cd0abdd1ab3f72790abb7d572aa1864d67d21f4191ac79476af652f57379894aed75b6123b1a09ab58ea829a4016f2f87f93e3ebd1528551fc74d14e07874d39cf33f169fe26d2bc2cd8efd1ae04f6ed7cb85e41182cd3268eb8e7d4ba370fbde608a6e75b55641969895d5c50a28dd75e069c69ba4be0a836764b5c0a67076ec8934ac75ea33fd6a0f2ae47454bf724c9e1d1ccceae4690af2495bf26f9cefb99f898c6f828ba14e9b1e769fae633a52f2a990abf35ee973783460b3bc0983a618a2ee47640adcf3ae7c92fa3701e8ec70a171c677187d932d56a59c86166bdc5fdc9e62a433d80015da08f1efdb613c1de16fc163770c2b861bf19c4c22fe70dde90878cedf08b23277e18a862cbb9180c82f145250bdf2b5577da835a469686a37e6fb9e3738d1f2879682a879463250d8e9e36d99b1ae108d7cc6a0dd044003f1ce324bea86936d2e61e975c87b0083987600ca929195c1c03a5928c7ee010b0b05df216dc968247f9e2951736874035f35f6e5ec4fae7131b998613df8b8cb6e60ab67e29e7a38b6edff4581fc8e66be63dbd69c3f3eb3939a121fb24950b223315a1619afe499da63decf182ae5dbe1c5302be1e59c94f65eb68b5c90a0855de176c20397657157cf0ed7da1c493f841f3be6c1d2620f7839626f6b3a1280ca9a361acb0f21b5f3c8401044aa99583bd14988f7b23504ab9ea6f72d47b358651766656031a6fc92e7d82db96b7c52362b2e3d23f65676c21f7e7f1dda06b6a8f5f5e34fe9a49b9a6cd3a8e998e8a625a7f92a3fa1fd06a98d0e2479610cbcaed05c5002813f56e8076d00f7d07bfadc48da98991bb498572fdc11dc654bac61b32af7f2223d4d9632e4728d9e6b22002520a7b5e479ce53d6d6c2e62240cf6482e69780a2de579ad6bb0890c5f1f60a2b75d4bd0266c74c966573181eefcd7c5e4648025f0ccdb0ad7b618e8a15d59634b42749819b721726074ecbf68a6f4a567b876d787d3169bb68de68d2700a4bf98535cc86ffc92717767f4dc6a67eecfa096ee32ce18df4ed8e21e2b7d9309d96851b84d5026b11e638dd00fe4923e5aa53d52a454d547b4b4d0a327f3a5ce8100ac44fd3a9da5d46a3e2b160831e407d90381a17a5d309bd578067094aa7276f6c0d61e217fa4037f2e913c6f7c545884b2c0240b7d80e9a7ce985b67fee2c7033d35d2e075a4785548ffe68ad65035417b9a04b4e2c79e1b609cc6de513db76057ab5e5d794ca3e6789dcf608a308fbc357df86d60065d67f4f09187318b948f080492fb36bd46176980cd1c8e3c53c77605b50709429350c2eee19a188447d29d9da9820cc070ad6424f8f9621da765622f1b1a61b1141787bb73ffae9a4413c68d61beaaeeb021da6d7219edf6bf76068d346beb5b6265df77bdc2c64e2c7d1a6ae21df7527060d406b326afc61f7ad9fcb686fddcfefb65007e5da2be916d535bac6da43b231d6aa9ad305973d5ed20d5cb44501aa6b1e7dfefba0083d7c63510b7d261e0d6b2cc2ba7a8a15425e89371d82970ac381483794ad1f33968f1042de38446277b492aa31390ee40592d69404032b994120b30efa7abbe49131923ab0f6c2114bf860d4e3d2238e08d1595464598072009ee65121c49c2d4a022603f8dd8d7f8d73faf8b015d521e91598f20188859b7341616e6888cba42c9fd4107c10e8c7c40547e9933ac6023b6e751bfc17e6b6ffeb7c64e0bab29646fa1d0b066a80f9f2e7035e9df70f5f6c8bd8bc0ab5738485a60aae6bc917a90ae0cc1d6b390e0b4c1c9a76166aaaa9c3280fd405bbee9023a2679ccb81070031161ff62166db8703d63d814792542482649d43ae38f744ff1b103f7d0bdd5191c3949f945b7e6c1920ea6c44a5798c0347ea477ded0a1a0b9b8d0e7993aa28acc8790e0d1feea8f0fb5f4836ddd004ddea643a882c8cc0aec4bec42a6b96f7f40f562568aedd88e0e503646f7e98fc62216aac5156cacccea379c8de2e7a4bfd75dfba377b53c1a9f388f918198ae2b6952f2843b0b59b1a0a5d80af300301921ce9f52109e2cd21c7d05fd716eecff94359755cca3c62a87a0e1356794da17841e92a00d4abb1f46775585ae95dbb920a52fd92dd6be5cf71360c771010c9a75c0c21ebbd2047e6fb3f178034acdce58241276ddbce3741594a8890b8f2ee27ec01e96c2688f69bfae5b72b61a2e277873811a8c782ecc87b52f4c1417cf966becc745f98e7e3461cc1e7601bea4848f12c67e65311359377186648710a5b53d4ee99685d62312119dcf840e4900c1f596744767cfcbd98a64c662e1009ba1bb3201f00626f3ff1846f59972f03d355c71db3daadb088f4fe63025f0f86d678c67375297874d737fa6534436843bca987adfc3dcf851742f12b1ca7374c2071c6d80e6187122d50adb58eb9bd14089369b1eef84ca224eed4d6cbda92fb80008b7e0a6b1fdb885b094ff1e57a075673d2954d848146ac4fdbb9971df717a7beb80d4bda1f5df858ca6ae7224c32f9df3f4f0da970599488476aa7a04bd9d97cba93bd3756a3923d8842dec256ba2e5d9c07fd0152dc87e2185ec672def7e8dd94933e7c29c075d3ccdaefecd1a0e9853e7ad729d21d6c8a51cb2db077c4f429140f98a1f45e5d512ded2ed0f31bcd8363a8f35457ee85d488b5a77a48e5c1223f5088ab51040094d52893f982358b1eb8f7ce57f8a66f5a01c3ec6475809497e967b10e591ac9a8de6ba7a7d99b8a1e630ef16233938073c508dfc8ee90ef842295ba1c2b777612a13a61fa773c2a0ad501613aed48c0f10f71dff94fb40918ea8f199dd6d4830af1394549738f5ea26b38cf6036eba92bd4d22d205fc505cc528ccdc9d742ef9fd8d5d1b0a7dacd3dede150fb90ba7703b54a1917254ec516c93571168c3e7a5c59a741be8f1bd31cd52ff08873b94b0d4b9c995710f8336f47c608d1ad03d1ee5771b8afcf9989f33092251ce70e90e609d851fffc9b4745916065944a190367c9684b625d54aa776b3b7c746f2ca0b69bb67ee6c3e242b9854d1519dc4d8980ba40e1081c2b5c495b50f94f2d3dcc7ce6caead5767c9b49eb2c56673edced8c1ce923074ebdc985c4514e041f8ead40c045b418b134ef5f0cfc764ec565b4994fbe49c358fab049ec660c3719e9101d5e086872033157de2af501c4aa2d39456168090ffd230ad1359d6ac64d5ec8826df39855d04a072415e16148d40e23a490081595631c6f8d794fca9c4eef85e1caf57c09fcc84b9316fc42d80ebd0b24b84404d72c2ee22ec7b72dbdb9b12c4e322482d4b90f1b5e9adf9b1064fb14555c3d82145f676b0605954a89185953aca7ee8fb0c6775842007b6c4579df675a51f1fa9e32f67a87959e0ad6eddea24bd27109973b36d0650a2873d317026929f87979d5a1f13fdec0834e68f66430a1de80b2bf000508f1dc9acc2210a3119856d6b6bc755f01dac3c3562884ab663e5749999acc43e6dd945cf242637ddfdb2eef16a7347eb852080050ce3d4b3a3d4ef63891a81a1def9975125e3b197de546f202eba88f500fd5f94cfa6a1a873b084dcd7e8f91bbf439e7acc3e01707a7ed149a71f05a686a32064495db5481e9ad70d0032653a19123346bf514c501271c2ceff34526d3219577373020cfaf1a96973e548c3546ccbee05504923dbb1d87786ef56317b187966a40d2fb0e27e927895de2d96433bd92d25e22cb08f92b81799f368a93b545235177fd00f1e21da56b0820edf70c43bc06b59615683afcf2132f99b20e53a695fab1e68c630fb5c592d08acdd56087a5c855fb6cc7538712973082598af8388302b6b330a1891a71a8d5b357bda4923a2957a042881330a7a2acf7ef77ba511911d1626f04337a91add5d98976373e9f1d192d1cc6cbf47d2ffe55bd0563794092c43f9c089564b030c7786743d83c3c2b608bd758a6a4242b551b3c59177f4687eccc518e58c7eca12d4ca6dfb97466a95509fb90eed0a7f63429fed79c8df8306c85de24e26030849ff3259c05fe16973be15d5a141082a0a63b7896077c6a28a7a3625bbf281020cd3e406a3cc768f8b215e01fb2b8f23d1fc1fe49f2ac0d5d6ead1151e9c420fd829bffd627cb42652985bb0b169b61aa42344fcf26d3fbeac46f4841b66d2175e8e9a8ce6ded86300a15e2a1b86cf348a630f138db651df0526d55bf74fa76a147f7f9b1ccf8b4f0472f9397fbdb0b6c4708a9d2453a314400457fe4d3e5a2b139e72dc0dcc57a8de4e864d92d2cf40b8277cbc954f8c1ee8610924c68a9752fefff5ac5f63f130cb4d5e2ada0ec3a66ed3dd7681d9cff9254e5363e97fdeebec6225f2337abdc38ca5049306987b7034862ca5f32c174b778925535cd3cc6e088dc431cc635020a8ea89e5c0a2853326f478276acdaf76391a6fbe4951d5e4f1f36cd348b406417eb87ba6a03ac3dab92be99a8d56fcdad8d8e6961095f28c3414614a0da15e178528372137805f010f1c7c2d2f7bc4279954a546b25ac339fffcf6a959ce4b350ee56ac035f3ee68f6b4b005a550458c60306230a8be0f5512a809425f66e387b121e754eebf57415d8d28baff7ef492bed472076b4a146148c34ffb5150141e7db15adbae1c6f9d14aecf6806672c02c73714b738ef3bec5954f4c2c50f9c116eaf2d8e5d47a40a6b1488952fe7941c9c0e5766cc81294101a44fb7cfb58c55733966d4a6e3ea09ab5b6991a7451bdad9a39547cabfb348cdcd2d8029dd1df8ee59558202a4b6cc53545e1a69507c8c74a2bb034c0ba591babd78a5bb3e90658ee68fea288ba49b36b5b90e4b4d1c751e33c161331ef4e6bf7389e531d3b1823b7891e5732b0565ced3f1db02dd3454dfd31a75574a98a90041764c8d10d547e5bf2a4697ba84dd9db78667112070c5af351b26b2c6f5eb3ceabb63c22befc0bdbe326d5c27d1e151229c986d203cba729246f5f130cf3f6b1d8a8b37a395573b1a9533611164c8949db03258911ec055623566427023be1bbf3ba646eeca2ca41561304df823b65f5878827926eea13843fb24cdf4b1c889dabfa554bb36a89f9547d7248d47edc18c31641b72c9cc69db27b412f11efd982e37676dfefdea296fe1282a9a006b704a89b2cfa5fbf659f77e1c1caa07b5cc58f0bd8e6a8137c9c2dd85121fb2146598340a8f7b37c5a3d25a6959f77790fd6cb7fc790900a91a12c6d7f9ae9f296cdc198d01592f391b50cbfec94f991df39305ce4e630ded4f59c8eb17dc7dcfad7878e11a2c971e52457d73a86daf76d10a8acf1b1771ef7e2aebbb5186a1bf17268548babf06b8a9945452f35ea415f5b27c9a49cb37c1e2a9b38e864031ce5be74ab9f6fbdb3eabd051479e344b64b58b371a00a3c62da5c0326b5a20d92a72dbb4e0f68c7b3a6d164609ee5d5d366e58aac7f96cae9fc31f98e9d425461f45a285bf24595de58d11aca32148ee80b1018782c43f81477db4a6d5c0828e33ac57864dce8a01b5213e172a17668659b0750d4ec26bb75a958775cb63b0b462ca54ee20a512772d462139aa163b60b3b8b54003b00bd0baff1ab6f15d43f112fc56fe5f4184d3ea5cbf6a9197bcf75cf69a6c435a1f421d9260e2de93701bfc6241bd7f1ebaef828ffa6d14e6cd7e287d162e241faa921604e22f960f5cf8e63c9a08c60c379c80134f8c2eda566d6122a10bb71c7c4132213b89d77e08c472e9f79d8f777e2017a4fd1f1ac92ef9421fc223c7cadc33b0edd626f9021311e91c3be2584a71697562b0e6f532501c16052e4f870cd65d28f89f83a231c03ebe68faf117e8261711321a158a1aa364a13cc03dbd52c9a098f012451dc48601832e7143d023d2ffd6a9b32af945f440a9e2d80ddd2c98b6b5da826e55223b2cd5b228f78665a10cefae90ac33c025794e4d8a0a42ebdbcb06b28df85e275e29223fea295b7689d83a8626ded9f26c41993123be6c5e3f6efd4a4dd7852b981877a7704d3be94615ac05108cff88ab25e845630f3bd9aff2b9556d7f7f2498d1e3c0b120adaf476045f85f5b899d76edf642e48681cf1cd0a6a2da2785cd698fda3d4c2e0d104bb56c82fd2a43270716b805ffc5dbe2755b6f616dd836f746ee96ba88a33df451ea95f66b49df66a189e2f3a70b0d6fcc50e7a04e7c387bd41f233c8a670a46039ef6bd4ce28700e5d63470d5953ad31fe7f9baf598abda5c61b088778a24b93df85c795159d3521feac71e559b4473f9f0a5a6ec2e851a2f1eb38597b8f45997c313cc209c5cb27f618b3e6cf0e0e30440d00f377a80590644cef0d3392eac49c148286f31299715eeda33b77ced8b07c155ff3cfcaf5c809fedf0c7618cf65ff4803b6167eeeba1f1d8eca4cf0fa790a0bb237adbf0b03d1df03d2383a45e50cd38da8f0795ba855c8a9900b4e0b970026f50af50b8cd9e89ea5d4143c806a3072d560d6bbf42c4c67664a99f782c625957cd75cbcdb342f37909c37ee486c207eb59ce82cef4657f6bbcd8acc2e88677ef882601592c6f87c67d0c7d07350c4c74373c6d468ee93541c4484183869735b0324724608fd558c03c0e550cb903279cf6da0061cac39e7182ac4f4500fcfee622905a5be663f90702f0add5b5ed6f63668dd150e5364523e1d52eb5dab6c0bbb35fd2de1ce13dca862f74d9170a2572fa14b19523cdb7719f2e909be85cd2c15a6d7cf5afa8a90d4b779790c08aee7b091a264293ad3a82b5fe949e15bd15df12a9c68a1a0887a401e43b24a0a4804f4bdfbeac16397b5b7a37767f8019678fc6d2ed2ee3d3b78c74b26c3b7a91ba88962f8943250f37cb0e1bbda2077590416b3d8297475b3c6df6b1d578ce320e5e685a654468e92b48dc18ff5884797b5d48d94da767d649301cdd865c1a48dc604ee3bf9ec01a55dabb038e3c2415a2ef4e5ec23aa00ec3729de24561cf3bf3c8bd6c8a4b67a68d6ecff1da3782146298facf10f7a8a95a490a35ea3396fb92f5517c6fb10d7056fcbe0e0e1da216c51fa1d2c65d34f45981be48df64b969ad8e08a5d6d3b3f325aea02b5a57f90ef3d06892b09be1957e3ff9195349c9e0a94c22b440cf059a6fb762d6cc1b8ac120856727af4071a250b01a6ef2fe35e8c0d1ffbef679098b93b600f2d51e38f1848f86c65017b25af86c2eb36612b951518feef7fc7444d2bdeb43f1aff7334be7a9c592dee5d3b4fd28827f98a401fbf5dbb2d32c7e4949342902b5b17d197efd31c9444b258186d9686c6fcd4da951b255dc406f083cb460e240d1be4fdc1cb82d1faf9c8d2d59f4a31bfecb94ef2b4308fcba0e050f6685381c2d6a71c41893c13e793a4d8e6b1f97223ed6610989ffbc678d9e155d18051721b6f8c2ca1eeb2b1b52d58c109546c3f92b153319fe8b0c5c1f1955467a362dc9ffdc55fbef29efc52d0656b91cc361ad0528135b209beaba68f47b5f8006f0ec486e5446c8c6dbec7d0027230ea162b800bc81f8fa24871348888476b6d642953914cda4f6948421c28d136a475629d585dbec186e648ea4485b83d569dc979abf4f4e6f8c22abfd6bfdac2cede00962eb92608211c6f0c3ebd562830e37a327270dae5117cb1875796d4686c0fd360d3dea622199ce391187e0615f0cd2539fe2df4d5710e17938b97f52ebf440d594bd0d38d186954e5c98e2b18c6514f2cec990c30a8f7cbe467f5155604bd48be9e19638b3d266fc1ba3cda326a9a3fba011876ada84d73885b534f5eba64811e4a803031b967f3a0edae195a6766ff1c787673948ccedd95b1e59c96419ecc4001f619b91ffb7d75c4f686dfd367b8363874cba27bdb996b9cb609d24b9d90136d68c055fe9be28584c3e1da779fb5f60b62e5e98ce19d659d9a5bd78d038849b64adde2752749d29f8a631169fe606453fddc4fb1c4edd1164d44d1943a9c5b0ee09192f18d845503e2af3368ca542e02ef72d31a2a72e18633c5714e3ce52022a15338721f9cac77be276c21a870e38e25c2353a629450f619fa2cc57690106f5f588aea8a0d061253dc43599df84d744a43074c9305ae12b7ec676899da772577da2cf005b2f8162ed9aae9464e741ab5eafb7a104303066c94f29f002106b6d6f30bc8ceab388f4bd71aa5c8888e3a2f7df2fd3c39ed99b581eff9b298be0931c46548bd5da936913593ff94208e17a8125b425b0e650868cf6d91cddadb249e84644177a211447d0bda529c0fab82fa946144b04d97b2dd85ea2ee4df47a85f9484d23ca65e5733eec27befdf28467caa9cd513239ca205f5f4dd9f1930b7d4338e58706f94605e033dd2044960e1f425fd1f5e4b4c260655e01e7ef5d539ca0f0175629ba6690e7a30deb26539b26e7ba3a2ba61b8d549f4cbe28446c8404de7481c834cd8d6ae5651c98ef03b056445514c1549e3c6ed16ab21593327069a526523bb9f446c69e01c4be2cb4ce7005ceba9a18d098fea9746b9bda72253c0d804975da15b810c8284c0c43a1f33abab641ae06137d08479965eb322d35f0dbc965c5222027cc4ce474149de855815616c5c13a1c49e4ce83a504753bfa87b334f82b21dc9a1e39a3908d187dcf49a4c2db2b5fffd6494dcc63fd4bb5a2cb32b4ec837503a46cc38ec512d0157bd1bf32052afd25744f3c92f614730e01e6036c9975289e89229e5c95c96d552a48377ae6af1dc0c4a6a304eda6317b6c9a149239901e3d01008e1cc7fd37501381fb49ce313c83940c5e6073466fb1c849051f0caec8c0143395a5dca42e89ac61d9c990c095463261b80ea8b66eafe1c96f736dfd16b4dc575217e7576873616786e6d8f959c267731da2e583003eeed3b38cf0a454e05c7b657b8ee29a0354715f612662cae98757c3847fb50d5aa7e8c3596ef27e6748bacc8d3335700961ea3150829620035ba682b36e01bc003fc324252710e0cb7f377f6d1819ebc6d759376ad5fc6b5233635d53a3a29d73db2e7a614fb5ded8f493bae818fc763f689a9a6298b0124e9efc7bb319ee9ec0b8881813cdeaf5809e97a87c9c482d6488930bb7925a6b79250629676963771faf029e7b8250d03218a554583ebea0e9ab05d028ed3e69896ae95f20fb15e1b1d60cca486d989721f6c2f8861f7148e42982e2c2704ee882e07392d37fde3729f6ff9acf40a7c9eb5c1295852efd5c7ccf3419416952a1e92531a553ffd6a4cc100267ae4cf2a3c0634f262b9e1bd6ab65c69dedb896cfe234ebc81393d34f2e1822f5e1396b3048447cbcd01d6eb8cda0fc4de82ab380aad61a157e92d677e0631710838c3c9a66c9e9b847618ac68a803591debf3ff189ba28abdaf8e28c10f2e4d970d0b0122372fb8ba95ff75480be85e4cc1f45c95bd14c2d10d34b19bc2044640027bad04a0aebd0ffc7b7c6e4420eaedde507f74f755d1b4d71017427fc3bc7f3d2b426f5975eb9b9e481d1366953d56996d250a67b5661c8457a7443b4edcaccbc52320df62e682433db3b6d93954edf736abe1b613365fe9a927f5ada2cff7c3798dd61b58ec028acdd3351723e6a817e6e688e81ff27732b5068b906d3d642d1879fb2e9a34e7d513726b84e1b4c25df797647dcc1afa9720ddd9ee46ae59a9c7156e425ca81a4c7b25ceb8ff1fc96b1dea162a9fc7b65967c0eaa87106fbbd531786d022821fcc60b59d957f9fde98ce60ef1e9e79cadda71b9a55e43c2828314204df51f943acd92f5e09242560fd3ab99a97b367ffb6e6d420c7981ef43be8dbd12069dc9605653547b966194e69647ce2bf09daf3f0183c806b77633c5fec5c37686f4ca33576cc85b712396adf03e165a58f4b26d6c81f5bc54d3c5252f75bb553a363e8ab4bbb9ecee5f40537cde90d0fa71e18202d29be3f5bba90cba78eb5ca319a00246c806f7edd5e491d6a3120267def6398c13fcd26400a9ece24e907123e6475631cc4a13cee70cb3814b10fa9c48c4499342e90cb51853a9be669b7d1ad547cf1abaf1f721c72d55d975044757b8ae0172feec53db2ab14d3e7bba0d854f719a52e2f8cddea051d91e872a9d9eb78c21c37ac769ebbfa83aec30b6723100032ab9b11d2f7bec318b1943065529cd33380e0cb10e1388338f6b13e3ee1628069d5a272af2f8c76a1a073f38833c1c1c5c36de33b792a6e5212330be8815b8d510b9d80e583c5954f305e05f8daf32dfc315e38dcb405a94775e12618945d49e1254c112b442499fd47ae8d18c91675711d5ce77ea21425f681e5d28abbcdb61a939d9c6edf294998e14b1c860a9ce572103baeff323b5d9b745fd98a9612198eabb6d4a5626497a40cf42f51bc795ae8cd0b61ffef199a3c905b3490729046d0814cea08ca1f3e7c7047c720ca080c3d2518a15cc24214364feb6d6c9d627d15adea6505e8235bc2fab970a3bfcacb2acfacb9bffa1b4f33350ae3a1430ed34dd58fa33158527d577b452788333e0b985288750018a6186de0c70372c2fab61fafa6af840f0002ee55e1c769dda919d9d1968c1b20368833f4b8fac3abb5e18e26780b78bb1809062073222a87fa256bf82737d6c9c0edbd817262e44ad337d9d561bc4100d966a7812f7bbdcbfc5dffc7fa6dd9c36319d4e52380ad82a5ac7bd652a4a0e4bc638f5bfdc7929395c0a733cf1d08e64266a8853d8384f5573f1be9ddc166116ca53d9f56c57f19e138f056cb129af39eb6e99c67a982f52062053489a92fe4e31fd2097a69443790a867feab0b296384b00a24fffc9251640830aaa588203a208b31a0800c94e98cc516d6edb88c46f3c229e6e4c182e124402f47934df6ad6be68747e71a8d66d0526c8104206f82dd8d183ee4fdf83687bafc4302a8e81c8a7b7604300c78ed4ddacd4f9d6ced37bb14d5d61081a0bdd5c2be0700236a052553191b6761d3af2478fec5d2efa934b59cb7ca2cda463b882dd0060af92f948dd89f52b1d8b4811d07b8baa1729e7a84115c58c06d5d204c6533a23aa99d663904ba48d9abb36f436b70e8ba8e1dcb530e76c266e649ed21e6cc44b3b4a0cd7b9297078a365d772253717921b9756bbbb41b1fc56e59dd62c35e3d67f656bf8c9bfd98297f73996a927f621c074c440adaa0b7dc052411eeab3c049a1aea53ac1d91554086072e37d7196c58a5bb5b97bc00917a0aa2a7031a71cdab931af0dd98ce1e15367dfc3b0d0d3aa8923d0f48a776e37c778c1daca0d4b96c0cea8fc15afe5f0605c70042c5e015e55e6a2a31c1ca62729daadb6b6288b8b5a35410927d0f8f46b3416b8900926bc1c01e8554598923ff08a5e282724d8e680447fcb10d17fdf1b40d84462080597b0a12d5acfab86755239aaf373db65e6926829e7c72673e1f2a4b06392637ca2e55cad3ee6df972429c576951d292e8f4334936d55a2fe9e4906d43128ddff47b897e61ba3913096a6f8031affc29d23662ba4fd162364a9a833a563a628b59aa41b9b9d861812018d7021946e568d107bdec08a899359e7f6e99bad295de0b21a2002dba55a2cfd9c47b5e6e52c0f62ebeb72701d55c5656fa2484dff4713cdf4686b9a6c63435c8982b9e5e414197e4d777212e1ab1f14cc1af1dc6149f80c4956f6f3fcb7efd5c98572c09736f859d05988bb563614b6e078636a18139757041ea48d2bc64f450c99565abb94725b8b76d8a6cdca1703e8c6e7535eef451afd7862489ca4bfcfaeaea953f4263820263279c5022ffe974ce11e88a058d54ca565e3db3514878c0c0e821c9f72e37ed995af027078860d3164b7be14f9764d79d67ffd28c245bc32acbf570e293eaeeab1e0b395a8bc4e11ff09e3867b6cb44d4dc3f612ebaf7b8f8a387bc6d05c50347a7f2bd92aa5acccb464685b6ce225f25883f171e5b9c84c85bbba19ed992c0c2707bbf515c2d05363c9eb2dfcce2b0a32972dc1df422c5b0d787473e31d93236051355a45e5eb53c329630dda45e9e301c81fbcfd28df771d29dc80218399aafe91c8cd121bf8463c78e0322dfc72a58613047b5f4dc5610ae8a51124fe5088b32c7e0a1db7a2acec5d172b9f3efb8f6c7b632e3bf1de8caaa1b1609a8605e9967487f872a5101c1eb2d5a1f5849e06c8e595d1b8472861ea97c4b12be42f81f67f1bbc2e08f2c012b72215b63eff70c1faf49b02b886978f8ceed2ede00681e99180cea891510d1af1215f03c0ff40080cb06f2c1e1e87cce28dbeec520f2c67358b1c86dda2103fedcadf337331acd1b955fb604edf723349718179fc255a95b5e9a46073f2df10c6d488092551c3f232ab4d25bc79c8567eb9bdcb203446bf3fbd512688fa5ff0612ead297dc1aecefde75d7c47735b755797b98afab1b8b38c41b316d52fc902ca432a70e3adc9adca3722fa1fa83ffc236e1c4190d86e2806205a30c4bd67a958e7ec24e2e2c8f44d88e15d6a413566c2313b450d7c73017f5d0e3d40bde97e7702fb58a6cf6ce09a613fe8586ea59eef4a0c9a5f64e79f743bcbf66f37a0d544afe85882e83e2673aae20b73058c166d62b68811ca765968b8bea216915d8ee2ebce1808dd8ef4323e258e68400fb66ef5479723e731c9dd1ee05dc36aff965582e68429077500426aafa402d9a0925c8d4db2b25cd75bd429de817d804439f16e7b07c775fbca82eeabea2cb6af8e77c50dc6a80003a4b5d8540973de68d249f5252a8f7d721aa542a8f0920874886c37fef989a23c1dfad701f3190427cfdda3049bb0ed0a4ca4fe276cdf11b574bcd430c3acefc4c169cf5cf5ca731c09e7416ada6c9b1b0545d7ffac5d1fbae01dccdb09c816432a29a7ded738be045ec9d01b712ef08e3b212c4a371cb7db134b07248ef241cdfea957835bd09eab2e7f2168091d04eafa93ff9b19bbc032998a65d4d6b91bab5a948db899ae1fe1d92d9901f5839126f1bc86e4a080934bff404376442de273f37c3aa0da9e845eb28c10eadc253ab0175faec737862545976b16becab3aafdf42bfe98a8a6c2ec67b462437cb2332ec2406f3c9718051fc118d45c6b0e496f9d5b51874d4b29d1a0afd6d8ceb5f818006515047217fb9b4b6ff8e18739abd4b7a5c1c976a2b24862534b6b723b2673f573f64750d29b4771315f1cf0c11b82c026596eab6fbe327c5934ed561560e2077ca6e5096f92d98ac3951c8b0eb35a4ab2a70e78a6bd102c0ebaf648cb66e541017714164a84335be6835b0622d7a40a8cd4432f56e5ca95667578082cbbff8835cc519304109ace9c8b62f8e17b2cf12afe206fc723799b71668ac7c9720fe8e385db22dad386b41a58de0f71f692965ecac4256e7a01c3024bac1d138ac30e64bc13093944134dfc98bb3a311cca24532ba5366f270a9a47436f41b2e1d1719f0dfa0bbe22e959ca7afa5537388c878aff1143386583f2bce6fc55389d4d91cb80dfef8d4ad04095f77e0cb5f7c1e52f4572c7dd0781f0de568d1a8eaebc27124575dc40535494ff910e1ddf0272482f4277b4d116d548efbc56d466bce615aed2338b620f4cba41570b9566291597efd0a068d7c875138ff8cf9bf880cdff8d6b9790811b458c540da47feb0784d028137a3d2a6254010efb2f1bf33d145908a43122311c5a7779a74924f7f18d595782c21c16101a721ff765df93fc7072d92aaa8d7f720387584c6042ee0c9c3990b25d13e0ef32508435da0cfff031b3c2a8f1e0ed499d5cca26caae6ed1897c55e817e397d472826f64a1c83f2c075e23ee356106a1b084f01c1a185d5e4c75ff57a7a82ba00c16e2cc608de65e3a491e6faf91d67464d446233b1a47ac80c9cc7c5b7e73ec0d6c5170d39337660f2183e67cf8fd12aeed079d1130b58c92d815baee1caf3cbb1907331dc040fdd4c2b75bd99fc9e0e7ee2d3c17652dd65a4167261f8ea533bffc811a25b19d7e397abcf442c8547313e50c617ff937dd3863c156d24a52c98d98c7bf7fdfa66efcf8c66f644cd861e385602bebe03785fd4aa2775fa0d07388b3bc670d6e85da090a004c9c21beefaaee172c827482ee473319d7a3413a8fae12325e953bb9c35dadb0a4d897a8143b28d3ef4c0ce4940abe8815c858c6a7ef03d2423ef75a5e69bf48a78b2c0432a31f1dd25d83436c1d225c445dfc84703d31eb8ae3d39a6d473ffbda7a827bb254267fc0dbd28488f48903d2951e0be847671ff2405ea51aaaf585ef7584c2872a0a051cbb04aff19a624d392cdc2ff7acf63066ded422970e31e61fc6ac3f88868584018854f8dd855fc1c8af01f55de394d519915ff27b6815c23715acd9858445e3ff16dbb96f5358b03fbc2fdfe673e23b997c0e97f4045ab93733229da76e7d39c5dd5ee218b71c3b4e243563adbac341c6f052ad1d9b9c1ce5f2b1b01d2dca0ab80c6387ab71e8dab0a563ea33f33ad6d6b88af550edd4aeb178245c700bf21fe6de80333e9375b13ae1f309fc254a13f30b4f3a08ed1362c937f965212f68ab1b7726f8e7a7b1420ac3914c1eb4b31673a1e18fc3def64cf6d1cd7e9807957e5bcdc1e026a6e7f248ee6b61be02e85c49cdcbd2c64cc72205c37257a945019dda90bf302e9700ed9dd31d694519996ea6e4fa20b75fbe50729a337dd07cad125a8f3c327f0cfd998db7e24c4baf7951e48f7ea3231693bf616a85865a2239c81033d8fc833534922da58988e6f1e5b6b7924e41c880e74f3d38b9327ed37b8f4cca319b3adc1a05a743d26f48b065b047862e4cb6db7e7814ddee264b9bd7ff692c2e28f75ef2c22c74a7f56009aee43079a9e1b1163edd1d78f9e6fe190f9c56cff0583dc4af3b70fbcafdea18d3b18fb674ef202769d51577ba64ed8195660fe332c527439f8ab26a087cfdd4dbcfa879fd00f1e1a7fdde2c8280e6fcdbef98e834dfc706e8cdf0380c5d1caa49e4138787953dc4578ccae0867facd6d6c7a846a26fdd74c4dcea5e9a2a36ad1753ccd1fb0d99eddfb868b9d7400c54376bcc2a28564dd9ac02ae7f2eb3bb026827f63e199989aef8d804103394a0621f3a2dc71407a7bc2a76548f766dcdc1322c086ee8f3a778bb2407b26810b2e0f6f271cc324fdc2ace106c0958b0ef7503e25e20fcc8997cb239dc43836af5ce3477489c8f0bc206ad371726c34c19d060f190b92ea9911d2129d7d94e3d79a5fdae0b1c23094519d66e993d48d05ae04499186567f45c888de66ea389625c6742999eee989da64c62a8095aeb581fb0c35c6662805050c350758d741a259ab7ef93dc0bf19882eabc68934216b67421d3a2a813ed95bdaba59a3614948c690eba20b293cab638b385826ecdea82a4e6fad9c2e770ab5ce0e79e04e3c3bb49af4822caf3cad2b55b2fea7c09f5e604cf6abb1dada9fc25342692d46bedb6bb4080c3f5c81e403061a141c67f71f1a788ce6907f999da446ede2039c6d71fa2df5f1cccb79f078aa85658f7251bad3a4c4f9dd76becf99f9a7b40baaf87292d8c875e619a536bc597064ff1be9fcf0a6f2028f6b74fb21255c60ea1acbd2d6e4398713569b5a1ded5af4ecf6152252f5f6cb530495dfb8a3c5903a7527fc7a3d66f916359f0a2c0769e253a4102d222c2179a2fbd2b5f7914c48775e77126e3f7b03c88949b87af43858cea35697a2f49ac101d75fdb2bec1c7d9d19d3904cf83be2a72987c1b6a6cd72685f1027e953cc049e73782faed92889b0a1922d8043a5d0abd05aca7feec7b9a081d50b190256ee0acc804bcc46d590e170e9aece2d0aef3a3428d71031df216dae0c90a60f524945b7d5d5c1497fe7c225cff2ed88e5066afba59775f194bc88ed3f11dbcca331beeb7c538f56a50cf02ce7527f161b80bc80fc23ad33b9d29bfd953323b95a47d9c8b33ed0ace7f1a503553303129a94df00abef76e3cdc1a9e180a7aeea07fa0d01e6d5d1a99f9b6f1377215162651de7172893a16484cc51cf0036f3cb7b8cdb250129a2f72b06a68bdabf8a067396036beb8ed66165bdbbe49338b0744f940e5a73e3c94d06d6d563862e3202ce7a72c407f32dc953051072a6d83f5141cd68fea8cd8a3e84335ca1f636ee5e7d65f288fc52937503a81e5e5614288d796b36d4d55fd6b4f51f91e1232fb797fc93afcae60879770c5fc402db50f0eb683471780e83b1ca8a8383b6f6d32192b15e7281633860f9a2a5d3a0cdf9415c358234e2065a65836a750ac528f3abcf4ed0e1fa99a7a841554dcc908b479e76c1cc5b971fbe76f09de6195ad900e82bc69aa35bacb644ebc003589d2270ac8ff82b13799e503663c6d15e16527bd5a4dbd3c687f25f7f570e2e0dc1cd4bc6155b4294a6e6c28c491890764942930fbb4162a5815bbe83125c2a228f88cb667c09020178660db433c24fd786b76a1de9fc62ebaab590d02441f3cceb86d82428cd227f08a3bf96f2598d7b386f2116a54a58020809d5d5f420d7d76dcf19620fd72060c53df4e4dfbe7b079671c554a39041f4808c50540f0dc4c2e779c6235159fd6b0ea512f595f4aa78989328492cce105ef83ac4297f3df2e394dedf26ed9650d2eab011118982524766cd4d3de62de1528ead85492c3d0af6e0d041f602bd599d614665ed7ed236bdb63f5974a966fb01836f2fef56120a9425ea7f103a740b5179306d00c3d2832827900ff891956326b9101341ca1f4ebe9e282d4778d69abe42da81b62563ff5af4134d61e19618c290c994f5461bb48d0b7d654d69031a2a58c02c6b6a04022e78c38bdd0011e803ad68ddf182f56b30582e665424e40a64d17f873a70c0b107440cd73a8945b53aa79c44241bbfaa5d7b6e62ed9132267d0431abcd00fbc663b22d591fd5a5db8b4c541355499d79609bcf213aa3389f9c6863569d5ae5e3274816abc8f2cbccc17202d2db489b051c1f70d27a8bfa360e07c5c502aeb29994dacacc3ea45289d8cf3d44871532a1b19e7bf6dbb65263b528ee843a3f4cceec190f88d9f2966d23836ac0dcf9dd973999073045ddded7740f0721fa7ad995c18bf80c11c299e78db4b19166a269a624f521d16c2d14c9452c147696ac3f2a13e692d4fc9649b79457ea83c30b723090e63cb2c423aef1b0e24f4084932d340f660c65901303a775d70f04172b6d5da050e86f1bd62c2461a1fd9e40b753538282d4030a30f7aa915631ffde499fcd72d58fd3ec96cbda5b206a298e3dab35f49f0e7d1e2ef4d8a8d9c2b5be292b1e56ec7d93d628d8a753f25a0947179875ff1705ec0b3605234952f8347bdf4eb2ceae213ad495144bd4643299c534d5163d8b418678c5e3fc3e18dc9bb922858a0763f32cdc15c4b34e15c3212445913a372263cf9a6cf847e44278429347030eb666e033da32f0017bc9965f55d1a3562fccc2505d14ed3cd0aed431a0376dbc299f6b1ff9a8126cd23dc6c31be9f5b00cf2435eb8990f6758f3b25da3d4b6360be42888d6baf0e619dbbdd701954130e6d040b15b2a1fb0751f113e96969dc25afae51ca0051e5520a64510c8e9af9684305fe101b03952de72b53f69600511f1aab01c7ce1cab6ed6cd8e7244148fac28622f1b583af8d6a25b55f6faaf1384171045be721481f3168052e1fc32b599619785b94e711dc55bbcf4b8b3c83c9ce2d7e5911ef4169f5c9d933a43b9055f6db855cc31a4a4ef271a956b484df3292acee2e18aaeb610170c4a99bb5e9e93c34bd120282f15000a329186bc1bef1d506439e73d20b94af4798169d792a2b57cc12a825a6ffb1737e9b71a7f1d7c075a09e3cdb574afc449674d6df53d10196f46ca9c34c31ea3b0f814ed94d8aa64f88e81e140afdc48f4777ec9defa2a3501a6c027b6d281369839b9ad1df2c7ac9ed00858e390193c07d410cb96f2b5f4d5306f7de3aecab0ad237abb2318fd38ba501cc0f167a7f7ff2e84beba98b19f8837fadb3c5985f0ed7ef9cf29671d9e0fe38e71464745f6fb96539f29cdf009f4ed7956eebc9bef6406d1d598d20cca97f899332c00c727e535a1002de8f054ca231898a099ad3c026c8b87c4409032a85af71f28ef4a66f5c9a389360bad3d2a0290c5c0c82943ac42583d3c7d340d5bac8933bdb2a44425aac70300437be09dbf34ed479f655e7a87c14f5ec2bf9d97806e63e3af1d416a51761a67d08154bb6271602be54891420312df965ddd865892148be88ff8000fe31a5936a88c1c9b258828a0d51e107088a0b33a1fe5909304d47356b6ea3dc00e3f16b75355c478c3d5d997b76d24294aee143262c55ffb872009ff1a6bee9d0965294a7e29cc5cf04b9651e7dd37231508b1fa2df96fd210c5668a3abb13acbaff13134c657a920af94113314ea7f81f8fbcf905e39fb856b789a8d40ea643b5135070923a5fc09618a436b13eae53393c37108f081affcbfad6a54c0883f990eecf9c53ecb894d7664f5a21c5ecb24bc09e28599fc45d6fc112ea52bb3fc3ff24546ff206a594d165c7a4cb7800011a537adb3cd05ec8834043e16e3eb1fc1db214f864221d55fd5c9018989e445c0fccce585b09ac139e53fc1ee1f55fad8cacde2e34e1a0d229c24cbb0d9ff232a179c67525c5dc80d50cb5596a20029a01f28845ecd55251cd873ed341de22278718be24335aafce5c918b5e477ba68b76a8e351427c34a6b61364cd1dbe2cd6b1f6fa01f4e3124aeee19c462e30d1bea1ded7bc24530b16a2387c390b61535d66680d15eaf9045aaa63dce13c7d467c08db16bfbf0ac8c017c49b286394bbc9ce7036697dcaf4bfed670a1bdeb93dccd7f7e6dfc21e8052eaa727203b3ce5f2f3501826b9f1ec9c2348bc869028c18305eafa6c186384a1d6c6bfcf76422f46a5d4cd266cbcaeae3e0481d87bf35d35b21a7153cb819a81d11bf0ed9e9a312e779586558896da784d1c858f52ff941dff9902ca059823beb46424c43825a19205b9d94b62324d5d5b5d7fff6f51b59cf9b48a09f116538bc5c25444bec89a9a5b41414af58a7ce2b0216adde08348839d91708eb58816123fccbd7096e8cdb99e464f312ed8c4d6bb420bf4c52dce1ff11b2da28e117e47c3079261544ea16a5f5518e791b4f60ffb158f33234921518c7d1f606baf61c820740b944e50a6916a2d1d79851ef64ff011c3b5944221c53ee7cab4833a27e4fb73b8e1e915ec42d599f204c931e09128512151eb4ee9a0e21673549c3483f795646bfdd54810e102c2d4005fb81bdb59506f93de1c85d459f6455f50bc7d44b6e23b33071a468661f92af05be681668cb7b13ce61283c20d3721da32413ba1ee9c66a7554fb1dfde9db15c59d9f5937fc74e878f77f9a0b65a29cb4207d71eb313023b676f52dff0748fb6ea5fdee6dc19a3b27370b4a84c6049b56d12d06a3f5049f36c24df48405bf9db98519bb4762bdb9f75e6865a667c747422dfaafea8f7fd0984b7506f99c78053685a92434488610c8166d8a35cd7aaf5bce416c39729e8c1014560a86a3aa142bb1b7dce59bbc2431ff4ec1d4a4d7e5ff5b9b5ac6364ded173b128e3bc28e9bf97a58506d687b9e712cac48e21bd461667d44892c9948a2cc33eac4008ff2c5e5d908f2e5b7255987b2bc429bc1972930b288823aff488d32889e64454906fb32a556c5aabb0fe19fc34e71e8e58c8fd1eec497c0da3e7ec79cc058712256debdc2edd5efa9b1306c016c2c7cad909d9bfee7bcc5a2f96c4c9aece9f7583708677f0a6051334eb7e3ec49504fa71d85b4874d1bff2ccf7325cb49f2c3dd2b5c25c379b2d76b4ef9cf2f032cee153260f73cc0050189af013b517888c143fb7e6a6602cf64c18f75c5b3a545a2413c17169cbe66805a8dd1fc51bf123f4ae12a07039d6d6f50207d94449d90e49eac956dad12dad9b073c693bddbe8a63897ead28ca9070fe7f59a3ff31d129fee9db67c115ed581e68f91e25c42513d33a94d7db6dd433a858d7ad65f49028cd285f880dcf58bfa25706a3f911bd2e56c99307a20168884563aa1d255a4f153c1f44e2ed424a67de54a2e72fd887bca8706d922f0f7d61cd2f05c33b637cf79d858a0a10501672c36688e84ee0f7d58a9ed95981dbc9d52cc9c374d15f832885bad2d142f5355ce75e77f298754b070e25622431c9eb6e67a409dd44d086ac636fbcf80387e979b9dd6c34eca4d0116c92af7fd9696f802757127f9bbeb84ee63e0af9ee7d7ed0195e545ecbbe1a54cea3dabbc138a2c271b96b408089c44d843e538fb3509416373f05740e2392296a33c651b8768593d966a6a24fc23814f6e7fd917cd3b93978fb88de6b5fa16ae17f3d43c2636931d07f657a850e7771eb8e3051cbf2217b5d9129d8f2d6ad0a536e7b1a938b9db26b64aa1698d53ef76bc52988b167bddbed24451dde5e3e0b4e25ceec98725910ef984bc5a1f456a979fe96c56667924706475bc901d7b385f6b9e3d79a9f8e71e518fef404031ab3ef0d31e4721a0f69d9a59cec0ec7a3d7c8e56dfd36af4fd11dd57864377f93c95fc71281108b45e9025f9083995a57a8c1d15b8916e0e6e404dcd43c4baf7caaea667c6f6e4535b9bfbe2bec2e6a4e2dc266c472ea94729214f4dc831350c304c696ff1330a2f8a59f68fbb8051fb6022049f0bfc74e7e0adb16cbf87430e2837c80333a1db8c69e3ec98a5bc9d85e4c54aecea401a9ca05526057e418bfa9c57eb2f0970fb8cb7eeaad8f3a9686226c100e2eb09b92c9167d656a6e22cbd4e6e51cc545ebc12928b9a7ddd5f4575f9280ea72524351d8ac5b46c8445faf783ce5199d900275ca6789d8b67189c70839e41ec662333aab4aafddf4c1bd91f070ae5641f1a6f34f20c8fbbcf815c131618d8204d3e5ea9244dd73c2b2465deceff70dd85b4f71072e35b0bca83cbf3c4c49bd5941809ded03181812dbe71651f53e4beb6bd93d53ba4a9db5231d4374f739c3c00e3b282a62837332fd3ba182d3e8953807782fe169f08cf765086e67c12a38cb30ed1c115059993630988bcc2971dd320447a0c837e8374bb8ad54525f161c000c938d38edf55149160a7227347a5fa8bd217089d353b6bf139223147879496ec1dfb27b3d2845fe1fb46ad3b69a739dd2012fa8f05572d96881c4e53f2aab7e7dbc7165029f605a2d982c7c567a7e8bff260c8b4197d4252393f11a59bc125d6ff36ba7aae6ff533b7ff138f3b81460826464a608dbc9b6e7986a9c53ef2960d57d34a5ba95731255cd44b89d36b71ac63b93c68f791291911084592b05b5fa60dd9891f6b671766e9c9368a63ad082bfb912d4f35a63d124a39a9c48af2223860b67bf48c34991c926380764046bb842184a81f408205f31c4ef894bb956926eb6b7f0ff4f68f12ee49c37c7984cb9dbcc230513afea1cdf9af0348dfacd5658e52e94cd04bc63976819ff4cc5928b6e51d946e8ac113d677058afe99b4ed29341a4129ed83039d2746537db0f786c9f74c8580a96140e033f6a6cf3f09b2355208f2a7407217b4da9744861cf6de59c36830fa3cc19bc13f5e678c0f549228d98f001ddb1efb84de34dc6890cacb96d18beda82486639f9b1a26d5901d6c50c252d8b236e4627e9a36d418170a46f5ca6a66d6f62634906ad2ce73977a9196e28144011c63166f14088b13e44a345fce697f01bdf6cf2f025a4cd4cb4f142c5fa546d84c14f259eb6a41b3a9ef113ca795a9878347031b79a579994f6194fae3cba8f6f77dae2958fa1cf705991b1d1efcdd636b00c112dee20d87184e18e3a69a9361d2bc2b603e5ece562d9e6293f8648d8df6ac9df80daed1129108590c6868c3bca5bdf1e7919032c888ed3464ab3330e032bcfa54240dc365203dab949bb8628a1a3cc54a69efb83dec1229f6b05e8b712bb42da1891fbc36e7dcf6a89196f6104f5152fc6961d2ae3109df643fe12c3658470f35a60f7c63fd27b7e892f93ec02d84685ee549558f7cc9fb8d62bce1dd09637aeb9ae98ac7c3cef222bce1ba8fccfbc80e133297361b803983f6aa365d7f5eb650ae26ae26d50a20349688e32d71b32a872f15ea885512583a72aa05d394e7836bdf952f7fa640fc6910f2f152dfb46d60efc42f4c04c00ef8b41f33a0882196bf329e8dcd53644028f7a71b49ca8266aadb146d7035207a1375d4eac90810ce769ae72359484fd6c34973591ac190c8305b8e2412594c8d7b901188043eabb10d358924ed5ef2141fd02a4325d6c1cfe99de7893ce9ebdb6757cb0a9c89bc09bef96c3898eac177b84999ab5cbcf2eda323281489901092dcc5250581d26227c901f4606b621f32137e800a1ab95ce4377bfa8d2c5b83f1af34177ae8226d649b558c1895982eff4e965564224f20185583df6fa6bda127b58aeddbf75068bd086d7abea78aaea81312f6c8117c7ae295858b8e3ff1a0a1f1bf833108b4d452c6a155ea7ba5c2621a8c4b5d3cb7f7651ea2b4ae478aec35c7d477c9e7791445d832bd38c7c79556f079f8214f049e90abc7bdb1711788c40e9177a9d9409ab2680528e839c0494ddab8bbad36defa6abae0db9bcc485a8c7d58f2fbdd62c5ab41d6d5277474ee47704739077f81ecd5090851812a87790f321cad8dae2597d3adcbaa6fa28a02cf8102eb2ddd59b51d481dc8c266364c55701dd627a2085aeafb51f53ba591e91cfb4589e1ab3ec449b95934bde8599783dd46af613cd7b4b008443e60ad6a06188c6896a29424e7b8cd8b0eca05a7c224afad21c68fd77dc2a27540165783b449b84c81fd2a48a265266a3f29f0b16912e8f43f2d21588caf89a501ef8c66a98833ebfe445e8c1d32380ff7e56744a14fc5d76e28669f32e300082d7b71157c0ff1a98e0696e34222590acaf3544701194c9baf56a0aebaee3fd175e3867c37bc5a9775a51a8c6a21e17eefb03e4c1883c085be8f411e61664a50105b410c45c49d704945db92cf259b0605222c3482e6fb907ad98fa118ab07a7951ed48fc7a107da37f758308c42afc1391ba4c305154556ecb435ee272bb73040220bb50c109ee477f1e932d18a4689760795f21e65ac0ccd8d2057f0d27e427e221bdb6db7530889d437fda69d4ef0ce7a4a99456d705873332b512ea6b139c3a6b4c71f7b6e48587d8381c520e6ca89c9a66716900fde5202d08d706c671acaaa8c0fe37d9169ff59e77e3dc32b83322e4a105758bd4b65e666ccf1b888c4278c7e9544f0e51a3c917887b88766df77d339123d319ade848657fea04a8fd3c8727e02f0142c4364c1d21b905073ca60b4d5261d297bdec87d59eedf30c337696b5600af32100be2fa4739837f09fefe57e52e410d98143931beefd8a758583fcde9c28b7360f4b2cadd2e31c373c55907355c53d6327e831137f3e2f547d7aa72dbee10dfce010322923058e20c93cb0c6b65428a6891e05453aedd13601bb1ea7b84398face5144c0e0d2cfadad0c4a8a994eaa0d3019638facfd15469f85f70054c68c76f5b85508ce06e76c37afc2add011c90984570fa86dd6cc071db062f5a8f8311d598bffd4194d629c69bd8b3032492c1c440ca3c309b2f46086ae3df985029e4c153edfa0b4e84bf43968f2c3440baf39d07e1cc68f54a5afda6f5cf57ed5cf57d1bdcafcffa64c7b4cefdb923e815d8086b7185195eca1af574b9ed1b7eaf51147922270a7720183fba1cd1aff750740a7f34499a791c8488367a6f6d613e33b6271bcf14011131b2224c9314eadbd70e104a5279981c7095e8a8e0846d18ad6da8239d9ea214c4743787e8bef371d0658d914541f496a2321dee0d19b029dffab2d6bbe623d37819663ddd1ffe6b351f27bea3ed26b834a170ef98377135f17a0bf8ef6886118016a21304340b62ae1e5c10ba3eb40c25a6039d07dfea11ba740f36592d5767b24ae8e39c2179f5301ea325e0543166556c45bdf38e71dbe5ca4e15013ad7387d36d6e52e79ddbd993c3487194b39f536f8073c43f354bc283cf685644d2d16312587709b376d7e6bd4d01eac3c3f66cbe27f7989c80766a74108c558045622f69e28a303fd73d66c9d7a6089f3fc2fa9dd67479b66f4e7358e4610add053018264000ab382aa93d8113bad72ceb44ca1057b94cb9604ff071b73d11d6d09e8903bf69d7d07a196948c35257d8b7dd2d8fbdea2dde86d2682dc4787d87ec474a0a13075d43c5bbec2f434e395aabecb2bd15933269faa71cb2ad1f29bd11fea2cf9fb7725f58b476870fd1c30e24b7b5957c014eef244ea30b0227fa3ea969618b97210086d22747a4c546489070b6ac8cefbd25f205b09a21532ef34ed812b402530ee66887911aee761860fd10b2ba1769647eb7ae2a42df5c28414fabab0b8b1f5311a4410e4546dacf00b41baee880c2cb6cb2bbb7e540394cd604013692d66ba327dad5bc92ae70b45f6f3339d2a6182083b54265798c08b746bd878bb733f6c947bdc21e7853d701279a31badff295acf61a0dea011f4edeb7c6c337b016f0234b8b3acdd08738cf8eb7c3824de05f4e4b8fcb6f3aa0daf5d30f4ac96129218af52d538e13002119022529a49fcd61ca0e2357a8e75e90f04f796bbf07d4e1eed48117b8280db75246b33ee908015a2dcfb920d39b411939abad2f70fef91dfa8d2e264154fbe4167c0978139c936a7802ab997026f2c220f4aacdb84842f0bd8f25d8b9128c9d3d6dd5aa6b5cdb015c925d7bd6b8bb9df50ef95e38c41438a9a7bf6dc90c28a057cc3c806df57bc4efd110456ca5864a3061e62a96d3870f0c8d84421eb9df728742292a668d57224adc1ee89419378fd0d7fcd2cb0d30146b0811812c094cc47a4c0a4cdaeb47b7caf88d0984a247bc2d460a7b94cd38699f507cf1f4a74e1139927bcd3fe5d80e98cfdbf19531f1039e4fc429e2fc206a8f8e12bd32290256d38502c23557379dab31546bd6e707713be6175541dadfce1d0228cc952a0b09782d3ace25cf5f8e3ea834d10829df3ad9292751c7fcb77b220e39d28a1c5ea37102538a5cf0acd34bc914008e7f1974619e6850b21dbf9ab7bbd857759f6a410b8b909770655dd6232789ccf57bbfabb6fa8fd45d2afc9283abeb11f26db89d610333a113de40158798cc0e00d40e409a8675a5f1f99cacd566a3479d017acc82d0d29cc713b34434fe9334dc300cfe65c62a4bee78e06608b353a003728f5ff0cdf8bf9ce276949312a63bd40b556515c9f7a55865fa9ad96f498b4edb7d16cce151b954159ff3c6421c24d734d08af73da3a25016517b3663a5888443b2a552fd830dfc890440ee34c08836be31b99d911c9e79794df0e568f372e42ace0898c617d23534707cc4371012dda478d9b14ef0628e3ccf72d9b9d2f2a19f62aec980eca99fa85c05b6b1c9991d3af74476704d2ceb762237d8791c92239e90327686c81ce08f8f7998db13713ec4306a8084f75f9f55474caab44f31e5032301f26a3978dc6e851a523cccbead3386e2391e22a4901cec3aa2b5bf0d530cb814cc940e8932955404bf70f0136e9fd3abc13dae8ad51a0470d35ad74c4768cd4a6c4b7085a8c98a3cf8663f3a68cf10845eea2c2173a12b103c52707f380cabad31425a55aac43ada6be9b4a630c515bd78a30be88ceb249c715a942aeea6a767dd20680a3fb7489c57555c39a1cbd3838d5fd05e1b2c9d6f48ffc5ec818372bc05a7dde779b12118f9626278153bd6eb4ea341bc9f6d9e0fdd312904ba1bc5a27c3d0c3048564b6842a5ab78249292f0fe9daadfa5b002db83d97efbc21f81dad9894272842313cd692ce4e3893b0fcc189dec09e7c04dac7bc1a7b8ab39ddb887cb431d2efee385e4ef85576bc44e0c3b19cbf16583d9a7188c1f46dafbd6f7f49ca87f954cf037f3b6b63d7c7c7119b324e4b0a6e2201bc087d865b2c8d0df2761d52ef032e037985d27ccb807148444ec2fddb0955c0dd8e37821a8115c8187829b3fffb3c6a2a908508153465d3633a6e84c5f376100410f2151b7ab91a89e4b4fd30c303f699b148f706afba51d3df76c4683102d415faaf55fbc211bc441760f6d3081c12081ff2ba9e7d6f89875fd4d265d745bfa8842eda1439242a3dca05c95d23f616451f95600399aa6cce01fef6c46a9d181dbe83e2fbbd747f5fe819b9758aa00f1105451b5a9f3d92f6be617bbfbc213f9266cafd91e4743a8923060213e583d01d38be4756d24138ef7882dc159fe61bd3fc7d236e6ce73078d17c35ba9b1998068d2252c81d2405d6831c993f5b784c8a11058e9dc1cbef7a07b31d540266bc8f6e4091739f33361641eb17474478f9aebd78f0ccfeb0906fe7e54fc3c35bfbe4a95a225652f03859fba372b4cebfe79686815b39e0b6b29da32302ad1b34c108131229fe18b4762e63cd614ed00a102b46250d6d928361158be7d15100d5d25b78ee56e1edcb56abe6da7831e6ba20d72f27e63a6938429dac052f7fa885eb7e43cf91e76695fbb56e888d980f6dbd2bee62444b6d10273ed482a1f138f4628d72811dffb8f6ad545cedfb6c3f61949e0e640e3392cafeec749dd917d1ceb1d5b88e4b504f532824bd3ed0f8edc681a430c809e9122c69fcc03b87627a556a462db3006d989cf61a537e7691bbc9d1d59d7dde74c03ad19d6bab44db70984fde59603d214dbe8c7859c8529958dc2d79a9e9ca45107abcb2cb73bd06357cd647a713efad10df73410ba7fca8005ecd84a69ec7d113c16f8223839cc783d23e2202ea592301f252e4ebee2d70d01cf1ca859a6d558c26a6ec4bb6bc657dd48495fec3f18ddfdbc8afd888c3daa6c0b26093fb08d8f6b5e4cfd49ada746e51e5b05d383c1ba03c9b7d0c31ca22f5b889fc7158ea0ba1801ee0696bb9519b05066e74e568f305bee406b599ead3f40d095d3dc87de010753ac5b453c103885169b491c8038ca21b515dc14702b15c9176350393a385747990f32a879cf3ef040ba13a90cca3937efb6afab600f100927229c910afbee217fbdf330df40131cadbd71bb8d87eb2523190fee76a00fdb02ab5a956f122958847b07f5bdb381d29fa6637f1409d86486a3435a8895ced514fd3c5ca815c94415745bd406298c199645ba6f866e5f61998f29ebcc2f83fcf5d502790871aeef06d5998094330d78dab5f0a170d0d89c33ce8d763fd00dd7682420eef8ff03d6f4ab095274c8636a2a55cbab5515bc82f0fdf72474ea93355e76b31b8711dd152da3ea10edfe557b7c19d0e9a5703bf18ae82aecaba895cab314c948153fb7767d46fee86eaeaa9c668824c93aa6aab672021a02d84a8bea82999db78036cc4e5b9fe63f0c6ab36480fb904947b091a702efe7cb81fab60ac30fa037edb39b3babdcfed9ca838e6631fe4aae70f67b48f6c58cd2f793362c669e93b29eb6b48b03fa52ed8fe3ccfae85e343f4a64175beac04ef4f54c9ff9fcd2a2f41da52c9f0452a6fbc0a03b258977d86c53719f88b5babc434d11e61936f01d8856d2720c8b6039ee29833918eaeb6b065b1d5d87b69c621eba29b0c04065549d55c1d874576085b9569337db4bd2955fd9ca0cfb1b1565892d04de403264bfb8287651c38b133630f0ed27b7278ea558bdb730f2437c62dce7fb002488147377cf0e32a6604fa386b30375ee0412f0f860f32d63f16acf8b16191ab5b26fc7d546ba1208f36f4bb7aa1f2f9a35986d11794a4a95f63c52f2d13bc64c0448012efa01c8a3850976a3509bbb1671ba4e06b71e1f798c07269d7709c45efc05cad28c720ddef5520ab8e330285cb7afbb23eb58e869a0e00ed31895bcd45e48977e7791abb06b1d78c8b4243cd0b4008bafbe46ed1c45a3fe16fae0b962481618d35841931f46b8fb8b83503e83c6a8abab0031f7a5158b5ea08e395e3bc44570ca288475d202ce822fd24bfc5066b3e478972e366f279abb0e5f25784cc8782f4d75931e227f66e97ba2a92e6495ecc4462687d7eb42b50f026084ea2d9c29f7adca6ca637d7ed0cf70ff563daea78c5e458979a7674fdc5d366c0dade123501f9f774da221efacd44537973351b8e1b1ceaf33d12f6fa93b0a23d448e10e8a3e433565f6839e05d40e136a74255e531b69f2603539bbfe6224bf6667e3b4b0263467e848cc08aef853c21962ae720cf057927387fd10f54e3037f1aaae655674b6aa7974409871f0b3dcbfa3ddffe91ef2f0948be9052d8fab37a3f0fd054486963598288e9447dc8aa8946eb6092c489d9d39a99d4d38be31ec97c95226a5b3a61b4bd0b9f7878de944b24369a0884cb3e3fd050a251b3876c7235f93319a7f22dc3bd3ab1ce968bbe9a4af1b490d482bf152bd3ed2bba369d88b25554b3652b189884535b8c932885a99dd508f73052cb27e46cd44a0bc710c0b5b4403f161ba6211be1d6faa71c769e9c16b0a784ebb4046fe5377473ea4921c9a5a9cb3643933cc6c8262d3b94add9f46c0cb64161ab6448a2e49cbd453be16b2f66c96d00b4d1dc63934f36a925c1d46a813c33735673d285f78015f59e56d7589aaef615bf9b202bef2cc70ef2330950334366e085a54d9d805c79f04704080e85d11d8be0f7bccdb816f639867e80b0ca2e6aff8772d30e900fd1f4c26ee842f13b6540fbd7a28febef9c6f1347163444ed9e46835a2e6dfbae4b8164412f728f2176fc6ce9f04b7e1b1a67bba942e9f9beb966390ad002eebfe5817c680c8317cd743cd45224728cd8b73d86cc1c890df05e755d104d99eeba2d2151d3d5621a89c168d730f9f72b6669de031d112c6824b7ad39dc90337c91f90641eeeb548eeff4fa8ed236ef5c20e0268367866f827e016ccb6b18197d353f9c2987f7809604641bce51ac208fe183cd3aafcc45a82cadb5a84f48415159129d6a00afe69f93263ae82095e170b4c4697f018be2e6b5cbd118fcae272682ed694c36c12a38e7379a36e51d778dddad6b36ee466de3b797bcb1f44b587dae49422ffcecbbfbdc81a16e0bff93998f951e166899df63c030ee782457839f40c29fde3de1fc89ac2908fe2aae27e51ab9895d6e8eff611110a5f5a598809e5715dde1eaa9234e32281cbfcb93c9575c78801ac3436d25ec575e106efbf94608cbc60703514ef3693ab03a1a2bed126788b17c761a7f6a9f54ffa8b791ac48deedd640390654461026d570f7174202031da7908ce09ff56362a40faaa6141b06578dbf45cceb12f79929f54fce7396005db535c75d0087d6672f33b2be706a8ba8a48de0540c84be3853d6b4211f3c0875893bf617509e247eda4f5805cd65f4af1d8b48b725be1cf95f1defb4d45452178b3330a2cdd08a58e30e8f8802144b12e95c920dad2740b84c9e8e57ee97b4477f1404577de83f4fd8254091f723af852364fdb1347e69e5e079a85036a0564fb4d2e78e254ff08caeae3bc82e846f1af08d657d04d08eacf1adb27350a79480ac4c629b7341b931af9f82da33d929514afef31634988b2d5335b2fee7e8d277ef0d1d47a62c81afce1a6878178b5df8fd029bf8a9a0e18bc1d999031fb75346998f93230002ff766fe05109f5f1f7949a0f9d1ff86d79904706341d32fcc243ee49dbdecaeb617ce63a42e9bd2dc321bf991b29778a493f3e603da9d9e6d459bbc1af1ccc313c6b723066f79db1351eb778175aa630832efdbc763761ee562b328511a849a3cf79b4ca25f9220983ee41133ac148c244961734aaa007f3a8084d8918d7b5d9d506508bd6dfb947aa51b18fb3eaf7011e6a27f8bb3202bbf8090434f0e097ea4a3afedd17cf86c98dcf8bfb9401c71c779ac383cbb3460c31da41dec3c360cc683b6ee5f90af0fef0e6b099292e974fc36aafbb9f1663b36e3767a388c27a04c979a5878d368e28ab62562cff09d142558aadf8b8906d3244e7466b819b69bab19781776219a166dd21288428c671423b1c262b841a51527a77af5d530a35d4c4c7b0a5f23d634bb8984af1ab2ac2241621a6f0562ffc14b6849e35a38a8406ef38d7f601d9f2b8c4aaa9f4d7f352dc5811dc7947b909a0cedcbf4458b74009a3373ea8629a426845d3ea8841fcbb313ce97f0488a99f2257392408703b491f3973c9c9f32b1a83ac5c963ded255c640228dd14bcf60bc1bd338da79704892b8fe8b9700e8898075b05844cec269eb4d39948de81ec13d8d11902ccae51e241756a99430bddd7812f1b26e3ec70eab184a4c9fd4de792a5466ffab4f0a716c68fab8fe04d863a033881ac6554bd40e3eab9e34dd7c3e6d47850454dab2459d1def438d9b0d714dc4d3564abe8966be867b33533fab2c135e7797d9b2fac182a73dabba905b7e38aa3b576a2638792c102180d63a4da1635b3a7a56839415753d3d43c0f787dbb5a0db3873a2e4d2b7592b11260f91191460f6e2a4d17d8065242b8023d734dbaf13558ec5c545124b9a9ea4d62c5958704bc242dc6571cd82cbe1313c1fe45c7625416c23f21f7c5924e77e3f773dd01eeed581e455ab95698df8469441c4aa740e074ab94f24d351c5a8da53fa76066fe329d8aa5f535ca5e3e98537ed7a3f597c7123c3d9de72436d78caf43e313c17f996ca43fbb924acfb7e530a0cd072f4d06f7efae9ff7b82530a7943b225032221c4cc69d45fca78b1ed9870b0d6e8d74a4045bd95f6240c16c9288049d06e346a69f14387f4952d413c6a93e4eebb1b21c980296b9b6ebeb9523964acf696b51c21b58ff64ed9c6c3aa79f9aaa2302b1a819c494621a93acde71ccf49fe5bff041441f18c58807dd0d1428748a9a786e7727e25313991a317e78e38647c4902578e4b63f569a25e9816a903f9038d13f9cf715c8e12940ee5e551379e1ea5a7de6f24c75c9b5fea4cb266de5d16685d699974cf638ad85beaabbfdb10d15fb761d9fc9044c4256e853893607c9f9d8bcc21d15dc92a066f737bdacec1866d65cd0eb2abc68e7065daaa156926efda76ddc3faa816518065cf894f9eda6d8d8ec7084af86a32913381dea2792b3ba679d37a089a2b3e4b17b2467b818f721376e9da6c0fa3b31b3b62c05d593d264980261dd72f0a969fad788edb3f715d1910822174cf34dc07d7b871513d3c0f97ca3d36e80bdbca5c177162de5775e81077b11ed576fc8cbec7291175b8dcbb4b1fd25a5fff7af31606f80425823375bd06fd7e4b3120f2bc39e1c2a11e93e3b4f43daef8719c6f95b38018ece3519a66e94d7325f5f1a387d14c29a648bf79d4468217e2c7ac2f52b9155dd87670762bc8534c3e464ce4f0fd876bce960feb80720def9ec2d55710c00c290fc0bad410e84e0efd37cf97add150a5b7f9b21efd92a63a32a4ca42e7954c58ea8ca6f70ec84c5fa74f53acba0e5d151d906385e19c9512c1991d3e8356dc5b319df032ab89a2ac2467ed87e42e01387e69fbcecb8fe80c9d46ee15f789b42db49c8a7a3e4216f060d3e92e429a2bcb98e80fe351e980011b5eceaf5f5be231b503634032b88e0a9fbc6aa5430e040ad28f2d5ec05ab7f6dc6a6d2198d4905191be884bf0b689c49de6f40f20584363970971ef90dfd07da8b7cc8fb0758b1a274e142a98d015f23eeebf7535585ef911978581c6816aeabd6c169add55b969f8f0461a79d85ac4086e1f2dad238b58e5212017fd123bd1726f80de8807e515a3331358edd8005853932b78b5a8d6b52d08c348e70ab8c06b8b4963a692b7a2dd561858c5db02ca018e402a2c3447b33747a30f547762c12e0bda2c07a5ba1df02e62c23c437592a3065d42ac088f6fbcad3c8dbe77aa740aee92f4f758aadb0640f06933989e9ab863d45e7bd133c996db8c64f01b05119877246a9311237b6a72559d7119f2cafa86915fe2e03984abe03f09b9063397a5cbfbb5bdf555808b620141d5a93524067f1e895dfb95eeabcfe5d1cb16d360f4a77d93bd98e61fa209678aff1300454ddc94d46668e7dd58635eacf4d607fdfe19b91b8ca6bb3c51877f96f8779f3f60baf8d46107662e21d5ac923a4c33bac383623633a627b0da1896de1efa91870292613c186aca86333616c84c2b86f9c9ef02c12c35c1c3987ea32931357eddb55c2fd135f2bb5eea9dd0ed9e47f3e491aebd93e34291202aa7beced8a7c4a0077befca2a8e1088b4ff19e33549321354785e6d03b9319e2f76814d750c86a8abd98540c648fe61d5b95eedfcd9d3d03f82a6bcf4c82a1e563dd29a2d3d7aad60ec23df79f127410bcdf73739072cb46317c514b6bf3c6b219b13ea925bb257ff9353dfe4be2dd4e98730cdd0bdb5d26af49515121128498a35492314e2073334ddd6bf2ee8647f07b2ecb8747f141ca41b8cf32f489a9ce0bca4906583e0a6ba69bffd2a91b18ecc7fe540f0b06e7ca9cedb91a9f259f8eda9209c48c310d0a1b793828e7709beba4b0827bdef783a3ecf2112b2a485f1d44860af99621ec4e78964381a8a2fd35a1e006aaa9c1f3c4accf60c26ef5cb34e31b749c5f90cfc53b1db6ab66e9b77414abfbbe11379360f885977d20fa3b4bcc85807bb36a185a780f11316d96e5ea7f2bf69572dccf134f53d2bd27eeadbb8ed1224c8fea4d45f80acd2f03b7b6165f94d26128ffea8b83a192a85330f186f6e90347aaf9acfbbc15a721d452ef8195e29d1623dd0bc4592874a388e9a3414d9f064666f586d363f5310e746dabf25179a3a3f1af3a0ab59486ad15263cef25d4f5ed267490ea3357b6fd469cc467d20c55d97981b8572b61f7cf27f113cf0cdc0bae926d475fbc858398d3ee004c8d27bebb31b2404781e4b501b7596abc821d6073abe35c517d3a3877a9981dd5533f45585a0601cdda1a5f1dfd5c7815adab4f8e14adc80f743a157138d1e7d88fac3f296f9b4cf7fb5e70f10de1f7690d829ddb5739a7cc971c472e29c96d7ead390a532412f6b75aa411d49d89d07dd4a1cf19fd60b824d63c7731e8edcd57988dab06cbce335821d149015825ca50824c825ced7300623a70544b996bbc3188951c67eadc2ee48192f5d2b4ee35d6f9bab9edee9e67c96cbd24e9236f06fee73c6ed3e393f97f0dcfb47d8116431fdf7b2c777bac7538dce38c15bf9946f9cea948966fe1bad26684a312e10d4eee1900a58b949f01a18c595033b2053fbc3219b91789ff83f6a91dd6a4ab6886b3a11f690cdba4f58e24ede7a397ff49e5db4da4b874fdbd9e0a3c6d3d01535629af9c35ad966461b859d9ecf8290639300401aa5a950c7854fd3d54a496d860b27a8970bb6a6c95687123776861a9ddac298ffe6cd2dadd94beb837716678d6b1f4b822908510617f4d9e25ca779abf725ddb5c78dbf12564e4470ed627b422b0630d2a0aa78b836e75d88caffb1f99df0c7dfa939470d3f8e7d1fd7545d4a778b71900cfc20326a6f392c463799ad8a502e0403ccaada1a72d4f7a5cd7c12a85d00978febe20d9f189dafec835472ca2a4a1ec55775627f8ea7f8bef46a1103dd2d1e0e3800cdd66e80db67775c09ed4d0b626d96890635ada010ce92d55468d4b4860100d00c2f7fbda2c4b12576ad82d44b35aac05afab12bb8b0cc9d4ee7fcad13adb2d05e7f0f5b129b3c9d5bb2825f565bf2f4ecb9d1a419914e93cc5361c0fb03cb7dc5c34da70c63892a714edda3944b27daab4275d36353ec1dc565fc98a039a502f3c4acef73fe119845e29e14a108c9686de3b999cac1316efa06d1dad697116940099af09c847b81f8cb25ca2368995e4837eccf6d99a91f278a7519a5951cd4c3d7b153f00173eb34354b1c16c34e2c8ba814b056761ed4a18bd56c1fa4dad72c287e39471633a9528b3138b1034bce1890bc2c2ec56edff97beef370ec9c877b862793ebb255b02e2a8c2ff39dbcfbef15ef9ede06b55aba7888f9a940567c069d017fefa204834543db9ba1c43a4068fd0b7b057bd6165673a5359cc2ef7214e8c8eaec14a9600cebd190367aabce7e84e8598d40ab108b3d438cb810a4e20f057e67a854b2a28e9075fc5174a2c4bd2f542b12561a1195ab5fd433610576338d91534d9dd2e1bc221ad7e4278981dbd36773c2431347fadfdc626e7b6e1083f38157684d519502fb47eb7f7fe7d9ef8fdc6f3ae6f1018c2074bdd6d90e63b4cf4a2445f3b346f9e922750072c2caad0fc235ca076801565381cd451e1454438082f60cfef0c9ccc6688a33ad63ed2e7b6cef27aa9176d459bb03d85b7b0305ffee45f72d76687dea43ce9ca934a9c70a04476b400f9f28b99b1d3cf0bdee665e4f1ce416a063e50aa78dfd75ea30977871f824bc1f162ba343732a8da748df809abb6789cf49e081bec4faf33852f2a38fc1a9e17fbb64ea18f09f6f7b79a4ec05c3c0049db4fed848a5f94e9aab18bca68e353a2a070a6344fbfd5244aff33cedf6efc37b90bf1880ab09de226070e5b84a041a3a20c8b8cf2d8497f7e700ea2f7a0efee06ef97c3e32bd616f5bc954989ae9b7e01ee963bc42ef4bfdad9c3d37e9d3c41063506ac40808fdb4baa629a3ae77321178acf582c2aea674b68e5afe3534db9fade3f56822d50f878238fd1a4cb83e6dead09da03e214516a4f7c86b0973a22b8a41fa24df6b72bac33bf1cf5bdea04c9ef2f303e863b97df781785df548de2b43d573d6b2e08a1d49977a0fa69302ea41eebb77c631d74d175916b1b90e586671a15ddbf476755cc0d89cacc980d669c9c4cf742eb1967ab4d919377a73fe91ade6f11a0c8d5b6b6a8f938be3c9765f582d86d2f1e64fcba048193c953139be704ae6fee6bf3892adacffb7f372c6d9d204654d1c6ef950374839d0a55fae7a460c994806a83065756be843bdbaba0f6cab3d09f74362437f6048bb40ef9b5a6fae5e600eb6910fbadcf068493fedd6a60faf3ef76a0e73e848377df14b4913cd9bc6cc67ea38274f89f5cdc17948229a8cbf57d79d441f0a75b954839a09d36fe6178920bd091e0534d437a6ef65a4b8aab5b7fab87ad66f938615144f92e746871568035a26832a0743ae28fcb1df819756401bd0f4de60c919711ca483ccb7085746ab7495c47b93c605d8639fce3bcb5d60b450f27961c0c7e1a3f6f73fe6b3079e11d7e54041bede60a2ba829eb967810e56fc4a4ad1c9dfb06ff96ad94563d414cf67d0806318b91261525150e9138d5928736780722d47bb1f7d420fba53c22a470fa64b42dad7fa7986de6ade31248ae87523aa096270ab03c2586f0d45f4e30345dd0d5c3c06d7f17b1aa264d3f3595e60fb4103f7cae7580dbb7d96bf8f5b48d58c6ee4cd0182810b856adc856af451fee21f283ab96fdcc059b61c16cbf215380da0e85f0d533e3a7a28bdd3a25a796bbab6ba426bbd0b6a00c8f4226ebdc0f86c357c9937348d47600a933b0ad817a9cfdc12850578e2039c5fc376ff79162a5776175de365295b126e9d55a99568f08a3abb44fecf787a8f290f35ef3ccc260ab6b4538f23c044439531d9b6f001cb55ddc1ba1bd3a981e5c6732d3d33eee01993e14cd9854372e4abc801da9b45a6b5e8d979ca7321bab8c2f147ef82d09ecf27590eda113bf6e60bd38ac8f1dbde8a5a255b12526e77178c50d04b311744e08e3a9dee54757a22b09c9417e5c953117e5676789c082a398aec4bd1d91996f2a8ee03aebe5a1ee78d81fb0cabc94125c4b71d9ea6e12f86cc7676ce709c8163578a107e762a97cfc6625a20c235777c8d00311b4e43d995ead61b33b0110b7b7593ababb5fcf840a6d7a3616627ce6c557db416287fd65b2da5590871c24fd01f660753c7f12a2636ec83ced7175b4a62ecd0b266ff332f8154b4dec953710f906e907ca5bfdd1e47d4c5ede9f547fd7a4a3a69a472522b891d4742ba4b274f80e4046943cf5b61675dca6d5904e3bf7a5dfabdf62ac63f9cb41f47850fdb6b317ca07ea2d6c088f38e4fa8a3d3c31831e720f07e073335cdbfdb29dac9c11ecc1903bcb40cf015d1f4d2dea22e618fb258194d5d4edf54681371a8e64d9ad374961089daee597b239e7aa4fa4d801664d636bece3b9c2da2e1442654bb708d679e8f17182dbf9965fe9b00b6e6c02c6dbafbbc82398306dd0b563d23081385d8c907080cca5d7cfabec97591100d4c7f6c5e9303c3b875d76566fea93bb43c50237e369833054137b2104d596fa46ef95920772f874be1434db775e40f25fb33c1fa24f1a17a5bec54f60f58350e28cad3d94d8710bfa613694382ade2627c7913816ff6ebd25dbec5272059631a046105ea7d4b476bba24de5d4384845c5ad6d84060e7513c35ddf15db5b0769a1527757a6ff71d66ea98297d8c74cade79cc857643b0c24bc867a776cc2aa51e9edf8734d66636f2b789fe3106cd8248f571fe319f91d0338b1c69ee0dee8d0382aded6183aa94a71c6d6a8efd75981da87073b147fac421a7012daa35013246cab2c3b1e18590444cea354acc17fbc74e660aa85032fc5b34a372233c0677"}, 0x9a00) 04:25:00 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'skcipher\x00', 0x0, 0x0, 'cbc(aes-aesni)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000c18000)="ad56b6c5820fae9d6dcd3292ea54c7beef915d564c90c200", 0x18) sendmmsg$inet6(r1, &(0x7f0000003500)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000780)=[@hoplimit={{0x14, 0x117, 0x2}}], 0x18}}], 0x2, 0x0) 04:25:00 executing program 3: r0 = socket$l2tp(0x2, 0x2, 0x73) recvfrom$l2tp(r0, 0x0, 0x0, 0x23, 0x0, 0x0) [ 272.595724][ T55] usb 5-1: reset high-speed USB device number 7 using dummy_hcd 04:25:00 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x2f606557d6081b8a, 0x0) r3 = dup2(r2, r2) ioctl$TCSETS(r3, 0x40045431, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, "0100"}) write$binfmt_aout(r2, &(0x7f0000000380)=ANY=[@ANYBLOB="7bcbcc7b3a3c3a79a5"], 0x8d) ioctl$TCSETA(r2, 0x5406, &(0x7f00000004c0)={0xfff9, 0x0, 0x0, 0xbffa, 0x0, "078cf0251c0e00"}) r4 = syz_open_pts(r2, 0x0) ioctl$TCSETSF(r4, 0x5412, &(0x7f0000000100)={0x25, 0x0, 0x0, 0x0, 0x0, "000000001000000000000010000000001000"}) 04:25:00 executing program 2: r0 = socket$l2tp6(0xa, 0x2, 0x73) sendmmsg$inet6(r0, &(0x7f0000001400)=[{{&(0x7f0000000180)={0xa, 0x0, 0x0, @empty}, 0x1c, 0x0}}, {{&(0x7f0000000000)={0x2, 0x0, 0x0, @empty}, 0x1c, 0x0}}], 0x2, 0x0) [ 272.852240][ T55] usb 5-1: Using ep0 maxpacket: 16 [ 272.892268][ T55] usb 5-1: device firmware changed [ 272.897512][ T55] usb 5-1: USB disconnect, device number 7 [ 273.262215][ T55] usb 5-1: new high-speed USB device number 8 using dummy_hcd [ 273.522673][ T55] usb 5-1: Using ep0 maxpacket: 16 [ 273.662563][ T55] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 273.675474][ T55] usb 5-1: New USB device found, idVendor=046d, idProduct=c218, bcdDevice= 0.00 [ 273.684514][ T55] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 273.694545][ T55] usb 5-1: config 0 descriptor?? [ 273.734061][ T55] usbhid 5-1:0.0: couldn't find an input interrupt endpoint [ 273.940087][ T9799] usb 5-1: USB disconnect, device number 8 [ 274.492129][ T9799] usb 5-1: new high-speed USB device number 9 using dummy_hcd [ 274.742113][ T9799] usb 5-1: Using ep0 maxpacket: 32 [ 274.882091][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 274.894182][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 274.904627][ T9799] usb 5-1: New USB device found, idVendor=046d, idProduct=c31c, bcdDevice= 0.04 [ 274.913969][ T9799] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 274.924674][ T9799] usb 5-1: config 0 descriptor?? [ 274.972420][ T9799] hub 5-1:0.0: USB hub found [ 275.192085][ T9799] hub 5-1:0.0: config failed, can't read hub descriptor (err -90) [ 275.201795][ T9799] usbhid 5-1:0.0: can't add hid device: -22 [ 275.215262][ T9799] usbhid: probe of 5-1:0.0 failed with error -22 04:25:04 executing program 1: perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3fc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f00009fd000/0x600000)=nil, 0x600000, 0x2, 0x6031, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000a01000/0x4000)=nil, 0x4000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) munlockall() syz_genetlink_get_family_id$nl80211(0x0) add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffb) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(0xffffffffffffffff, 0x0, 0x0) 04:25:04 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r0, 0x29, 0x37, 0xffffffffffffffff, 0x1d) 04:25:04 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000080)='/dev/video#\x00', 0x0, 0x0) ioctl$VIDIOC_S_FMT(r0, 0xc0d05605, &(0x7f00000003c0)={0xc, @sdr}) 04:25:04 executing program 0: r0 = socket(0x40000000002, 0x3, 0x2) r1 = socket$packet(0x11, 0x3, 0x300) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000b40)=@raw={'raw\x00', 0x4001, 0x3, 0x378, 0x198, 0x0, 0x148, 0x198, 0x148, 0x2e0, 0x240, 0x240, 0x2e0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'ip6gretap0\x00', 'bond_slave_1\x00'}, 0x0, 0x130, 0x198, 0x0, {}, [@common=@inet=@hashlimit1={{0x58, 'hashlimit\x00'}, {'macvtap0\x00', {0x0, 0x0, 0x1ff, 0x0, 0x0, 0xec, 0x85d3}}}, @common=@unspec=@rateest={{0x68, 'rateest\x00'}, {'vcan0\x00', 'bond_slave_1\x00', 0x1bb, 0x2}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, '\x00', 'syz0\x00'}}}, {{@uncond, 0x0, 0xe8, 0x148, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}}, @common=@osf={{0x50, 'osf\x00'}, {'syz1\x00'}}]}, @common=@SET={0x60, 'SET\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x3d8) 04:25:04 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) getsockopt$inet6_opts(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000580)=""/143, &(0x7f0000000340)=0xfee5) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r4 = ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x8000000, 0x8, 0x80000000fb, 0x0, 0x40000000a, 0x0, 0x400000000000000], 0x0, 0x10}) perf_event_open(&(0x7f0000000640)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x104, 0x0, 0xffffffff}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) ioctl$KVM_NMI(r4, 0xae9a) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r4, 0xae80, 0x0) 04:25:04 executing program 4: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000014c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) r4 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000300)=ANY=[@ANYBLOB="680000002c00270d00000000000000f4ff000000", @ANYRES32=r3, @ANYBLOB="0000000000000000f2ff00000a0001006261736963000000380002003400028008000100f98b0000280002801000010000000000000000008b0000001400020000000700060000000000000001"], 0x68}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x4924924924926d3, 0x0) 04:25:04 executing program 2: openat$full(0xffffffffffffff9c, &(0x7f00000007c0)='/dev/full\x00', 0x2, 0x0) 04:25:04 executing program 3: r0 = syz_open_procfs(0x0, &(0x7f0000000040)) fcntl$notify(r0, 0x402, 0xb1c661d398500c56) r1 = syz_open_procfs(0x0, &(0x7f00000000c0)='setgroups\x00') preadv2(r1, 0x0, 0x0, 0x0, 0x0, 0x0) 04:25:04 executing program 0: r0 = socket$l2tp(0x2, 0x2, 0x73) sendmmsg(r0, &(0x7f0000003580)=[{{&(0x7f00000000c0)=@l2tp={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x1c}}, 0x80, 0x0}}, {{&(0x7f0000000180)=@pppoe={0x18, 0x0, {0x0, @remote, 'vlan1\x00'}}, 0x80, 0x0}}], 0x2, 0x0) [ 276.501877][T16033] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. [ 276.521982][ T7] usb 5-1: USB disconnect, device number 9 04:25:04 executing program 2: setitimer(0x1, &(0x7f00000000c0)={{}, {0x0, 0xea60}}, 0x0) setitimer(0x1, &(0x7f0000000040)={{0x0, 0xea60}, {0x77359400}}, 0x0) 04:25:04 executing program 3: mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) stat(&(0x7f0000000140)='./file0\x00', &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, 0x0}) setfsuid(r0) r1 = socket$packet(0x11, 0x2, 0x300) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000040)={0x0, 0x0}, &(0x7f0000000080)=0xc) lchown(&(0x7f00000002c0)='./file1\x00', r2, 0x0) [ 276.610742][T16033] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. 04:25:04 executing program 0: r0 = socket$pppl2tp(0x18, 0x1, 0x1) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000040)={'wlan0\x00'}) 04:25:04 executing program 1: perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3fc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f00009fd000/0x600000)=nil, 0x600000, 0x2, 0x6031, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000a01000/0x4000)=nil, 0x4000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) munlockall() syz_genetlink_get_family_id$nl80211(0x0) add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffb) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(0xffffffffffffffff, 0x0, 0x0) 04:25:04 executing program 4: r0 = syz_open_dev$evdev(&(0x7f0000000040)='/dev/input/event#\x00', 0x0, 0x0) pipe(&(0x7f0000000380)={0xffffffffffffffff}) r2 = socket$netlink(0x10, 0x3, 0x0) pipe(&(0x7f0000000380)={0xffffffffffffffff}) dup2(r2, r3) dup2(r3, r1) dup2(r1, r0) sendmsg$DEVLINK_CMD_RELOAD(r0, &(0x7f0000000180)={0x0, 0x5e, &(0x7f0000000140)={0x0}}, 0x0) 04:25:04 executing program 5: r0 = epoll_create1(0x0) r1 = syz_open_dev$vim2m(&(0x7f0000000000)='/dev/video#\x00', 0x4, 0x2) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)={0x8000001e}) ioctl$vim2m_VIDIOC_DQBUF(r1, 0xc0585611, &(0x7f0000000240)={0x0, 0x2, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "2c006dbe"}}) 04:25:04 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r1, &(0x7f0000000000), 0x4fa000) write$cgroup_subtree(r0, &(0x7f0000000100)=ANY=[], 0x8) ioctl$TUNSETFILTEREBPF(r0, 0x6628, 0x0) write$cgroup_int(r0, &(0x7f00000002c0), 0xfffffedd) 04:25:04 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000003e40)='TIPCv2\x00') sendmsg$TIPC_NL_KEY_SET(r0, &(0x7f0000004180)={0x0, 0x0, &(0x7f0000004140)={&(0x7f0000003e80)={0x1c, r1, 0x1, 0x0, 0x0, {}, [@TIPC_NLA_NODE={0x8, 0x6, 0x0, 0x1, [@TIPC_NLA_NODE_UP={0x4, 0x17}]}]}, 0x1c}}, 0x0) 04:25:04 executing program 2: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_TPR_ACCESS_REPORTING(r2, 0x4008ae89, &(0x7f0000000000)={0x6, 0x0, [0x570, 0x0, 0x0, 0x0, 0x4b564d05]}) 04:25:05 executing program 0: openat$pfkey(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/self/net/pfkey\x00', 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN_UNNAMED(0x11, 0x0, 0x0) 04:25:05 executing program 4: r0 = socket$tipc(0x1e, 0x5, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f0000000100)={'geneve0\x00', &(0x7f0000000000)=@ethtool_rxnfc={0x8, 0x0, 0x0, {0x0, @usr_ip4_spec={@dev, @dev}, {0x0, @multicast}, @tcp_ip6_spec={@private1, @private0}, {0x0, @random="58ce5c8c992a"}}}}) 04:25:05 executing program 2: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 5: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@newlink={0x58, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x38, 0x12, 0x0, 0x1, @ipip={{0x9, 0x1, 'ipip\x00'}, {0x28, 0x2, 0x0, 0x1, [@IFLA_IPTUN_ENCAP_SPORT={0x6}, @IFLA_IPTUN_ENCAP_FLAGS={0x6}, @IFLA_IPTUN_PMTUDISC={0x5}, @IFLA_IPTUN_COLLECT_METADATA={0x4}, @IFLA_IPTUN_ENCAP_DPORT={0x6}]}}}]}, 0x58}}, 0x0) 04:25:05 executing program 1: perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3fc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f00009fd000/0x600000)=nil, 0x600000, 0x2, 0x6031, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000a01000/0x4000)=nil, 0x4000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) munlockall() syz_genetlink_get_family_id$nl80211(0x0) add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffb) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(0xffffffffffffffff, 0x0, 0x0) 04:25:05 executing program 0: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x5) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$sock_bt_cmtp_CMTPGETCONNLIST(r0, 0x400443c9, 0x0) 04:25:05 executing program 2: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 4: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_RESETSAMPLES(r0, 0xc0045405, 0xfffffffffffffffd) 04:25:05 executing program 5: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 3: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x10000000013, &(0x7f0000d06000)=0x1, 0x4) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000000)='veth1\x00', 0x10) connect$inet(r0, &(0x7f0000000040)={0x2, 0x0, @rand_addr=0x64010102}, 0x10) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080)={0x0, 0x6, 0xf087}, 0x14) setsockopt$inet_tcp_int(r0, 0x6, 0x4000000000013, &(0x7f0000000180), 0x4) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000200), 0x4) setsockopt$sock_int(r0, 0x1, 0x2f, &(0x7f0000000140), 0x4) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) close(r0) 04:25:05 executing program 5: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:05 executing program 4: sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x4004000}, 0xc, &(0x7f00000001c0)={&(0x7f00000006c0)=ANY=[], 0xf04}}, 0x0) sendmsg$WG_CMD_GET_DEVICE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040), 0xc, &(0x7f0000000080)={&(0x7f0000000780)=ANY=[], 0x424}, 0x1, 0x0, 0x0, 0x8000}, 0x0) syz_genetlink_get_family_id$tipc(&(0x7f0000000000)='TIPC\x00') r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000740)={0x3, 0x0, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$NL80211_CMD_SET_INTERFACE(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000280)={0x50, 0x0, 0x0, 0x70bd27, 0x25dfdbfe, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_IFTYPE={0x8}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_IFTYPE={0x8}, @NL80211_ATTR_4ADDR={0x5}]}, 0x50}}, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:05 executing program 0: perf_event_open(&(0x7f0000000000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net\x00') r1 = syz_io_uring_setup(0xea5, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r2, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) syz_io_uring_submit(r2, r3, &(0x7f0000000200)=@IORING_OP_STATX={0x15, 0x58ff346b9ab41012, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) r4 = socket(0x10, 0x3, 0x0) r5 = open(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) openat$cgroup_subtree(r5, &(0x7f0000000080)='cgroup.subtree_control\x00', 0x2, 0x0) ioctl$sock_SIOCSIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(r5, 0x8983, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r5, 0x3b72, &(0x7f0000000440)={0x4f, 0x1, 0x0, 0x0, "5553fa5bf594ac47b5dbd15a2c006aaa8750e6dc836e62a3ea7b5781ea9590751484fe8d9d8f321022494d814a44bfa183d0424b0db02e"}) write(r4, &(0x7f0000000100)="240000001e005f0014f9f407faac470002000000000000000000080008000100000000ff", 0x24) sendmsg$AUDIT_USER_TTY(r4, &(0x7f00000006c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000300)={0x0, 0x90}}, 0x24004804) getsockopt$packet_buf(r4, 0x107, 0x2, &(0x7f0000000100)=""/57, &(0x7f0000000180)=0x39) io_uring_enter(r1, 0x450c, 0x0, 0x0, 0x0, 0x0) dup2(r0, r1) 04:25:05 executing program 3: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10000000140, 0x4e7, 0x9, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x1, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x1}}}}]}}]}}, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000001640)={0x24, 0x0, 0x0, &(0x7f0000000000)={0x0, 0x22, 0x2, {[@global=@item_012={0x1, 0x1, 0x0, 'Y'}]}}, 0x0}, 0x0) 04:25:05 executing program 2: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xb) write(r0, &(0x7f0000000000)="05", 0x3f9b4) 04:25:06 executing program 5: r0 = socket$inet6_sctp(0xa, 0x10000000005, 0x84) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(r0, 0x84, 0x6e, &(0x7f0000961fe4)=[@in={0x2, 0x0, @dev}], 0x10) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x1d, &(0x7f000095dff8)={0x1, [0x0]}, &(0x7f000095dffc)=0x8) r2 = socket(0xa, 0x1, 0x0) close(r2) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(r0, 0x84, 0x66, &(0x7f0000000040)={r1}, &(0x7f0000000140)=0x8) sendmmsg$inet_sctp(r2, &(0x7f0000000bc0)=[{0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=[@sndinfo={0x20, 0x84, 0x2, {0x0, 0x200}}], 0x20}], 0x1, 0x0) getsockopt$inet_sctp6_SCTP_DELAYED_SACK(r2, 0x84, 0x11, &(0x7f0000000000), &(0x7f00000000c0)=0xc) [ 278.302611][ T9799] usb 4-1: new high-speed USB device number 10 using dummy_hcd 04:25:06 executing program 4: unshare(0x400) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CHECK_EXTENSION_VM(r1, 0xae03, 0x3c) 04:25:06 executing program 2: r0 = openat$pfkey(0xffffff9c, &(0x7f0000000000)='/proc/self/net/pfkey\x00', 0x0, 0x0) bpf$BPF_BTF_GET_NEXT_ID(0x17, &(0x7f0000000280)={0x8}, 0x8) pselect6(0x40, &(0x7f00000004c0)={0x0, 0x0, 0x1}, 0x0, &(0x7f0000000540)={0x9, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) read$FUSE(r0, &(0x7f0000001600)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) sched_rr_get_interval(r2, &(0x7f0000000240)) ioctl$sock_SIOCADDRT(r0, 0x890b, &(0x7f0000000680)={0x0, @can={0x1d, 0x0}, @nfc={0x27, 0x1, 0x2, 0x4}, @nl=@proc={0x10, 0x0, 0x25dfdbfd, 0x2000}, 0x8, 0x0, 0x0, 0x0, 0x101, 0x0, 0xa00000, 0x7, 0x1000}) ioctl$sock_SIOCADDRT(r1, 0x890b, &(0x7f0000000700)={0x0, @l2tp={0x2, 0x0, @private=0xa010102, 0x3}, @ax25={0x3, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, 0x6}, @xdp={0x2c, 0x0, r3, 0x6}, 0xac, 0x0, 0x0, 0x0, 0x2, &(0x7f0000000500)='veth1_to_bridge\x00', 0x7, 0x0, 0x8}) r4 = openat$pfkey(0xffffff9c, &(0x7f0000000440)='/proc/self/net/pfkey\x00', 0x200000, 0x0) inotify_add_watch(r4, 0x0, 0x40000000) r5 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f0000000040)={'syz', 0x0}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$unlink(0x9, 0x0, r5) add_key$user(&(0x7f0000000400)='user\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f0000000580)="a782452ec21edd62ccc65e6ce21e60dc98d664380cf3fbe88e8a670843881d3f48d8510a63de3654812ddb6189344861978284e4a5c7fd1689befc38010dc19e00737f89a83c372a1b31099335f6f2d97552b43cec6580794c50e2d704b94069b523256c1b7af7fa28d314e0e1a77b0cc18cdc4909c7bd3ce4a319bdb20febcab752bcf77aa83502af9a2d54266a19f45453ad8aafb7787c9e39923b59516f9d1692edba527015162ad700093be97d4bf2380358766c5489b24af2d67120af79e107c471b0219f44cbcaab4d3cde6474006ee6aa44de54", 0xd7, r5) ioctl$PERF_EVENT_IOC_RESET(r4, 0x2403, 0x8) setsockopt$ARPT_SO_SET_REPLACE(r1, 0x0, 0x60, 0x0, 0x0) keyctl$KEYCTL_PKEY_ENCRYPT(0x19, &(0x7f0000000080)={0x0, 0x8f, 0xa8}, 0x0, &(0x7f00000000c0)="3189c971bcb3d0c4142ffadf13f6ed5a99f64ec63e7ab9c339812d3d14af4da394545ff7ed6f70cf3cd540b3d6a4830e916e1a4ed3933f3f0916af7b01ea9d86b936339f296929e64198bd8c69b018f16832616ef8ebd7260aba8dbaeae9bfae5287d205918c5ac329beb184e5e80202c6ad89f0dfac1ae828d36ded68380813d52cccd6593f568c22c914d4eb585b", &(0x7f0000000180)=""/168) setsockopt$inet_tcp_TCP_ULP(r1, 0x6, 0x1f, &(0x7f0000000040)='tls\x00', 0x4) prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f0000000380)={&(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ff9000/0x3000)=nil, &(0x7f0000ff8000/0x3000)=nil, &(0x7f0000ff9000/0x3000)=nil, &(0x7f0000ffa000/0x1000)=nil, &(0x7f0000ff9000/0x4000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ff9000/0x1000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffa000/0x2000)=nil, &(0x7f00000002c0)="d7baf017ad1831e94b598af58a38559529a6bcb1941a205287c4e900d2b5ba35f87e747fd6a3a3404b97697182ec784bcb92e535131fe35532b5af12d8c95cb9c7bcd2f6b2d8319d7876d01e2067ec73dc12f09949109c4e21d0a76194b014e8b3182a12ea744c844f9b5deb79f121524ba109c4aea8ce646d44eef3ded888c255e13af9c5bd2cf9c80a1090832b33a86f8dca8251b904cff51a4f42d4949b6d0a7543e338619f2cd677177d1ca3317b5550", 0xb2, r0}, 0x64) 04:25:06 executing program 5: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setuid(r1) r2 = semget$private(0x0, 0x20000000102, 0x0) semctl$IPC_RMID(r2, 0x0, 0x10) 04:25:06 executing program 0: perf_event_open(&(0x7f0000000000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net\x00') r1 = syz_io_uring_setup(0xea5, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r2, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) syz_io_uring_submit(r2, r3, &(0x7f0000000200)=@IORING_OP_STATX={0x15, 0x58ff346b9ab41012, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) r4 = socket(0x10, 0x3, 0x0) r5 = open(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) openat$cgroup_subtree(r5, &(0x7f0000000080)='cgroup.subtree_control\x00', 0x2, 0x0) ioctl$sock_SIOCSIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(r5, 0x8983, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r5, 0x3b72, &(0x7f0000000440)={0x4f, 0x1, 0x0, 0x0, "5553fa5bf594ac47b5dbd15a2c006aaa8750e6dc836e62a3ea7b5781ea9590751484fe8d9d8f321022494d814a44bfa183d0424b0db02e"}) write(r4, &(0x7f0000000100)="240000001e005f0014f9f407faac470002000000000000000000080008000100000000ff", 0x24) sendmsg$AUDIT_USER_TTY(r4, &(0x7f00000006c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000300)={0x0, 0x90}}, 0x24004804) getsockopt$packet_buf(r4, 0x107, 0x2, &(0x7f0000000100)=""/57, &(0x7f0000000180)=0x39) io_uring_enter(r1, 0x450c, 0x0, 0x0, 0x0, 0x0) dup2(r0, r1) 04:25:06 executing program 1: r0 = syz_open_dev$video(&(0x7f0000000140)='/dev/video#\x00', 0xfe6e, 0x0) ioctl$VIDIOC_CROPCAP(r0, 0xc02c563a, &(0x7f0000000000)={0xa}) 04:25:06 executing program 4: r0 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f00000000c0), 0x390, 0xfffffffffffffffd) r2 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) keyctl$dh_compute(0x17, &(0x7f00000000c0)={r0, r1, r2}, &(0x7f0000000280)=""/191, 0xbf, &(0x7f0000000040)={&(0x7f0000000340)={'sha384-ssse3\x00'}}) 04:25:06 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0x10, 0x0, 0x0) io_pgetevents(0x0, 0x0, 0x3, &(0x7f0000000280)=[{}, {}, {}], &(0x7f0000000100)={0x77359400}, 0x0) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000040)=@default_ap_ssid=[0x4], 0x6, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$inet6_mreq(r0, 0x29, 0x1c, &(0x7f0000000180)={@remote}, 0x14) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x24, r2, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x3}]}, 0x24}}, 0x0) r4 = socket(0x2a, 0x2, 0x0) sendmsg$TIPC_NL_SOCK_GET(r4, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000080)={&(0x7f0000000380)={0x50, 0x0, 0x4, 0x70bd29, 0x25dfdbff, {}, [@TIPC_NLA_PUBL={0x4}, @TIPC_NLA_LINK={0x38, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz0\x00'}]}]}, 0x50}}, 0x40000) openat$btrfs_control(0xffffffffffffff9c, 0x0, 0x0, 0x0) 04:25:06 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000044c0)={&(0x7f00000000c0)={0x5c, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x0}]}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}]}, 0x5c}}, 0x0) [ 278.732173][ T9799] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 278.751342][ T9799] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 04:25:06 executing program 4: r0 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f00000000c0), 0x390, 0xfffffffffffffffd) r2 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) keyctl$dh_compute(0x17, &(0x7f00000000c0)={r0, r1, r2}, &(0x7f0000000280)=""/191, 0xbf, &(0x7f0000000040)={&(0x7f0000000340)={'sha384-ssse3\x00'}}) [ 278.777966][ T9799] usb 4-1: New USB device found, idVendor=04e7, idProduct=0009, bcdDevice= 0.40 [ 278.797342][ T9799] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 278.825730][ T9799] usb 4-1: config 0 descriptor?? [ 278.848657][ T27] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 278.857207][ T27] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 279.322273][ T9799] elo 0003:04E7:0009.0005: item fetching failed at offset 0/1 [ 279.329913][ T9799] elo 0003:04E7:0009.0005: parse failed [ 279.335580][ T9799] elo: probe of 0003:04E7:0009.0005 failed with error -22 [ 279.523242][ T9944] usb 4-1: USB disconnect, device number 10 [ 280.301659][ T9226] usb 4-1: new high-speed USB device number 11 using dummy_hcd [ 280.661666][ T9226] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 280.672600][ T9226] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 280.683019][ T9226] usb 4-1: New USB device found, idVendor=04e7, idProduct=0009, bcdDevice= 0.40 [ 280.692397][ T9226] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 280.701179][ T9226] usb 4-1: config 0 descriptor?? 04:25:08 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x800, 0x0, 0x103, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x1, 0x4) sendmsg$inet6(r0, &(0x7f0000000080)={&(0x7f00000000c0)={0xa, 0x4e20, 0x80000, @empty}, 0x1c, 0x0, 0x0, &(0x7f0000000040)=[@rthdr_2292={{0x38, 0x29, 0x39, {0x0, 0x4, 0x2, 0x0, 0x0, [@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', @mcast1]}}}], 0x38}, 0x0) 04:25:08 executing program 5: socket$inet_icmp_raw(0x2, 0x3, 0x1) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r0, &(0x7f0000000140)=ANY=[], 0x4240a2a0) ioctl$PPPIOCSFLAGS1(0xffffffffffffffff, 0x40047459, &(0x7f0000000000)=0x4040) syz_genetlink_get_family_id$ipvs(0x0) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) futex(&(0x7f000000cffc), 0x80000000000b, 0x0, 0x0, &(0x7f0000048000), 0x0) futex(&(0x7f000000cffc), 0xc, 0x1, &(0x7f0000001080), &(0x7f0000048000), 0x0) clone(0x0, 0x0, 0x0, 0x0, 0x0) exit(0x0) 04:25:08 executing program 0: perf_event_open(&(0x7f0000000000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net\x00') r1 = syz_io_uring_setup(0xea5, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r2, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) syz_io_uring_submit(r2, r3, &(0x7f0000000200)=@IORING_OP_STATX={0x15, 0x58ff346b9ab41012, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) r4 = socket(0x10, 0x3, 0x0) r5 = open(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) openat$cgroup_subtree(r5, &(0x7f0000000080)='cgroup.subtree_control\x00', 0x2, 0x0) ioctl$sock_SIOCSIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(r5, 0x8983, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r5, 0x3b72, &(0x7f0000000440)={0x4f, 0x1, 0x0, 0x0, "5553fa5bf594ac47b5dbd15a2c006aaa8750e6dc836e62a3ea7b5781ea9590751484fe8d9d8f321022494d814a44bfa183d0424b0db02e"}) write(r4, &(0x7f0000000100)="240000001e005f0014f9f407faac470002000000000000000000080008000100000000ff", 0x24) sendmsg$AUDIT_USER_TTY(r4, &(0x7f00000006c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000300)={0x0, 0x90}}, 0x24004804) getsockopt$packet_buf(r4, 0x107, 0x2, &(0x7f0000000100)=""/57, &(0x7f0000000180)=0x39) io_uring_enter(r1, 0x450c, 0x0, 0x0, 0x0, 0x0) dup2(r0, r1) 04:25:08 executing program 4: r0 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f00000000c0), 0x390, 0xfffffffffffffffd) r2 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) keyctl$dh_compute(0x17, &(0x7f00000000c0)={r0, r1, r2}, &(0x7f0000000280)=""/191, 0xbf, &(0x7f0000000040)={&(0x7f0000000340)={'sha384-ssse3\x00'}}) 04:25:08 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0x10, 0x0, 0x0) io_pgetevents(0x0, 0x0, 0x3, &(0x7f0000000280)=[{}, {}, {}], &(0x7f0000000100)={0x77359400}, 0x0) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000040)=@default_ap_ssid=[0x4], 0x6, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$inet6_mreq(r0, 0x29, 0x1c, &(0x7f0000000180)={@remote}, 0x14) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x24, r2, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x3}]}, 0x24}}, 0x0) r4 = socket(0x2a, 0x2, 0x0) sendmsg$TIPC_NL_SOCK_GET(r4, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000080)={&(0x7f0000000380)={0x50, 0x0, 0x4, 0x70bd29, 0x25dfdbff, {}, [@TIPC_NLA_PUBL={0x4}, @TIPC_NLA_LINK={0x38, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz0\x00'}]}]}, 0x50}}, 0x40000) openat$btrfs_control(0xffffffffffffff9c, 0x0, 0x0, 0x0) 04:25:08 executing program 2: r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000100)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCSBRKP(r0, 0x5425, 0x0) socketpair$unix(0x1, 0x0, 0x0, 0x0) r1 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000100)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCSBRKP(r1, 0x5425, 0x0) 04:25:08 executing program 4: r0 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f00000000c0), 0x390, 0xfffffffffffffffd) r2 = add_key$user(&(0x7f0000000180)='user\x00', &(0x7f0000000000)={'syz'}, &(0x7f0000000240)='X', 0x1, 0xfffffffffffffffe) keyctl$dh_compute(0x17, &(0x7f00000000c0)={r0, r1, r2}, &(0x7f0000000280)=""/191, 0xbf, &(0x7f0000000040)={&(0x7f0000000340)={'sha384-ssse3\x00'}}) [ 281.005119][ T27] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 281.021611][ T27] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 04:25:09 executing program 3: bpf$MAP_CREATE(0x23, &(0x7f0000000200)={0x16}, 0xe) [ 281.051902][ T9226] usbhid 4-1:0.0: can't add hid device: -71 [ 281.058326][ T9226] usbhid: probe of 4-1:0.0 failed with error -71 04:25:09 executing program 4: r0 = socket$xdp(0x2c, 0x3, 0x0) pipe(&(0x7f0000000580)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r0, 0x0, r1, 0x0, 0xbb1, 0x0) [ 281.103456][ T9226] usb 4-1: USB disconnect, device number 11 04:25:09 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8fa63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe02573ea0ae64f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f786699de9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1cfd2114dc4b95fbbf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e31732bde1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bacd27a0bccd3abd17d941239b385ab3a20b71a81c662904f7fd84a468290bb122fcc000000007cb3dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c85"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r2}, 0x10) timer_create(0x6, 0x0, 0x0) 04:25:09 executing program 0: perf_event_open(&(0x7f0000000000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net\x00') r1 = syz_io_uring_setup(0xea5, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r2, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) syz_io_uring_submit(r2, r3, &(0x7f0000000200)=@IORING_OP_STATX={0x15, 0x58ff346b9ab41012, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) r4 = socket(0x10, 0x3, 0x0) r5 = open(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) openat$cgroup_subtree(r5, &(0x7f0000000080)='cgroup.subtree_control\x00', 0x2, 0x0) ioctl$sock_SIOCSIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(r5, 0x8983, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r5, 0x3b72, &(0x7f0000000440)={0x4f, 0x1, 0x0, 0x0, "5553fa5bf594ac47b5dbd15a2c006aaa8750e6dc836e62a3ea7b5781ea9590751484fe8d9d8f321022494d814a44bfa183d0424b0db02e"}) write(r4, &(0x7f0000000100)="240000001e005f0014f9f407faac470002000000000000000000080008000100000000ff", 0x24) sendmsg$AUDIT_USER_TTY(r4, &(0x7f00000006c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000300)={0x0, 0x90}}, 0x24004804) getsockopt$packet_buf(r4, 0x107, 0x2, &(0x7f0000000100)=""/57, &(0x7f0000000180)=0x39) io_uring_enter(r1, 0x450c, 0x0, 0x0, 0x0, 0x0) dup2(r0, r1) 04:25:09 executing program 4: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8040000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x60, 0x1403, 0x1, 0x0, 0x0, "", [{{0x9, 0xa, 'syz1\x00'}, {0x8, 0x41, 'rxe\x00'}, {0x14, 0x33, 'veth0_virt_wifi\x00'}}, {{0x6a, 0x2, 'syz0\x00'}, {0x8, 0x41, 'rxe\x00'}, {0x14, 0x33, 'macvlan1\x00'}}]}, 0x60}}, 0x0) 04:25:09 executing program 3: chdir(&(0x7f0000000000)='./file1\x00') open(&(0x7f00000000c0)='./bus\x00', 0x10307e, 0x0) perf_event_open(&(0x7f00000002c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f00000000c0)={0x0, 0xffffffea}) [ 281.244891][T16314] netlink: 'syz-executor.4': attribute type 10 has an invalid length. [ 281.254836][T16314] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.4'. [ 281.310009][ T35] audit: type=1804 audit(1608956709.254:38): pid=16320 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir209701528/syzkaller.V5X0kG/113/bus" dev="sda1" ino=16311 res=1 errno=0 [ 281.394075][ T35] audit: type=1804 audit(1608956709.334:39): pid=16320 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir209701528/syzkaller.V5X0kG/113/bus" dev="sda1" ino=16311 res=1 errno=0 04:25:09 executing program 5: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000400)={0x2, 0x0, &(0x7f00000003c0)={&(0x7f0000000300)={0x2, 0x9, 0x0, 0x0, 0x2}, 0x10}}, 0x0) 04:25:09 executing program 4: syz_mount_image$reiserfs(&(0x7f0000000000)='reiserfs\x00', &(0x7f0000000100)='./file0\x00', 0x4000000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="00400000ec1f00001320000012000000000000000020000000040000611cad49840300001e000000000000000010ec03020001005265497345724673000000000300000002000100000000000100000003000000000000000000000000000000000000000000000000000000000000000000000001001e003ac1655f004eed00", 0x80, 0x10000}, {&(0x7f0000010100)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0f00"/1056, 0x420, 0x11000}, {&(0x7f0000010600)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x800, 0x11800}, {&(0x7f0000010e00)="00000000000000000000000012000000000000000020000000040000611cad49840300001e00"/64, 0x40, 0x2012000}, {&(0x7f0000010f00)="01000200750f0000000000000000000000000000000000000100000002000000000000000000000000002000e00f0000010000000200000001000000f401000002002300bd0f00"/96, 0x60, 0x2013000}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000001000000010000000200000022000400020000000000000001000000200004002e2e2eed4103005cf9535f230000003ac1655f3ac1655f3ac1655f01000000ffffffff", 0x60, 0x2013fa0}], 0x0, &(0x7f0000011100)) 04:25:09 executing program 3: chdir(&(0x7f0000000000)='./file1\x00') open(&(0x7f00000000c0)='./bus\x00', 0x10307e, 0x0) perf_event_open(&(0x7f00000002c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f00000000c0)={0x0, 0xffffffea}) 04:25:09 executing program 0: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) 04:25:09 executing program 2: openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000001800)='/proc/asound/card0/oss_mixer\x00', 0x440, 0x0) 04:25:09 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0x10, 0x0, 0x0) io_pgetevents(0x0, 0x0, 0x3, &(0x7f0000000280)=[{}, {}, {}], &(0x7f0000000100)={0x77359400}, 0x0) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000040)=@default_ap_ssid=[0x4], 0x6, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$inet6_mreq(r0, 0x29, 0x1c, &(0x7f0000000180)={@remote}, 0x14) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x24, r2, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x3}]}, 0x24}}, 0x0) r4 = socket(0x2a, 0x2, 0x0) sendmsg$TIPC_NL_SOCK_GET(r4, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000080)={&(0x7f0000000380)={0x50, 0x0, 0x4, 0x70bd29, 0x25dfdbff, {}, [@TIPC_NLA_PUBL={0x4}, @TIPC_NLA_LINK={0x38, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz0\x00'}]}]}, 0x50}}, 0x40000) openat$btrfs_control(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 281.969943][T16348] IPVS: ftp: loaded support on port[0] = 21 [ 281.983266][T16347] loop4: detected capacity change from 131391 to 0 [ 282.014531][T16347] REISERFS (device loop4): found reiserfs format "3.5" with standard journal [ 282.025982][ T22] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 282.029354][T16347] REISERFS (device loop4): using ordered data mode 04:25:10 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00000000c0)=0x10001, 0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) setsockopt$inet6_tcp_int(r0, 0x6, 0x2000000000000020, &(0x7f0000000040)=0xa, 0x1959cc36) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @empty}, 0x1c) 04:25:10 executing program 5: perf_event_open(&(0x7f0000000180)={0x2, 0x70, 0x69, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0xfffffffffffffffe, 0x4000000}, 0x0, 0x20, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clock_gettime(0x3, &(0x7f0000000380)) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffe, 0x0, @perf_bp={&(0x7f0000000100), 0x7}, 0x49087, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xb) arch_prctl$ARCH_GET_GS(0x1004, &(0x7f00000000c0)) r0 = socket(0x10, 0x3, 0x0) ioctl$TCSETSW2(0xffffffffffffffff, 0x402c542c, &(0x7f0000000140)={0x80, 0x4, 0xb2, 0x4, 0x1f, "ccf6acc5b9ea11d2c5c32869db12cc5d93f311", 0x1882, 0x6}) sendmsg(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000040)="4c0000001000fff1fefefd956f76c9b724a6008000000000000000683440150024001b0000000000000000593ab782115ed9043d51d7e88dc62b2ca654a6613b6a080000001cbc882b079881", 0x4c}], 0x1}, 0x0) syz_open_dev$loop(&(0x7f0000000000)='/dev/loop#\x00', 0x0, 0x0) keyctl$join(0x1, 0x0) write$9p(0xffffffffffffffff, 0x0, 0x0) sendmsg$FOU_CMD_GET(r0, &(0x7f0000000440)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000400)={&(0x7f0000000800)=ANY=[@ANYBLOB="d7d8eeebd9343d78cfacff02ad6832910706b7687119f08cb096b6a5a582bd41ff96606aceae62b841f37a33dea437fd4b9c681a1a9c8941177d6b5da40c69d4ad5f20d514c4d904a7eafe228b7150fd48cb1ee968c6b63335d372da98190f33f60fcdbf267769c2dbc5f49065177a46126b8200e27f3540261850666f57d8b8e8adf86b0a066cb3e68d134d89f59b23f18f8b4c63e362711b1cab4a3cb35430addd34bf2af4d24db618d4cc51ff86bbbf61ba5f8c0500f1e61d9ee6d6d15edcdf8814aba5881e62ebe48648a5b8d54164c4cf4c57983011cd24dcabfb4154e8f6e5241d29094bab7e49ce3cea819e13dd902765b37c9e203e3613d20a92f592216473663989fc865b5e1af2ff529e", @ANYRES16=0x0, @ANYBLOB="00080da96500b200df2503e3000004100500db4f7152502841f69c89ffae9508000000bd8d815ebaf3142def3d60623ebcb73e2b36f8e804c1974c260654fae696c74025835903db464f70c3a564af81bf244b99abc2e6f63b0b35e19a88ea5df1a97cbd42f974793281922bdb5087e00f20df941d7426ab5bb65c73de34d2f0b68564144c532b2c656731e6d4865f294ebc29e19e19442002f7be18f4d858be000000559b645733a4e66fd25346a1559e71d1494d1e98afc846d7ffc75466b7c4fcc74149787002bf468cd468ec000000000000000000000000000000000811d2505f906fefa1f32c0b425cce926aac9f36feec52628f568d46bb3b6526a45ccb027246060580c24d0354ed7ccc8ef0168cba3110"], 0x18}, 0x1, 0x0, 0x0, 0x2000011}, 0x4000081) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='wchan\x00') r2 = fcntl$dupfd(r1, 0x406, r1) setsockopt$IPT_SO_SET_ADD_COUNTERS(r2, 0x0, 0x41, &(0x7f0000000280)=ANY=[@ANYBLOB="66696c74657200000000000000000000000000000000000000000000000000000500000000009c9d82f0ffffffff00"/120], 0x78) preadv(r1, &(0x7f0000000480), 0x10000000000002a1, 0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x7ffd) sendmsg$NFQNL_MSG_VERDICT(r0, 0x0, 0x0) 04:25:10 executing program 3: chdir(&(0x7f0000000000)='./file1\x00') open(&(0x7f00000000c0)='./bus\x00', 0x10307e, 0x0) perf_event_open(&(0x7f00000002c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f00000000c0)={0x0, 0xffffffea}) [ 282.044029][ T35] audit: type=1804 audit(1608956709.994:40): pid=16355 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir209701528/syzkaller.V5X0kG/114/bus" dev="sda1" ino=16313 res=1 errno=0 [ 282.056877][ T22] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 282.081246][T16347] reiserfs: using flush barriers [ 282.097814][T16347] REISERFS (device loop4): journal params: device loop4, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 [ 282.129319][T16347] REISERFS (device loop4): checking transaction log (loop4) 04:25:10 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000001000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b8050000000f01c10f46a78900000066ba2100b067ee4066ba2000b000eeedb9800000c00f3266bac0000f3066b808008ed0660f38806f000f011c268ee0", 0x3e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000000)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c4]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, &(0x7f00000003c0)={0x0, 0x0, @ioapic={0xf000}}) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 282.190154][T16388] netlink: 'syz-executor.5': attribute type 27 has an invalid length. [ 282.200559][ T35] audit: type=1804 audit(1608956710.154:41): pid=16387 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir209701528/syzkaller.V5X0kG/115/bus" dev="sda1" ino=16312 res=1 errno=0 04:25:10 executing program 3: chdir(&(0x7f0000000000)='./file1\x00') open(&(0x7f00000000c0)='./bus\x00', 0x10307e, 0x0) perf_event_open(&(0x7f00000002c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f00000000c0)={0x0, 0xffffffea}) [ 282.261357][T16388] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. [ 282.289090][T16393] picdev_read: 1243 callbacks suppressed [ 282.289100][T16393] kvm: pic: non byte read [ 282.313417][T16393] kvm: pic: level sensitive irq not supported [ 282.313455][T16393] kvm: pic: non byte read [ 282.340657][T16393] kvm: pic: level sensitive irq not supported [ 282.340697][T16393] kvm: pic: non byte read [ 282.382726][T16393] kvm: pic: level sensitive irq not supported [ 282.382800][T16393] kvm: pic: non byte read [ 282.393405][T16393] kvm: pic: level sensitive irq not supported [ 282.393491][T16393] kvm: pic: non byte read [ 282.404225][T16393] kvm: pic: level sensitive irq not supported [ 282.404297][T16393] kvm: pic: non byte read [ 282.415764][T16393] kvm: pic: level sensitive irq not supported [ 282.415803][T16393] kvm: pic: non byte read [ 282.420060][T16348] IPVS: ftp: loaded support on port[0] = 21 [ 282.422707][T16393] kvm: pic: level sensitive irq not supported [ 282.434361][T16393] kvm: pic: non byte read [ 282.445812][T16393] kvm: pic: level sensitive irq not supported [ 282.445848][T16393] kvm: pic: non byte read [ 282.449122][ T35] audit: type=1804 audit(1608956710.394:42): pid=16400 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir209701528/syzkaller.V5X0kG/116/bus" dev="sda1" ino=16309 res=1 errno=0 [ 282.452130][T16393] kvm: pic: level sensitive irq not supported [ 282.473204][T16388] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 282.480975][T16393] kvm: pic: non byte read [ 282.497638][T16393] kvm: pic: level sensitive irq not supported [ 282.539621][T16388] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 282.556206][T16388] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready 04:25:10 executing program 3: syz_emit_ethernet(0xb2, &(0x7f00000000c0)={@broadcast, @link_local, @val={@val={0x8100}}, {@ipv6={0x86dd, @gre_packet={0x0, 0x6, "f83c67", 0x74, 0x3c, 0x0, @remote, @local, {[@hopopts={0x0, 0x4, [], [@enc_lim, @calipso={0x7, 0x8}, @pad1, @ra, @ra, @ra, @padn={0x1, 0x1, [0x0]}, @padn]}]}}}}}, 0x0) 04:25:10 executing program 2: r0 = openat$ashmem(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ashmem\x00', 0x0, 0x0) ioctl$ASHMEM_SET_SIZE(r0, 0x40087703, 0xfffffffe) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x12, r0, 0x0) lseek(r0, 0xffffffff00000000, 0x0) [ 282.710790][T16392] netlink: 'syz-executor.5': attribute type 27 has an invalid length. [ 282.720190][T16392] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. [ 282.805666][T16392] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 282.855406][T16392] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 282.866876][T16392] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 283.329901][T16347] REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[1 2 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2 [ 283.345320][T16347] REISERFS error (device loop4): vs-5150 search_by_key: invalid format found in block 8211. Fsck? [ 283.355975][T16347] REISERFS (device loop4): Remounting filesystem read-only [ 283.363411][T16347] REISERFS error (device loop4): vs-13070 reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD] [ 283.377022][T16347] REISERFS (device loop4): Using r5 hash to sort names [ 283.383928][T16347] REISERFS (device loop4): using 3.5.x disk format 04:25:11 executing program 4: syz_mount_image$reiserfs(&(0x7f0000000000)='reiserfs\x00', &(0x7f0000000100)='./file0\x00', 0x4000000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="00400000ec1f00001320000012000000000000000020000000040000611cad49840300001e000000000000000010ec03020001005265497345724673000000000300000002000100000000000100000003000000000000000000000000000000000000000000000000000000000000000000000001001e003ac1655f004eed00", 0x80, 0x10000}, {&(0x7f0000010100)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0f00"/1056, 0x420, 0x11000}, {&(0x7f0000010600)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x800, 0x11800}, {&(0x7f0000010e00)="00000000000000000000000012000000000000000020000000040000611cad49840300001e00"/64, 0x40, 0x2012000}, {&(0x7f0000010f00)="01000200750f0000000000000000000000000000000000000100000002000000000000000000000000002000e00f0000010000000200000001000000f401000002002300bd0f00"/96, 0x60, 0x2013000}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000001000000010000000200000022000400020000000000000001000000200004002e2e2eed4103005cf9535f230000003ac1655f3ac1655f3ac1655f01000000ffffffff", 0x60, 0x2013fa0}], 0x0, &(0x7f0000011100)) 04:25:11 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000040)='l2tp\x00') sendmsg$L2TP_CMD_SESSION_MODIFY(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000180)={0x14, r1, 0x1}, 0x14}}, 0x0) [ 283.617518][T16462] loop4: detected capacity change from 131391 to 0 [ 283.649258][T16462] REISERFS (device loop4): found reiserfs format "3.5" with standard journal [ 283.681806][T16462] REISERFS (device loop4): using ordered data mode [ 283.707097][T16462] reiserfs: using flush barriers [ 283.724530][T16462] REISERFS (device loop4): journal params: device loop4, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 [ 283.743787][T16462] REISERFS (device loop4): checking transaction log (loop4) 04:25:11 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0x10, 0x0, 0x0) io_pgetevents(0x0, 0x0, 0x3, &(0x7f0000000280)=[{}, {}, {}], &(0x7f0000000100)={0x77359400}, 0x0) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000040)=@default_ap_ssid=[0x4], 0x6, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$inet6_mreq(r0, 0x29, 0x1c, &(0x7f0000000180)={@remote}, 0x14) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x24, r2, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x3}]}, 0x24}}, 0x0) r4 = socket(0x2a, 0x2, 0x0) sendmsg$TIPC_NL_SOCK_GET(r4, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000080)={&(0x7f0000000380)={0x50, 0x0, 0x4, 0x70bd29, 0x25dfdbff, {}, [@TIPC_NLA_PUBL={0x4}, @TIPC_NLA_LINK={0x38, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz0\x00'}]}]}, 0x50}}, 0x40000) openat$btrfs_control(0xffffffffffffff9c, 0x0, 0x0, 0x0) 04:25:11 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, &(0x7f0000000180)={r0, 0x2, 0x2, 0x200}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000200)={0x0, 0x0}, &(0x7f0000000280)=0xc) write$P9_RGETATTR(r2, &(0x7f00000002c0)={0xa0, 0x19, 0x2, {0x2040, {0x0, 0x2, 0x7}, 0x72, r3, 0x0, 0xed, 0x7, 0x1, 0x7d, 0xff, 0x8e09, 0x7, 0x8, 0x5, 0x1, 0x0, 0x10001, 0x3, 0x165, 0x5}}, 0xa0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r4, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in6=@ipv4={[], [], @dev}, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, {}, {}, 0x0, 0x0, 0x1}, {{@in, 0xfffffffd, 0x32}, 0x0, @in6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x1c) rseq(&(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={0x0, 0x6, 0x100000001, 0x2, 0xfffffffffffffff8}, 0x7}, 0x20, 0x1, 0x0) 04:25:11 executing program 5: r0 = socket$inet6(0xa, 0x80801, 0x8000) close(r0) setsockopt$sock_linger(r0, 0x1, 0x3c, &(0x7f0000000180), 0x8) readahead(r0, 0x80000002, 0x40000000000002) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x12) preadv(r0, &(0x7f0000000340)=[{&(0x7f00000004c0)=""/180, 0xb4}, {&(0x7f0000000640)=""/175, 0xaf}, {&(0x7f0000000700)=""/178, 0xb2}, {&(0x7f0000000a40)=""/223, 0xdf}, {&(0x7f0000000b40)=""/178, 0xb2}], 0x5, 0x5, 0xffff8000) socket$unix(0x1, 0x2, 0x0) r3 = openat$tun(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/net/tun\x00', 0x0, 0x0) io_submit(0x0, 0x1, &(0x7f0000001780)=[&(0x7f0000000180)={0x0, 0x0, 0x0, 0x8, 0x8, r3, 0x0, 0x0, 0x7}]) sendmsg$L2TP_CMD_SESSION_GET(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000340)=ANY=[], 0x48}, 0x1, 0x0, 0x0, 0x20000800}, 0x48000) io_getevents(0x0, 0x3ff, 0x0, &(0x7f00000002c0), &(0x7f00000001c0)) ioctl$sock_netdev_private(0xffffffffffffffff, 0x89f8, &(0x7f0000000580)="3bbc310000ea5fb04286d3c42882bca929b66e50ff58bc573a8ebf377fbd8222a01104008a568ca16980028a953f992634e0e1ed0ec2f12b99a9f7445dc3044444d347f685a4479fb3821750635edd555782fd4a674ad84cb243387990948f7b2505f027f002aa42a6f092b3548217d061b73c19b01249d90a9d7b00"/139) sendmsg$NL80211_CMD_SET_WIPHY(0xffffffffffffffff, &(0x7f0000000080)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000280)={&(0x7f0000000c00)=ANY=[@ANYRESDEC, @ANYRES16, @ANYBLOB="00000000000200f69d7d2fef95eaa61f8892f4ff080003670a0f87c87192f3531efc5f039974fcce12faf0676027d1a5fcd501123ac1a7cfbebe381e5600"/84, @ANYRES64, @ANYBLOB="34f68de25c0d0a87ea4ffd17092e4087cbcd6b9fa7ae4273b2cee9ecc415591b436a4bcd3f2fe177530591362232e645187f14869847d71cc476fb710200004bc3741b3ed8e0ed7e8d0b45fcdeaaa405aeb5b315644d32ea5a2ada9fc603fb668dfe1e3389908eab6bd43faaaae25663d724f200160e864ed1143ee1a0519a0f438a47815f9b585310c1753dd3cd41e5e83e5121f512186638bcae64adba05c31c61269161d48b1aceaa607a04774b82333f71bddb24eebcdf95dc687df421fcb09e0accf2d361894c300170388580fb8c5efbb4edd1d9df42492bb19d16c29d22067f9c1d371e2b21cb31e7c262e3e5d420c392dccdbe5bd445386065d37e00162c9cee5fdb696dd0523e9f8066138f4302a0d61e57a28a2db42e00efe41b016fa7b70c85b3c00b2cf989722acdb9710461e5fc9b376709ad11d1a6bfa59c9431e2bae1f93f0965ab0792939077f34389651d841e7079706fcf813a3f2f76686a817c453b326568deae3ed2eb5f2afb2d"], 0x5}, 0x1, 0x0, 0x0, 0xc040}, 0x8880) r4 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) modify_ldt$read_default(0x2, &(0x7f0000000100)=""/14, 0xe) ioctl$USBDEVFS_REAPURBNDELAY(r4, 0x4008550d, &(0x7f0000000440)) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000400)={&(0x7f00000007c0)=@newlink={0x94, 0x10, 0x705, 0x70bd2b, 0x0, {0x0, 0x0, 0x0, 0x0, 0x442d}, [@IFLA_LINKINFO={0x60, 0x12, 0x0, 0x1, @gretap={{0xb, 0x1, 'gretap\x00'}, {0x50, 0x2, 0x0, 0x1, [@IFLA_GRE_ERSPAN_HWID={0x6}, @IFLA_GRE_ENCAP_FLAGS={0x6, 0xf, 0x7f}, @IFLA_GRE_ERSPAN_INDEX={0x8, 0x15, 0x62d30}, @IFLA_GRE_FWMARK={0x8, 0x14, 0xffffffc1}, @IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_IFLAGS={0x6, 0x2, 0x1}, @IFLA_GRE_OFLAGS={0x6, 0x3, 0x5}, @IFLA_GRE_LINK={0x8}, @IFLA_GRE_ENCAP_SPORT={0x6, 0x10, 0x4e24}, @IFLA_GRE_ERSPAN_DIR={0x5, 0x17, 0x1}]}}}, @IFLA_ADDRESS={0xa, 0x5, @empty=[0x4]}, @IFLA_MASTER={0x8}]}, 0x94}, 0x1, 0x0, 0x0, 0xc0}, 0x0) 04:25:11 executing program 0: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) 04:25:11 executing program 2: perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0x7f, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f00000000c0)=@newlink={0x5c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x3c, 0x12, 0x0, 0x1, @bridge={{0xb, 0x1, 'bridge\x00'}, {0x2c, 0x2, 0x0, 0x1, [@IFLA_BR_MCAST_QUERY_INTVL={0xc, 0x21, 0x2}, @IFLA_BR_STP_STATE={0x8, 0x5, 0x1}, @IFLA_BR_MCAST_QUERIER_INTVL={0xc}, @IFLA_BR_GROUP_FWD_MASK={0x6}]}}}]}, 0x5c}}, 0x0) 04:25:11 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) [ 283.977511][ T27] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 283.998464][ T27] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 284.018901][T16484] netlink: 'syz-executor.5': attribute type 5 has an invalid length. [ 284.045552][T16487] IPVS: ftp: loaded support on port[0] = 21 [ 284.110241][T16492] IPVS: ftp: loaded support on port[0] = 21 [ 284.144403][T16497] netlink: 'syz-executor.5': attribute type 5 has an invalid length. 04:25:12 executing program 5: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000001600)=[{&(0x7f0000000500)="89caa1697c5bed21e189d73c57dbca66f4f310cad0d396990218904d6f3fbedba628aaa0efea91183ec0c96e195b0b1c4b943d6bb738a11b0d388bf992e1f7e87bb6607a5b418b2895436202e81e938cf462a5ad49519c1fe04397271e225093902141cd261125e90ffe70e2ec4355f159a17645784a8be1d0921133b18d1d485b86c5f6df6a6528005ca54a1f34e33170f0fac28b67e61c4fd974f62ed12f5fe671d8aa0acff0c71f4705a7f179f5937437d1fdd8dee99bda9373ed52c8baeb65326e9c0e07295b832c7f988cef5ad143075d5036ee67ae19fbddd056b03e1a145bdbd4c7c464583f1611e27d964a26257d5d48865c86dd8c479deba9f206aaf29bef0b04e5ba9813795de18b757577d9bde6fc3ff5fdef225d9b0d83d7e714d9c919feec8282c51a149d1d770bf974c02a646c15e97c985d91ffe28fa519e7d920f9a9bf5a7340eaefa7760f37d208030c3ecaea84278226aedc4729c407a975ffadf5375f56bbd4cc1c372157155a5eaacebc0861bb91e984d0d842df23ee6ab171f2922be8ca96c08b4d4eea7bdea929d032f5259f857cf1d87cb6f39dcfa4ed042d49bb67dae1d648c3e85917ab54582e58fe733df4ea4dabb6f246ae53dec8a8b8beff6b64e6f9ac60cc800004b4d0b23bc34bd3a5d4e2baa21851c583e73ef528678365e844aaaca12ef293a5759b04e92959fb92062870cfae86c44657f5518d01c5932ff2915cb6633507f33b0dc77a8354e83dcc7e5ed81cc742cb32c3fe7b7d0f0acec0d652984177e9ecbb899bbbc0a9cb45da1a025b45f772187d5b1c405edea0c66e8f7b82987afa52557d51ab20d2c5cd65c8142939bb6d5cd2a476bb25d7a5090bfdea3422f32afc9c86ca7dc8cdf958d365198b76df32bb82084abea7997afa52b2f2ea334dfc6e83a81c282b3447f60321b91d2e46d2f7940aa42b74814e34c8def4c09a4a809231499a4d7ee5da481e79fd67e538eca7cc9526546a245c4cf35a2f98f9483808f5540d21034ae03cf6f72c5eeeeac85b8a7ac691a62973d402792cdad6fc823673e20180904ea0b4c1b8a1db735e5279164e450eb919211ada0cd06149a41a387e28f3296cea616dc2667faf7e1e216c25aaaad581acb06b6a4c17eac7779986d39014346ae5bd23c99ea7a9497f92fd48975e637f25020b5cebfd80f28f1e9796dba4a29de5bb2c0d0b7a24759e24edee45885690db6ad847c3a9a09eae334619b9a0b5b023c7c866a70a6e0c0a0803c6b684b7004b92136c718391977054f2e6e6745fa72332d78c5195828f4c35d68f7c51dc829e7531e5aa97c955004ed503d3d58eb09c0474e2a5261e84a2f3f691df3fd2acd5a1af143ab01fbefb924a519b522eb626b546d1c43271771c36a2b96646a04deb1476fd81457b486ac872845aadbcb745aef0c5daf6e3cd73cb2723770f4b3bf728828b0a7c89348a09a6d244a64382f60e0b6785c2c3a8f7f7f80026e1b229d84f47676fc64b307f22d63cd8e66e215552844e24ee2f3c8dfa80c5c8b87bb8cfcd01ce7640d69cdc2408984c8187bd7bb80934cdbbac06b6d6758de768a6683014aebd6ac1de5a7c915ffbb5c00cab79193757a69bc668e17a650a17341ec4baf1879fb93f4be6f5f6c48c62724560cc916d2e6fcdc8880989d24e0327d33e47e9a06607d42efc8a9f8b53e12872ae486cdbfafad4d084c25d21797a8efb6656a51071cdd94812af9f907c5c5d08a0a62e74142ec627fef1b714529c59f9c7312007f9c4ae65bf738bb94bd68e72d594e11798b69f74c11b615d7d2886223d057976cfba9b912d4e06fd70bec58e31164047fb897162c22132d63cf8991067df430166971dbc0be0ffec4c0e47e4fc0914453f94cdb435f9daad51036a8c97952954fe7afec42cbfc46e62c74849ca58848fba7052b335ee563b56de5b3aa1df959215052e045020ee549e8111d591c99ed7143c1a40fc7ce9b70aa68b42b95be583836e90633d01674ef51f4c9e0381debb25476289cb78f23e5bebc5f26b62d8ee582cefbf58a7a11fadf2a6c4b8fa74f7abe12c4acc20788dd1dc38b94d1920b39ea39a727fb80976da1a2f3f1e2d1e0cb77b3be5521ab2664601135e5333ba9be697bf5e9853e39dfbc7fb011cfa08ac598e463eb2f54a1b369cb310104bc6c7c22f80f47510f1653052b736be41795c1bf5d82033214498ddb0907263d2c65482aca8305d556b84718e2650371d2515c5980995d94183b95293af95cf108011c78410161ffd6b5f08febf22d14585ef2ff45dcc38f8e6e8e572128440f2db109936fa863e3f952880fc22dd30afebfd18d8c8d7fc4818ef7b7f333aade0100646db884abf1e522690f014ac970cdf33a8719ecdf038812c16ae9b056ed083ad32651efe65f0808b8adc72826d236c0dbb14d9f5762e1c2f0715990ef5cda932626dbf87c75e80734291e8e332665177593a690353fa1d148e0f38f4fa0fb5bec5f7c721da49de3fc8b947732be4a0e80ab4604868212531a1239a3a49069a6fb32dbc43c851819dfd5e0f62587c27c0c1970004b7d2326adfbe4d1d8c6351eb29f53deacfd3b1c1f43ab831189147db8348d3a721146abe20cb88ed8157241ed974fec80965fbce90e0058529b12818c867f8d231805ae9878e20fd274bbc54a9ca858a1b3ef557a6ab0043", 0x774}], 0x1}, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000002040)=ANY=[@ANYBLOB="b702000003000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000008009500f10100000000487591731cba12c07d57d995b61e89a4530f92304f242b416ae9eeefc0e9c60ebab1c176bf9bb4dde984510c82dc2b9381b72b100d0682fd0a0c4ac106b29e220dc28dac7259945654c4e6f3fe2d1dee18f638947b5e026a3287c84ccc72876ef3834293812e927c01c7daffffffdfc7f2ed1084a12f56d1cb398dff1db3df9858837458a4ca037605000000b6be484e4c9507af216bd8ed42f7dd5adb8e49f4a94615e49c0bc9a20819e02cc22e6be45574d4ed88b37ab8d7674c644dca2f1b4d745fd95c41f9dfc1adafd1e5a3e7f2e89896e0b43e438c4e41ae43ea118e14ffffffffe4b8b99bffffb1ac006c67767b03b95151aeb89e6d4a43c625aa2285b6e4af130b7d98b215ba22f43115f4d39dc7a0edb130d9f2be90133a4500000058b8c9370634060105baa664950dadbc5a09631156bc8715b985a8a63d4c9fc570de6e9cfa9d9e57033815717b4fdbe55b37cb8d7f41aacfbd4089ea1bd22440f64909a09b5a759a703e71f358e11ac8604a4f279b3bd6621bdf2c17bc0400000000000000ff8dc4006200607a9a76e5d9656a7155c75773902a1bdf399df3925130312d095e9c1f973d091c198c1a11edb695cc425fe203d0f265d4c153d5ac020262cf4aff5a76865c2c34e2470fcfb1248c09af93a09fab1daae4b518d7a5d95a017864487367d6d7ee7bb0749cacf56cf27409c60fca2e0004000000000000a9cb6fca7844f9dab530388eb1f03d4abbfc59d6d1b18fe380df4bf033f120bd715d82033f2fb752fc9e0d77b294e097e293db6e992c0024ab2fd8e5e7fb178f047ba32548b4d32972cba6f49051cec1bf6f16231bbb90a2d201e5a47811a2278a03bf7700b06fa191ebd3bec2ef0058ffebd7ccde2480ae40d6156edc4ef81f74a7cdac01d998c24f34a5ba9a4a2039d0416e3f81074192c48c63384f52b8eeb70571e5bbb3e6d2b5eba51aff0f00008981811f832d064048c0674053d0e160e525536edf56a93d0a7a6f0000010000000000ea6ff57ba6ae46c5e8ca4f78d5a01308243b08f1caa46be5244d64f8e87501000100000000001cdc8e5634c1360c056430f677ee7ed7ac1f9743786b2fb8d0fcfcc3d36c93230b7b059bc295aa0e38b1c3edc3492bddc2000060acfd8145e4a5851bc4d6fdc5ad939d7795f3879baa88bd0c84892c97c80987e5c7954e9f3694d116b01ce0b8ef953de70e7ce0311c8b018956f8a42ca26ab295f1ecf607a8dc38ff25f415a1bd46b38845ebca04061bacbf627f798c7f520078fee48f83b5989543729e36a9e1d686bc86cd51704f309130f5347413776a7b7bea3c46c0c4c4b7c27c45057d95ac85ac1cdcee8e6fa31fc02137ed1fb4b21c13b9a2c5e3f7c9ef9c45a314a6f0b9352be92986d63263b1aa5264cb4a82cf080d768f42237abfa56a6632624c9c3a3c88c9f7e1f87808d0711dd76f2977ca7f2684bfa5c14ae913dc9d61d34e4e9851e81d4a355abf43d917c16a2bb0cfb284fcfde901576954ef59e4a658ca431be123b9ee2c8ff10e934847604d930f62924d0562ce17f6dadf5053ed8f33092a41bb463c407f87dafd6199f9ddd1f62da58ca7d3297d6a1bfc5a9aa38a05e70591d5cdab1c268ef3c1984c7c51566cfc2ab6e6fbc99ec206a54fb49056a555414178ef00d8b873c59f01eb5d83415994efcc6ec4b3c275cd6b1b5ff82ef7d7abb1d018e7a1d0afa285706841aa3f8972e8049c681d1185f6a01fdd70569dde45f8ad62edc65828fbb6e279f745d2872f0c08635e465ca443a6a64c7803760880af23fb3f438a5d11fffc96dd1cb951642f14f0d17289c43d4aee21270200000000000000c23e1c864164e130754b337e520f285dc770a31241bfb43ac62fec261c8aa9df6dbc47aefe821b43e38cd1480372a66effcde93715922ba8ae8979adf43629162f4f55faee515b6793e9e6799fc2319cbfcab3b01f0cb91b4ae0396b9ffed2acce2a7b6a00000000000000007557a6aadfaa0500000040526d6e200bb94d7a77bf5d5abdc14090210efdafd1dfcaba6cf1cd00d3f3b0b0601d7c7eb57a42c210cc06ccf7f31028f5810f0fd249c6fefd139cdbe0044b877ab0a84011fe7ffe9e11f76052654df20929980e7e46beafdea6467a70a3dce7f078c9005546af5d1fe6aaa61da9fa0de04df717526c528fff0c81c6e9dcc9c4c039d0f997cc0f205b094cb4271a00740fbb7dc6ee0652ae3d9aac8eaccdbff2e01884dfb2dc27bea6d65773765ab7fabacf8fbd06c0a04b373b8e8853da50ef2f00662e2f226f48598a0ab4251c5b3f7bd1c2b3180b07a165055b594ac7847ce9f64b27f3d899c075e4f90d798bb9c3bcd7db1110c2e55a7fdffebca72d2f5400000000000000000000001a57e5213276bd4327e56edb4dc5c53f092d7731aa878e11f191c603e26fcb75bd71d208c48f079d46f250c0986fcea9d0fd928d0c91c7c557f0d1d7af5a7ae8162d932f593ead70be49016666d524fc25509b4dced2b022eef21f4e790d84db9cbf365d09d186cb5e3f25083f96b21b51e133b1ca54d9513297df9e9b61ec4f14086c64bb5ee5236fc2b28a366844a2abd08953badfde215addda397aa1d356adb4aa6a22d1ef35d0b399060000000000000007d5302e4064acb29eaa9ace803423fda840db1dea91ebc46b6b316a5b10001b7348ffdd6841e110842533d5016ea182416c4b0000000000000800000000235cbc20c97357706195e2e81e559c6541206123978dea6ecfab843a001e9df62c7709a8b2cfbc26820a4674325f4440028b84bbca022199c2776fe91e52e6a7c2f86c4f5ae88fb043c8f8db94501a11bfff94c1d4b2d3146a5d35034fc55c4006e87351bb1c9465cc2e5ec4362a7528ff13c465c73c7b17d1ee2be7458c64af56ec54cd77277ca49f256324be8dcb2115241e5a8cda56f05bb0b65e63516ce58f1bd39b1dcf772516120e674178dc7ccb35051a891c8e83e1a5d75117f1117b96f07876299274936945cdd25cc43aac209a95954508bee71ba7e82feaf77eb4072fef6a703b1040478067b32a9669fe19b8f1a21f71917bd3b452667203add650cec29d044c598e80fa2155f0230c84c850798676abbef4fb0d7c8f3e4a14b80b4f834972eb178c1c9e42619a8c524e3c6e606149b6805fc8e79d08d4843c2d5774c665ef757aee48e0a56101fba654a64e8ef06827b549547c1da17b608f6b6c7309ae3968bafb44a19a26c6197d0cb857f91e63b06f827abee7065472368dc4136aa6c19c14c14bc2e1a69d126c34458445748831d064badd2a557dd155fa1bcd24568a45c0616eeca2dcf0c5edf20a867ddb107d7d887271c27320fe625bce3adc9caaef9bea6d8c2eea7da76ed4776837750f9138f647e63073c8752951fdf9fc92cb59841435484481f0f3ae09d8f0de5b"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x222}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r1, 0x18000000000002a0, 0xe80, 0x3f00, &(0x7f00000000c0)="b9ff03c6630d698cb89e0bf088ca1fffffff0e000000631177fbac141429e0", 0x0, 0x2f, 0x7000000, 0x0, 0xfffffffffffffe2a}, 0x28) 04:25:12 executing program 5: r0 = fsopen(&(0x7f0000000040)='cramfs\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) 04:25:12 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000000c0)='/dev/snd/controlC#\x00', 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_HWDEP_INFO(r0, 0x80dc5521, 0x0) 04:25:12 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) [ 284.774907][T16594] IPVS: ftp: loaded support on port[0] = 21 [ 285.315045][T16462] REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[1 2 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2 [ 285.332841][T16462] REISERFS error (device loop4): vs-5150 search_by_key: invalid format found in block 8211. Fsck? [ 285.345443][T16462] REISERFS (device loop4): Remounting filesystem read-only [ 285.353526][T16462] REISERFS error (device loop4): vs-13070 reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD] [ 285.369106][T16462] REISERFS (device loop4): Using r5 hash to sort names [ 285.377081][T16462] REISERFS (device loop4): using 3.5.x disk format 04:25:13 executing program 4: syz_mount_image$reiserfs(&(0x7f0000000000)='reiserfs\x00', &(0x7f0000000100)='./file0\x00', 0x4000000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="00400000ec1f00001320000012000000000000000020000000040000611cad49840300001e000000000000000010ec03020001005265497345724673000000000300000002000100000000000100000003000000000000000000000000000000000000000000000000000000000000000000000001001e003ac1655f004eed00", 0x80, 0x10000}, {&(0x7f0000010100)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0f00"/1056, 0x420, 0x11000}, {&(0x7f0000010600)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x800, 0x11800}, {&(0x7f0000010e00)="00000000000000000000000012000000000000000020000000040000611cad49840300001e00"/64, 0x40, 0x2012000}, {&(0x7f0000010f00)="01000200750f0000000000000000000000000000000000000100000002000000000000000000000000002000e00f0000010000000200000001000000f401000002002300bd0f00"/96, 0x60, 0x2013000}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000001000000010000000200000022000400020000000000000001000000200004002e2e2eed4103005cf9535f230000003ac1655f3ac1655f3ac1655f01000000ffffffff", 0x60, 0x2013fa0}], 0x0, &(0x7f0000011100)) 04:25:13 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, &(0x7f0000000180)={r0, 0x2, 0x2, 0x200}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000200)={0x0, 0x0}, &(0x7f0000000280)=0xc) write$P9_RGETATTR(r2, &(0x7f00000002c0)={0xa0, 0x19, 0x2, {0x2040, {0x0, 0x2, 0x7}, 0x72, r3, 0x0, 0xed, 0x7, 0x1, 0x7d, 0xff, 0x8e09, 0x7, 0x8, 0x5, 0x1, 0x0, 0x10001, 0x3, 0x165, 0x5}}, 0xa0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r4, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in6=@ipv4={[], [], @dev}, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, {}, {}, 0x0, 0x0, 0x1}, {{@in, 0xfffffffd, 0x32}, 0x0, @in6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x1c) rseq(&(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={0x0, 0x6, 0x100000001, 0x2, 0xfffffffffffffff8}, 0x7}, 0x20, 0x1, 0x0) 04:25:13 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000000c0)='/dev/snd/controlC#\x00', 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_HWDEP_INFO(r0, 0x80dc5521, 0x0) 04:25:13 executing program 1: pipe(&(0x7f0000000400)={0xffffffffffffffff, 0xffffffffffffffff}) vmsplice(r1, &(0x7f0000000040)=[{&(0x7f0000000140)="18", 0x1}, {&(0x7f0000000000)="e5", 0xfffffe6d}], 0x2, 0x0) close(r1) socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000000)=@newqdisc={0x8c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0x5c, 0x2, [@TCA_TAPRIO_ATTR_PRIOMAP={0x56, 0x1, {0x2, [0x0, 0x0, 0x0, 0x0, 0x2]}}]}}]}, 0x8c}}, 0x0) splice(r0, 0x0, r1, 0x0, 0x10000, 0x0) 04:25:13 executing program 0: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) 04:25:13 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) 04:25:13 executing program 1: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000001c0)={0x2, 0xa, 0x0, 0xd, 0x2}, 0x10}}, 0x0) [ 285.525869][T16633] IPVS: ftp: loaded support on port[0] = 21 [ 285.526669][T16632] IPVS: ftp: loaded support on port[0] = 21 04:25:13 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000000c0)='/dev/snd/controlC#\x00', 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_HWDEP_INFO(r0, 0x80dc5521, 0x0) 04:25:13 executing program 1: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000040)={0x802}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000002c0)=ANY=[@ANYBLOB="1c0000005a000106000000000000000000000000080001"], 0x1c}}, 0x0) 04:25:13 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000000c0)='/dev/snd/controlC#\x00', 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_HWDEP_INFO(r0, 0x80dc5521, 0x0) 04:25:13 executing program 1: clone(0x8100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0x2, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x1000000}, {}]}]}}, &(0x7f0000000040)=""/197, 0x36, 0xc5, 0x8}, 0x20) 04:25:13 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000001b00)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446c7670568982b4e020f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e37c650aa9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07aa376c219ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbcebdde502000000149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300020080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1bfeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b001d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f668245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fb06a5caa751ff8d048624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000007000000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73c683bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd3177c902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff01589646efd1cf070cd7bb2366fde4a594290c2a5ff870ce5dfd3467decb31f3fbe6fbd822679e5f9805cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969c41595229df17bcad70fb4021428ce970275d13b70000788f11f761038b75d4e832b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e3eacd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece87f99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc24f24c9ae153eed2dc0694da85beb9f5f4d780000000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb7399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe007fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d2a40d40001ab63e96ec8485b3b8a8c9ae3d14f93100c2e0893862eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50e349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa37094191e10096e7e60fc3545a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f76386f153633e28e1a5ccb7826e29c6bc5a1fad6ec9a31137abe659f21019532b479d779fb3f9a404abde7750898b1bd627e87306703be8672d70d1b73a000028a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000094c4a13f00000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e2209c96be662a51e3a0e2505bc7f41019645466ac96e0d4b3bc19f5f3c334b47f067bbb3e30b542a428f1da1f68df75cf41f0000003726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0dfbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e894f745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d76331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254b81faae79b6af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e097a1ff52f60f7b6c6e0f6c455f4c253171cc47d6b70ebc660309e1e245b0fdf9743af930cd6db49a47613808bad959d8beb91af405000000000000009bc7d4c7a56610214c7fceeca2c61ba4f9400fe7382fc02fe6deea87fa72174bae03bfeba88cb8a6f5cefc022ef16cb08612e1c10051e66e08edac58ba6a1da0c12905e1129a9dc8150e6be2b03c0c6ea8602ad116caaf3d421f5e365b1268e01b1d12a75eccf6cdccd5d7da106a581392e1cfeb99b9f970ba00ce4d6a3c71e03e4650534ad4c84dd757181b93e78016f74877aac07eee23462402c81660447056efe5ad61bfc22765a558cbbec8a5119b1dfe8a8257b78f4069f67b5c63de4deabae48ad2eed26fbb132704afda04c5762cf1622d975f8d5055031ba4d80ac5f0dabfcbc6947003700910a5902c922f8693702e2575feb72f3ca255af32acff8bc9bb58bcaf9ee99669fe8e77d096734197cedb77de3567ba9f6e565aeb97d9877532af5bb594e7003e9a9396dbce8863bf338227c53e93b9df7c08253321cc1a8044bb67bc3e54146f97d8c08f5d583df53209cf4d2e50446d4dca172e494f1d442f8f5ed8ff52cc740a5a553a718ca72470d19785825c2a606cd17b55337efd0041ef1a45f3fb81933a513a7a0306de75bef6cc93c3512476ef6845ff66807a6dc063c8f4af258b5f11cfb9f36373ae88b9e1e099ea53e31606d878575554befd04f68759cb2489ca7731fb13e9e42371fb87e8fea2e31ad4d2c1c9efc620420dfb0df28fd5f198d2790524bab0e1040d2c9230379b8fa28ad7e59e007439664b433fee01175984443500f814a9bad73140c98971aaec4bffa4e512f02c0d68a675ad3d590d2ed0cb7076b13d7664e9f63e596f2b9e40369d8df33a67982665cc4cfa1a9346da3d3c4f157c6b2eb492dddea2ee39b555709545b8b0281d9fc5bf022b5c6755a490af93c086d4d6c1874766688057cbc36b79f38a3c2219de82ee3dbe1979c96bc93f619432b962af421aa34d62d9fe07253f9c33ceaa405dd2a254756d4c1fc72ec30baf3f83b81f8c278b5fa26857c22a4e77cea8d729588903c96bf1e2966c47766eaeab6d3d146e0a7f9fc4c1701013576e5dcc55e59ff1553d22017af6bb05e1a82bfb06da4f5672037a9d8c499cb157bc68b29b24fee10c19264781afe0bcd5bda2383c2de317192a716a8f2803410a057438cbf7bbde13aff18f2b15f6e7fbed1fc8aab8c8e0fe49b5d5c7c5e6299a052ab7db31edf949a3d84e220d782cc722b1b941bae45be0a248df4c6b32633d81b1a15a76563d3ab9198c4c1bdf7012bb9ddd10415b022da7c8414851c30b33d43d9eab133ba4ad885b895623"], &(0x7f0000000100)='GPL\x00'}, 0x48) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000040)='sys_exit\x00', r0}, 0x10) r3 = getpgrp(0x0) r4 = gettid() kcmp(r3, r4, 0x2, 0xffffffffffffffff, 0xffffffffffffffff) [ 285.923509][T16701] BPF:[1] FUNC_PROTO (anon) [ 285.938927][T16702] BPF:[1] FUNC_PROTO (anon) [ 285.951277][T16701] BPF:return=0 args=( [ 285.961407][T16702] BPF:return=0 args=( [ 285.969974][T16701] BPF:0 (invalid-name-offset) [ 285.984119][T16702] BPF:0 (invalid-name-offset) [ 285.995534][T16701] BPF:, vararg [ 286.006809][T16702] BPF:, vararg [ 286.011139][T16707] loop4: detected capacity change from 131391 to 0 [ 286.020429][T16701] BPF:) [ 286.027250][T16702] BPF:) [ 286.031043][T16701] BPF: [ 286.065711][T16702] BPF: [ 286.068669][T16701] BPF:Invalid arg#1 [ 286.092758][T16702] BPF:Invalid arg#1 [ 286.098317][T16707] REISERFS (device loop4): found reiserfs format "3.5" with standard journal [ 286.115640][T16701] BPF: [ 286.115640][T16701] [ 286.135279][T16702] BPF: [ 286.135279][T16702] [ 286.155391][T16707] REISERFS (device loop4): using ordered data mode [ 286.188426][T16707] reiserfs: using flush barriers [ 286.217821][T16707] REISERFS (device loop4): journal params: device loop4, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 [ 286.255690][T16707] REISERFS (device loop4): checking transaction log (loop4) [ 286.963252][T16707] REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[1 2 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2 [ 286.978658][T16707] REISERFS error (device loop4): vs-5150 search_by_key: invalid format found in block 8211. Fsck? [ 286.989583][T16707] REISERFS (device loop4): Remounting filesystem read-only [ 286.997050][T16707] REISERFS error (device loop4): vs-13070 reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD] [ 287.010809][T16707] REISERFS (device loop4): Using r5 hash to sort names [ 287.018034][T16707] REISERFS (device loop4): using 3.5.x disk format 04:25:15 executing program 4: syz_mount_image$reiserfs(&(0x7f0000000000)='reiserfs\x00', &(0x7f0000000100)='./file0\x00', 0x4000000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="00400000ec1f00001320000012000000000000000020000000040000611cad49840300001e000000000000000010ec03020001005265497345724673000000000300000002000100000000000100000003000000000000000000000000000000000000000000000000000000000000000000000001001e003ac1655f004eed00", 0x80, 0x10000}, {&(0x7f0000010100)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0f00"/1056, 0x420, 0x11000}, {&(0x7f0000010600)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x800, 0x11800}, {&(0x7f0000010e00)="00000000000000000000000012000000000000000020000000040000611cad49840300001e00"/64, 0x40, 0x2012000}, {&(0x7f0000010f00)="01000200750f0000000000000000000000000000000000000100000002000000000000000000000000002000e00f0000010000000200000001000000f401000002002300bd0f00"/96, 0x60, 0x2013000}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000001000000010000000200000022000400020000000000000001000000200004002e2e2eed4103005cf9535f230000003ac1655f3ac1655f3ac1655f01000000ffffffff", 0x60, 0x2013fa0}], 0x0, &(0x7f0000011100)) 04:25:15 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, &(0x7f0000000180)={r0, 0x2, 0x2, 0x200}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000200)={0x0, 0x0}, &(0x7f0000000280)=0xc) write$P9_RGETATTR(r2, &(0x7f00000002c0)={0xa0, 0x19, 0x2, {0x2040, {0x0, 0x2, 0x7}, 0x72, r3, 0x0, 0xed, 0x7, 0x1, 0x7d, 0xff, 0x8e09, 0x7, 0x8, 0x5, 0x1, 0x0, 0x10001, 0x3, 0x165, 0x5}}, 0xa0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r4, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in6=@ipv4={[], [], @dev}, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, {}, {}, 0x0, 0x0, 0x1}, {{@in, 0xfffffffd, 0x32}, 0x0, @in6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x1c) rseq(&(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={0x0, 0x6, 0x100000001, 0x2, 0xfffffffffffffff8}, 0x7}, 0x20, 0x1, 0x0) 04:25:15 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001840)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x0, 0x1, 0x83}]}, &(0x7f0000001600)='GPL\x00', 0x5, 0xb6, &(0x7f0000001700)=""/182, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 04:25:15 executing program 1: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() write$sndseq(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @ext={0x1a4, &(0x7f0000000140)="c4c691019919da078a0098d1e0a593b040f762910000000000000022addee07bee0d6333b5cacd893169b618322ff6602022511253508b5a4496728c2a46e1bc340e29b9ab9b7136283e350808ffdb2dc4a741357baa16dacdcfac32957dc8bb44e203c4b1bc83d8c0b29f75bcf2e3482945fef116371f8c8c0c4db583a208718e3cccd9dd3bf7a0b9daf36c29d2d3e73af34a91a4a8844ee497e66452419a30843900bb4ff9a7df5ee0fdbb6e3a288594f90399513f49d5135aea235f80005999dd604f5f3bcdc9ded4aad49dc3d25b919b831d2c8eb2060000eedf485234af0e7317f1ec9f9a795c2163cb1544c90bc92b31e0cc668a8243dfa0a42ab126a3bc56ec0a36ad755bd232b3b6b83190da0000000000009eceec943e3feba5283d4378316fe9f61968d689f86b8bb766434331d362575a8e52781e792f3fc8a42d591814448b3fb5dae95c6dd8b64c77312beb2e3f9fb79401e320043a93d3de86bcd896464af8a5f56baf56f87d9692df8843fbf2156a1861cb1906a3a49414ff21ed731057362dc87abfac12b7db4a5d6ec274980c4b51c39c809a2e2e86e4bb5d739029"}}], 0x1c) wait4(0x0, 0x0, 0x80000000, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000040)}, {&(0x7f0000000000)="0832f497d38350418e4bb321019511dc5df26e9a0b7ecb6974f527cc14538d1efb1ffe03284f6d33265be9c604b293f20e96beeb2aa4c457ac37a3a3f1ce8682500fcecd80", 0x45}], 0x2, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x17) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) r1 = getpid() tkill(r1, 0x2f) 04:25:15 executing program 0: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r0) socket(0x11, 0x800000003, 0x8) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000180)='/proc/capi/capi20\x00', 0xa280, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@ipv6_getroute={0x34, 0x1a, 0x0, 0x70bd26, 0x25dfdbfd, {0xa, 0x10, 0x0, 0x8, 0xff, 0x1, 0xfd, 0x0, 0x2000}, [@RTA_PRIORITY={0x8, 0x6, 0x5a4}, @RTA_MARK={0x8, 0x10, 0x48}, @RTA_OIF={0x8}]}, 0x34}, 0x1, 0x0, 0x0, 0x2400c004}, 0x8cd0) bind(0xffffffffffffffff, &(0x7f0000000380)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000240), 0x6) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) ioctl$sock_bt_hci(r2, 0x400448e7, &(0x7f0000000000)) 04:25:15 executing program 2: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000c00)=ANY=[@ANYBLOB="b702000006000000bfa300000000000007030000007effff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000000009500000000000000496cf2827fb43a431ca7ebfcd0cd00006ed3d09a6175037958e271b60dedf8937f02008b5e5a076d83923dd29c034055d47dafe6c8dc3d5d78c07f34e4d5b3185b310efd4989147a09000000f110026e6d2ef831ab7ea0c34f17e3adeef3bb622003b538dfd8e012e795780f4580d760551b5b0a341a2d7cbdb9cd38bdb2ca8e050000003a14817ac61e4dd11183a13477bf7e060e3670ef0e789f65f1328d6704902cbe7bc04b82d2789cb132b8667c21476619f28d9961b626c57c2691208171656d60a17e3c184b751c51160fbcbbdb5b1e7be6148ba532e6ea09c346dfebd31a08b32808b80200000000000000334d83239d0c2e9ff10ff2d27080e71113610e10d858e8327e701fb6c86adac12233f9a1fb9c2aec61ce63a38d2fd50117b89a9ab359b4eea0c6e95767d42b4e54861d0227dbfd2e6d7f715a5f3d74ca891c4594e8a4399e01eadd3964663e88535c133f7130856f756436303767d2e24f29e5dad9796edb697a6ea0182babc18cae2ed4b4390af9a9ceefd07e002cab5ebf8aad34732181feb215139f15ea7e8cb0c7cbe31fbae7c34d5ac5e7e64c21add9191eadd6e1795ad6a0f7f8cd3fcc3dc3dec04b25dfc17975238345d4f71af35910b158e56657b7218baaa7cbf781c0a99bd50499ccc421ace5e85efb17c7beba3da8223fe5308e4e65eebaace04f4087c4f0da0d9a88f9dbb593ddebf70132a4d0175b889b8eccf707882042e716df9b57b290c661d4e85031086e97bcc5ca0e221a0e34323c129102b6b7a643e82e88a1940b3c02ed9c92d6f64b1282dc519b00159830d7617001154c46bd3ca96318c570f0721fc7aa2a58090000000000000094f22cdf550ef091a78098534f0d973058594119d06d5ea9a8d0857382ec6e2a071474cfc12346e47ad97f4ead7cf754a52e4b2d0f22d428bd705414888700a30e2366c6a06b3367a389ca39059787790017b0689a173db9c24db65c1e00015c1d573dab18fd0600885f1ea8f2453dcb6a2bfd299fc3cdafda323e9c7080397bc49d70c060d57bc88fbe3bbaa058b040360ab9261503def363fb099408885afc2bf9a4f8c35070669ea69f5e4be1b8e0d634ebc105697e98186fc5141bd670dba6623279f73db9dec75070cd9ab0fd96b069ef6d2857b6bf955012cf7fe50d133da86e0477e4a6cc999dc21c3ef408e633dfa35f14d6e734837d365e63845f3c1092f8dd4fc7eac9e8af3904ea0f4b82649b83ed4fa0f873339c4cad4ead1348474250eda2c8067ab743c1d82a5687f2ed690000522a0b7426000000000000000000000000000000000000000093fc7a82b98f99d9dedf7ba17f5f0b6d15e552fbd21f7eecff10241f43af03eea84c4304a5d3f93c3fc74c00000000000043e1ed82b9aa0ae92a499984a082776eb0937523f5292d126599d4345cde64f903c3415c618a32c2318f0858f19c6def80e1481e8e1c0098fc3f38b7a57211adb15d824cfdcf229628c0de49860a442863d6e257cfa4ce50f3d163d442824414a7da26cc86d7e18631c2061b1c8a8e3c06837fe08de62f8710ca977960b74d0000ce73da6022a8671d1a3575b4e18c28c73203bf134686dd65808452cb6b76fcb134252c78de9b240de7b4cd015a77f76bb6470c05fc980b3d8f3f964f432a4bf6cddd6222c2da006b6fdb9c8468ae1d986a893b9519444d16a6dfa92c04331a6698507048fab5ae402acd05fe621f22712dfd09ea4770b4278fa14547d8ce3c21188e5e4e2baacd98e8e443d6aaafe80053636ed1d99346c2468dd952595d78e9583bf4ea5de36099e3cddcb23aefd124b0ab85580f4ebb6eddb9e87c9ece874be869b3abe1c6ea55887dfa18d0aea136eca5a883702b0bf3aeebb225895db90e237157a34e9f447237ea5b391bddd1290f7ce987a0e36b8e71b1779bbe95ffa9c3c0f6ba66e4d48e75253e49d21836e4b3220616aafbe7a3a18375ae593eb58fd500426286472466823cb8e1800aaaa0d9463c0c4ea5541a55df6eeffec0b6a7651004132c6e0898374c644eea45de7867a0efbad0ab2bc33b350440a90b79134e42da4e030916d86a7c2e1b2b33f74a112a3b91b40bed8db2df8633207f8387e04ca52ab0f3f7b058b13523b896800b992972d9609551c27a5916ea16069c5bf55b98d926d3c27e7945b29996e5cefbc9f857bc1332d200194f219821e21b790c475b14b7fe4fe002dffd651faa79bb0cee0cdac2bc3218f2ddaa6f7ba04b696a30d313bed388a88da09c01a4b827aa1784d927aca9b8540534c5c49a424ccfbc2213fc1572b0204dd456c81a454d1f32fb169974aae624ea59500f5e048b2780666d7f49af25be909984aea1bc1f33426f86b4b941c08dfe2bc8ec246ec1aae120d32405e428923f3a83d9ba5c8ff226ebf2120b451e2806370f1ed60c9fd5d9af4d16cb0f413c324da52d4bd2e01d3ac2d578d72e4663322dfc9245ce3e3a097fb82f4e3b61a570b96f8274f72f1c55ee3d325c7496afc2f10cfea516ae436751227378f00ca0f1f6c1dc700dd90b96a330f92bff736c83ca53e7f02b734d1a9292896f5d7f244bfab4946c7042e88206f641eafcc5b4ba7a7880533cdeac995d7a0084e7adc2dc12417997b03087c7b3b44b06f6158a2a18ce0e56ffbeb22f40521dd9972583d413098aa80db98ef324a2bfb6961c07b47521973cf0bb6f5530f6216b047b35d6e06b72b22b29de42bb1bc8ce0a0e3500000000000000000000000000b92eb197e414962792dab2414689a540d2801792756f90b37f0858efc387f5592024314a4b0ed750fa72e5948ac30f5921c14ef578d413e7b2a9e2f87f7b44949fe14c000000000000"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000040)={r0, 0x18000000000002a0, 0x42, 0x0, &(0x7f00000000c0)="b9ff0300600d698cff9e14f008004de7f9c764362ae28eff07000300000000a08b7907080394e5d04e0d5e9f7933b474b67b2b4b777b5c15d51e3e7b1263afc0bac3", 0x0, 0x200, 0x60000000, 0x0, 0x0, 0x0, 0x0}, 0x40) 04:25:15 executing program 5: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) connect$bt_l2cap(r0, &(0x7f0000000040)={0x1f, 0x0, @none}, 0xe) [ 287.156340][T16728] IPVS: ftp: loaded support on port[0] = 21 04:25:15 executing program 1: r0 = socket$inet(0x2, 0x4000000805, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup3(r0, r3, 0x0) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r3, 0x84, 0x64, &(0x7f0000d6cff0)=[@in={0x2, 0x4e20, @loopback}], 0x10) sendto$inet(r4, &(0x7f0000fa3fff)='\t', 0x1, 0x0, &(0x7f00006f7000)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) sendto$inet(r3, &(0x7f00003cef9f)='7', 0x1, 0x0, &(0x7f0000618000)={0x2, 0x4e20, @loopback}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x1d, &(0x7f000025e000)=ANY=[@ANYRES32=0x0], &(0x7f0000a8a000)=0xc) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r4, 0x84, 0x7b, &(0x7f0000000200)={r5, 0x2}, 0x8) 04:25:15 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) r2 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) r4 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r5) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = gettid() sendmsg$netlink(r6, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)=[@cred={{0x1c, 0x1, 0x2, {r7, r1, r3}}}], 0x20}, 0x0) 04:25:15 executing program 5: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) connect$bt_l2cap(r0, &(0x7f0000000040)={0x1f, 0x0, @none}, 0xe) 04:25:15 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001840)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x0, 0x1, 0x63}]}, &(0x7f0000001600)='GPL\x00', 0x5, 0xb6, &(0x7f0000001700)=""/182, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 04:25:15 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) r2 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) r4 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r5) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = gettid() sendmsg$netlink(r6, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)=[@cred={{0x1c, 0x1, 0x2, {r7, r1, r3}}}], 0x20}, 0x0) [ 287.582259][T16785] loop4: detected capacity change from 131391 to 0 [ 287.600972][T16785] REISERFS (device loop4): found reiserfs format "3.5" with standard journal [ 287.610571][T16785] REISERFS (device loop4): using ordered data mode [ 287.619265][T16785] reiserfs: using flush barriers [ 287.624874][T16785] REISERFS (device loop4): journal params: device loop4, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 [ 287.643102][T16785] REISERFS (device loop4): checking transaction log (loop4) [ 288.320454][T16785] REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[1 2 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2 [ 288.335804][T16785] REISERFS error (device loop4): vs-5150 search_by_key: invalid format found in block 8211. Fsck? [ 288.347220][T16785] REISERFS (device loop4): Remounting filesystem read-only [ 288.354817][T16785] REISERFS error (device loop4): vs-13070 reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD] [ 288.368577][T16785] REISERFS (device loop4): Using r5 hash to sort names [ 288.376048][T16785] REISERFS (device loop4): using 3.5.x disk format 04:25:16 executing program 1: sendmsg(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000002c0), 0x10000000000000cb, 0x0, 0xffffffffffffff69, 0x20000001}, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x1) socketpair(0x1, 0x3, 0x0, &(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89f2, &(0x7f0000000080)='ip6tnl0\x00') perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1, 0x1, 0x0, &(0x7f0000000740)={0xffffffffffffffff, 0xffffffffffffffff}) perf_event_open(&(0x7f00000002c0)={0x0, 0x70, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x81, 0x2000, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000000c0), 0x6}, 0x8, 0x80, 0x1fd, 0x0, 0x0, 0xd6}, 0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x0) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x1, 0x32, &(0x7f0000000180), 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmsg(0xffffffffffffffff, &(0x7f000000ad80)={&(0x7f0000009b80)=@xdp, 0x80, &(0x7f00000009c0)=[{&(0x7f0000009c00)=""/4096, 0x1000}, {&(0x7f000000ac00)=""/97, 0x61}, {&(0x7f0000000680)=""/56, 0x38}], 0x3}, 0x40000020) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) close(0xffffffffffffffff) sendmsg$tipc(0xffffffffffffffff, 0x0, 0x48000) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz0\x00', 0x200002, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000040)={0x2, 0x4e23, @loopback}, 0x10, 0x0, 0x0, &(0x7f0000000940)=ANY=[@ANYRES32, @ANYBLOB="ff2b894d5d59be655e6addbf96394e23d6b163c4a20775db34060270c37d7ea4", @ANYBLOB], 0x12c}, 0x40054) sendmsg$kcm(r0, 0x0, 0x8000) ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x89f1, &(0x7f0000000080)='ip6tnl0\x00') 04:25:16 executing program 5: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) connect$bt_l2cap(r0, &(0x7f0000000040)={0x1f, 0x0, @none}, 0xe) 04:25:16 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) r2 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) r4 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r5) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = gettid() sendmsg$netlink(r6, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)=[@cred={{0x1c, 0x1, 0x2, {r7, r1, r3}}}], 0x20}, 0x0) 04:25:16 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, &(0x7f0000000180)={r0, 0x2, 0x2, 0x200}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000200)={0x0, 0x0}, &(0x7f0000000280)=0xc) write$P9_RGETATTR(r2, &(0x7f00000002c0)={0xa0, 0x19, 0x2, {0x2040, {0x0, 0x2, 0x7}, 0x72, r3, 0x0, 0xed, 0x7, 0x1, 0x7d, 0xff, 0x8e09, 0x7, 0x8, 0x5, 0x1, 0x0, 0x10001, 0x3, 0x165, 0x5}}, 0xa0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r4, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in6=@ipv4={[], [], @dev}, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, {}, {}, 0x0, 0x0, 0x1}, {{@in, 0xfffffffd, 0x32}, 0x0, @in6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x1c) rseq(&(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={0x0, 0x6, 0x100000001, 0x2, 0xfffffffffffffff8}, 0x7}, 0x20, 0x1, 0x0) 04:25:16 executing program 0: syz_emit_ethernet(0x46, &(0x7f0000000080)={@multicast, @empty=[0x2], @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x11, 0x0, @empty, @empty}, {0x0, 0x1b59, 0x24, 0x0, @gue={{0x1, 0x0, 0x0, 0x0, 0x0, @void}, "13b0b955444bb3009edd4a5a7384509f034a9fbaa9c00dcc"}}}}}}, 0x0) 04:25:16 executing program 4: syz_mount_image$iso9660(0x0, &(0x7f0000000080)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000580)='9p\x00', 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB=',version=9p2000.u,msize=0x', @ANYRESDEC]) 04:25:16 executing program 0: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100)='/dev/fb0\x00', 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000140)={0x30, 0x78, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4000000}) 04:25:16 executing program 4: perf_event_open(&(0x7f0000000580)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000040), 0x4) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f00000008c0)=ANY=[@ANYBLOB="b702000007000000bfa30000000000000703000029fefffe7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d640500000000006504040001000000040400001c007d60b7030000000000006a0a00fe20000000850000000d000000b700000000000000950000fe00000000c9be17044171e1d3d7b1d6d0ff03000000000000c668a4b63e069efb297975738f538e31ec24925095a163b9d4e76be266e31a80212240baa44e080addde36e5fdc6c42a7b3f912f6906a6e2313091df61258a1fda45991fbdce6793c8a4785ee8b60092659b941bbd694d1f8898b3e6a884750045404b04bf97c0fea679c032b3203c6cd8bac9626bcc85e961509735a04617dc0200379e731d3a8d8fea894a4ee293001f6ce7d5b40bf2a7399423f84c6fa5f9be8173d05afe002c0e7821d406c967379e7521392d24d6c8034e2dc7c053498a9f413af569575de3b5c85546945e9bce678ee9a015abc9b5634691fc538450a676d71c01175b0600000000000000000000007219288e23eea1853f5cd830e2d8a49fc8f4b9276e9dc330c9cbac5d708570a14546aa89e13c65896d24684ee25f853b0858122c3d1de564d84638c7f6ec477f9ffece0ff3d9f4cf21c119b95eba4c925c80c3c33c81a68055fc8b3af4f32d16cf290f90d80f1da0db08da80f7a88b63885551371ee1febf833a4103e2f68d1aa3a2138953c0c41ead2824f4ae32608b381a821fc860933a000000000000005996d42e0168a85fc6448b3f2eaab716abe53aa6c1ba9ace891ef38f9a00000000000000000000000000000000000200481ac0f54b7a913f3465c333429c19f5d0116640a4623eabde4e25bf47085689e16b524053ac75f36b5b6e7ddf0aa170ec19aee6ccb06c471fe4ec97194d713a36d9bbed4e832541318a8c13c55c40d100e58fb845049af5b02f8ba8fc1345d6442b96c2d17bd048a2ed0841560c424324db952a44b515d47945babf404c35fd608046f1640f05007842f01d3428843635d4f3e98399b396ea30fc8f9a911a64798a4cf7b63b48349cd630881342c6533f5a9ac85b040000000000000000090000000000009380513278d4701e78251bbc45b73f8d5665d369df748c068b23e3fe886aee0668e58e7158040e0156e332b122288e40fecb03cf48146370ac1ec0d8"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) dup3(r1, r0, 0x0) 04:25:16 executing program 5: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) connect$bt_l2cap(r0, &(0x7f0000000040)={0x1f, 0x0, @none}, 0xe) 04:25:16 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) r2 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) r4 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r5) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = gettid() sendmsg$netlink(r6, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)=[@cred={{0x1c, 0x1, 0x2, {r7, r1, r3}}}], 0x20}, 0x0) 04:25:16 executing program 1: sendmsg(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000002c0), 0x10000000000000cb, 0x0, 0xffffffffffffff69, 0x20000001}, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x1) socketpair(0x1, 0x3, 0x0, &(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89f2, &(0x7f0000000080)='ip6tnl0\x00') perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1, 0x1, 0x0, &(0x7f0000000740)={0xffffffffffffffff, 0xffffffffffffffff}) perf_event_open(&(0x7f00000002c0)={0x0, 0x70, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x81, 0x2000, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000000c0), 0x6}, 0x8, 0x80, 0x1fd, 0x0, 0x0, 0xd6}, 0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x0) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x1, 0x32, &(0x7f0000000180), 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmsg(0xffffffffffffffff, &(0x7f000000ad80)={&(0x7f0000009b80)=@xdp, 0x80, &(0x7f00000009c0)=[{&(0x7f0000009c00)=""/4096, 0x1000}, {&(0x7f000000ac00)=""/97, 0x61}, {&(0x7f0000000680)=""/56, 0x38}], 0x3}, 0x40000020) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) close(0xffffffffffffffff) sendmsg$tipc(0xffffffffffffffff, 0x0, 0x48000) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz0\x00', 0x200002, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000040)={0x2, 0x4e23, @loopback}, 0x10, 0x0, 0x0, &(0x7f0000000940)=ANY=[@ANYRES32, @ANYBLOB="ff2b894d5d59be655e6addbf96394e23d6b163c4a20775db34060270c37d7ea4", @ANYBLOB], 0x12c}, 0x40054) sendmsg$kcm(r0, 0x0, 0x8000) ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x89f1, &(0x7f0000000080)='ip6tnl0\x00') 04:25:16 executing program 4: perf_event_open(&(0x7f0000000580)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000040), 0x4) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f00000008c0)=ANY=[@ANYBLOB="b702000007000000bfa30000000000000703000029fefffe7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d640500000000006504040001000000040400001c007d60b7030000000000006a0a00fe20000000850000000d000000b700000000000000950000fe00000000c9be17044171e1d3d7b1d6d0ff03000000000000c668a4b63e069efb297975738f538e31ec24925095a163b9d4e76be266e31a80212240baa44e080addde36e5fdc6c42a7b3f912f6906a6e2313091df61258a1fda45991fbdce6793c8a4785ee8b60092659b941bbd694d1f8898b3e6a884750045404b04bf97c0fea679c032b3203c6cd8bac9626bcc85e961509735a04617dc0200379e731d3a8d8fea894a4ee293001f6ce7d5b40bf2a7399423f84c6fa5f9be8173d05afe002c0e7821d406c967379e7521392d24d6c8034e2dc7c053498a9f413af569575de3b5c85546945e9bce678ee9a015abc9b5634691fc538450a676d71c01175b0600000000000000000000007219288e23eea1853f5cd830e2d8a49fc8f4b9276e9dc330c9cbac5d708570a14546aa89e13c65896d24684ee25f853b0858122c3d1de564d84638c7f6ec477f9ffece0ff3d9f4cf21c119b95eba4c925c80c3c33c81a68055fc8b3af4f32d16cf290f90d80f1da0db08da80f7a88b63885551371ee1febf833a4103e2f68d1aa3a2138953c0c41ead2824f4ae32608b381a821fc860933a000000000000005996d42e0168a85fc6448b3f2eaab716abe53aa6c1ba9ace891ef38f9a00000000000000000000000000000000000200481ac0f54b7a913f3465c333429c19f5d0116640a4623eabde4e25bf47085689e16b524053ac75f36b5b6e7ddf0aa170ec19aee6ccb06c471fe4ec97194d713a36d9bbed4e832541318a8c13c55c40d100e58fb845049af5b02f8ba8fc1345d6442b96c2d17bd048a2ed0841560c424324db952a44b515d47945babf404c35fd608046f1640f05007842f01d3428843635d4f3e98399b396ea30fc8f9a911a64798a4cf7b63b48349cd630881342c6533f5a9ac85b040000000000000000090000000000009380513278d4701e78251bbc45b73f8d5665d369df748c068b23e3fe886aee0668e58e7158040e0156e332b122288e40fecb03cf48146370ac1ec0d8"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) dup3(r1, r0, 0x0) 04:25:16 executing program 5: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000180)={0x80000000}, 0x19a) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@mpls_getroute={0x24, 0x1a, 0x1, 0x0, 0x0, {}, [@RTA_DST={0x8}]}, 0x24}}, 0x0) 04:25:16 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x0, 0xe, 0x0, &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f00000000c0)={0x12, 0x6, 0x8, 0x4, 0x0, 0xffffffffffffffff, 0x0, [0x0, 0x0, 0x0, 0x0, 0x2000000]}, 0x40) r1 = socket$inet_udp(0x2, 0x2, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r2, &(0x7f0000000080)={0x2, 0x0, @dev}, 0x10) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000080)={r0, &(0x7f0000000100), &(0x7f0000000000)=@udp=r2}, 0x20) bind$inet(r1, &(0x7f0000000040)={0x2, 0x0, @local}, 0x10) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000480)={r0, &(0x7f0000000340), &(0x7f0000000440)=@udp=r1}, 0x20) bpf$MAP_LOOKUP_ELEM(0x1, &(0x7f0000000140)={r0, &(0x7f0000000040), 0x0}, 0x20) 04:25:16 executing program 1: sendmsg(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000002c0), 0x10000000000000cb, 0x0, 0xffffffffffffff69, 0x20000001}, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x1) socketpair(0x1, 0x3, 0x0, &(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89f2, &(0x7f0000000080)='ip6tnl0\x00') perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1, 0x1, 0x0, &(0x7f0000000740)={0xffffffffffffffff, 0xffffffffffffffff}) perf_event_open(&(0x7f00000002c0)={0x0, 0x70, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x81, 0x2000, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000000c0), 0x6}, 0x8, 0x80, 0x1fd, 0x0, 0x0, 0xd6}, 0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x0) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x1, 0x32, &(0x7f0000000180), 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmsg(0xffffffffffffffff, &(0x7f000000ad80)={&(0x7f0000009b80)=@xdp, 0x80, &(0x7f00000009c0)=[{&(0x7f0000009c00)=""/4096, 0x1000}, {&(0x7f000000ac00)=""/97, 0x61}, {&(0x7f0000000680)=""/56, 0x38}], 0x3}, 0x40000020) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) close(0xffffffffffffffff) sendmsg$tipc(0xffffffffffffffff, 0x0, 0x48000) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz0\x00', 0x200002, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000040)={0x2, 0x4e23, @loopback}, 0x10, 0x0, 0x0, &(0x7f0000000940)=ANY=[@ANYRES32, @ANYBLOB="ff2b894d5d59be655e6addbf96394e23d6b163c4a20775db34060270c37d7ea4", @ANYBLOB], 0x12c}, 0x40054) sendmsg$kcm(r0, 0x0, 0x8000) ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x89f1, &(0x7f0000000080)='ip6tnl0\x00') 04:25:16 executing program 2: set_mempolicy(0x1, 0x0, 0x0) syz_open_dev$ndb(&(0x7f0000000000)='/dev/nbd#\x00', 0x0, 0x0) 04:25:16 executing program 0: r0 = syz_open_dev$ttys(0xc, 0x2, 0x1) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000000)=0xf) write$binfmt_aout(r0, 0x0, 0x0) 04:25:16 executing program 4: perf_event_open(&(0x7f0000000580)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000040), 0x4) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f00000008c0)=ANY=[@ANYBLOB="b702000007000000bfa30000000000000703000029fefffe7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d640500000000006504040001000000040400001c007d60b7030000000000006a0a00fe20000000850000000d000000b700000000000000950000fe00000000c9be17044171e1d3d7b1d6d0ff03000000000000c668a4b63e069efb297975738f538e31ec24925095a163b9d4e76be266e31a80212240baa44e080addde36e5fdc6c42a7b3f912f6906a6e2313091df61258a1fda45991fbdce6793c8a4785ee8b60092659b941bbd694d1f8898b3e6a884750045404b04bf97c0fea679c032b3203c6cd8bac9626bcc85e961509735a04617dc0200379e731d3a8d8fea894a4ee293001f6ce7d5b40bf2a7399423f84c6fa5f9be8173d05afe002c0e7821d406c967379e7521392d24d6c8034e2dc7c053498a9f413af569575de3b5c85546945e9bce678ee9a015abc9b5634691fc538450a676d71c01175b0600000000000000000000007219288e23eea1853f5cd830e2d8a49fc8f4b9276e9dc330c9cbac5d708570a14546aa89e13c65896d24684ee25f853b0858122c3d1de564d84638c7f6ec477f9ffece0ff3d9f4cf21c119b95eba4c925c80c3c33c81a68055fc8b3af4f32d16cf290f90d80f1da0db08da80f7a88b63885551371ee1febf833a4103e2f68d1aa3a2138953c0c41ead2824f4ae32608b381a821fc860933a000000000000005996d42e0168a85fc6448b3f2eaab716abe53aa6c1ba9ace891ef38f9a00000000000000000000000000000000000200481ac0f54b7a913f3465c333429c19f5d0116640a4623eabde4e25bf47085689e16b524053ac75f36b5b6e7ddf0aa170ec19aee6ccb06c471fe4ec97194d713a36d9bbed4e832541318a8c13c55c40d100e58fb845049af5b02f8ba8fc1345d6442b96c2d17bd048a2ed0841560c424324db952a44b515d47945babf404c35fd608046f1640f05007842f01d3428843635d4f3e98399b396ea30fc8f9a911a64798a4cf7b63b48349cd630881342c6533f5a9ac85b040000000000000000090000000000009380513278d4701e78251bbc45b73f8d5665d369df748c068b23e3fe886aee0668e58e7158040e0156e332b122288e40fecb03cf48146370ac1ec0d8"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) dup3(r1, r0, 0x0) 04:25:16 executing program 5: syz_open_dev$ttys(0xc, 0x2, 0x1) r0 = syz_open_dev$ptys(0xc, 0x3, 0x1) ioctl$TIOCGICOUNT(r0, 0x5416, 0x0) 04:25:16 executing program 1: sendmsg(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000002c0), 0x10000000000000cb, 0x0, 0xffffffffffffff69, 0x20000001}, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x1) socketpair(0x1, 0x3, 0x0, &(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89f2, &(0x7f0000000080)='ip6tnl0\x00') perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1, 0x1, 0x0, &(0x7f0000000740)={0xffffffffffffffff, 0xffffffffffffffff}) perf_event_open(&(0x7f00000002c0)={0x0, 0x70, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x81, 0x2000, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000000c0), 0x6}, 0x8, 0x80, 0x1fd, 0x0, 0x0, 0xd6}, 0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x0) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x1, 0x32, &(0x7f0000000180), 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmsg(0xffffffffffffffff, &(0x7f000000ad80)={&(0x7f0000009b80)=@xdp, 0x80, &(0x7f00000009c0)=[{&(0x7f0000009c00)=""/4096, 0x1000}, {&(0x7f000000ac00)=""/97, 0x61}, {&(0x7f0000000680)=""/56, 0x38}], 0x3}, 0x40000020) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) close(0xffffffffffffffff) sendmsg$tipc(0xffffffffffffffff, 0x0, 0x48000) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz0\x00', 0x200002, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000040)={0x2, 0x4e23, @loopback}, 0x10, 0x0, 0x0, &(0x7f0000000940)=ANY=[@ANYRES32, @ANYBLOB="ff2b894d5d59be655e6addbf96394e23d6b163c4a20775db34060270c37d7ea4", @ANYBLOB], 0x12c}, 0x40054) sendmsg$kcm(r0, 0x0, 0x8000) ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x89f1, &(0x7f0000000080)='ip6tnl0\x00') 04:25:16 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @sit={{0x8, 0x1, 'sit\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_IPTUN_ENCAP_SPORT={0x6}, @IFLA_IPTUN_ENCAP_DPORT={0x6}]}}}]}, 0x40}}, 0x0) 04:25:17 executing program 4: perf_event_open(&(0x7f0000000580)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000040), 0x4) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f00000008c0)=ANY=[@ANYBLOB="b702000007000000bfa30000000000000703000029fefffe7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d640500000000006504040001000000040400001c007d60b7030000000000006a0a00fe20000000850000000d000000b700000000000000950000fe00000000c9be17044171e1d3d7b1d6d0ff03000000000000c668a4b63e069efb297975738f538e31ec24925095a163b9d4e76be266e31a80212240baa44e080addde36e5fdc6c42a7b3f912f6906a6e2313091df61258a1fda45991fbdce6793c8a4785ee8b60092659b941bbd694d1f8898b3e6a884750045404b04bf97c0fea679c032b3203c6cd8bac9626bcc85e961509735a04617dc0200379e731d3a8d8fea894a4ee293001f6ce7d5b40bf2a7399423f84c6fa5f9be8173d05afe002c0e7821d406c967379e7521392d24d6c8034e2dc7c053498a9f413af569575de3b5c85546945e9bce678ee9a015abc9b5634691fc538450a676d71c01175b0600000000000000000000007219288e23eea1853f5cd830e2d8a49fc8f4b9276e9dc330c9cbac5d708570a14546aa89e13c65896d24684ee25f853b0858122c3d1de564d84638c7f6ec477f9ffece0ff3d9f4cf21c119b95eba4c925c80c3c33c81a68055fc8b3af4f32d16cf290f90d80f1da0db08da80f7a88b63885551371ee1febf833a4103e2f68d1aa3a2138953c0c41ead2824f4ae32608b381a821fc860933a000000000000005996d42e0168a85fc6448b3f2eaab716abe53aa6c1ba9ace891ef38f9a00000000000000000000000000000000000200481ac0f54b7a913f3465c333429c19f5d0116640a4623eabde4e25bf47085689e16b524053ac75f36b5b6e7ddf0aa170ec19aee6ccb06c471fe4ec97194d713a36d9bbed4e832541318a8c13c55c40d100e58fb845049af5b02f8ba8fc1345d6442b96c2d17bd048a2ed0841560c424324db952a44b515d47945babf404c35fd608046f1640f05007842f01d3428843635d4f3e98399b396ea30fc8f9a911a64798a4cf7b63b48349cd630881342c6533f5a9ac85b040000000000000000090000000000009380513278d4701e78251bbc45b73f8d5665d369df748c068b23e3fe886aee0668e58e7158040e0156e332b122288e40fecb03cf48146370ac1ec0d8"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) dup3(r1, r0, 0x0) 04:25:17 executing program 5: perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x9}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cgroup.controllers\x00', 0x275a, 0x0) fcntl$lock(0xffffffffffffffff, 0x0, &(0x7f0000000040)={0x2}) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = socket(0x11, 0x800000003, 0x0) getsockopt$packet_int(r1, 0x107, 0xb, &(0x7f0000000000), &(0x7f0000000040)=0x4) 04:25:17 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) setreuid(0x0, 0xee01) ioctl$KDFONTOP_SET_DEF(r0, 0x4b72, &(0x7f0000000900)={0x2, 0x0, 0x0, 0x0, 0x0, 0x0}) 04:25:17 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028006001800070000000500010004000000060019"], 0x4c}}, 0x0) 04:25:17 executing program 3: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000000)={0x0}}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)=@newlink={0x40, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @erspan={{0xb, 0x1, 'erspan\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_IGNORE_DF={0x5, 0x13, 0x1}]}}}]}, 0x40}}, 0x0) sendmmsg(r2, &(0x7f00000002c0), 0x40000000000009f, 0x0) 04:25:17 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xdc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = dup(r0) getsockopt$inet_IP_IPSEC_POLICY(r1, 0x0, 0x10, &(0x7f00000003c0)={{{@in=@multicast1, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@empty}, 0x0, @in=@dev}}, &(0x7f0000000180)=0xe8) r3 = getgid() setregid(0xee00, r3) openat$hwrng(0xffffffffffffff9c, &(0x7f0000000040)='/dev/hwrng\x00', 0x80000, 0x0) r4 = getgid() setregid(0xee00, r4) stat(&(0x7f0000000340)='./mnt\x00', &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r7) r8 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r8, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r9) lsetxattr$system_posix_acl(&(0x7f0000000080)='./mnt\x00', &(0x7f00000001c0)='system.posix_acl_default\x00', &(0x7f0000000540)={{}, {0x1, 0x2}, [{0x2, 0x0, 0xee01}, {0x2, 0x3, r5}], {0x4, 0x2}, [{0x8, 0x7, r7}, {0x8, 0x0, r9}], {0x10, 0x2}, {0x20, 0x4}}, 0x44, 0x3) fsetxattr$system_posix_acl(0xffffffffffffffff, &(0x7f0000000140)='system.posix_acl_default\x00', &(0x7f0000001640)={{}, {0x1, 0x5}, [{0x2, 0x1}, {0x2, 0x3, r2}], {0x4, 0x5}, [{0x8, 0x1, 0xffffffffffffffff}, {0x8, 0x1, r3}, {0x8, 0x4}, {0x8, 0x9798f93668e5e78c, 0xffffffffffffffff}, {0x8, 0x2, r4}, {0x8, 0x0, 0xee00}, {0x8, 0x6}, {0x8, 0x3, 0xee01}], {0x10, 0x9}, {0x20, 0x1}}, 0x74, 0x0) syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./mnt\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e000000100000030000000100000002", 0x69, 0x400}, {&(0x7f00000106c0)="0bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xa6, 0x200000}, {&(0x7f0000010780)="00000000000000000000000000000000000000000000000000000000d9fa28d501000300000000030000000010", 0x2d, 0x200fe0}, {&(0x7f0000000600)="000000000000000000000000000000000000000000000000000000060000000000010c80", 0x24, 0x2011e0}, {&(0x7f0000010800)="000000000000000000000001", 0xc, 0x201240}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000002", 0x1a, 0x201280}, {&(0x7f0000010840)="0000000000000003", 0x8, 0x2012e0}, {&(0x7f0000010860)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\v', 0x16, 0x201320}, {&(0x7f0000010880)="00000005", 0x4, 0x201380}, {&(0x7f0000010920)="00000000000000000000000000000000000000000000000000000001000000000bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xc6, 0x204fe0}, {&(0x7f0000010a00)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x205fe0}, {&(0x7f0000010ca0)="ed410000e8030000e803000002000000001000000000000002", 0x19, 0x1000000}, {&(0x7f0000010d20)="00000000000000000300000003", 0xd, 0x1000fe0}], 0x0, &(0x7f0000010da0)) 04:25:17 executing program 4: mkdir(&(0x7f0000fd5ff8)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) memfd_create(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) rt_sigtimedwait(&(0x7f0000000040)={[0xfff]}, 0x0, &(0x7f0000000080), 0x8) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 289.208874][T16883] IPVS: ftp: loaded support on port[0] = 21 [ 289.240055][T16882] loop1: detected capacity change from 65551 to 0 04:25:17 executing program 2: symlink(&(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='./file0\x00') fchownat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0xee00, 0x0) 04:25:17 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028006001800070000000500010004000000060019"], 0x4c}}, 0x0) [ 289.260745][T16882] F2FS-fs (loop1): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 289.295556][T16882] F2FS-fs (loop1): Can't find valid F2FS filesystem in 2th superblock 04:25:17 executing program 5: syz_mount_image$tmpfs(&(0x7f00000000c0)='tmpfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000002240)={[{@mode={'mode'}}, {@mpol={'mpol', 0x3d, {'interleave', '=static', @void}}}, {@mpol={'mpol', 0x3d, {'local', '=static', @void}}}]}) 04:25:17 executing program 3: io_uring_setup(0x192b, &(0x7f0000000080)) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) socket$nl_generic(0x10, 0x3, 0x10) r2 = eventfd2(0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)=ANY=[@ANYBLOB="200000001100f7030000000000f7ff0010000000", @ANYRES16=r2], 0x20}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) 04:25:17 executing program 2: openat$random(0xffffffffffffff9c, &(0x7f0000000040)='/dev/urandom\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') write$FUSE_STATFS(r0, 0x0, 0x0) [ 289.315141][T16882] F2FS-fs (loop1): invalid crc_offset: 0 04:25:17 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x7, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x79, 0x10, 0xb0}, [@ldst={0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 289.362687][T16882] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=1, run fsck to fix. [ 289.371781][T16882] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=2, run fsck to fix. [ 289.397205][T16955] tmpfs: Bad value for 'mpol' [ 289.403678][T16955] tmpfs: Bad value for 'mpol' 04:25:17 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028006001800070000000500010004000000060019"], 0x4c}}, 0x0) [ 289.455593][T16882] F2FS-fs (loop1): Try to recover 2th superblock, ret: 0 [ 289.464155][T16882] F2FS-fs (loop1): Mounted with checkpoint version = 753bd00b 04:25:17 executing program 5: syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', &(0x7f0000000000)='./file0\x00', 0xffc00007, 0x2, &(0x7f0000000240)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000004c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f00000002c0)=ANY=[]) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', 0x0, 0x60c21, 0x0) 04:25:17 executing program 2: openat$random(0xffffffffffffff9c, &(0x7f0000000040)='/dev/urandom\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') write$FUSE_STATFS(r0, 0x0, 0x0) 04:25:17 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xdc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = dup(r0) getsockopt$inet_IP_IPSEC_POLICY(r1, 0x0, 0x10, &(0x7f00000003c0)={{{@in=@multicast1, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@empty}, 0x0, @in=@dev}}, &(0x7f0000000180)=0xe8) r3 = getgid() setregid(0xee00, r3) openat$hwrng(0xffffffffffffff9c, &(0x7f0000000040)='/dev/hwrng\x00', 0x80000, 0x0) r4 = getgid() setregid(0xee00, r4) stat(&(0x7f0000000340)='./mnt\x00', &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r7) r8 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r8, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r9) lsetxattr$system_posix_acl(&(0x7f0000000080)='./mnt\x00', &(0x7f00000001c0)='system.posix_acl_default\x00', &(0x7f0000000540)={{}, {0x1, 0x2}, [{0x2, 0x0, 0xee01}, {0x2, 0x3, r5}], {0x4, 0x2}, [{0x8, 0x7, r7}, {0x8, 0x0, r9}], {0x10, 0x2}, {0x20, 0x4}}, 0x44, 0x3) fsetxattr$system_posix_acl(0xffffffffffffffff, &(0x7f0000000140)='system.posix_acl_default\x00', &(0x7f0000001640)={{}, {0x1, 0x5}, [{0x2, 0x1}, {0x2, 0x3, r2}], {0x4, 0x5}, [{0x8, 0x1, 0xffffffffffffffff}, {0x8, 0x1, r3}, {0x8, 0x4}, {0x8, 0x9798f93668e5e78c, 0xffffffffffffffff}, {0x8, 0x2, r4}, {0x8, 0x0, 0xee00}, {0x8, 0x6}, {0x8, 0x3, 0xee01}], {0x10, 0x9}, {0x20, 0x1}}, 0x74, 0x0) syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./mnt\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e000000100000030000000100000002", 0x69, 0x400}, {&(0x7f00000106c0)="0bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xa6, 0x200000}, {&(0x7f0000010780)="00000000000000000000000000000000000000000000000000000000d9fa28d501000300000000030000000010", 0x2d, 0x200fe0}, {&(0x7f0000000600)="000000000000000000000000000000000000000000000000000000060000000000010c80", 0x24, 0x2011e0}, {&(0x7f0000010800)="000000000000000000000001", 0xc, 0x201240}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000002", 0x1a, 0x201280}, {&(0x7f0000010840)="0000000000000003", 0x8, 0x2012e0}, {&(0x7f0000010860)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\v', 0x16, 0x201320}, {&(0x7f0000010880)="00000005", 0x4, 0x201380}, {&(0x7f0000010920)="00000000000000000000000000000000000000000000000000000001000000000bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xc6, 0x204fe0}, {&(0x7f0000010a00)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x205fe0}, {&(0x7f0000010ca0)="ed410000e8030000e803000002000000001000000000000002", 0x19, 0x1000000}, {&(0x7f0000010d20)="00000000000000000300000003", 0xd, 0x1000fe0}], 0x0, &(0x7f0000010da0)) 04:25:17 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x2, 0x16, &(0x7f0000000940)=ANY=[@ANYBLOB="61128c000000000061138c0000000000bf200000000000001500000063a700102d0301000000000095000000000000006916000000000000bf670000000000004506000023ff07002706000020000000150300000fe60060bf050000000000000f650000000000006507f9fff3ff0000070700004c0000001f75000000000000bf540000000000000704000004000b607e3601000000000095000000000000000500000000000000950000000000000032ed3c5be95e5db6775480502b2f7ea9bb12dc8c27df8ecf264e0f84f9f17d3c30e3c7bdd2d17f2f1754558f2278af0100008000000000b1d8a5d4601d2969571e98c5f6b8d8c31bc51429b05c45a6a0b9bdb7dd399703d6c4f6f3be4b369289aa6812b8e007e733a9a4f16d0a3e1282ee45a0fffb94fe9de56c9d8a814261bdb94a05000000c6c60bf70d742a8100000000000b5b40d893d98fe0185473d51b546cad3f1d5af65727546e7c955ccefa1f6ab689fde4de4e63ede20271a51445dc8da39e5b0ab71ca1b901627b562ed04ae76002d4519af619e3cca4d69e0dee5eb106774a8f3e6916dfec88158f0200000000c8fb735fd552bdc206004aeb0743eb2dc819b6cf5c8ac86d8a297dff0445a13d0045fb3cda32a673a6bb55d8c85f21dce431e56723888fb126a163f16fb2ad9ba7172ba7cbebe174aba210d739a018f9bbec63222d20cecac4d03723f1c932b3a6aa57f1ad2e99e0e67a993716dbf580b9576f62d28561469f0f53acbbea2040b401e3738270b315d362ed834f2af97787f696649a462e7ee4bcf84e0b10d6735154beb4000000000000000000000000000000bc00f674629709e7e78f4ddc211bc3ebf0bd9d42ca019dd5d022a4dc74879f824cdec61cd47840a711c8827e6c0a7b72118d46d1e827f3472f4445d253887a5ad103649afa17690884f800031e03a651bb96589a7eab04871bc47287cd31cc43ea0ffa567b40407d00000000000000e98a523d80bd0d0d703f37ca363f601ae899a53f671520a62a34b0c94c4e6994521629ab028acfc1d926a0f6a5480a55c22fe394ac000000000000000000000000000000437d57deeb70b0b27df3ad08e95062aaf10be74062661ba756673ade6d4b25a8464acc46db5b40a48bf045e487efaa5aa84a6ac79b994138a60d3238ac21245b6c788a0691fa8a851d112039e0d976db881324273f74eafbc57e92774c8b7cd776874a20ecccf094f7bfa2fe57d65750078e4d184f72775c6832301fdde30d8bf2d0a3a0ce840b62fe1a530000002d02f90fce3c2f2f61df34a8475a191707986bf7ed47899a2cf3d0085eefcfea117a5e535385f94be7b3bed83b7c137de7b0296dc659eaf6c5af5a752014ecfcfe32dafe7b14b6217527b13813e88968cad0854a4fb1d8dd37d516a8b004ba31c7921b00aebaa7f50635f0224aca9ae1db19956caeb8f9da446040ac46ac0523e4f6f5dc6317af00f875af9fb49d1b6208b463bf18f65ab992e07e4f85ef19d674b6772b5759f74baa2be42e166a36ddbdfb99f5b66f1a81536c5224ea0abf87e782cbc32dd2a72c593991d8960e6e61d25655562683af3316c258332b13cca218ba80aa61e03cfeab59ac63988a46266c6d1a2f1697ede91a2e2f60988a459152e72bba84854ec93750699c82c98bc3b431565e1e2fd69a1f8cd57988ecbaf76303d345e1f423a23d761c09062804f58d362e6a2c8813"], &(0x7f0000000100)='GPL\x00'}, 0x48) [ 289.636764][T17031] loop5: detected capacity change from 264192 to 0 [ 289.659653][T17031] FAT-fs (loop5): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 289.704671][T17053] loop1: detected capacity change from 65551 to 0 [ 289.730521][T17053] F2FS-fs (loop1): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 289.756024][T17053] F2FS-fs (loop1): Can't find valid F2FS filesystem in 2th superblock [ 289.769689][T17053] F2FS-fs (loop1): invalid crc_offset: 0 [ 289.800221][T17053] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=1, run fsck to fix. [ 289.814735][T17053] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=2, run fsck to fix. [ 289.878849][T17053] F2FS-fs (loop1): Try to recover 2th superblock, ret: 0 [ 289.886037][T17053] F2FS-fs (loop1): Mounted with checkpoint version = 753bd00b [ 290.048014][T16944] IPVS: ftp: loaded support on port[0] = 21 04:25:18 executing program 4: mkdir(&(0x7f0000fd5ff8)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) memfd_create(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) rt_sigtimedwait(&(0x7f0000000040)={[0xfff]}, 0x0, &(0x7f0000000080), 0x8) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) 04:25:18 executing program 2: openat$random(0xffffffffffffff9c, &(0x7f0000000040)='/dev/urandom\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') write$FUSE_STATFS(r0, 0x0, 0x0) 04:25:18 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028006001800070000000500010004000000060019"], 0x4c}}, 0x0) 04:25:18 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x1, 0x5, &(0x7f0000000000)=@framed={{}, [@alu={0x7}, @jmp={0x3, 0x0, 0x7, 0x0, 0x2}]}, &(0x7f0000000080)='syzkaller\x00', 0x1, 0x8b, &(0x7f0000000200)=""/139, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x23) 04:25:18 executing program 3: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f00000004c0)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba639a6788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043ccc426de0746d25dfd73d06d7535f7866907dc6751dfb265a0e3ccae669e173a649c1cfd6587d452d64e7cc957d77578f4c35235138d5521f9453559c35da860e8efbc6f2b2a3e3173d5661cfeec79c66c54c3"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000001c0)={&(0x7f0000000200)='sys_enter\x00', r0}, 0x10) select(0x40, &(0x7f0000000000), &(0x7f00000000c0)={0x8}, 0x0, 0x0) 04:25:18 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xdc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = dup(r0) getsockopt$inet_IP_IPSEC_POLICY(r1, 0x0, 0x10, &(0x7f00000003c0)={{{@in=@multicast1, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@empty}, 0x0, @in=@dev}}, &(0x7f0000000180)=0xe8) r3 = getgid() setregid(0xee00, r3) openat$hwrng(0xffffffffffffff9c, &(0x7f0000000040)='/dev/hwrng\x00', 0x80000, 0x0) r4 = getgid() setregid(0xee00, r4) stat(&(0x7f0000000340)='./mnt\x00', &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r7) r8 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r8, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r9) lsetxattr$system_posix_acl(&(0x7f0000000080)='./mnt\x00', &(0x7f00000001c0)='system.posix_acl_default\x00', &(0x7f0000000540)={{}, {0x1, 0x2}, [{0x2, 0x0, 0xee01}, {0x2, 0x3, r5}], {0x4, 0x2}, [{0x8, 0x7, r7}, {0x8, 0x0, r9}], {0x10, 0x2}, {0x20, 0x4}}, 0x44, 0x3) fsetxattr$system_posix_acl(0xffffffffffffffff, &(0x7f0000000140)='system.posix_acl_default\x00', &(0x7f0000001640)={{}, {0x1, 0x5}, [{0x2, 0x1}, {0x2, 0x3, r2}], {0x4, 0x5}, [{0x8, 0x1, 0xffffffffffffffff}, {0x8, 0x1, r3}, {0x8, 0x4}, {0x8, 0x9798f93668e5e78c, 0xffffffffffffffff}, {0x8, 0x2, r4}, {0x8, 0x0, 0xee00}, {0x8, 0x6}, {0x8, 0x3, 0xee01}], {0x10, 0x9}, {0x20, 0x1}}, 0x74, 0x0) syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./mnt\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e000000100000030000000100000002", 0x69, 0x400}, {&(0x7f00000106c0)="0bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xa6, 0x200000}, {&(0x7f0000010780)="00000000000000000000000000000000000000000000000000000000d9fa28d501000300000000030000000010", 0x2d, 0x200fe0}, {&(0x7f0000000600)="000000000000000000000000000000000000000000000000000000060000000000010c80", 0x24, 0x2011e0}, {&(0x7f0000010800)="000000000000000000000001", 0xc, 0x201240}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000002", 0x1a, 0x201280}, {&(0x7f0000010840)="0000000000000003", 0x8, 0x2012e0}, {&(0x7f0000010860)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\v', 0x16, 0x201320}, {&(0x7f0000010880)="00000005", 0x4, 0x201380}, {&(0x7f0000010920)="00000000000000000000000000000000000000000000000000000001000000000bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xc6, 0x204fe0}, {&(0x7f0000010a00)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x205fe0}, {&(0x7f0000010ca0)="ed410000e8030000e803000002000000001000000000000002", 0x19, 0x1000000}, {&(0x7f0000010d20)="00000000000000000300000003", 0xd, 0x1000fe0}], 0x0, &(0x7f0000010da0)) [ 290.196016][T17100] loop1: detected capacity change from 65551 to 0 04:25:18 executing program 0: r0 = syz_open_dev$midi(&(0x7f0000000080)='/dev/midi#\x00', 0xfde, 0x0) ioctl$SNDRV_RAWMIDI_IOCTL_DRAIN(r0, 0x40045731, &(0x7f0000000000)) 04:25:18 executing program 2: openat$random(0xffffffffffffff9c, &(0x7f0000000040)='/dev/urandom\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') write$FUSE_STATFS(r0, 0x0, 0x0) 04:25:18 executing program 3: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:18 executing program 5: setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000140)=@nat={'nat\x00', 0x19, 0x4, 0x0, [0x20000500, 0x0, 0x0, 0x20000628, 0x20000910], 0x0, &(0x7f00000004c0), 0x0}, 0x78) sendto$inet6(0xffffffffffffffff, &(0x7f0000000000)="5fb88c750196077aa3214bebc13f7d74ad4d9320611cf5a33f2a3f09e1c926359dcfe20001c781cb67f79cb0c6f5f4bf8ed60dce2176c22a20b22b9b24172b5569ec67906e7df93b05b19ba5360f2eab62812070fc181a2483366595113b240804d882a7dcd7ac4ba53e06d02558968b978122716d1823dcc7d40155c1bc1e8433f5ba15f5ee48c0ca941fce872e497d1377e2a5bde956f003caaf58c7520f82d7346c266e8ea70dab3bb7af6d78602a31ab8d232b07f6e3ef524b552ed88a1b1c02bc89f4f671855d40a2c1c173d4bb121bc86270c32d39c4c0d09a29b8983169914d8df86417a802b772bb638f72ccdcbb46267b5751816c77b6739f484292d5ca5e1bc4efee06f4e07e6a795faee2af27a8f21298055806494ee0e961cd5bd077bd7756f9e39dd3abdbe5c598cc5cbd44c5c319af923fbc4731545ff134749c2f42ee8454bf33ef309a6323dc847676d5be2fcb9abc717fc1e29396943ec0e264a80d64ca66ef2c42a57112a8a146097d9f4256ef6e6fd73be26e9a5f79b21dae42066d9cf4441021d64a2d6fd61c7ea709948d4be380e0fa4b76dff6aeef45", 0x1a1, 0x0, 0x0, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) ioctl$sock_ifreq(r0, 0x89f1, &(0x7f00000001c0)={'ip_vti0\x00', @ifru_data=&(0x7f0000000180)="d61a072afa6a2e6e9105a65cf0b08be4d57565e1a85eff283ee23d954743a2e3"}) [ 290.237274][T17100] F2FS-fs (loop1): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 290.245900][T17100] F2FS-fs (loop1): Can't find valid F2FS filesystem in 2th superblock [ 290.264643][T17100] F2FS-fs (loop1): invalid crc_offset: 0 04:25:18 executing program 0: r0 = gettid() prctl$PR_SET_PTRACER(0x59616d61, r0) clone(0x3102002dfe, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() rt_sigtimedwait(&(0x7f0000000040), 0x0, &(0x7f0000000000)={0x0, 0x1c9c380}, 0x8) ptrace$setopts(0x4206, r1, 0x0, 0x200044) wait4(0x0, 0x0, 0x0, 0x0) seccomp$SECCOMP_SET_MODE_STRICT(0x0, 0x0, 0x0) connect$rds(0xffffffffffffffff, 0x0, 0x0) 04:25:18 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'hash\x00', 0x0, 0x0, 'sm3\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe803}}], 0x500, 0x0, 0x0) [ 290.380126][T17142] IPVS: ftp: loaded support on port[0] = 21 [ 290.409212][T17100] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=1, run fsck to fix. [ 290.445925][T17100] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=2, run fsck to fix. [ 290.456404][T17154] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. [ 290.538431][T17100] F2FS-fs (loop1): Try to recover 2th superblock, ret: 0 [ 290.547358][T17100] F2FS-fs (loop1): Mounted with checkpoint version = 753bd00b 04:25:19 executing program 4: mkdir(&(0x7f0000fd5ff8)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) memfd_create(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) rt_sigtimedwait(&(0x7f0000000040)={[0xfff]}, 0x0, &(0x7f0000000080), 0x8) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) 04:25:19 executing program 5: socketpair(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) sendto$packet(r1, 0x0, 0x0, 0x0, 0x0, 0x0) r2 = dup3(r1, r0, 0x0) sendmsg$NL80211_CMD_REGISTER_FRAME(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={0x0}}, 0x0) 04:25:19 executing program 3: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:19 executing program 0: r0 = socket$inet(0x11, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000200)=0x128, 0x4) setsockopt$sock_int(r0, 0x1, 0x1d, &(0x7f0000000000)=0xcf26, 0x4) sendmsg(r0, &(0x7f0000000040)={&(0x7f000005e000)=@nfc={0x27, 0x2}, 0x80, 0x0}, 0x0) recvmsg(r0, &(0x7f0000000080)={0x0, 0x0, 0x0}, 0x2000) 04:25:19 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'hash\x00', 0x0, 0x0, 'sm3\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe803}}], 0x500, 0x0, 0x0) 04:25:19 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xdc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = dup(r0) getsockopt$inet_IP_IPSEC_POLICY(r1, 0x0, 0x10, &(0x7f00000003c0)={{{@in=@multicast1, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@empty}, 0x0, @in=@dev}}, &(0x7f0000000180)=0xe8) r3 = getgid() setregid(0xee00, r3) openat$hwrng(0xffffffffffffff9c, &(0x7f0000000040)='/dev/hwrng\x00', 0x80000, 0x0) r4 = getgid() setregid(0xee00, r4) stat(&(0x7f0000000340)='./mnt\x00', &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r7) r8 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r8, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) chown(&(0x7f0000000000)='./control\x00', 0xee00, r9) lsetxattr$system_posix_acl(&(0x7f0000000080)='./mnt\x00', &(0x7f00000001c0)='system.posix_acl_default\x00', &(0x7f0000000540)={{}, {0x1, 0x2}, [{0x2, 0x0, 0xee01}, {0x2, 0x3, r5}], {0x4, 0x2}, [{0x8, 0x7, r7}, {0x8, 0x0, r9}], {0x10, 0x2}, {0x20, 0x4}}, 0x44, 0x3) fsetxattr$system_posix_acl(0xffffffffffffffff, &(0x7f0000000140)='system.posix_acl_default\x00', &(0x7f0000001640)={{}, {0x1, 0x5}, [{0x2, 0x1}, {0x2, 0x3, r2}], {0x4, 0x5}, [{0x8, 0x1, 0xffffffffffffffff}, {0x8, 0x1, r3}, {0x8, 0x4}, {0x8, 0x9798f93668e5e78c, 0xffffffffffffffff}, {0x8, 0x2, r4}, {0x8, 0x0, 0xee00}, {0x8, 0x6}, {0x8, 0x3, 0xee01}], {0x10, 0x9}, {0x20, 0x1}}, 0x74, 0x0) syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./mnt\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e000000100000030000000100000002", 0x69, 0x400}, {&(0x7f00000106c0)="0bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xa6, 0x200000}, {&(0x7f0000010780)="00000000000000000000000000000000000000000000000000000000d9fa28d501000300000000030000000010", 0x2d, 0x200fe0}, {&(0x7f0000000600)="000000000000000000000000000000000000000000000000000000060000000000010c80", 0x24, 0x2011e0}, {&(0x7f0000010800)="000000000000000000000001", 0xc, 0x201240}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000002", 0x1a, 0x201280}, {&(0x7f0000010840)="0000000000000003", 0x8, 0x2012e0}, {&(0x7f0000010860)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\v', 0x16, 0x201320}, {&(0x7f0000010880)="00000005", 0x4, 0x201380}, {&(0x7f0000010920)="00000000000000000000000000000000000000000000000000000001000000000bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xc6, 0x204fe0}, {&(0x7f0000010a00)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x205fe0}, {&(0x7f0000010ca0)="ed410000e8030000e803000002000000001000000000000002", 0x19, 0x1000000}, {&(0x7f0000010d20)="00000000000000000300000003", 0xd, 0x1000fe0}], 0x0, &(0x7f0000010da0)) 04:25:19 executing program 0: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 291.165507][T17211] loop1: detected capacity change from 65551 to 0 [ 291.199157][T17212] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. 04:25:19 executing program 5: clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000140)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) write$sysctl(r0, 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) syz_genetlink_get_family_id$smc(&(0x7f00000000c0)='SMC_PNETID\x00') 04:25:19 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'hash\x00', 0x0, 0x0, 'sm3\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe803}}], 0x500, 0x0, 0x0) [ 291.213832][T17211] F2FS-fs (loop1): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 291.236020][T17217] IPVS: ftp: loaded support on port[0] = 21 [ 291.248967][T17211] F2FS-fs (loop1): Can't find valid F2FS filesystem in 2th superblock [ 291.258437][T17211] F2FS-fs (loop1): invalid crc_offset: 0 04:25:19 executing program 5: clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000140)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) write$sysctl(r0, 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) syz_genetlink_get_family_id$smc(&(0x7f00000000c0)='SMC_PNETID\x00') 04:25:19 executing program 3: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 291.317695][T17211] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=1, run fsck to fix. [ 291.329129][T17211] F2FS-fs (loop1): f2fs_check_nid_range: out-of-range nid=2, run fsck to fix. [ 291.352796][T17236] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. 04:25:19 executing program 5: clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000140)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) write$sysctl(r0, 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) syz_genetlink_get_family_id$smc(&(0x7f00000000c0)='SMC_PNETID\x00') [ 291.416757][T17211] F2FS-fs (loop1): Try to recover 2th superblock, ret: 0 [ 291.424056][T17211] F2FS-fs (loop1): Mounted with checkpoint version = 753bd00b [ 291.484018][T17266] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. 04:25:19 executing program 4: mkdir(&(0x7f0000fd5ff8)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) memfd_create(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) rt_sigtimedwait(&(0x7f0000000040)={[0xfff]}, 0x0, &(0x7f0000000080), 0x8) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) 04:25:19 executing program 0: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:19 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'hash\x00', 0x0, 0x0, 'sm3\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe803}}], 0x500, 0x0, 0x0) 04:25:19 executing program 1: syz_mount_image$tmpfs(&(0x7f0000000080)='tmpfs\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={[], [{@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@dont_appraise='dont_appraise'}]}) rmdir(&(0x7f0000000700)='./file0\x00') 04:25:19 executing program 3: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:19 executing program 5: clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000140)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) write$sysctl(r0, 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) syz_genetlink_get_family_id$smc(&(0x7f00000000c0)='SMC_PNETID\x00') [ 292.051674][ T9799] Bluetooth: hci3: command 0x0406 tx timeout [ 292.059582][ T9799] Bluetooth: hci4: command 0x0406 tx timeout [ 292.066046][T17292] tmpfs: Unknown parameter 'fowner<18446744073709551615' [ 292.078118][ T9799] Bluetooth: hci1: command 0x0406 tx timeout 04:25:20 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000005840)='/dev/cuse\x00', 0x2, 0x0) write$FUSE_OPEN(r0, &(0x7f0000005880)={0x20}, 0x20) [ 292.103145][ T9799] Bluetooth: hci2: command 0x0406 tx timeout [ 292.124691][T17292] tmpfs: Unknown parameter 'fowner<18446744073709551615' [ 292.140145][T17301] IPVS: ftp: loaded support on port[0] = 21 04:25:20 executing program 1: clock_gettime(0x4, &(0x7f0000001040)) 04:25:20 executing program 0: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000000840)={'sit0\x00', 0x0}) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff7, 0x11, r2, 0x0) ioctl$KVM_SET_GUEST_DEBUG(0xffffffffffffffff, 0x4048ae9b, &(0x7f0000000100)={0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x7]}) perf_event_open(0x0, 0xffffffffffffffff, 0x6, 0xffffffffffffffff, 0xb) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 292.156225][T17298] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. 04:25:20 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000005840)='/dev/cuse\x00', 0x2, 0x0) write$FUSE_OPEN(r0, &(0x7f0000005880)={0x20}, 0x20) 04:25:20 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000003c0)=@newlink={0x48, 0x12, 0xe3b, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @bond_slave={{0xf, 0x1, 'bond_slave\x00'}, {0xc, 0x5, 0x0, 0x1, @IFLA_BOND_SLAVE_QUEUE_ID={0x6}}}}, @IFLA_MASTER={0x8}]}, 0x48}}, 0x0) 04:25:20 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000200000000000000000000000850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f00000000c0)='percpu_alloc_percpu\x00', r0}, 0x10) perf_event_open(&(0x7f0000000180)={0x2, 0x70, 0xc5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) [ 292.307671][T17330] set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state. 04:25:20 executing program 1: r0 = creat(&(0x7f0000000140)='./bus\x00', 0x0) fallocate(r0, 0x0, 0x0, 0x8020003) unlink(&(0x7f0000000040)='./bus\x00') symlink(&(0x7f0000000080)='./file0/file0\x00', &(0x7f00000000c0)='./file0\x00') lstat(&(0x7f0000000000)='./file0\x00', 0x0) 04:25:20 executing program 3: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x801) r1 = socket(0x1, 0x5, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f00000001c0)={0x0, 0x0}, &(0x7f0000000200)=0x5) setreuid(0x0, r2) ioctl$SG_IO(r0, 0x2285, &(0x7f00000000c0)={0x53, 0x0, 0x6, 0x0, @scatter={0x0, 0x40000, 0x0}, &(0x7f0000000080)="040000000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ffe, 0x600}) 04:25:20 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000005840)='/dev/cuse\x00', 0x2, 0x0) write$FUSE_OPEN(r0, &(0x7f0000005880)={0x20}, 0x20) 04:25:20 executing program 0: getresuid(&(0x7f00000000c0), &(0x7f0000000000), &(0x7f0000001780)) 04:25:20 executing program 5: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x6, 0x0, 0x0) 04:25:20 executing program 4: r0 = syz_usb_connect(0x0, 0x4a, &(0x7f0000000000)=ANY=[@ANYBLOB="120100005520f010402038b1420104000001090238000100000000090400000371055900090582ef1000000001020009050212"], 0x0) syz_usb_control_io$printer(r0, &(0x7f0000000140)={0x14, 0x0, &(0x7f00000000c0)={0x0, 0x3, 0x4, @lang_id={0x4}}}, 0x0) syz_usb_ep_write$ath9k_ep1(r0, 0x82, 0x5d, &(0x7f0000000180)=ANY=[@ANYBLOB="02130005330e003cf313a87a7e080038002e7095350e24263558c82edcaa047f1257f1a8c2cbff20"]) 04:25:20 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f00000014c0)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cda555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cecabeeb01faa50761cb052c41cfb94d0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1cfd2114dc4b95fbbf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9453559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) seccomp$SECCOMP_GET_ACTION_AVAIL(0x2, 0x0, 0x0) 04:25:20 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000780)={0xa, 0x4e22}, 0x1c) listen(r0, 0x0) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r1, 0x0, 0x0, 0x20000004, &(0x7f000031e000)={0xa, 0x4e22}, 0x1c) write$P9_RWSTAT(r1, &(0x7f0000000180)={0x7}, 0x7) r2 = accept$inet(r0, 0x0, 0x0) sendmsg$NLBL_UNLABEL_C_STATICADD(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) 04:25:21 executing program 0: set_mempolicy(0x1, 0x0, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x1e, &(0x7f0000000000)=0x1, 0x4) connect$inet(r0, &(0x7f00000000c0)={0x2, 0x0, @remote}, 0x10) 04:25:21 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000005840)='/dev/cuse\x00', 0x2, 0x0) write$FUSE_OPEN(r0, &(0x7f0000005880)={0x20}, 0x20) 04:25:21 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r0, 0x4b4b, &(0x7f0000000000)=0x4) 04:25:21 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_group_source_req(r0, 0x0, 0x12, 0x0, 0x0) 04:25:21 executing program 0: r0 = socket$inet(0xa, 0x801, 0x0) setsockopt$sock_int(r0, 0x1, 0x25, &(0x7f00000003c0)=0xb5e, 0x1f7) setsockopt$sock_int(r0, 0x1, 0x3f, &(0x7f0000000080)=0x7ff, 0x4) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x41, &(0x7f0000000300), 0x4) 04:25:21 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$tmpfs(&(0x7f00000002c0)='tmpfs\x00', &(0x7f0000000100)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[]) openat$ptmx(0xffffffffffffff9c, 0x0, 0x200, 0x0) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(0xffffffffffffffff, 0xc0406618, 0x0) sendmsg$RDMA_NLDEV_CMD_GET(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) setxattr$system_posix_acl(&(0x7f0000000080)='./bus\x00', &(0x7f00000000c0)='system.posix_acl_default\x00', &(0x7f0000000440)={{}, {0x1, 0x5}, [{}, {0x2, 0x3}, {0x2, 0x3}, {}, {}, {}], {}, [{}, {}]}, 0x64, 0x0) chdir(&(0x7f0000000380)='./bus\x00') creat(&(0x7f0000000400)='./bus\x00', 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x0, 0x10, 0xffffffffffffffff, 0x0) syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='smaps\x00') [ 293.110099][ C0] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. 04:25:21 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xd, 0x4, &(0x7f0000000400)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x10}, [@ldst={0x6, 0x0, 0x2}]}, &(0x7f0000000080)='GPL\x00', 0x4, 0x3e0, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x76}, 0x48) 04:25:21 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) 04:25:21 executing program 3: unshare(0xc000400) r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xea, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000040)='/dev/dlm-monitor\x00', 0x0, 0x0) ioctl$PERF_EVENT_IOC_SET_BPF(r0, 0x40042408, r1) [ 293.196454][T17404] tmpfs: Unknown parameter 'smaps' [ 293.253150][ C0] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. [ 293.310772][ T9944] usb 5-1: new high-speed USB device number 10 using dummy_hcd [ 293.354332][T17421] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 293.369072][T17421] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 293.385119][T17421] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 293.550756][ T9944] usb 5-1: Using ep0 maxpacket: 16 [ 293.671189][ T9944] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 293.682523][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 293.693593][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 293.703591][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 293.713379][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 [ 293.801186][ T9944] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 293.810354][ T9944] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 293.818596][ T9944] usb 5-1: Manufacturer: syz [ 293.824089][ T9944] usb 5-1: config 0 descriptor?? [ 294.073093][T17424] A link change request failed with some changes committed already. Interface tunl0 may have been left with an inconsistent configuration, please check. [ 294.120674][ T9944] rc_core: IR keymap rc-hauppauge not found [ 294.126575][ T9944] Registered IR keymap rc-empty [ 294.131736][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.160679][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.190805][ T9944] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 294.203687][ T9944] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input9 [ 294.225919][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.261928][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.291738][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.320686][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.350704][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.380684][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.410671][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.440666][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.470659][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.500695][ T9944] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 294.531264][ T9944] mceusb 5-1:0.0: Registered with mce emulator interface version 1 [ 294.539272][ T9944] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 294.603946][ T9944] usb 5-1: USB disconnect, device number 10 [ 295.380632][ T9799] usb 5-1: new high-speed USB device number 11 using dummy_hcd [ 295.620729][ T9799] usb 5-1: Using ep0 maxpacket: 16 [ 295.751279][ T9799] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 295.761496][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 295.773424][ T9799] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 295.783571][ T9799] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 295.793609][ T9799] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 [ 295.890928][ T9799] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 295.899984][ T9799] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 295.908188][ T9799] usb 5-1: Manufacturer: syz [ 295.914617][ T9799] usb 5-1: config 0 descriptor?? 04:25:23 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) 04:25:23 executing program 1: setsockopt$packet_fanout(0xffffffffffffffff, 0x107, 0x12, 0x0, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = gettid() process_vm_writev(r1, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x60fe01, 0x8) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000100)=0x5, 0x4) 04:25:23 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) r3 = socket$inet_udplite(0x2, 0x2, 0x88) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x3f) getsockname$packet(r2, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000005c0)=ANY=[@ANYBLOB="3800000010000507000200"/20, @ANYRES32=r5, @ANYBLOB="19000016010000001800120008000100736974000c00020008000300", @ANYRES32=r6], 0x38}}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000000)=@ipv6_newaddr={0x34, 0x14, 0x121, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, r6}, [@IFA_ADDRESS={0x14, 0x1, @rand_addr=' \x01\x00'}, @IFA_FLAGS={0x8, 0x8, 0x308}]}, 0x34}}, 0x0) sendmmsg(r0, &(0x7f00000002c0), 0x40000000000009f, 0x0) 04:25:23 executing program 2: perf_event_open(&(0x7f0000000200)={0x2, 0x70, 0x42, 0x8001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000180)='/dev/full\x00', 0x121000, 0x0) socket(0x10, 0x0, 0x0) getpeername$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) sendmsg$MPTCP_PM_CMD_DEL_ADDR(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELPRL(r0, 0x89f6, &(0x7f00000001c0)={'sit0\x00', &(0x7f0000000280)={'syztnl0\x00', r1, 0x0, 0x0, 0x3, 0x7741, 0x0, @remote, @private2, 0x7800, 0x8, 0x6}}) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = memfd_create(&(0x7f0000000100)='\vem1\xc1\xf8\xa6\x8dN\xc0\xa3\\\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) sendto$inet(0xffffffffffffffff, &(0x7f00000000c0)="c421361ab38cd45b2786", 0xa, 0x40801, &(0x7f0000000140)={0x2, 0x0, @multicast2}, 0x10) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') write(r2, &(0x7f0000000040)="0600", 0x2) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000280)=ANY=[], 0xe) ioctl$FS_IOC_SETFLAGS(0xffffffffffffffff, 0x40086602, &(0x7f0000000300)) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f000001a000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r3, 0x1, 0x1a, &(0x7f000002eff0)={0x32b, &(0x7f0000000000)=[{}]}, 0x10) 04:25:23 executing program 3: r0 = socket$inet(0x2, 0x3, 0x80000000002) setsockopt$inet_int(r0, 0x0, 0xc8, &(0x7f0000000080), 0x4) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000980)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000280)=ANY=[@ANYBLOB="dc00e900", @ANYRES16=0x0, @ANYBLOB="0000000000000000000001080000c80008809a3d008014000406000000007f00000199afbbdcd5bc7965080008000000000074000000200004000a000000000000000000000000000000000000000000000040000000240002002cae60f5dd0570bbf48bf233fba1a9b017538688b5095343e13f2c7be6c565a824000100bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbba906000500000000003000008024000100e0e9ffffa9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0800030001"], 0x3}}, 0x0) sendto$inet6(0xffffffffffffffff, &(0x7f0000000000)="9000000129001f4d154a837393278bff0c80a57802000000000484001403", 0x1e, 0x0, 0x0, 0x0) sendto$inet6(0xffffffffffffffff, &(0x7f0000000000)="130000ee30001f00040004eb1b849ad502", 0x11, 0x0, 0x0, 0x0) sendto$inet6(0xffffffffffffffff, &(0x7f0000000000)="c9ae00001a", 0x5, 0x0, 0x0, 0x0) r1 = socket$inet6(0x10, 0x3, 0x0) sendto$inet6(r1, &(0x7f0000000000)='s', 0x10a73, 0x800, 0x0, 0x4b6ae4f95a5de35b) 04:25:23 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) [ 296.047792][T17470] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 296.079815][ C1] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. [ 296.089359][T17470] netlink: 43799 bytes leftover after parsing attributes in process `syz-executor.3'. [ 296.102763][ T9799] rc_core: IR keymap rc-hauppauge not found [ 296.108867][ T9799] Registered IR keymap rc-empty [ 296.142901][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 04:25:24 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000100)=@ipv4_delroute={0x2c, 0x19, 0x309, 0x0, 0x0, {}, [@RTA_DST={0x8, 0x1, @dev}, @RTA_GATEWAY={0x8}]}, 0x2c}}, 0x0) 04:25:24 executing program 0: r0 = socket$pppoe(0x18, 0x1, 0x0) connect$pppoe(r0, &(0x7f0000000140)={0x18, 0x0, {0x4, @broadcast, 'macvlan0\x00'}}, 0x1e) sendmmsg$inet(r0, &(0x7f0000003a00)=[{{0x0, 0x0, &(0x7f0000001c00)=[{&(0x7f00000009c0)="8932fb03094b8eba89b6e43ff9d864184544173cbead5f13fa16f5c49adf48c05693102f0ec16cff99424e376c4eb3abacbc403ed2914cead195e8e681389281b3e8359f814be1624a86d5b9446792a5c36aef490eb3050702da3ed37fb65973145cf976718ecc3b2ff423c5232f2579d8ee8af0a120de3f511ccbd1838b339526798ac1b339dc8dc409a1d1108fab0fc2f09dd76eb0f75a8e57c2efb2e70ee8e4d30adc3890d0813c6e157150996952032682702b9390257aaf90b98f00acdeae0558ae5421f35ddddd8eef7e60fc78d72a1fbd04af09ad9dba360ce949407737c9f70f0472f2e2c1b9505313063a6e0b09608240db8925aafbc0443ee16ba9cecd2ec7fff575f1815b6a7a6d3544e04aa410dc4a8ef67bb4b94944597dcd7b8bd938431080eb09c6969f5d92ec1c6eec4dcc1dd077eabc1490bbd19899d0d7016c63990a1fd54ddf50e9accab77f6d1c0de5c678144aac215f9b43474a136c1336fd74092cfa6b54a5669eb3ed80c8f6bf6562c6d15d2eedd1381dcf1fc93fc7321459586d0e7218897e673c36d7e8ac2703d3bd4894afcf028e495909c6e2a9abba3e52a8f9f89b5bd7671a5ee3a2fd8adb7d6223bdc9faa958af02d81c6e5a94f37b11fe89b26f8edcafead2e8581faf9baaa4922ee3af22ee1f5d76a443ba18334dbc557845c62b2bd9cca421bd4522c130839518dec56c55806b5efb2e25100ee48c7743f7f0ecbbd4f13f218f29948d868a0aa3234cf1307f63e7d5a21c5b2ec8cff601a06e5f68a7cd694f4be0dc1e6c99b0859dada2db244a64910066a9d5e61d0871592ccef6511625032a0e0f7d07a1e77d1b69aa9185dd3190089f1810ee1106cfd363059e951cab6358b12a73bb216940f4824a6a007efcaed65b06ee732332d0f7703b08a56c82cb75fb0871e7eba557e0070170009fceb88ad0e1c6841e9faadf36a4bcd2b1ebaf894c99f5c9f258affcd2da2e571d73d2f7fff6004d0b2f5fecbe1d6e7cdf2851f45ce485949bef3ddace3b5f5f3a1d680fd2a9714ee4811ff2ed51f3feae0885673358efa2fdb3b0069d891bddc0db8c05904ffffac15416544ddadea519d5b1fe54a78039781c9dbda680a54ad59e1ecf958143e1a77d688001dae1aedf6060accd3b183377d8a49f5aa46b52f00de18615d7ec22df8b934657fef6ef2a85d29c0ac72c16c1a72d1b54ed12343281ced2f73dd67cfd16d8fe76d425ffba2211daadaff45b7d0882838dad49f813e927ee32e96e833c0d72078b22a7fded9a6a9a232824bfeb0eeee5872c0da03e3c5acde25fa17c07c0f23730f1ad3ab71e3cd597b6a73f99694ccb3fd2e8041dc458c2bf4a0dfff6ecc404a23978e2449e3bc8b66459c71f695d4cbdf73a3d9ca9681927713ddd02aa6256634ca29c9611051436d57d2f977931eff57b9b4c0874eb2f13ed97414af7ac4b6274f0363ca37e8a906ccd611d7f1e10fda68ae17d35430c934723923801cf0d4c8330901dbdf63d7f302ce874d66117a3eff93e2484a31ac40088d589ef1e6bcb857e38f611cb26a9d70870b7f76958b3ac7e614e26b3f7ac18abb88d059e1e070fc104745411f76684c36187a03a25f0a75388e690c52d35db78c3527fa8f0e2f5541762623507cb50560734c1aa20a96747f2617e9bd144f90e41c85c681bb37d7d24c5416769dd5f67436384dc5be2c2778a6b4827dbeda8a5b946683cafd1de6704b0801d09ed33062f6837e1464e0c3af6dff37597cfa5d87cfaef60cd88c59ca6c0671e6421995828825a8b6a57d34c426b4e9cd6f5fd5a9cce41586793b14d4d38b7fd37c808b7899af9f37e2591cc0eaa0f9b7d8090bad9907c6bdc2d6c22690acf2a9ff019dcbf8276db9d48ace26aad85ccc9e7f07f116993c94e6897eea847aaecd673b4a2868839f6bbf4e7633f1482175b76a8d1cac5ce4cb63391529737ff25089f2d5123d52bc2459fad5a96a29323a679aa656bdeef213bffd15633e8463c92694e0ff09cf61f03954e48452443e84adfb7723593c707011f9f567177341ba598700fd0e8f677bc08c6b2b0a594145ea6b4dc64593c82532f07c131ad7d22d48be10422c2c8ecca5d1ad6", 0x5db}], 0x1}}], 0x1, 0x0) [ 296.197828][T17481] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 296.210558][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.244766][T17481] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 296.260625][ T9799] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 296.288744][T17481] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 296.304036][ T9799] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input10 04:25:24 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x69, 0x11, 0xa0}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [0x7a], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) [ 296.363939][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.390507][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.411458][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.430509][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.450504][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.457967][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.470499][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.490500][ C0] mceusb 5-1:0.0: Error: urb status = -71 04:25:24 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x69, 0x11, 0xa0}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [0x7a], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) [ 296.510601][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.517059][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.540819][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.553066][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.560488][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.580568][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.582688][T17479] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 296.600496][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.630516][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.636375][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.650488][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.670479][ C0] mceusb 5-1:0.0: Error: urb status = -71 04:25:24 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x69, 0x11, 0xa0}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [0x7a], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) [ 296.676613][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.677427][T17479] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 296.700537][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.710557][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.720485][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.740533][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.746317][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.758277][T17479] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 296.770475][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.780567][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 04:25:24 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x69, 0x11, 0xa0}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [0x7a], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) [ 296.790501][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.810533][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.821327][ T9799] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 296.830470][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.850479][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.880467][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.886589][ T9799] mceusb 5-1:0.0: Registered with mce emulator interface version 1 04:25:24 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) 04:25:24 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd(0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r3 = syz_open_dev$loop(&(0x7f0000000100)='/dev/loop#\x00', 0x10001, 0x0) ioctl$BLKTRACESETUP(0xffffffffffffffff, 0xc0481273, &(0x7f0000002300)={[], 0x0, 0x20001, 0x4e4}) r4 = perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$inet6_udp(0xa, 0x2, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(r4, 0xc0709411, &(0x7f00000006c0)=ANY=[@ANYBLOB]) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, &(0x7f0000001800)=ANY=[@ANYRES64=0x0]) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f0000061bc0)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r5}], 0x0, "e8ac3abdcaaabc"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000004b880)={0xb5a, [], 0x9, "2930ddd3501027"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) unshare(0x8000400) ioctl$KVM_IOEVENTFD(r1, 0x4040ae79, &(0x7f0000000180)={0x0, 0x0, 0x0, r2}) [ 296.908515][ T9799] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 296.916904][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.930522][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.932776][T17479] A link change request failed with some changes committed already. Interface geneve1 may have been left with an inconsistent configuration, please check. 04:25:24 executing program 0: r0 = syz_open_dev$amidi(&(0x7f00000001c0)='/dev/amidi#\x00', 0x2, 0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000000)) [ 296.960485][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.980474][ C0] mceusb 5-1:0.0: Error: urb status = -71 [ 296.988533][ T9799] usb 5-1: USB disconnect, device number 11 [ 297.000485][ C0] mceusb 5-1:0.0: Error: urb status = -71 04:25:25 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) 04:25:25 executing program 3: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/ptmx\x00', 0x0, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0xc, 0x8d}, 0x0) r1 = dup(r0) readv(r1, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/187, 0xbb}], 0x1) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x2, 0x0, 0x0, 0x3}, 0x0) read(r0, 0x0, 0x0) r2 = dup2(r0, r0) ioctl$TCXONC(r2, 0x5437, 0x0) 04:25:25 executing program 1: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000140)='/dev/audio1\x00', 0x801, 0x0) ioctl$SNDCTL_DSP_SPEED(r1, 0xc0045002, &(0x7f0000000000)) write$dsp(r1, &(0x7f0000000380)="81", 0x20000381) 04:25:25 executing program 0: writev(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff110000000000000058000b4824ca805f64009400ff0325010ebc000800008020008000f0fffe00e8090053", 0x41}], 0x1) r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x20, &(0x7f0000000040)=0x2, 0xf6) 04:25:25 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0x40087602, 0xfffffffffffffffd) [ 297.189747][T17537] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready 04:25:25 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$inet_MCAST_JOIN_GROUP(r0, 0x0, 0x2a, &(0x7f0000000180)={0x2, {{0x2, 0x0, @multicast2}}}, 0x88) setsockopt$inet_group_source_req(r0, 0x0, 0x2b, &(0x7f00000004c0)={0x2, {{0x2, 0x0, @multicast2}}, {{0x2, 0x0, @dev}}}, 0x108) setsockopt$inet_group_source_req(r0, 0x0, 0x2c, &(0x7f00000004c0)={0x2, {{0x2, 0x0, @multicast2}}, {{0x2, 0x0, @dev}}}, 0x108) setsockopt$inet_group_source_req(r0, 0x0, 0x2b, &(0x7f00000004c0)={0x2, {{0x2, 0x0, @multicast2}}, {{0x2, 0x0, @dev}}}, 0x108) 04:25:25 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) recvmmsg(r0, &(0x7f0000003e00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sendmmsg$inet(r0, &(0x7f000000a380)=[{{&(0x7f0000000140)={0x2, 0x4e23, @remote}, 0x10, 0x0}}, {{&(0x7f0000000000)={0x2, 0x4e22, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10, 0x0, 0x0, &(0x7f0000004000)=[@ip_tos_u8={{0x11}}, @ip_tos_int={{0x14, 0x0, 0x1, 0xbb0e}}], 0x30}}], 0x2, 0x0) 04:25:25 executing program 0: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000180)={0x2, 0x10, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, [@sadb_x_policy={0x8, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private2}}]}, 0x50}}, 0x0) [ 297.233952][T17537] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 297.259007][T17537] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready 04:25:25 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x400002b7, &(0x7f0000000080)=[{&(0x7f00000002c0)="2e00000010008108040f80ecdb4cb92e0a480e0a10000000e8bd6efb250009000e0001002d0000ff050005001201", 0x33fe0}], 0x1}, 0x0) [ 297.406389][T17548] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 297.428530][T17548] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 297.438254][T17548] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready 04:25:25 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) 04:25:25 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x81) ioctl$KVM_SET_LAPIC(r4, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) ioctl$KVM_RUN(r4, 0xae80, 0x0) r5 = dup3(r0, r1, 0x0) ioctl$KVM_TPR_ACCESS_REPORTING(r4, 0x4188aea7, &(0x7f0000000080)={0x1, 0x0, [0xc0000100, 0x0, 0x3, 0x2, 0xda0]}) dup2(r5, r4) 04:25:25 executing program 0: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x0, 0x10, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) keyctl$unlink(0x9, 0x0, 0xfffffffffffffffb) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd) r0 = gettid() process_vm_writev(r0, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) syz_fuse_handle_req(r1, &(0x7f0000006380)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc3a680b8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ac515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f0", 0x2000, 0x0) getresgid(&(0x7f0000000400), &(0x7f0000000440), 0x0) mount$fuse(0x0, 0x0, &(0x7f0000000200)='fuse\x00', 0x3800002, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYBLOB=',rootmode=000', @ANYRESDEC, @ANYBLOB="2c616c6c6f775f6f746865722c64656661756c745f7065726d697373696f6e732c6673757569643d02326500643400002d636200212d373800612d360000312d35333966", @ANYRESDEC=0x0, @ANYBLOB, @ANYBLOB]) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00000, 0x0, 0x0, 0x200000000000000, 0x10000000002) 04:25:25 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000000880000000000000c04850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r0}, 0x10) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='setgroups\x00') copy_file_range(r1, 0x0, r1, 0x0, 0x6, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000080)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) mkdirat$cgroup_root(0xffffff9c, &(0x7f0000000140)='./cgroup/syz1\x00', 0x1ff) sendto$inet6(r3, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) shutdown(r3, 0x0) accept4(r2, 0x0, 0x0, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x6, 0x4, &(0x7f0000000200)=ANY=[@ANYBLOB="18020000000000000000000000000020850000002c0000009500000000000000"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f000062b000)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x3}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r5}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x41, &(0x7f0000000340)={'raw\x00', 0x3, [{}, {}, {}]}, 0x54) pkey_mprotect(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_EEE_SET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, 0x0}, 0x0) [ 297.947686][T17586] kvm: vcpu 129: requested lapic timer restore with starting count register 0x390=4241646265 (4241646265 ns) > initial count (296265111 ns). Using initial count to start timer. 04:25:25 executing program 0: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x0, 0x10, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) keyctl$unlink(0x9, 0x0, 0xfffffffffffffffb) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd) r0 = gettid() process_vm_writev(r0, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) syz_fuse_handle_req(r1, &(0x7f0000006380)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc3a680b8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ac515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f0", 0x2000, 0x0) getresgid(&(0x7f0000000400), &(0x7f0000000440), 0x0) mount$fuse(0x0, 0x0, &(0x7f0000000200)='fuse\x00', 0x3800002, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYBLOB=',rootmode=000', @ANYRESDEC, @ANYBLOB="2c616c6c6f775f6f746865722c64656661756c745f7065726d697373696f6e732c6673757569643d02326500643400002d636200212d373800612d360000312d35333966", @ANYRESDEC=0x0, @ANYBLOB, @ANYBLOB]) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00000, 0x0, 0x0, 0x200000000000000, 0x10000000002) [ 298.028238][T17585] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 298.057193][T17585] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 298.066131][T17585] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 298.170332][T17604] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 298.192499][T17604] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 298.200091][T17604] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready 04:25:28 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff}) close(r0) socket(0x200000100000011, 0x803, 0x0) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000080)=[&(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000040), 0x18}]) 04:25:28 executing program 0: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x0, 0x10, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) keyctl$unlink(0x9, 0x0, 0xfffffffffffffffb) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd) r0 = gettid() process_vm_writev(r0, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) syz_fuse_handle_req(r1, &(0x7f0000006380)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc3a680b8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ac515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f0", 0x2000, 0x0) getresgid(&(0x7f0000000400), &(0x7f0000000440), 0x0) mount$fuse(0x0, 0x0, &(0x7f0000000200)='fuse\x00', 0x3800002, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYBLOB=',rootmode=000', @ANYRESDEC, @ANYBLOB="2c616c6c6f775f6f746865722c64656661756c745f7065726d697373696f6e732c6673757569643d02326500643400002d636200212d373800612d360000312d35333966", @ANYRESDEC=0x0, @ANYBLOB, @ANYBLOB]) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00000, 0x0, 0x0, 0x200000000000000, 0x10000000002) 04:25:28 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) recvmmsg(r0, &(0x7f0000003e00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sendmmsg$inet(r0, &(0x7f000000a380)=[{{&(0x7f0000000140)={0x2, 0x4e23, @remote}, 0x10, 0x0}}, {{&(0x7f0000000000)={0x2, 0x4e22, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10, 0x0, 0x0, &(0x7f0000004000)=[@ip_tos_u8={{0x11}}, @ip_tos_int={{0x14, 0x0, 0x1, 0xbb0e}}], 0x30}}], 0x2, 0x0) 04:25:28 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x81) ioctl$KVM_SET_LAPIC(r4, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) ioctl$KVM_RUN(r4, 0xae80, 0x0) r5 = dup3(r0, r1, 0x0) ioctl$KVM_TPR_ACCESS_REPORTING(r4, 0x4188aea7, &(0x7f0000000080)={0x1, 0x0, [0xc0000100, 0x0, 0x3, 0x2, 0xda0]}) dup2(r5, r4) 04:25:28 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000040)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x30}}, 0x10) setsockopt$sock_int(r0, 0x1, 0x29, &(0x7f0000000140)=0x36, 0x4) sendmmsg$inet(0xffffffffffffffff, &(0x7f0000003880)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000100)={0x2, 0x4e20, @multicast2}, 0x10, 0x0}}], 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x98a, 0x4) sendmmsg(r0, &(0x7f00000038c0), 0x4000000000000a8, 0x0) recvfrom$inet(r0, 0x0, 0x0, 0x40002001, 0x0, 0x0) 04:25:28 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x1, 0x0, 0x0, 0x5}, 0x0) r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000140)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r1, 0x40045431, &(0x7f0000000200)) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write(r2, &(0x7f00000001c0), 0xfffffef3) r3 = syz_open_pts(r1, 0x0) readv(r3, &(0x7f00000001c0)=[{&(0x7f0000000940)=""/4096, 0x1000}], 0x3c) ioctl$TCSETSW(r3, 0x5403, &(0x7f0000000000)={0x500, 0x0, 0x0, 0x0, 0x0, '\x00\x00\x00\a\x00'}) 04:25:28 executing program 0: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x0, 0x10, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) keyctl$unlink(0x9, 0x0, 0xfffffffffffffffb) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd) r0 = gettid() process_vm_writev(r0, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) syz_fuse_handle_req(r1, &(0x7f0000006380)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc3a680b8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ac515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f0", 0x2000, 0x0) getresgid(&(0x7f0000000400), &(0x7f0000000440), 0x0) mount$fuse(0x0, 0x0, &(0x7f0000000200)='fuse\x00', 0x3800002, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYBLOB=',rootmode=000', @ANYRESDEC, @ANYBLOB="2c616c6c6f775f6f746865722c64656661756c745f7065726d697373696f6e732c6673757569643d02326500643400002d636200212d373800612d360000312d35333966", @ANYRESDEC=0x0, @ANYBLOB, @ANYBLOB]) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00000, 0x0, 0x0, 0x200000000000000, 0x10000000002) [ 300.149384][T17629] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead. 04:25:28 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000040)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x30}}, 0x10) setsockopt$sock_int(r0, 0x1, 0x29, &(0x7f0000000140)=0x36, 0x4) sendmmsg$inet(0xffffffffffffffff, &(0x7f0000003880)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000100)={0x2, 0x4e20, @multicast2}, 0x10, 0x0}}], 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x98a, 0x4) sendmmsg(r0, &(0x7f00000038c0), 0x4000000000000a8, 0x0) recvfrom$inet(r0, 0x0, 0x0, 0x40002001, 0x0, 0x0) [ 300.196891][T17632] kvm: vcpu 129: requested lapic timer restore with starting count register 0x390=4241646265 (4241646265 ns) > initial count (296265111 ns). Using initial count to start timer. 04:25:28 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff}) close(r0) socket(0x200000100000011, 0x803, 0x0) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000080)=[&(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000040), 0x18}]) 04:25:28 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000040)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x30}}, 0x10) setsockopt$sock_int(r0, 0x1, 0x29, &(0x7f0000000140)=0x36, 0x4) sendmmsg$inet(0xffffffffffffffff, &(0x7f0000003880)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000100)={0x2, 0x4e20, @multicast2}, 0x10, 0x0}}], 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x98a, 0x4) sendmmsg(r0, &(0x7f00000038c0), 0x4000000000000a8, 0x0) recvfrom$inet(r0, 0x0, 0x0, 0x40002001, 0x0, 0x0) 04:25:28 executing program 0: io_setup(0x83, &(0x7f00000003c0)=0x0) r1 = socket$qrtr(0x2a, 0x2, 0x0) connect$qrtr(r1, &(0x7f0000000000)={0x2a, 0xffffffff}, 0xc) io_submit(r0, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x2703000000000000, 0x0, 0x3, 0x8, 0x0, r1, 0x0}]) 04:25:28 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff}) close(r0) socket(0x200000100000011, 0x803, 0x0) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000080)=[&(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000040), 0x18}]) 04:25:28 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000040)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x30}}, 0x10) setsockopt$sock_int(r0, 0x1, 0x29, &(0x7f0000000140)=0x36, 0x4) sendmmsg$inet(0xffffffffffffffff, &(0x7f0000003880)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000100)={0x2, 0x4e20, @multicast2}, 0x10, 0x0}}], 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x98a, 0x4) sendmmsg(r0, &(0x7f00000038c0), 0x4000000000000a8, 0x0) recvfrom$inet(r0, 0x0, 0x0, 0x40002001, 0x0, 0x0) 04:25:28 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x16, 0x4, &(0x7f0000000080)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x8c}]}, &(0x7f0000000040)='syzkaller\x00', 0x5, 0xc4, &(0x7f00000000c0)=""/196, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 04:25:28 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) recvmmsg(r0, &(0x7f0000003e00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sendmmsg$inet(r0, &(0x7f000000a380)=[{{&(0x7f0000000140)={0x2, 0x4e23, @remote}, 0x10, 0x0}}, {{&(0x7f0000000000)={0x2, 0x4e22, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10, 0x0, 0x0, &(0x7f0000004000)=[@ip_tos_u8={{0x11}}, @ip_tos_int={{0x14, 0x0, 0x1, 0xbb0e}}], 0x30}}], 0x2, 0x0) 04:25:28 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe7000/0x18000)=nil, &(0x7f0000000100)=[@text16={0x10, &(0x7f0000000040)="baa000ec3e3e3e0f2b75ee65f30f008f7e00a6aff4660f3a62227d0f20e06635000040000f22e0260f0350000f01cf", 0x2f}], 0x1, 0x0, 0x0, 0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, &(0x7f0000000680)={0x0, 0x0, @pic={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}}) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) openat$full(0xffffffffffffff9c, &(0x7f0000000000)='/dev/full\x00', 0x0, 0x0) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)={[0x0, 0x0, 0x0, 0x0, 0x200000201, 0x0, 0x4ca]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f00000001c0)={0x0, 0xffffffffffffffff, 0x0, 0xb, &(0x7f0000000080)='/dev/hwrng\x00'}, 0x30) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4040ae79, &(0x7f0000000200)={0x0, &(0x7f0000000140)}) ioctl$KVM_IRQ_LINE_STATUS(r1, 0xc008ae67, &(0x7f0000000180)={0xc, 0x8001}) ioctl$KVM_RUN(r2, 0xae80, 0x0) 04:25:28 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x81) ioctl$KVM_SET_LAPIC(r4, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) ioctl$KVM_RUN(r4, 0xae80, 0x0) r5 = dup3(r0, r1, 0x0) ioctl$KVM_TPR_ACCESS_REPORTING(r4, 0x4188aea7, &(0x7f0000000080)={0x1, 0x0, [0xc0000100, 0x0, 0x3, 0x2, 0xda0]}) dup2(r5, r4) 04:25:28 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff}) close(r0) socket(0x200000100000011, 0x803, 0x0) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000080)=[&(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000040), 0x18}]) 04:25:28 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x101}, 0x0) socket(0x10, 0x80002, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000002940)={&(0x7f0000000180)=@newtaction={0x18, 0x30, 0x53b, 0x0, 0x0, {}, [{0x4}]}, 0x18}}, 0x0) getsockopt$bt_l2cap_L2CAP_LM(0xffffffffffffffff, 0x6, 0x3, &(0x7f0000000080), &(0x7f0000000100)=0x4) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x7}, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$bt_hidp(0x1f, 0x3, 0x6) socket$inet6(0xa, 0x3, 0x9) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xe, 0xe, &(0x7f0000000380)=ANY=[@ANYBLOB="b702000003440200bfa30000000000001702000000feffff7a0af0ff01ffffff79a4f0ff00000000b7060000ffffffff3d640200000000005502faff03ae0200040400000b007d60b6030000001000006a0a00fe39000000850000002b0000009c000000000000009500000000000000a81bbfa3982de7b0efc5733ed236e4add6de01800000aaa6912a8b2ce571c4580000f7000000e3a94b574d2eb38a548355f0b886bd001362df1d4fdd860db5808922433e3e0f242a46b3009a54f4077db089bd9d5fdb68832e986440ff0a7edfa0cb231ccd00000000000000000000007777e27060493073807c4b7bbaed91f33fb382d91ae8e18c9b6c9f0322ec5f1c7cc5869ff455896712198c4e2ddf8b86e714229527ca40b24cfd6a02fa0892729507982d90e116bba29bb744af70a4cd8f3ad2db451de058226c4e31a27bf356c04c58bdd0b424ac416e66af9ebcfea905d37cf226312cb81ec843bcea06e7fa5e5b3596301460142f83b465d9e57dfdb06dcf91fd0600000000000000d2110cf2e1f4682c24a314447c5e0807f0b1766ec7ecbd061772daa52a38539295d3fea7a7e669441e1ff041143ecfa904fb43897f8d9c3c287acba716973eadf1bf9cd0a38edc345415c42d3d2dd356e205585e30a64830a5796cd7ce18b68bc37e061d33357d6a39d33c702576cc2a8881663e3776c7a37c5c962e12102f237bbf60c0a3bf07d55b3888418de2b2ad23d25395dd4ccddf247dd2c712e2e2eaf7d4326968122cc5dcaa7ba33096027093a58a02dba114f75e1ffd5c2912b506bfb9bf22fc776aadec51a367658100000000000000b148a9000000000000000000000000000000e02739ccd50523d36032d38f5cbeaf95c7d797d6e094c4a3aee025bf43cebde7e7cdbae9b1698e19eb0e6d5244c1ff01e97628a88a4b37032f1ef8b8046a3237ad1fe10f7035489179fc8f6c673e514f2b3e1028cd404a1d8fe6569da0385e65e4d523166c4213abb8dae5b1409317f29572e788af92aedb0287f2818206ce5fba6fca8b270d76191b43ab4cbdd4dbcccdc644fe65e7bd90a5fc16387bcb5e1e028d7d2a33c78cb8fe48ddcf6adfc9417bd42909ee4307c4197b15797af17845fbc02846d2f8543f65594cb535a9538eb067b21111dbaa58b19a52f3f12880128d08eb477ad349c2214bc7f8378b7e5b5415f3da911411ed6655c6b66beaf92e416313dfe58e88fbfa825114227c2f6cfd1448ca37902a5678af7277e6cde25737b058ba3ca60696bc1d4df56b6f544f57ddc35f3c1b5904def348912e1fefe8164c3341b91913718593085d2a9a260663c11f5484cad2de673f9a1fcac868ff6cb20122f76531881165f4d46e1a23ce0dc462ff47e1fb4a8e2a1f6e3b8134031eb29e068c831dc2d825b82749063a85bf6c1bcf4ccf798e49000000000000000000009e664603220bf1e47cfdc28f5cc38b3d66751a524081f961f3a6bec7b84976ae5fc7a8d29dc65277d3a47422bcf49b3f399fb3b10967ef66d63e4404d66f6ac1c6d0d57dd3e55dc62e58b25a34d1a482652315813e92188263a93f13dde4dd81dfe32af06f6f3fcd73789cc69925a3211955290f85e42dabf19d40f717edd7361ad3801f6642046376000000000000005581a3b65fc336f7011e6810cd"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000040)}, 0x24) 04:25:28 executing program 5: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x41, 0x0) write$binfmt_aout(r0, &(0x7f00000000c0)=ANY=[], 0xff2e) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000280)) r1 = syz_open_pts(r0, 0x0) dup3(r1, r0, 0x0) [ 301.066058][T17682] kvm: pic: single mode not supported [ 301.066068][T17682] pic_ioport_write: 161 callbacks suppressed [ 301.066077][T17682] kvm: pic: level sensitive irq not supported [ 301.069340][T17688] kvm: vcpu 129: requested lapic timer restore with starting count register 0x390=4241646265 (4241646265 ns) > initial count (296265111 ns). Using initial count to start timer. [ 301.085644][T17682] kvm: pic: single mode not supported 04:25:29 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x101}, 0x0) socket(0x10, 0x80002, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000002940)={&(0x7f0000000180)=@newtaction={0x18, 0x30, 0x53b, 0x0, 0x0, {}, [{0x4}]}, 0x18}}, 0x0) getsockopt$bt_l2cap_L2CAP_LM(0xffffffffffffffff, 0x6, 0x3, &(0x7f0000000080), &(0x7f0000000100)=0x4) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x7}, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$bt_hidp(0x1f, 0x3, 0x6) socket$inet6(0xa, 0x3, 0x9) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xe, 0xe, &(0x7f0000000380)=ANY=[@ANYBLOB="b702000003440200bfa30000000000001702000000feffff7a0af0ff01ffffff79a4f0ff00000000b7060000ffffffff3d640200000000005502faff03ae0200040400000b007d60b6030000001000006a0a00fe39000000850000002b0000009c000000000000009500000000000000a81bbfa3982de7b0efc5733ed236e4add6de01800000aaa6912a8b2ce571c4580000f7000000e3a94b574d2eb38a548355f0b886bd001362df1d4fdd860db5808922433e3e0f242a46b3009a54f4077db089bd9d5fdb68832e986440ff0a7edfa0cb231ccd00000000000000000000007777e27060493073807c4b7bbaed91f33fb382d91ae8e18c9b6c9f0322ec5f1c7cc5869ff455896712198c4e2ddf8b86e714229527ca40b24cfd6a02fa0892729507982d90e116bba29bb744af70a4cd8f3ad2db451de058226c4e31a27bf356c04c58bdd0b424ac416e66af9ebcfea905d37cf226312cb81ec843bcea06e7fa5e5b3596301460142f83b465d9e57dfdb06dcf91fd0600000000000000d2110cf2e1f4682c24a314447c5e0807f0b1766ec7ecbd061772daa52a38539295d3fea7a7e669441e1ff041143ecfa904fb43897f8d9c3c287acba716973eadf1bf9cd0a38edc345415c42d3d2dd356e205585e30a64830a5796cd7ce18b68bc37e061d33357d6a39d33c702576cc2a8881663e3776c7a37c5c962e12102f237bbf60c0a3bf07d55b3888418de2b2ad23d25395dd4ccddf247dd2c712e2e2eaf7d4326968122cc5dcaa7ba33096027093a58a02dba114f75e1ffd5c2912b506bfb9bf22fc776aadec51a367658100000000000000b148a9000000000000000000000000000000e02739ccd50523d36032d38f5cbeaf95c7d797d6e094c4a3aee025bf43cebde7e7cdbae9b1698e19eb0e6d5244c1ff01e97628a88a4b37032f1ef8b8046a3237ad1fe10f7035489179fc8f6c673e514f2b3e1028cd404a1d8fe6569da0385e65e4d523166c4213abb8dae5b1409317f29572e788af92aedb0287f2818206ce5fba6fca8b270d76191b43ab4cbdd4dbcccdc644fe65e7bd90a5fc16387bcb5e1e028d7d2a33c78cb8fe48ddcf6adfc9417bd42909ee4307c4197b15797af17845fbc02846d2f8543f65594cb535a9538eb067b21111dbaa58b19a52f3f12880128d08eb477ad349c2214bc7f8378b7e5b5415f3da911411ed6655c6b66beaf92e416313dfe58e88fbfa825114227c2f6cfd1448ca37902a5678af7277e6cde25737b058ba3ca60696bc1d4df56b6f544f57ddc35f3c1b5904def348912e1fefe8164c3341b91913718593085d2a9a260663c11f5484cad2de673f9a1fcac868ff6cb20122f76531881165f4d46e1a23ce0dc462ff47e1fb4a8e2a1f6e3b8134031eb29e068c831dc2d825b82749063a85bf6c1bcf4ccf798e49000000000000000000009e664603220bf1e47cfdc28f5cc38b3d66751a524081f961f3a6bec7b84976ae5fc7a8d29dc65277d3a47422bcf49b3f399fb3b10967ef66d63e4404d66f6ac1c6d0d57dd3e55dc62e58b25a34d1a482652315813e92188263a93f13dde4dd81dfe32af06f6f3fcd73789cc69925a3211955290f85e42dabf19d40f717edd7361ad3801f6642046376000000000000005581a3b65fc336f7011e6810cd"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000040)}, 0x24) 04:25:29 executing program 1: clone(0x2900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, 0x0}, 0x0) perf_event_open(&(0x7f0000000500)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x42000) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x8, &(0x7f0000001340)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a69623a2f57ba32e8cf1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c2918451ebdcf4cef809606056fe5c34664c0af9361f007a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215106bffffffffffffd40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa01000366c9c6fd6fa5043aa3926bc781e3b59c9b081d6a0893fea53187217441620b4f78ae8ae361000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa749d247632f32030916f89c6dad7603f2ba2a790d62c6faec2fed4530d6b2ba11de6c5d50b83bae616b52e1e652513b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8873495cbff8a329000000000000000ebf6c9d13330cac68eb7b65b704f64518c9b476fccbd6c7120162198487a0e001747c4366c5c20d58345624b87cec2dbe98223a0eb4fa39f6b5c0200000000000000000000000000030000000000000000000000000010008bc0d955b6b6be4377422992c73be7c72bea63a656033d2d0d2f074a37c56c98b06096c50bde602c588fe9a2799711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d0943b1b108bb4f71b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6a07666bfff17addeedab25b30030000007fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000003341bf4a00fcffffffffffffffe09fecf8816fe02271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dcb05cfd9fcb32c8ed1dbd9ee58969c41595229df17bcad72fb4021428ce970275d5bc8955778567bc79e13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822a8b649d1fd4184a54ecff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c30f21f60197bca535f693c4772d978cf906df0042e36acd37d7f9e119f7f000000312e0cfe222a06f56dd022c074ebc41fc248bc79e8e9d154b405c37feaf3dd95f6ef2acd1fe582786105c7103aa377b14997fd686936ff018ededf05e5877050c91301bb997316dbe17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc7af1b6123519d54108dfc8301718753567d54881c75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec6e8bf694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bba9e6ee9877ede6c2551e18b99b6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de2feb7c8ba06ad9b11beba199da44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d2a00d40b51ab63e96ec8485b3b8a8c9aa3d14f93100c2e0893862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27defc93871c5f99b3572d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ac1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186f55fe0086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8101000000009f18101288a0268893373750d1a8fe64680b0a3fc22dd704e421d1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0b731b0c7f0ced699b0e9960ff5f7e14e730b263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff2040051ea44baa11064ae99292936619caf300e03f6340e4a8a66dd8998dfb905f59201b58aa64b543c7dbcffd7d2eae511b2b1d035baca2147349f2a90551953f7b43d3d9cb13ceb3b30c220ed860fa3642be9d79ced99a7802ddb25b605470795f5b7f47c8874f619a8f616a938de9c995f71744c2c962b96aabb4090026c5b60c5bcb0cc9ac62b0eed951949afa958c661634c4392c5d806d9a192b697a91257bb9ff4ba824768109aad9809ac93767712168d08d13e3e6a36251cfdaf7a4b482f2f2bcb9c1c6ce1b9bd83b75fc23cec86e20b93198474801e22f0214146cb9ab75b07e0cee67cc41875728588faa8808c540d5adca7f8d6e7461993e5d66c9f571e952e82d8448ab35c05c87f3c9dd2b9d6fc6beae52a9cba8c0066f7032815a7915eb3d3144578f8d500672d873acd1af11c3f463e4b114901e122ac8370d9d98bbd709e1db03000f921e345200000000000008e54135cb32ee59bef8a8ab1d212df98ba478be2a180a391d95189ba9758a9f346037681c9f72a50f629383dd73bb5d56120beb48f6e010616aeb759f6af3626783033c2c1b817bb7ac9641910a0fbf5000c588792ba2223cf202fb40a8c2e6abae9ecc3fafae4826ba6cdd21692a40289627c7bb0384dbfdb9c2f4e2abd9e75cd9bd7d447a48476173e1725ff1815df1857e1f07210399b6b4292ec7fa73e397810891bafa5d2b0e1cdbcdd2150d52ca661d41980992c31375e8b9f60305bb84822f4f8ac8b5b7a120ec15b93511b24db209ecbc2eb53647ed4cd2e50faf119bbcdc1c52320583154f787dde6e820cc18941527efbfd47fe51bee092548205968701502d64260890e3af41dae11eab95150fbcd3f604b588c2cb4cc78274141b17cf81cd7a31ad52ac07749181d621a2458c12addbbff912d17af877ceb69547a38614e6f166528623271f9ad57a562dbae4d1f843d0d5271305e91633ba302fb4fb17f3e7155b0f267ca4b6bcefaf59c64c8a70fc819b0838df03e3547c60b2714c1bbf060fce4d74b460c5f53f968089f12920f40a54437b18000049abc44b725342fed3d61b8d049cf5ea2c1be69d397fb75aeca9dbcd897cc53ac7e520d4fc31cfa5fe3c3386a5c1747160c38bc88f8eb9050442e5a94525d18f33b69e0f5d6ce2d05679791715be4b75ddd1599687aaa9f5579d5152e2a30c903ab61f7210803540af645e5282bffb7bb48f0b2ec88ddd04b2ae6a458518e4cbb9cf71614e852c0ff035567f6762bed716c8cd2cc6e121b7b31a3a796b76c70e318b98dcee995ff97f4159dfb7112009043e5afd69c53a3d95a9737e32003e37cff498b2774b4a9d9a2d8160b7e73e250000000000000000000000000000ff9764266faf7d9f3c2393420d4034316a8911aad9ad214cb0252a1fd73e69c54c3a038b6f9e6a4058309fc8159d6a6500baed18e2b9d9f8267cfed86e7eda9ab863767947b5b987fb644c17891031d9f2bae8287b14045c55728179085becc774baea2a593af744d9a96a5b85a94dc1ca0a6074065938814f0805f9bea344298e0d2d80c16e46959e0ac4a192b8a2b0ec9c88fcdaa2fe29576c1bdd9664ea8a034a973ff01ef2d735f4dad1bd87c17539aa0afa4cc5a243e35b2b4976f1c2536e9c17ffe6b0a409bf4b9fdee0621bdb2a9ad5ddcaab5faca4176fadc5ae6daafb2cf51a7fa1384f4d3362d873b3867bfacc66469819239534dce6bf03babfa1e599d51b0ee4276e801e4d2eaf4403c2231283f7f922e27bffc479f0fe8561e2a29fa26d3349765ba72b2017d4dfada0edd2155c66f14de428e0dd0b547b478482b1ca844ffe1ffab6aff91f8029e474f5af41e7c75bf69841875602ac643048425f951573e52889a21aef8e0317ea3cf82002c398f48695329ce9089a36813e65600107933e57f1074287dc6dbd86b1b5eb15e2da5ba202258741792056549c8275d5066aa2ed8e1387a228731b692329e7e0fcc4db1b89d0e518b83c81b4b9502fa15468067b52a48869c34054bc531d5136f7e53dd784d51657bf6a0f3177c22f38dfb4e54a5cf45cf781f5f9aee586eac15669a54000a055a8b140cc2d620077519c853b989fe17f2177f1a6800bfc1262da7b7a7dbe0af309ba9d4264ecf3bad4cc504ad7a3fd1001446600000000000000000000000000000000a76e267fe81a"], &(0x7f0000000100)='GPL\x00'}, 0x48) openat$dir(0xffffffffffffff9c, 0x0, 0x2009c0, 0x0) exit(0x0) [ 301.101179][T17682] kvm: pic: level sensitive irq not supported [ 301.153558][T17682] kvm: pic: single mode not supported [ 301.159641][T17682] kvm: pic: level sensitive irq not supported [ 301.173189][T17682] kvm: pic: single mode not supported [ 301.179312][T17682] kvm: pic: level sensitive irq not supported [ 301.207224][T17682] kvm: pic: single mode not supported [ 301.233832][T17682] kvm: pic: single mode not supported [ 301.244238][T17682] kvm: pic: single mode not supported [ 301.250627][T17682] kvm: pic: single mode not supported [ 301.265428][T17682] kvm: pic: level sensitive irq not supported [ 301.287552][T17682] kvm: pic: single mode not supported [ 301.295502][T17682] kvm: pic: single mode not supported [ 301.303617][T17682] kvm: pic: level sensitive irq not supported [ 301.323884][T17682] kvm: pic: level sensitive irq not supported [ 301.342087][T17682] kvm: pic: level sensitive irq not supported 04:25:29 executing program 1: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_udp_int(r1, 0x11, 0x65, &(0x7f0000000000)=0x1, 0x4) connect$pppl2tp(r0, &(0x7f0000000240)=@pppol2tpin6={0x18, 0x1, {0x0, r1, 0x2, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}}, 0x32) connect$inet6(r1, &(0x7f0000000180)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmsg$NL80211_CMD_GET_SCAN(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) 04:25:29 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x81) ioctl$KVM_SET_LAPIC(r4, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) ioctl$KVM_RUN(r4, 0xae80, 0x0) r5 = dup3(r0, r1, 0x0) ioctl$KVM_TPR_ACCESS_REPORTING(r4, 0x4188aea7, &(0x7f0000000080)={0x1, 0x0, [0xc0000100, 0x0, 0x3, 0x2, 0xda0]}) dup2(r5, r4) 04:25:29 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x101}, 0x0) socket(0x10, 0x80002, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000002940)={&(0x7f0000000180)=@newtaction={0x18, 0x30, 0x53b, 0x0, 0x0, {}, [{0x4}]}, 0x18}}, 0x0) getsockopt$bt_l2cap_L2CAP_LM(0xffffffffffffffff, 0x6, 0x3, &(0x7f0000000080), &(0x7f0000000100)=0x4) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x7}, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$bt_hidp(0x1f, 0x3, 0x6) socket$inet6(0xa, 0x3, 0x9) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xe, 0xe, &(0x7f0000000380)=ANY=[@ANYBLOB="b702000003440200bfa30000000000001702000000feffff7a0af0ff01ffffff79a4f0ff00000000b7060000ffffffff3d640200000000005502faff03ae0200040400000b007d60b6030000001000006a0a00fe39000000850000002b0000009c000000000000009500000000000000a81bbfa3982de7b0efc5733ed236e4add6de01800000aaa6912a8b2ce571c4580000f7000000e3a94b574d2eb38a548355f0b886bd001362df1d4fdd860db5808922433e3e0f242a46b3009a54f4077db089bd9d5fdb68832e986440ff0a7edfa0cb231ccd00000000000000000000007777e27060493073807c4b7bbaed91f33fb382d91ae8e18c9b6c9f0322ec5f1c7cc5869ff455896712198c4e2ddf8b86e714229527ca40b24cfd6a02fa0892729507982d90e116bba29bb744af70a4cd8f3ad2db451de058226c4e31a27bf356c04c58bdd0b424ac416e66af9ebcfea905d37cf226312cb81ec843bcea06e7fa5e5b3596301460142f83b465d9e57dfdb06dcf91fd0600000000000000d2110cf2e1f4682c24a314447c5e0807f0b1766ec7ecbd061772daa52a38539295d3fea7a7e669441e1ff041143ecfa904fb43897f8d9c3c287acba716973eadf1bf9cd0a38edc345415c42d3d2dd356e205585e30a64830a5796cd7ce18b68bc37e061d33357d6a39d33c702576cc2a8881663e3776c7a37c5c962e12102f237bbf60c0a3bf07d55b3888418de2b2ad23d25395dd4ccddf247dd2c712e2e2eaf7d4326968122cc5dcaa7ba33096027093a58a02dba114f75e1ffd5c2912b506bfb9bf22fc776aadec51a367658100000000000000b148a9000000000000000000000000000000e02739ccd50523d36032d38f5cbeaf95c7d797d6e094c4a3aee025bf43cebde7e7cdbae9b1698e19eb0e6d5244c1ff01e97628a88a4b37032f1ef8b8046a3237ad1fe10f7035489179fc8f6c673e514f2b3e1028cd404a1d8fe6569da0385e65e4d523166c4213abb8dae5b1409317f29572e788af92aedb0287f2818206ce5fba6fca8b270d76191b43ab4cbdd4dbcccdc644fe65e7bd90a5fc16387bcb5e1e028d7d2a33c78cb8fe48ddcf6adfc9417bd42909ee4307c4197b15797af17845fbc02846d2f8543f65594cb535a9538eb067b21111dbaa58b19a52f3f12880128d08eb477ad349c2214bc7f8378b7e5b5415f3da911411ed6655c6b66beaf92e416313dfe58e88fbfa825114227c2f6cfd1448ca37902a5678af7277e6cde25737b058ba3ca60696bc1d4df56b6f544f57ddc35f3c1b5904def348912e1fefe8164c3341b91913718593085d2a9a260663c11f5484cad2de673f9a1fcac868ff6cb20122f76531881165f4d46e1a23ce0dc462ff47e1fb4a8e2a1f6e3b8134031eb29e068c831dc2d825b82749063a85bf6c1bcf4ccf798e49000000000000000000009e664603220bf1e47cfdc28f5cc38b3d66751a524081f961f3a6bec7b84976ae5fc7a8d29dc65277d3a47422bcf49b3f399fb3b10967ef66d63e4404d66f6ac1c6d0d57dd3e55dc62e58b25a34d1a482652315813e92188263a93f13dde4dd81dfe32af06f6f3fcd73789cc69925a3211955290f85e42dabf19d40f717edd7361ad3801f6642046376000000000000005581a3b65fc336f7011e6810cd"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000040)}, 0x24) [ 301.349493][T17682] kvm: pic: level sensitive irq not supported 04:25:29 executing program 1: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_udp_int(r1, 0x11, 0x65, &(0x7f0000000000)=0x1, 0x4) connect$pppl2tp(r0, &(0x7f0000000240)=@pppol2tpin6={0x18, 0x1, {0x0, r1, 0x2, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}}, 0x32) connect$inet6(r1, &(0x7f0000000180)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmsg$NL80211_CMD_GET_SCAN(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) [ 301.401926][T17712] kvm: pic: level sensitive irq not supported [ 301.476742][T17718] kvm: vcpu 129: requested lapic timer restore with starting count register 0x390=4241646265 (4241646265 ns) > initial count (296265111 ns). Using initial count to start timer. 04:25:29 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) recvmmsg(r0, &(0x7f0000003e00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sendmmsg$inet(r0, &(0x7f000000a380)=[{{&(0x7f0000000140)={0x2, 0x4e23, @remote}, 0x10, 0x0}}, {{&(0x7f0000000000)={0x2, 0x4e22, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10, 0x0, 0x0, &(0x7f0000004000)=[@ip_tos_u8={{0x11}}, @ip_tos_int={{0x14, 0x0, 0x1, 0xbb0e}}], 0x30}}], 0x2, 0x0) 04:25:29 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8933, &(0x7f0000000840)={'batadv_slave_1\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000200)=@ipv6_getaddr={0x2c, 0x16, 0x1, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, r1}, [@IFA_ADDRESS={0x14, 0x1, @mcast2}]}, 0x2c}}, 0x0) 04:25:29 executing program 1: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_udp_int(r1, 0x11, 0x65, &(0x7f0000000000)=0x1, 0x4) connect$pppl2tp(r0, &(0x7f0000000240)=@pppol2tpin6={0x18, 0x1, {0x0, r1, 0x2, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}}, 0x32) connect$inet6(r1, &(0x7f0000000180)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmsg$NL80211_CMD_GET_SCAN(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) 04:25:29 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x101}, 0x0) socket(0x10, 0x80002, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000002940)={&(0x7f0000000180)=@newtaction={0x18, 0x30, 0x53b, 0x0, 0x0, {}, [{0x4}]}, 0x18}}, 0x0) getsockopt$bt_l2cap_L2CAP_LM(0xffffffffffffffff, 0x6, 0x3, &(0x7f0000000080), &(0x7f0000000100)=0x4) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x7}, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$bt_hidp(0x1f, 0x3, 0x6) socket$inet6(0xa, 0x3, 0x9) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xe, 0xe, &(0x7f0000000380)=ANY=[@ANYBLOB="b702000003440200bfa30000000000001702000000feffff7a0af0ff01ffffff79a4f0ff00000000b7060000ffffffff3d640200000000005502faff03ae0200040400000b007d60b6030000001000006a0a00fe39000000850000002b0000009c000000000000009500000000000000a81bbfa3982de7b0efc5733ed236e4add6de01800000aaa6912a8b2ce571c4580000f7000000e3a94b574d2eb38a548355f0b886bd001362df1d4fdd860db5808922433e3e0f242a46b3009a54f4077db089bd9d5fdb68832e986440ff0a7edfa0cb231ccd00000000000000000000007777e27060493073807c4b7bbaed91f33fb382d91ae8e18c9b6c9f0322ec5f1c7cc5869ff455896712198c4e2ddf8b86e714229527ca40b24cfd6a02fa0892729507982d90e116bba29bb744af70a4cd8f3ad2db451de058226c4e31a27bf356c04c58bdd0b424ac416e66af9ebcfea905d37cf226312cb81ec843bcea06e7fa5e5b3596301460142f83b465d9e57dfdb06dcf91fd0600000000000000d2110cf2e1f4682c24a314447c5e0807f0b1766ec7ecbd061772daa52a38539295d3fea7a7e669441e1ff041143ecfa904fb43897f8d9c3c287acba716973eadf1bf9cd0a38edc345415c42d3d2dd356e205585e30a64830a5796cd7ce18b68bc37e061d33357d6a39d33c702576cc2a8881663e3776c7a37c5c962e12102f237bbf60c0a3bf07d55b3888418de2b2ad23d25395dd4ccddf247dd2c712e2e2eaf7d4326968122cc5dcaa7ba33096027093a58a02dba114f75e1ffd5c2912b506bfb9bf22fc776aadec51a367658100000000000000b148a9000000000000000000000000000000e02739ccd50523d36032d38f5cbeaf95c7d797d6e094c4a3aee025bf43cebde7e7cdbae9b1698e19eb0e6d5244c1ff01e97628a88a4b37032f1ef8b8046a3237ad1fe10f7035489179fc8f6c673e514f2b3e1028cd404a1d8fe6569da0385e65e4d523166c4213abb8dae5b1409317f29572e788af92aedb0287f2818206ce5fba6fca8b270d76191b43ab4cbdd4dbcccdc644fe65e7bd90a5fc16387bcb5e1e028d7d2a33c78cb8fe48ddcf6adfc9417bd42909ee4307c4197b15797af17845fbc02846d2f8543f65594cb535a9538eb067b21111dbaa58b19a52f3f12880128d08eb477ad349c2214bc7f8378b7e5b5415f3da911411ed6655c6b66beaf92e416313dfe58e88fbfa825114227c2f6cfd1448ca37902a5678af7277e6cde25737b058ba3ca60696bc1d4df56b6f544f57ddc35f3c1b5904def348912e1fefe8164c3341b91913718593085d2a9a260663c11f5484cad2de673f9a1fcac868ff6cb20122f76531881165f4d46e1a23ce0dc462ff47e1fb4a8e2a1f6e3b8134031eb29e068c831dc2d825b82749063a85bf6c1bcf4ccf798e49000000000000000000009e664603220bf1e47cfdc28f5cc38b3d66751a524081f961f3a6bec7b84976ae5fc7a8d29dc65277d3a47422bcf49b3f399fb3b10967ef66d63e4404d66f6ac1c6d0d57dd3e55dc62e58b25a34d1a482652315813e92188263a93f13dde4dd81dfe32af06f6f3fcd73789cc69925a3211955290f85e42dabf19d40f717edd7361ad3801f6642046376000000000000005581a3b65fc336f7011e6810cd"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000040)}, 0x24) 04:25:29 executing program 5: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000940)='tmpfs\x00', 0x0, 0x0) chdir(&(0x7f0000000300)='./file0\x00') mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file1\x00', 0x0) link(&(0x7f0000000200)='./bus/file1\x00', &(0x7f00000002c0)='./bus/file0\x00') newfstatat(0xffffffffffffff9c, &(0x7f0000000180)='./bus/file0\x00', &(0x7f0000000440), 0x0) 04:25:29 executing program 2: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f00000015c0)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446c7670568982b4e020f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1bfeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c95c25a573dc2edcaea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f481edfb4012757000000009700cf0b4b8bc2294133000000000000000000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f0000100000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39eec2271ff01589646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969c41595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30dc94ef241875f3b4ce0232fcea69c271d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ec571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d14f93100c2e0893862eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e9ad6ff22773e51934aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bc19faa5449207e085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868dcda7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e894f745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d76331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83100000000f6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebc660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f6933c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205a800b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569e7397f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f95a5f622f851c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df77667cfb3cf0e8894b0791e40970085d64"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000040)='sys_exit\x00', r1}, 0x10) bpf$BPF_GET_BTF_INFO(0x6, 0x0, 0x0) 04:25:29 executing program 1: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_udp_int(r1, 0x11, 0x65, &(0x7f0000000000)=0x1, 0x4) connect$pppl2tp(r0, &(0x7f0000000240)=@pppol2tpin6={0x18, 0x1, {0x0, r1, 0x2, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}}, 0x32) connect$inet6(r1, &(0x7f0000000180)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmsg$NL80211_CMD_GET_SCAN(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) 04:25:29 executing program 0: creat(&(0x7f0000000280)='./file0\x00', 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f00000001c0)='trusted.overlay.nlink\x00', &(0x7f0000000240)={'L+'}, 0x16, 0x0) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f0000000200)='security.capability\x00', 0x0, 0x0, 0x0) setxattr$security_capability(&(0x7f0000000540)='./file0\x00', &(0x7f0000000500)='security.capability\x00', &(0x7f0000000600)=@v3, 0x18, 0x2) creat(&(0x7f0000000280)='./file0\x00', 0x0) setxattr$security_capability(0x0, 0x0, 0x0, 0x0, 0x0) 04:25:29 executing program 5: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f000010000000000004001400db010200040000001e010000000000004907000000000000ed060000000000003107000000000000e8040000000000002806000000000000a106000000000000db0600000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727373797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c73797a6b616c6c6572733e810200ed0100000100911d675f0100000060000000ffffffff0000000064000000640000010200ed0100000100911d675f03000000c4000000ffffffff000000001a0400001a0400010300ff0100000100911d675f0400000001000000260000002f746d702f73797a2d696d61676567656e3431393737363339322f66696c65302f66696c65300100ed0100000100911d675f02000000000000000200000029000000070000000900ed0100000100911d675f05000000de040000000000000a00000000000000000000000000000001000000ffffffff00000000000000000a0000010900ed0100000100911d675f06000000e8040000000000002823000000000000000000000000000002000000ffffffff00000000ffffffff000000000100c00100000100911d675f07000000000000000300000054002600080000007780010000000000000003000000240000000200040066696c6530480001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c64860001000100040066696c6530a60004000200040066696c6531e20005000200040066696c6532e20005000200040066696c653338800000000000000000860000000000000024000000000000004800000000000000a600000000000000e2000000000000001e01000000000000a10600000000000008805cf90100535f0100e306000000000000288000000600786174747231060000007861747472310000060078617474723206000000786174747232108000000000000000000200000024000000f50600000000000001000000000000001f0700"/1888, 0x760}], 0x0, &(0x7f0000010800)) 04:25:30 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000000040)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000280)='devtmpfs\x00', 0x0, 0x0) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000caaffb), 0x0) lsetxattr$system_posix_acl(0x0, &(0x7f0000000300)='system.posix_acl_access\x00', &(0x7f00000003c0)={{}, {}, [{}], {}, [{}]}, 0x34, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setfsuid(r1) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) sendmsg$AUDIT_ADD_RULE(0xffffffffffffffff, &(0x7f00000008c0)={0x0, 0x0, &(0x7f0000000880)={0x0}, 0x1, 0x0, 0x0, 0x4000000}, 0x80) getdents64(r2, &(0x7f0000000100)=""/241, 0xffd1) write$P9_RUNLINKAT(0xffffffffffffffff, &(0x7f0000000900)={0x7}, 0x7) umount2(&(0x7f0000000200)='./file0\x00', 0x2) pselect6(0x40, &(0x7f0000000000)={0x5, 0x7ff, 0x1, 0x7, 0x3, 0x3, 0x0, 0x3}, 0x0, &(0x7f00000000c0)={0x0, 0x0, 0x9}, &(0x7f0000000100)={0x0, 0x3938700}, 0x0) fcntl$lock(0xffffffffffffffff, 0x26, 0x0) 04:25:30 executing program 4: r0 = syz_open_dev$vim2m(&(0x7f0000000000)='/dev/video#\x00', 0x0, 0x2) ioctl$vim2m_VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f0000000040)={0x8, 0x1, 0x0, "522ec67854a5230a08438c375add0a294674922c1985d086f07fe08b63d81f46"}) 04:25:30 executing program 0: mknod$loop(&(0x7f0000000080)='./file0\x00', 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f000000a000)={0x3, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_bp={0x0}, 0x8000000200052203, 0x40000000800007f}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mount(&(0x7f0000000340)=ANY=[@ANYBLOB="3d076497b7775de0f6a2c72fd49d18663cd38af4f11ceea7daafc587e1a045ef8855c0011e80982fea3fa5a59e0fd148d245f0ccb97efbbbdca79cdd73cf9bdf5d9f864c77ccf83816652465c24fc8e829bd46a13a"], &(0x7f0000000000)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) [ 302.081032][T17766] loop5: detected capacity change from 8 to 0 [ 302.187201][T17778] overlayfs: failed to resolve 'file0s ': -2 04:25:30 executing program 5: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f000010000000000004001400db010200040000001e010000000000004907000000000000ed060000000000003107000000000000e8040000000000002806000000000000a106000000000000db0600000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727373797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c73797a6b616c6c6572733e810200ed0100000100911d675f0100000060000000ffffffff0000000064000000640000010200ed0100000100911d675f03000000c4000000ffffffff000000001a0400001a0400010300ff0100000100911d675f0400000001000000260000002f746d702f73797a2d696d61676567656e3431393737363339322f66696c65302f66696c65300100ed0100000100911d675f02000000000000000200000029000000070000000900ed0100000100911d675f05000000de040000000000000a00000000000000000000000000000001000000ffffffff00000000000000000a0000010900ed0100000100911d675f06000000e8040000000000002823000000000000000000000000000002000000ffffffff00000000ffffffff000000000100c00100000100911d675f07000000000000000300000054002600080000007780010000000000000003000000240000000200040066696c6530480001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c64860001000100040066696c6530a60004000200040066696c6531e20005000200040066696c6532e20005000200040066696c653338800000000000000000860000000000000024000000000000004800000000000000a600000000000000e2000000000000001e01000000000000a10600000000000008805cf90100535f0100e306000000000000288000000600786174747231060000007861747472310000060078617474723206000000786174747232108000000000000000000200000024000000f50600000000000001000000000000001f0700"/1888, 0x760}], 0x0, &(0x7f0000010800)) 04:25:30 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=@delsa={0x34, 0x11, 0x1, 0x0, 0x0, {@in=@local, 0x0, 0x0, 0x33}, [@mark={0xc}]}, 0x34}, 0x8}, 0x0) 04:25:30 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_io_uring_setup(0x887, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ee8000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000000)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r3, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r5 = socket$nl_route(0x10, 0x3, 0x0) syz_io_uring_submit(r3, r4, &(0x7f0000000200)=@IORING_OP_SEND={0x1a, 0x0, 0x0, r5, 0x0, 0x0, 0x0, 0x40045}, 0x0) io_uring_enter(r2, 0x450c, 0x0, 0x0, 0x0, 0x0) 04:25:30 executing program 2: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) vmsplice(r1, &(0x7f00000000c0)=[{&(0x7f0000000180)="77690addcfbe1fbb66ec", 0xff3b}], 0x1, 0x1) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = socket$netlink(0x10, 0x3, 0x4) writev(0xffffffffffffffff, &(0x7f0000fb1000)=[{&(0x7f0000000180)="4e0000001400190009804b0101158c590a", 0x11}], 0x1) splice(r0, 0x0, r4, 0x0, 0xfffffffb, 0x0) 04:25:30 executing program 0: mknod$loop(&(0x7f0000000080)='./file0\x00', 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f000000a000)={0x3, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_bp={0x0}, 0x8000000200052203, 0x40000000800007f}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mount(&(0x7f0000000340)=ANY=[@ANYBLOB="3d076497b7775de0f6a2c72fd49d18663cd38af4f11ceea7daafc587e1a045ef8855c0011e80982fea3fa5a59e0fd148d245f0ccb97efbbbdca79cdd73cf9bdf5d9f864c77ccf83816652465c24fc8e829bd46a13a"], &(0x7f0000000000)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 04:25:30 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0x36}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, [], 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 04:25:30 executing program 1: r0 = socket$nl_rdma(0x10, 0x3, 0x14) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f0000000040)={'vlan1\x00', &(0x7f0000000240)=@ethtool_sfeatures={0x30}}) 04:25:30 executing program 2: timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) ioctl$int_in(0xffffffffffffffff, 0x0, &(0x7f00000000c0)) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @tid=0xffffffffffffffff}, &(0x7f0000000100)=0x0) timer_settime(0x0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_settime(r0, 0x0, &(0x7f0000000140)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) futex(&(0x7f0000000240)=0x1, 0x6, 0x0, 0x0, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) sendmsg$NL80211_CMD_SET_CHANNEL(0xffffffffffffffff, 0x0, 0x0) write$binfmt_script(r1, &(0x7f0000000400)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) [ 302.863241][T17796] loop5: detected capacity change from 8 to 0 04:25:30 executing program 5: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f000010000000000004001400db010200040000001e010000000000004907000000000000ed060000000000003107000000000000e8040000000000002806000000000000a106000000000000db0600000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727373797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c73797a6b616c6c6572733e810200ed0100000100911d675f0100000060000000ffffffff0000000064000000640000010200ed0100000100911d675f03000000c4000000ffffffff000000001a0400001a0400010300ff0100000100911d675f0400000001000000260000002f746d702f73797a2d696d61676567656e3431393737363339322f66696c65302f66696c65300100ed0100000100911d675f02000000000000000200000029000000070000000900ed0100000100911d675f05000000de040000000000000a00000000000000000000000000000001000000ffffffff00000000000000000a0000010900ed0100000100911d675f06000000e8040000000000002823000000000000000000000000000002000000ffffffff00000000ffffffff000000000100c00100000100911d675f07000000000000000300000054002600080000007780010000000000000003000000240000000200040066696c6530480001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c64860001000100040066696c6530a60004000200040066696c6531e20005000200040066696c6532e20005000200040066696c653338800000000000000000860000000000000024000000000000004800000000000000a600000000000000e2000000000000001e01000000000000a10600000000000008805cf90100535f0100e306000000000000288000000600786174747231060000007861747472310000060078617474723206000000786174747232108000000000000000000200000024000000f50600000000000001000000000000001f0700"/1888, 0x760}], 0x0, &(0x7f0000010800)) 04:25:30 executing program 0: mknod$loop(&(0x7f0000000080)='./file0\x00', 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f000000a000)={0x3, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_bp={0x0}, 0x8000000200052203, 0x40000000800007f}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mount(&(0x7f0000000340)=ANY=[@ANYBLOB="3d076497b7775de0f6a2c72fd49d18663cd38af4f11ceea7daafc587e1a045ef8855c0011e80982fea3fa5a59e0fd148d245f0ccb97efbbbdca79cdd73cf9bdf5d9f864c77ccf83816652465c24fc8e829bd46a13a"], &(0x7f0000000000)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 04:25:30 executing program 3: r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f00000000c0)={0x19, 0x4, 0x4, 0x2, 0x0, 0xffffffffffffffff, 0x0, [0x0, 0x0, 0x0, 0x0, 0x2000000]}, 0x40) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000100)={r0, &(0x7f0000000000), &(0x7f00000000c0)}, 0x20) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000180)={r0, &(0x7f0000000080)="1e", &(0x7f0000000140)=@tcp6=r1}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f00000001c0)={r0, &(0x7f0000000200)="82", &(0x7f0000000300)=@tcp6=r1}, 0x20) 04:25:30 executing program 1: mmap(&(0x7f0000000000/0xe7e000)=nil, 0xe7e000, 0x0, 0x40031, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000002000/0x1000)=nil, 0x1000, 0xbcda34450b800b7a, 0x40000000000a132, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_int(r0, 0x29, 0x42, &(0x7f00000000c0)=0x5e7, 0x2b0) setsockopt$inet6_int(r0, 0x29, 0x2, &(0x7f0000000000)=0x80000001, 0x4) getsockopt$inet6_buf(r0, 0x29, 0x6, &(0x7f0000c86000), &(0x7f0000000040)=0x28f) 04:25:31 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_io_uring_setup(0x887, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ee8000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000000)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r3, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r5 = socket$nl_route(0x10, 0x3, 0x0) syz_io_uring_submit(r3, r4, &(0x7f0000000200)=@IORING_OP_SEND={0x1a, 0x0, 0x0, r5, 0x0, 0x0, 0x0, 0x40045}, 0x0) io_uring_enter(r2, 0x450c, 0x0, 0x0, 0x0, 0x0) 04:25:31 executing program 3: r0 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0x7, r0, 0x0) r1 = perf_event_open(&(0x7f00000001c0)={0x2, 0x70, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r2 = perf_event_open(&(0x7f00000001c0)={0x2, 0x70, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x621}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r2, 0x40082406, &(0x7f0000000080)='cpu\t\t&6\n\x00\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1c') ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x40082406, &(0x7f0000000080)='cpu\t\t&6\n\x00\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1c') sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000a00)=[{&(0x7f0000000000)="256e9e583923f4035e531393f091995143", 0x11}], 0x1}, 0x0) r3 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140)='/dev/net/tun\x00', 0x0, 0x0) ioctl$TUNSETIFF(r3, 0x400454ca, &(0x7f0000000000)) 04:25:31 executing program 1: timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) socket(0x0, 0x0, 0x0) poll(0x0, 0x0, 0x204) timer_settime(0x0, 0x0, &(0x7f0000000100)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) perf_event_open(&(0x7f0000000000)={0x1000000002, 0x70, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) readv(r1, &(0x7f0000002340)=[{&(0x7f0000000280)=""/4091, 0x5c}], 0x1) [ 303.088765][T17826] loop5: detected capacity change from 8 to 0 04:25:31 executing program 0: mknod$loop(&(0x7f0000000080)='./file0\x00', 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f000000a000)={0x3, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_bp={0x0}, 0x8000000200052203, 0x40000000800007f}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mount(&(0x7f0000000340)=ANY=[@ANYBLOB="3d076497b7775de0f6a2c72fd49d18663cd38af4f11ceea7daafc587e1a045ef8855c0011e80982fea3fa5a59e0fd148d245f0ccb97efbbbdca79cdd73cf9bdf5d9f864c77ccf83816652465c24fc8e829bd46a13a"], &(0x7f0000000000)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) [ 303.146550][T17840] Scheduler tracepoints stat_sleep, stat_iowait, stat_blocked and stat_runtime require the kernel parameter schedstats=enable or kernel.sched_schedstats=1 04:25:31 executing program 5: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f000010000000000004001400db010200040000001e010000000000004907000000000000ed060000000000003107000000000000e8040000000000002806000000000000a106000000000000db0600000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727373797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c73797a6b616c6c6572733e810200ed0100000100911d675f0100000060000000ffffffff0000000064000000640000010200ed0100000100911d675f03000000c4000000ffffffff000000001a0400001a0400010300ff0100000100911d675f0400000001000000260000002f746d702f73797a2d696d61676567656e3431393737363339322f66696c65302f66696c65300100ed0100000100911d675f02000000000000000200000029000000070000000900ed0100000100911d675f05000000de040000000000000a00000000000000000000000000000001000000ffffffff00000000000000000a0000010900ed0100000100911d675f06000000e8040000000000002823000000000000000000000000000002000000ffffffff00000000ffffffff000000000100c00100000100911d675f07000000000000000300000054002600080000007780010000000000000003000000240000000200040066696c6530480001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c64860001000100040066696c6530a60004000200040066696c6531e20005000200040066696c6532e20005000200040066696c653338800000000000000000860000000000000024000000000000004800000000000000a600000000000000e2000000000000001e01000000000000a10600000000000008805cf90100535f0100e306000000000000288000000600786174747231060000007861747472310000060078617474723206000000786174747232108000000000000000000200000024000000f50600000000000001000000000000001f0700"/1888, 0x760}], 0x0, &(0x7f0000010800)) 04:25:31 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_io_uring_setup(0x887, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ee8000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000000)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r3, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r5 = socket$nl_route(0x10, 0x3, 0x0) syz_io_uring_submit(r3, r4, &(0x7f0000000200)=@IORING_OP_SEND={0x1a, 0x0, 0x0, r5, 0x0, 0x0, 0x0, 0x40045}, 0x0) io_uring_enter(r2, 0x450c, 0x0, 0x0, 0x0, 0x0) 04:25:31 executing program 3: r0 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0x7, r0, 0x0) r1 = perf_event_open(&(0x7f00000001c0)={0x2, 0x70, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r2 = perf_event_open(&(0x7f00000001c0)={0x2, 0x70, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x621}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r2, 0x40082406, &(0x7f0000000080)='cpu\t\t&6\n\x00\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1c') ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x40082406, &(0x7f0000000080)='cpu\t\t&6\n\x00\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1c') sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000a00)=[{&(0x7f0000000000)="256e9e583923f4035e531393f091995143", 0x11}], 0x1}, 0x0) r3 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140)='/dev/net/tun\x00', 0x0, 0x0) ioctl$TUNSETIFF(r3, 0x400454ca, &(0x7f0000000000)) [ 303.318831][T17864] loop5: detected capacity change from 8 to 0 [ 303.685375][ T4896] ==================================================================