ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x100020, 0x1fffe0}, {&(0x7f0000168a00)="eb52904e5446532020202000102000000000000000f8000000000000000000000000000080008000ff0300000000000002000000000000000f00000000000000f4000000f400000025f72e792ed6fb51000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x3ff000}, {&(0x7f0000168b00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3ff1e0}], 0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="00cfe2792602dccabcd1402fa832127aa809620958e593ec7adfae6ca9533a9690171da85b0db3f6a1a42c8d7c2c3b42b7b38ccdb3e615e7cfb352688a84fe9cd27c41ac06885224dfc24b576ae89a6533153e1c9800cc7d050fce7a57bb5cd58f6ab2cebd94df450be80e34831b1d4ac48cd2fcc693737590183c872e4df78f48dac64b695b0ab3cb79b64060429a2d0e7b5672f64160b0c745642051760134d7e0552203c2df0d95a642f918daf7b5590f4a66ffaf1c34f4e3a1cc4a"]) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(r0, r0) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r2, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) getsockopt$inet6_buf(r2, 0x29, 0xcd, &(0x7f0000005300)=""/166, &(0x7f00000053c0)=0xa6) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) r5 = syz_init_net_socket$x25(0x9, 0x5, 0x0) fgetxattr(r5, &(0x7f0000005180)=@known='system.posix_acl_default\x00', &(0x7f00000051c0)=""/153, 0x99) syz_mount_image$hfs(&(0x7f0000000040)='hfs\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000340), 0x0, &(0x7f0000001440)={[{@gid={'gid', 0x3d, r4}}]}) r6 = getuid() mount$fuse(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='fuse\x00', 0x800000, &(0x7f0000005080)={{'fd', 0x3d, r1}, 0x2c, {'rootmode', 0x3d, 0x1000}, 0x2c, {'user_id', 0x3d, 0xee00}, 0x2c, {'group_id', 0x3d, r4}, 0x2c, {[{@blksize={'blksize', 0x3d, 0x1800}}, {@allow_other='allow_other'}], [{@context={'context', 0x3d, 'sysadm_u'}}, {@smackfsfloor={'smackfsfloor', 0x3d, '\x95.#./:/'}}, {@fowner_eq={'fowner', 0x3d, r6}}, {@context={'context', 0x3d, 'system_u'}}, {@subj_user={'subj_user', 0x3d, ',-['}}]}}) [ 150.889483] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.5'. 00:35:28 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) socket$unix(0x1, 0x5, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r0, &(0x7f0000000400)={0xa, 0x0, 0x0, @local, 0x2026}, 0x1c) bind$inet6(r0, &(0x7f0000f13000)={0xa, 0x4e22, 0x0, @empty}, 0x1c) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(0xffffffffffffffff, 0x89e4) 00:35:27 executing program 2: recvmsg$can_bcm(0xffffffffffffffff, &(0x7f0000001540)={&(0x7f0000000040)=@pppol2tpv3={0x18, 0x1, {0x0, 0xffffffffffffffff}}, 0x80, &(0x7f00000014c0)=[{&(0x7f00000000c0)=""/104, 0x68}, {&(0x7f0000000180)=""/4096, 0x1000}, {&(0x7f0000001180)=""/134, 0x86}, {&(0x7f0000001240)=""/28, 0x1c}, {&(0x7f0000001280)=""/85, 0x55}, {&(0x7f0000001300)=""/97, 0x61}, {&(0x7f0000001380)=""/213, 0xd5}, {&(0x7f0000001480)=""/51, 0x33}], 0x8}, 0x0) sendmsg$TIPC_NL_NODE_GET(r0, &(0x7f0000001740)={&(0x7f0000001580)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000001700)={&(0x7f00000015c0)=ANY=[@ANYBLOB="28010000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000fbdbdf250d000000900004801300010062726f6164636173742d6c696e6b00001c00078008000300200000000800040006000000080001001f0000000900010073797a30000000001300010062726f6164636173742d6c696e6b00003c000780080004000700000008000200530a0000080002000300000008000200030000000800030000000000080001000000000008000400010000008400068008000100cb02000008000100000800003c00040067636d286165732900000000000000000000000000000000000000000000000014000000f2dc741e4ae74c8fa3e1bcedefeca8889beac68032000300a269eb5dd2672563c53243d43c9b4d3428a7a11abd5a354a5fb603815a635edbf737ae0d281e8e7c62593d700c000000"], 0x128}, 0x1, 0x0, 0x0, 0x2000010}, 0x40040800) r1 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000002600)=@newtaction={0x898, 0x30, 0x101, 0x0, 0x0, {}, [{0x884, 0x1, [@m_police={0x880, 0x1, 0x0, 0x0, {{0xb, 0x1, 'police\x00'}, {0x854, 0x2, 0x0, 0x1, [[@TCA_POLICE_RATE={0x40e}], [@TCA_POLICE_RATE64={0xc}, @TCA_POLICE_PEAKRATE={0x404}], [@TCA_POLICE_TBF={0x3c, 0x1, {0x0, 0x0, 0x0, 0x0, 0x0, {0x9, 0x0, 0x0, 0x0, 0x0, 0x6e1}}}]]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x898}}, 0x0) 00:35:27 executing program 3: ioctl$BTRFS_IOC_SUBVOL_GETFLAGS(0xffffffffffffffff, 0x80089419, 0x0) r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000002c0)=[@text64={0x40, &(0x7f00000004c0)="b9800000c03500400000665c0f5d0202a4894a894a20e0420f01b0d80000004bfb0c054000c4635765f766400fc774a600f30fbcf726660f388077694f4f0f5c19db779af342d8868680000066b82001c4220d2d4f5d2e66420fc73366ba2000ed", 0x61}], 0x1, 0x58, 0x0, 0x0) getsockopt$sock_linger(0xffffffffffffffff, 0x1, 0xd, &(0x7f00000003c0), &(0x7f0000000400)=0x8) ioctl$KVM_RUN(r1, 0xae80, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) sched_setattr(0x0, &(0x7f0000000180)={0x38, 0x0, 0x0, 0xfffffbff, 0x6, 0x2, 0x1, 0x5}, 0x0) r2 = perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={&(0x7f0000000380), 0x1}, 0x40, 0x81}, 0x0, 0xb, 0xffffffffffffffff, 0x0) ioctl$sock_inet6_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000200)={@private0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, @private0, 0x5, 0x101, 0x1a, 0x100, 0x0, 0xa0080}) ioctl$SIOCRSACCEPT(0xffffffffffffffff, 0x89e3) mmap$perf(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0xf, 0x11, r2, 0x2) unshare(0x40000000) newfstatat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', &(0x7f0000000440), 0x0) r3 = dup(0xffffffffffffffff) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f0000000140)={r3}) r4 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/btrfs-control\x00', 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r4, 0xc0106426, &(0x7f0000000340)={0x1, &(0x7f0000000300)=[{}]}) [ 151.553070] IPVS: ftp: loaded support on port[0] = 21 [ 151.565855] SQUASHFS error: lzo decompression failed, data probably corrupt [ 151.581118] __ntfs_warning: 2 callbacks suppressed [ 151.581127] ntfs: (device loop4): is_boot_sector_ntfs(): Invalid boot sector checksum. [ 151.600834] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 151.601842] ntfs: (device loop4): read_ntfs_boot_sector(): Primary boot sector is invalid. [ 151.608423] SQUASHFS error: Unable to read metadata cache entry [8f] [ 151.623098] SQUASHFS error: Unable to read inode 0x11e [ 151.629224] ntfs: (device loop4): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover. [ 151.702596] ntfs: (device loop4): ntfs_fill_super(): Not an NTFS volume. [ 151.767525] hfs: gid requires an argument [ 151.772929] hfs: unable to parse mount options [ 152.025144] IPVS: ftp: loaded support on port[0] = 21 [ 152.792255] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 152.799264] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 152.808078] batman_adv: batadv0: Interface deactivated: batadv_slave_1 [ 152.814776] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 152.825358] device bridge_slave_1 left promiscuous mode [ 152.831289] bridge0: port 2(bridge_slave_1) entered disabled state [ 152.842947] device bridge_slave_0 left promiscuous mode [ 152.849245] bridge0: port 1(bridge_slave_0) entered disabled state [ 152.864422] device veth1_macvtap left promiscuous mode [ 152.870068] device veth0_macvtap left promiscuous mode [ 152.875360] device veth1_vlan left promiscuous mode [ 152.882217] device veth0_vlan left promiscuous mode [ 155.778201] Bluetooth: hci1: command 0x0409 tx timeout [ 157.331597] device hsr_slave_1 left promiscuous mode [ 157.339477] device hsr_slave_0 left promiscuous mode [ 157.354518] team0 (unregistering): Port device team_slave_1 removed [ 157.367826] team0 (unregistering): Port device team_slave_0 removed [ 157.379745] bond0 (unregistering): Releasing backup interface bond_slave_1 [ 157.390209] bond0 (unregistering): Releasing backup interface bond_slave_0 [ 157.421712] bond0 (unregistering): Released all slaves [ 157.445800] IPVS: ftp: loaded support on port[0] = 21 [ 157.570576] chnl_net:caif_netlink_parms(): no params data found [ 157.717538] bridge0: port 1(bridge_slave_0) entered blocking state [ 157.724180] bridge0: port 1(bridge_slave_0) entered disabled state [ 157.747141] device bridge_slave_0 entered promiscuous mode [ 157.754613] bridge0: port 2(bridge_slave_1) entered blocking state [ 157.776245] bridge0: port 2(bridge_slave_1) entered disabled state [ 157.783765] device bridge_slave_1 entered promiscuous mode [ 157.832457] bond0: Enslaving bond_slave_0 as an active interface with an up link [ 157.856111] Bluetooth: hci1: command 0x041b tx timeout [ 157.857903] bond0: Enslaving bond_slave_1 as an active interface with an up link [ 157.910308] IPv6: ADDRCONF(NETDEV_UP): team_slave_0: link is not ready [ 157.942195] team0: Port device team_slave_0 added [ 157.961230] IPv6: ADDRCONF(NETDEV_UP): team_slave_1: link is not ready [ 157.980538] team0: Port device team_slave_1 added [ 158.042744] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 158.059387] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 158.090920] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 158.103982] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 158.114618] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 158.145438] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 158.161840] IPv6: ADDRCONF(NETDEV_UP): bridge_slave_0: link is not ready [ 158.169604] IPv6: ADDRCONF(NETDEV_UP): bridge_slave_1: link is not ready [ 158.207259] device hsr_slave_0 entered promiscuous mode [ 158.222190] device hsr_slave_1 entered promiscuous mode [ 158.241969] IPv6: ADDRCONF(NETDEV_UP): hsr_slave_0: link is not ready [ 158.262609] IPv6: ADDRCONF(NETDEV_UP): hsr_slave_1: link is not ready [ 158.513322] IPv6: ADDRCONF(NETDEV_UP): bridge0: link is not ready [ 158.619943] 8021q: adding VLAN 0 to HW filter on device bond0 [ 158.629649] IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready [ 158.639111] IPv6: ADDRCONF(NETDEV_UP): veth1: link is not ready [ 158.645266] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 158.653560] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 158.663920] IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready [ 158.670920] 8021q: adding VLAN 0 to HW filter on device team0 [ 158.689695] IPv6: ADDRCONF(NETDEV_UP): veth0_to_bridge: link is not ready [ 158.706126] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 158.714071] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 158.726452] bridge0: port 1(bridge_slave_0) entered blocking state [ 158.732811] bridge0: port 1(bridge_slave_0) entered forwarding state [ 158.743138] IPv6: ADDRCONF(NETDEV_UP): veth1_to_bridge: link is not ready [ 158.751703] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 158.766990] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 158.777799] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 158.785446] bridge0: port 2(bridge_slave_1) entered blocking state [ 158.791855] bridge0: port 2(bridge_slave_1) entered forwarding state [ 158.804769] IPv6: ADDRCONF(NETDEV_UP): veth0_to_bond: link is not ready [ 158.813383] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 158.832891] IPv6: ADDRCONF(NETDEV_UP): veth1_to_bond: link is not ready [ 158.843164] IPv6: ADDRCONF(NETDEV_UP): veth0_to_team: link is not ready [ 158.859363] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 158.873268] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 158.881614] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 158.890443] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 158.912569] IPv6: ADDRCONF(NETDEV_UP): veth1_to_team: link is not ready [ 158.919934] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 158.937093] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 158.948611] IPv6: ADDRCONF(NETDEV_UP): veth0_to_hsr: link is not ready [ 158.956685] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 158.967110] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 158.977781] IPv6: ADDRCONF(NETDEV_UP): veth1_to_hsr: link is not ready [ 158.993156] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 159.001386] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 159.016734] IPv6: ADDRCONF(NETDEV_UP): hsr0: link is not ready [ 159.022784] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 159.045270] IPv6: ADDRCONF(NETDEV_UP): vxcan0: link is not ready [ 159.058647] IPv6: ADDRCONF(NETDEV_UP): vxcan1: link is not ready [ 159.072794] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 159.081596] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 159.099634] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 159.122380] IPv6: ADDRCONF(NETDEV_UP): veth0_virt_wifi: link is not ready [ 159.139732] IPv6: ADDRCONF(NETDEV_UP): veth1_virt_wifi: link is not ready [ 159.156062] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 159.172456] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 159.238623] IPv6: ADDRCONF(NETDEV_UP): veth0_vlan: link is not ready [ 159.262908] IPv6: ADDRCONF(NETDEV_UP): vlan0: link is not ready [ 159.275843] IPv6: ADDRCONF(NETDEV_UP): vlan1: link is not ready [ 159.307071] IPv6: ADDRCONF(NETDEV_UP): veth1_vlan: link is not ready [ 159.313874] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 159.322078] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 159.330112] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 159.337616] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 159.348377] device veth0_vlan entered promiscuous mode [ 159.359605] device veth1_vlan entered promiscuous mode [ 159.365401] IPv6: ADDRCONF(NETDEV_UP): macvlan0: link is not ready [ 159.375430] IPv6: ADDRCONF(NETDEV_UP): macvlan1: link is not ready [ 159.389243] IPv6: ADDRCONF(NETDEV_UP): veth0_macvtap: link is not ready [ 159.401186] IPv6: ADDRCONF(NETDEV_UP): veth1_macvtap: link is not ready [ 159.408392] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 159.415624] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 159.422977] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 159.430787] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 159.440925] device veth0_macvtap entered promiscuous mode [ 159.447922] IPv6: ADDRCONF(NETDEV_UP): macvtap0: link is not ready [ 159.459162] device veth1_macvtap entered promiscuous mode [ 159.465192] IPv6: ADDRCONF(NETDEV_UP): macsec0: link is not ready [ 159.474655] IPv6: ADDRCONF(NETDEV_UP): veth0_to_batadv: link is not ready [ 159.485704] IPv6: ADDRCONF(NETDEV_UP): veth1_to_batadv: link is not ready [ 159.495682] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 159.506625] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.515858] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 159.526561] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.535664] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 159.545973] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.555084] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 159.564880] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.574836] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 159.584603] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.594746] IPv6: ADDRCONF(NETDEV_UP): batadv_slave_0: link is not ready [ 159.601874] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 159.608886] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 159.617103] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 159.624158] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 159.632127] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 159.643981] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 159.653881] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.663304] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 159.673381] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.683552] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 159.693328] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.702679] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 159.712457] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.721604] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 159.731332] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 159.741417] IPv6: ADDRCONF(NETDEV_UP): batadv_slave_1: link is not ready [ 159.748410] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 159.755839] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 159.764338] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 159.885488] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 159.903605] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 159.921601] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready [ 159.926735] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 159.934543] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 159.939101] Bluetooth: hci1: command 0x040f tx timeout [ 159.950865] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 159.967417] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 159.974891] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready 00:35:36 executing program 1: pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f0000000040)={0xffffffffffffffff}) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000080)=0xfffffffb) ioctl(r0, 0xe3c8, &(0x7f0000000040)) r3 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r3, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x2}, 0x4) r4 = socket$inet_udp(0x2, 0x2, 0x0) fcntl$setpipe(r0, 0x407, 0x0) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) bind$inet(r4, &(0x7f00000002c0)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x32}}, 0x70) connect$inet(r4, &(0x7f0000000140)={0x2, 0x0, @multicast1}, 0x10) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x52000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x2000b6a}}, 0x0, 0x0, 0xffffffffffffffff, 0x8) splice(r0, 0x0, r4, 0x0, 0x39103, 0x0) 00:35:36 executing program 5: r0 = socket$inet6(0xa, 0x80001, 0x0) setsockopt$inet6_MCAST_JOIN_GROUP(r0, 0x29, 0x2a, &(0x7f0000fca000)={0x100000001, {{0xa, 0x0, 0x0, @mcast1}}}, 0x88) setsockopt$inet6_MCAST_MSFILTER(r0, 0x29, 0x30, &(0x7f0000000780)=ANY=[@ANYBLOB="01000000000000000a0000000000ff00ff01000000000000000000000061a8a63b94a2406800000200000000000000000000000000bd0000000000000000000000000000000000000000000000000000000000000000fa0000000000000900000000000000000000000000000000000000000000dea808bf0000000000000000000000670200000000000000050000000a004e2000000000fe"], 0x310) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(r1, 0x29, 0x2e, &(0x7f0000000000)={0x1, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @mcast1}}}, 0x108) r2 = syz_open_procfs(0x0, &(0x7f0000000040)='net/mcfilter6\x00') preadv(r2, &(0x7f0000000300)=[{&(0x7f0000000140)=""/224, 0xe0}, {&(0x7f0000000240)=""/77, 0x4d}], 0x2, 0x0, 0x0) 00:35:36 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000140)={0x2, &(0x7f0000000080)=[{0x28, 0x0, 0x0, 0xfffff010}, {0x80000006}]}, 0x10) syz_emit_ethernet(0xfdef, &(0x7f0000000180)=ANY=[@ANYBLOB="4dfc1512024e00000000008086dd60e9a2745ce9110020010000000000000000000000000002fc021e48497dbbc9998774da1a00000000000000000c907801000000"], 0x0) listxattr(&(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)=""/85, 0x55) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) setsockopt$inet6_MRT6_DEL_MFC(r2, 0x29, 0xcd, &(0x7f0000000240)={{0xa, 0x4e23, 0x9, @dev={0xfe, 0x80, [], 0x38}, 0x5}, {0xa, 0x4e22, 0x2, @local, 0xffffffff}, 0x7, [0x3f, 0x1f, 0x9, 0xb2, 0x1, 0x7, 0x80]}, 0x5c) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000040), &(0x7f0000000200)=0x4) 00:35:36 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) socket$unix(0x1, 0x5, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r0, &(0x7f0000000400)={0xa, 0x0, 0x0, @local, 0x2026}, 0x1c) bind$inet6(r0, &(0x7f0000f13000)={0xa, 0x4e22, 0x0, @empty}, 0x1c) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(0xffffffffffffffff, 0x89e4) 00:35:36 executing program 4: r0 = perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x2}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000740)={&(0x7f00000001c0)=@in6={0x2, 0x0, 0x0, @ipv4={[], [], @multicast1}}, 0x80, 0x0}, 0x0) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000680)={&(0x7f0000000000)=@un=@file={0x0, './file0\x00'}, 0x80, &(0x7f0000000600)=[{&(0x7f0000000300)="c47c275ff2f3a30b125564f0e4243973f7d83cf8dd2dd7fbcbf3a188a2f5f1a66e446dbe75377a49b6b1aab433489f58a8efdeb44fec98ca4cee47681b3c028078dfdf5f8199b8fcc85d662e3767834a8e8123d76cd0efea3af25941168edde11148f7cd9b7200db59ade7aa01dda9b5821f436c643fbb2990bb1b8bdd4afc8e89505bc6155d3593604dc6df9eceb59637dc9bf9e312cdb84c50b108df831973a7907c494fc66980f5e0ba7fd17e55edadf826903976b9d3a2f1799b6ab1f29b4452046a127c9b9b9a47d4d8e8ca0d530b05a3f9a08c90b5744ca5e2a78b938a30ef21fffa186b", 0xe7}, {&(0x7f0000000100)="62685cb9683f61f47e90d562790c9b0b7c624f11f49fb380a781352034553372b82f4b8c58bdfc9eb9d2e34e565dd68c909891c6dc2a96f32a05040380e4029fd49eef75e10f4fabe123dff78aaa9108", 0x50}, {&(0x7f0000000080)="f2f29a088da761a2461ead514110a51b734f20cb1089cf23076397fc77b7cf3bb0a9e3132d432d96a381591d864fee4f", 0x30}, {&(0x7f0000000400)="b104706ed07b6816fa6e06d79c9246f5a87a456241f9d8b81e882d382863b3015fabfbe45b80ca7f7d3edc9f967c5f49b97f665dc51f9ccc9cf61b6ccaf7396212f6946c00c582bb228f65f438d89637762a47d360cda544a0be5c84a8de7b321e49edee0e4f24dd3972bb172149207425f9c7c22e9d972e31cb40b2759db1a4652c2e1c23b644e888908b9df18cbc97827162996a2232cfdcc54bdbc0b21e682d2ea52e86f9bf1e3ef57d7afa9ebeb835c5deef079b6a7ccc2b3349cadacc123f5f4ef753153c15ec1d8f21352ca45c062d71d7a0d47936132913dd0831e1f6fd45c7c8a8497a3d2ed25bb2f1315b149cf2707bc2c61275ed6168", 0xfb}, {&(0x7f0000000500)="24a0bc4f25205a6d9e4d4cbe0ef1e440fbf2401fc3e5a64ac41fc8a4223a203bebefe5862f944fdac325a665f149742be32ce13f0b7d7d147d93dde36d140619c6edcadd56d22eb509d7bff63831fba7d94aaa0ac42fde01a0db690a3966d2e28e1956ba97ac121cf635ffbb493acea56c0482790f", 0x75}, {&(0x7f0000000580)="e2842aff5159e6d7df5750c0f3abd5fc55e37ee2d420368f115834e1767de28d3739c843105d1b46796a90a8029c1024f5d4c05560b58cb24e63ba3299b8ab22945a66", 0x43}], 0x6, &(0x7f0000000780)=[{0xa8, 0x10f, 0x6, "50dec8720ddad45e65fc02615f490fbecd74664f86ecda9d6c065085be463919e115418f8b63eefdd19576a5c7fce8dc9fadb0e602a63f49ef57b355c553c91824e8027dfaf962d09fbb94e7552a23da52a1ec215dfe66c5504b9d2243a2dd31f55628b110522d12d6f37d8ce8d1db6e871566b60b0dbdc44bae3c6a0e2f84e1ac7a0b94b2a9c5b0fdd91a0d0aec76af0e265d0ee58786"}, {0xf8, 0x116, 0xfffffffc, "d5f818d736949c1cd9a5ebd414be2df4729e82a6ccb07e5d6b8316c360c3079fe8d6452099d7b71eb8cb72c8f1da9a4f9e186ff1234fc94d764364485ac82d384835b27df094d87c6269b56996931dd9089307e56caca721a708cfffcecc222aefaf657c16c3869cee1c13c682aa092483788602ca29307d830053a75605f2ec77789735ee78b31e29686ce9bdda8d6a4c150d66fec41cd34ef5a8fbdda22d61fd45fe02251d9145ccef3394f11436c7c4d42ee3df1be3dea93f60f03ebe7c42922b0b2256780ffae3775767087f3c8e18840e09d4394455901b55abb6e8c269fc3f"}, {0x1010, 0x110, 0xfffffffc, "db7330a61fea51ba293f2d655a15fc5be46cffc9c88272e4aa13001fde6f67df3f6ca90211e307bcbdc3306cb369107b7ab076689e82ae870bbcfbdb7f00aaa143311ca6029c32ea762e8a4c6dd44988e812cc4a46f1ba9c2e13f92c77e33fb16402940a2ac4ccd4ab2c848f7e5feb6952dd58a8ad000c68e6bcaa6cebeb542ace1d7c10c68fbdcdd7b63272ea71f645647e295b1289df37ab9fae5f10378d709a154f08bef201c6977a4f2f4d5e40aa123b43f6ff647020315dd47f708a0262f06f93a70536c8c1fedc11c1643f125d6321109c23392be5407b2dee680cd4568d45681d30971172dc365533fd586ca8970b9f7d1655a4807900403e6dba025b9deb68a8452f708b3e6701afe91a7f5916d56d9276bfa5e5a17f6a5140acb6e97c426b668f19cd1007edb6dd50d3c68f904fbfd615e8d78549a6950cda3a7e773185be342dea30ebf21aeb80bc2b7ab536f6dbe15600764df8811a00fc7cfba796cd9a52cbe97c0ab7a7a7a4748e7e892146d88d2302fb6070c8052a7a5374a996464ff62a54cdbce744272d82af4b18316d055255e6289484f56ffde4b363d0dfb41d42ca04ad2e00f916f1c35992569ed25e85bb3be3969e14dcb8e4b6f5d4c7ec44d7fee4d01cc85205dd4e6f58ce841a5f430c814d8c489aca2dd42bc1bd6688a5892225035515befe2d420f63d9497abde1b466868a26fb5fbe9fe61647360157b58a7c53689c4c4e35e76998a488fee8aea648548d1d8434f0e37e0c9390dd9a41c1599ec0c98028a9b130ea7466bfd49671b170451f01d12d34b8db45cb1f6843e51ebc10c99f36b06185f167399a81fd4c05d2d298d8eae11713c45629669dfbcba7baa08d26e77515f9d8e014969763d43ece261db7c78514dc6dbdf5ca49ea702bbfb924a134b9938aceef5a0dafed78d8dcd879e31fa62e2d508f4a4e1408ee88d19fc20f42ddd22e3b4be3abff633385a1db41fa258dd4030af65932dd8949870f8ec323a35b18cf2047b12094f2d70a4db7d873bff1c8a39927ec002a25d2c94f25437a0db59ecb70263c90e3b712015daff5c41e0f65cf80fdef98827bd4b62c1e04762aad1ce090298279f85619fa9d85c671ccbfc0e9cc89141ca5ede46e0a526a2e459830f6db6fb5a07abd7bed3fdf3bf66f90b6868778bacedc042e83244c7c7534ce86a06073516a9c7e98899e35110adda46b64e08e52a243c72cbd9111399a88d4fc966ddb2c97f913ba708d5c20f7772721cbe2552280fc267ca14ed514d3951759da6bfe0db4a15ed248b0085fb9ad0ef3120100741841dcd7a9c3cef36463dbd2a8e28786262f6a0865d5c921dd0f3f5aced6d2187dfeca4db08f5883e89e9a1c538c2b3d31bf008b44e88057c94d1dae8d79b68e0017be46a4c634fb00a142a113bccb95f253800bfb5ed41bb278f169019c4fdb59d3aebcc02f5da80bb5e268f7261ed04d1e3db6b74cca32e12e0f6412b45815c650f63be91766d8cb4e1b2e19b851a3735fb26f32fa52ed355b1ac4f2b342f75a2a9ce37e43559e3a24b1a0195fd1f277b0916ab50d4b47dc33d4b59ce89674a91f26fbebf23b826040c40d0309698c3a50ea10814bae956e8a6c52082afdb9c6d8bb6d593156dc48a029580c404815f6176ed8ece76ed6e601c9cf3420371e75f7867d8f5879a7956a0f94e5793b9bf6168ee2aa7c5ca7de467aee96ff0ced2321fb11c20562f00852243832aeea68afe1d2081cd6ac104a6eb2768a1082f6871c302b4afd0d218b82e0a87d7cd4c43eee9097227d40181ba6cf6ff1a30619a9fa4108dd9a20e35d8f4b20a44d7ffadabd06335d9c7158cd998ae573ee7f50add668c5c6460fedd53c47de845a6579a9b8280089a1f0d997bd16bec840a552ce99317cbf573dcdfaebfae53418efd3da123d9e402e3819bc498a8120174f6a75f2844797d412c1718a50b446c56a106cff39219871b8ac4e1f00aeda8d1e85322835591ad3b5ddda06ba622e77df9e338454a8ac386d4d4bd957afe084fa17f1fb45f1fd3963e30bb4876a30a771a2baf48f101bc46a83853ad5737473cbdddebe434b73bcb6f62fb242115b712ba3e737dc6b9f1e2559672f73f01b88d06b64d65d7457f1eb80a562c78de1881d3797e5ee78db535cc6cf9a76f3aa7df1ec051ac63a5af170a47bf678785178292d491302a7dda6bbfdf29cea19f77665fdf9a40bb7c2b6205af667b5dd729f2cb010ad62adae479dd83bf3ebd4583be8669068ffcdc7bd9cf07bd95e2a7b94d697a54ea52cda9372f046ec54fc8283f449a688cefdce9ed644ce9eb281a73fe89d88b3a93c936206f3ef81ef62699fdb3160623b2338fe4984fa694e19672b3092e4e49867536cc1eb38f5caac15716f3ac8cf68d3eb01d7a771fd7a710fb17771c88366fbff48804017df6a2452c71c1ac2e1f07b025647cbc34948d97dddff062ec8cec496225124819b044a3b592bf27ca2a5359df6fb6efa90887f31649dc782d2ae4a5cc5c8d1816f32fcad19a6932f1e627dd154fbf230df2e5b6ce518e80394fd71b6b7984eeaf6e50f775e664d4e4425c5ad4097c34f17d51dc7e2de15dfccac278e6ec66ac8a8de3feef595b3cc41d8adabbb69295b1b9b68512cff265520ff224a07d6b8964a4850cd82ae7f92e75682c7fa77d080910df849027ece06adbb2c9a3ff6a4dd5883257026909573f0796f83a350dc30375f73bccf1884e98963c4c429d8e141112817590c7dff2b166057bf9139bbd733dbffc50544494d056da901241b93f1fc7e9b885e1bed644dcafecf1109f2ca6794b1eabdd7891afb0388edbb0395eac4f822669b62312e6321e8984cff2c2b3cfe33c21bf75e77d04a526e0a434648514068042b7b8fc3c8c4ab83c0a9d38608da62a41fbb6188bf2f7e423cd8802c0652a3ce38c3f7a647e0702d6daec8012d074181a2014d842ab0c5e3d29afef3c308f0a5984d43eb3c40041879ef6ccd8f35bfc80c2c2d99bbb9b400088238c4d10f45e6431905411b5b5a13bbac52ae0fc39ac9f7aff893948e342983f8696d6aab046faf00777312647ee2ba99ed0b9336f6c49dd7a043d69d28b7217c8bd01b0cb8afa535a9ede8562a82611953baa03ca4ab30a4224ed1433beb32827fa82b305d83b94eebd21b033c47d768e931a37e26da70fba3a00d8a5e60d605f873b9cafe50c5ee38ec561e3c873740feff39dd5f4d972d4716c7cb75545a383821f6e914a43155bf2edfa3365345b1b544c3c24f197c9d441229c3c4f30400c1b3f12c2c2ac0397d43783b32d589079cca75dfd080ce3ef1c0740c77937e922f630678439aac957def29604dbbdf41948f7c433954425fcf159a879dc9e14b70dbff8ce3d96f9f5b4cfb398b08fcfab317f22c7c2bfe2b1d9a3e8c1211ac0a9648941f3bf82f44fe3cb9593b74c0474881438772e64ec4df432039f2eda9256195e9d224eb5a50a4e11c8349e4204bd7a76b845de4afcc8acaec0ba1325919b09e03f00a265aaf3609a5530b3562030211b524795f018855998e489d7b3e7b4642b5c9ee4d6a066f941a7d0d01b0b33530d32d87cd694ad8c14f1be265601882102850376cca96585e761e8b078e150f6cfcf5af19e97ba2c59c88a45b6ed8a2b1c25e4bad35690191dd2793d6fcf7ca2848a217ea01495479460128edd81ff260c397456be3006d54e15ca5c493abbd6c61393a5e910a0c4d3a7bce58fe268ae6d0e44864d0d22297da460a5d73b4d178b562300294d1271a7b797cc8e17d27b96a96fbb4eef5d1647aafba7fbf740bc450d6a0ddfa7dc929ed7e3d0e0ebf3b0b8a332d0b3391b01c8424526cdc15f2f1cba99b311787e9609bd0845166580fa9b6b16aa1feb50da625461e5cdeabc8c0619eb901d55243ca98d97d8e2ecc716dbcba93296079fb67fe0c2a57152b87d978ab8e8b250b4a453242342e7e3b83503c8bdc2c031237c0177a9e437eb3d3224cccfc6710ede42aa1b209bd8a0ebe3b9c5a786968d44dbec8d8d07cc3580a462fe939bca9d80a0f1b3b886adbf56a83f346f2dcd83936aa978288602ed71f2b3e22e4dc982b16341f57b1fffccbccb45575dd6cb35138ebf171cf130ab46a4da91ffec40215e44c5a9f3a0e5d3468c2a5e28cf03c1214a056ad4f06cf7e489c983a16c9f3e0b54570f2433811efd8113c93704c73776df2893b3a1c50a34fb74fc388706a02a74ba322ed33b74cf1f17daf830ad073d3e59a27d9804c197002d632dd69cc1b4f4c333758cb6775f35cdf9c96e945d38ffd24d34e3dd5764db4f52fa0e2ee3fbd1ba0f1fad37c77c171ac9d97e8dccaed67c97b26547a55e2efd59a708cf88edd24cbb9acf75d2e52d71356f2561747f6897dace76bc18c1f745f15ba7af1bd6edb0665540ef70a9abf101e36a4c3186d248c293d381e10263eb17a145b27b0fb85c57ae7e978b0e7487b758faf73f1898d53ab5f40140c38c9aa048fc6e75616d47496cd3eebad652dacf5cd332e04a6c274ee753705285db064bccc8e3a908b5aa17e9b2725c1df0b34dea6fac9613497a215b6d6e4cf5b3a4b77f102567fc5a86e57933842da8a1f9c972858428d998292ad7f61e889c5a753adb117dbf88e4e5f16efbbfe73d2db98d1e7cc5f9d80cafbedb71740733943337f7a90660efd7c7c61e15dfd1081d7e7233ad3739f5b423ff35dd6e96f688d1b47ceaf70c62a89374dcc8dad89ff99a13f3b6e410634026aea168aa225eeb375cc58c8a95b128e63fa3b153832fadc2ef33f1af4ec246ce831bd69397fe3136b9eaa5baf0e5ea066c158bb73a16162ca8ea7176e5f7113ff64be669d4cd3331477dd9f9c571b2b3f5d68e94ed348d423236df79b3514dead44129197f5f39516e5b2760c3813c2fdfc58502d70ac50f75799a5c8703b23dd2adec9fe45ed1d2e19bb3e25e09654ef5414b3a2b084b1b028e3a5548f6bb71a3e6b9decad28343f9a5b2a6e27d9f421ccbcdd95504c6a8ae09eed2af099e4fcae1cbf3946106b16af9bdaac15e3f1bc3f26c907188475d7a3cbed08d40186b7b67e31014dc7d19b7093a5d61beafe642d261523db60e63c9e529f2243abc4b010ce18a61e8bd5cb7ea8078a9152683ac2b67dff9582ce500bb69d9c38583662b138108c85e7f00bced52d59b108c55de2053ae0fbf08fb0028687259d75281b8d15d211569136fd3b1a9fa54b833dccac5b1b94ef23e68a07cef4e793e199d727c92a766e47a7eadd9d5fb409111b4401520a9b31b503b44d89758f7a5da0ec3b34766153af5dcb0bb3c156c3f6019dc413577ae68d6893bdc82e30af6de9ff4e9429c0da7a2eb53fefcbfb6a64df4de77d574a52dad4290cce892f14e94ee39604c205f200b127576ed97db64a3a6397d6428118514549bcaa653ce1ac860772150a986253cfecc8a6226dcd7c70de4aeec00c8b6c6468c3c9d532709d7dace38e0e9fe883b494eeb62e98b0920adaa0cccc8c79f924a6b24a07a50a5b4e55f1daf6f038d9b54dcb9c1dac99b5d498430f36210e5dcf1346a249ccb4f347b8bbb9eeaa49880bd77eb2f74d5026ac76e81ac35b10ef337539aa5ca6da4eee28e236fd4083a298b3e2cf784ff9224494133d015d714a759b29f7924cd976fa4c026a8c897e4421a25fa93983ed1ac46144f7a818c2b679eb72232220c7d6f6655c2bb0a44d19a2e0715d65864cdaac466838e2fd08af9e5223368b01104911235f78144d3ee8f0b9db83dbc243d7e64a3ce73133b143f808c0fd364ab9"}, {0xe8, 0x108, 0x1ff, "369cda1c26b7bb1d1303f8d06dfab2d88497af49e8db6d34c0abfec3ee37fc0c65be4968c0235eeb520d9433dbe01e31958eb9f76005129de50fd3428df61c89fb188d7cbae20f75aeb15919b8a5f1ae206c8a16751083e9dff93fa6ec7865b7b35875ded1dcca0a30c5a92a1ed43af915d7bd4401c1e1e7e6bbb11e4134edf84288b0de603593c251f3a46a806cb0a82f84f5cd23c9864461564471565143549ed3dc513d4b88790ef52429e6cfd6f8153651771609ffaaf8b3b40612c86da305a3a2c077c09fc734a4a9af6644f967e5b2"}], 0x1298}, 0x4) r1 = socket$kcm(0xa, 0x3, 0x3a) close(r0) sendmsg$kcm(r1, &(0x7f0000000180)={&(0x7f00000001c0)=@nl=@unspec, 0x80, &(0x7f00000000c0)=[{&(0x7f0000000240)="82c2178d", 0xfc9e}], 0x1}, 0x0) r2 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f00000006c0)='/dev/btrfs-control\x00', 0x80200, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$devlink(&(0x7f00000009c0)='devlink\x00') sendmsg$DEVLINK_CMD_SB_POOL_GET(r3, &(0x7f0000000c00)={0x0, 0x0, &(0x7f0000000bc0)={&(0x7f0000000a00)={0x14, r4, 0x319}, 0x14}}, 0x0) sendmsg$DEVLINK_CMD_SB_POOL_SET(r2, &(0x7f0000001c40)={&(0x7f0000000700)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000001c00)={&(0x7f0000001a40)={0x190, r4, 0x200, 0x70bd25, 0x25dfdbfb, {}, [{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x1}, {0x6, 0x11, 0xc5}, {0x8, 0x13, 0x564}, {0x5}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x40}, {0x6, 0x11, 0x5}, {0x8, 0x13, 0x8}, {0x5}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0xb, 0x8}, {0x6, 0x11, 0x8000}, {0x8, 0x13, 0x38}, {0x5}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0xf1b}, {0x6, 0x11, 0x6b7}, {0x8, 0x13, 0x6}, {0x5, 0x14, 0x1}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x702}, {0x6, 0x11, 0x1}, {0x8, 0x13, 0xffffffff}, {0x5, 0x14, 0x1}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x20}, {0x6, 0x11, 0x9e}, {0x8, 0x13, 0x401}, {0x5, 0x14, 0x1}}]}, 0x190}, 0x1, 0x0, 0x0, 0x20048010}, 0x1004c000) 00:35:36 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) r2 = openat$full(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/full\x00', 0x0, 0x0) ioctl$vim2m_VIDIOC_QUERYBUF(r2, 0xc0585609, &(0x7f0000000180)={0x0, 0x2, 0x4, 0x400, 0x8, {0x77359400}, {0x6, 0xc, 0xff, 0x26, 0x7, 0x7f}, 0x7, 0x3, @fd, 0xcb, 0x0, r1}) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000200)=ANY=[@ANYBLOB="500000001000010400000000effd4590618c9738c6b4811d57540000000000000000", @ANYRES32=0x0, @ANYBLOB="0000000000000000150003a0a081cc6d7d3d09f9a1007970766c616e71000000000000e48db1bb6371ca5859803bceb6ef6c6970766c612e00000c00020b0598fcd616ac6e27dc5b4085661f392b64b993dbcff8171511f393ef430c39ba4425a69451dd22ee01495f642fa28398a9c383aa5d9f9eb63469417044675b8491e1f0dfe1a5ffaf316817b60002e5054a6b5b9785446848fbae0ae6b595fcfd660792a175efd8f865bf21055f00d6f426bbeb36094e6bd558b69b07885baa90aede7d470b16e10000000000000000000000000000000057d51171745810face0bb3d5be72c7e035a91991bb0213513028d5cf26054c1e2771effe0bebacd56ecd7eba5e09dd89c8341d0e6a730b0a7cd4773aeba8d0b7d1c5f7a1e61dfe113665be234b34d2c721b342e0b1c47b361afa5cec5432398900ccec0cbf2fb6b076ab38a7dc68d3f5d9cfc28d2d64317f4988977240896cb3c7c2c78587ded03e3f6fbcc3d63da03997b0a8fdbc8facae0e7c4689a1926206c94c4fb3006976649a31bcafb9abb69442f09d64d6bddc74d8a45f58508ced"], 0x50}}, 0x0) [ 160.085826] netlink: 48 bytes leftover after parsing attributes in process `syz-executor.3'. [ 160.095773] SQUASHFS error: lzo decompression failed, data probably corrupt [ 160.103601] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 160.122748] SQUASHFS error: Unable to read metadata cache entry [8f] [ 160.143411] netlink: 48 bytes leftover after parsing attributes in process `syz-executor.3'. [ 160.169831] SQUASHFS error: Unable to read inode 0x11e 00:35:36 executing program 4: mkdir(0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x8, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x4e20, @multicast2}, 0x10) setsockopt$sock_int(r0, 0x1, 0x3c, &(0x7f0000000000)=0x1, 0x1039c) sendto$inet(r0, 0x0, 0x0, 0x20040040, &(0x7f0000000080)={0x2, 0x4e20, @local}, 0x10) sendto$inet(r0, &(0x7f0000000140)="7c0d111317b1ff8ec8f29f81319ec5b10d0d413ffaefd9448dbef1ffb4e3a6af87131512da528f6235fe35d3053b5cb4877c1b89bbf83f6d749d5b00679601a3abdc204cf1ad797252bb0c7b43e3e9763221cb2c8d76f824f4bea338f53aa75703f465e50e434e2193900c39ab79d37c", 0x70, 0x401c005, 0x0, 0x0) ioperm(0x0, 0x0, 0x0) ioctl$KVM_ARM_SET_DEVICE_ADDR(0xffffffffffffffff, 0x4010aeab, &(0x7f0000000100)={0x7, 0x3000}) mprotect(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0) open(0x0, 0x0, 0x0) r1 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ocfs2_control\x00', 0xc341, 0x0) ioctl$BLKTRACESTOP(r1, 0x1275, 0x0) 00:35:36 executing program 5: statx(0xffffffffffffffff, &(0x7f0000000500)='./file0\x00', 0x800, 0x400, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) msgctl$IPC_SET(0x0, 0x1, &(0x7f0000000640)={{0x3, 0xee01, r0, 0xee00, 0x0, 0x100, 0x9}, 0x0, 0x0, 0xd0fd, 0x6, 0x7fffffff, 0x6, 0x5, 0x3, 0x3, 0x7, 0x0, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000400)={0x0, 0x0}, &(0x7f0000000440)=0xc) syz_mount_image$vxfs(&(0x7f0000000040)='vxfs\x00', &(0x7f00000000c0)='./file0\x00', 0x4, 0x5, &(0x7f0000000380)=[{&(0x7f0000000100)="ada9d62172679e7b989259819b2a28d51236bc01b5b1886c69226873b0c6e1c6", 0x20, 0x6}, {&(0x7f0000000140)="6878b2e2ef1ffbad660f105a3f713b5a8387f24c200c18a10a03bfb1317af737436aaf2df819337fcb5845d6af88fe99f5856735b7b2011b719833477ab2a98fa5de87229a12034c38b601f58e26c8f3ea92b7de5b0b5ee8e001508c7c205acab730c4d2edcfa0583d4cf366b09a7557b4701aa25d669e9ad2e8539841664c9169bc3294f65df7c95d985bc576da36b7b486d61126a83088a53fb8e7d1187144c1b6d1c6a9b7b6eb7413261e106056806903f9b1fdb8ed4cc757ee2627bd92e7ae35d9395a124f22867786d11dab1ec93e31e970f643bcd999ce3fef61c7", 0xde, 0x1}, {&(0x7f0000000240)="ef", 0x1, 0x735e}, {&(0x7f0000000280)="a0344fb2bfee32c39ae166f82dd462da36f46216e11efd4d56994ac62e424a2c5230e12efbf832958d11cb430007d96f4da60d9fcdd1215c2e9ed3fef9598b23a6c09a8eb9d6ecb60b120c3ac009928bae87d2791c1a695b6866ade9e5771657aa51296c7c7952a4cc941079ae2638719956b0917dc86157156b1e432e2da15d4cdd7bde9582992b57585a09abf59f346640d5cf1330c898bb81ac65564692", 0x9f, 0x8c7}, {&(0x7f0000000340)="6863451d97265f2dadf1c564f48264406a19a5501674c3", 0x17, 0x1}], 0x2a0002, &(0x7f0000000480)={[], [{@euid_eq={'euid', 0x3d, r1}}, {@subj_role={'subj_role', 0x3d, '-+'}}, {@fsname={'fsname', 0x3d, ')'}}, {@appraise_type='appraise_type=imasig'}, {@smackfsroot={'smackfsroot'}}, {@euid_eq={'euid'}}, {@defcontext={'defcontext', 0x3d, 'staff_u'}}]}) migrate_pages(0xffffffffffffffff, 0x9, &(0x7f0000000000)=0xc41, &(0x7f0000000080)=0x3) 00:35:36 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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, 0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f00000001c0), &(0x7f0000000240)=0x30) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r1, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0xd, 0x3, &(0x7f0000000440)=ANY=[@ANYBLOB], 0x0, 0x5, 0xa8, &(0x7f00000002c0)=""/168, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000200), 0x10}, 0x78) ioctl$sock_SIOCADDDLCI(r0, 0x8980, &(0x7f00000003c0)={'ipvlan0\x00', 0x8001}) r2 = bpf$PROG_LOAD(0x5, 0x0, 0x0) sendto$inet(r1, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendmsg$SOCK_DESTROY(r0, &(0x7f00000004c0)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000480)={&(0x7f0000000840)=ANY=[@ANYBLOB="600300001500000028bd7000fedbdf252b05cd00010004add0ab75a5b29e89c2b96f4e99f8accf22f1c1c4ec899c915cd81c2f9ffe2330846f0d6ae8f86d5d74728716f42b6835f1fdbf19d398cc01d3c0af68ed052db556b8f8702e6f1c50e82ea00ec0810e509add3c74cc812834b4dd103e2fa71ae8be09c4391c4f4d6521b92c6686b651fcd1db7b63c2a53a797d511338dc0f76eafd96cba558f257a3a2b02c1b376e9e3264606d345c4fe07cc4e2222ef14ed30c82333c7a883da135f20ef14a72c5eb24edff05c3ca25681609c3f0cb6b92ccc628c3000000a90001004fcc787b3ace5df04686cddbe9d3628ff39d270a99a63b1aa71a21499a4aef88cfe28ac025c87e3daf2845606dc561bf5c481e75234e82a459e8e02e6a9823e581143d9752f93493f374f573681244bd58fc38038593081378ee7d4f229dac93682f948b6b0eb3312621101d5f9bf1ab0a552c300aed9a622ea086817e8ef1e2a73c370268fc573034f38346280d0fb0e330bc1a2e701905b4e8f719986df838ddcb06b7660000003c000100bc0fbafc9b3c466d583b7b81f3c3ac5c7e39ea5b4af4f89e5dc7d87e292ff6bc9fa9ef7027c35131a002a9f269f3e888b51591c0a1fe355fac0001003cd741129d7dd36a74083b842a13a4ecca260949d3be7e9b6e420a7da189ff0654a78da30f05932b7d1e76a5589947faa3afc5374eecd17da6e2208d26b45539c65139fa263168a0a543f9158c72ed006cc4ab6bf23ef6b12dda77d2bceb096dd07646d5067fed7301236c8e714d0c57c9856c7d9e2954ad742d5d618da14d218a9e486d2f11ce816aff26d8726f05c5e336f3c9621027a6dc66cc6cd848368146628cb02006bae7b2000100f6baf6adf395c105bc7f06217edf1bfab59711c01349386c1b68623b14224ee1361b197bbfd304e665d12d432d710f144df5976d0be726f088ff4ab197cef6479a7a17245cae69707f785e2e6e14cf2b1a9da7c598f34538db8abc3f242943f19edbcaf6f4a89853cfcf3b50849f46d04d1ede77c4c1210d3ccfaea61e19f38b8795d1f9007ffbb2a843579855e5448afea767d70b1518cab0b3a0d4d36e603237897641da769b5c247691f0b6bf0000330001008fd0d30848b9a1f8450a9f8213cc21e8371a21acceb9eb7d5e3beb61949325a46e3fe02e1cf1d57ec6039ca7486842000000"], 0x360}, 0x1, 0x0, 0x0, 0xc820}, 0x24000800) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f00000005c0)={&(0x7f0000000500), 0xc, &(0x7f0000000580)={&(0x7f0000000540)={0x28, 0x0, 0x20, 0x70bd2a, 0x25dfdbff, {}, [@NBD_ATTR_INDEX={0x8, 0x1, 0x0}, @NBD_ATTR_BLOCK_SIZE_BYTES={0xc, 0x3, 0x3}]}, 0x28}, 0x1, 0x0, 0x0, 0x20008000}, 0xc810) sendto$inet(r1, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x0, 0x12, 0xffffffffffffffff, 0x0) fsetxattr$security_ima(r2, &(0x7f0000000180)='security.ima\x00', &(0x7f0000000380)=@md5={0x1, "7817d5616f5567aa6ec2bc9c660a8478"}, 0x11, 0x1) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000800)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000680)={0x104, 0x464, 0x300, 0x70bd2b, 0x25dfdbfd, "b84a84786797b1647e5ad748ae035c1c26705fba98fbd64a79f1f7e8114df45db7f39cf8dd859b735431f62e22d62c6e3fad644d09571f9c75bab8e141dd64467f8295fb3bcca4eec9bd0acf97c04137687af07afac11990e328d345ae337da4f4a3f349a9ca1d1b39286f905183524aa797ef1056ccf023bbd7678b771daf84c14f167eaa6eb14a0452eca8127381e0fce60a2660fbcf8620bc1dce342052729c1d6e6e881a05199ef57a3344d901cbbc1a129e3a41be082b470e5e8a5b8c032aeef637a709f7d356974fefe2082ebda9eb69e408b6d1596a5f51f9f95fabf9b0858f3247f283d0e0a37df65dd989968bbe", ["", "", "", ""]}, 0x104}, 0x1, 0x0, 0x0, 0x10008000}, 0x40) 00:35:36 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) times(&(0x7f00000000c0)) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$batadv(&(0x7f0000007580)='batadv\x00') pipe(&(0x7f0000000040)) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r5, 0x8933, &(0x7f0000000080)={'batadv0\x00', 0x0}) r7 = socket$packet(0x11, 0x3, 0x300) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r7, 0x8933, &(0x7f00000001c0)={'batadv_slave_1\x00', 0x0}) sendmsg$BATADV_CMD_GET_HARDIF(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='$\x00\x00\x00', @ANYRES16, @ANYBLOB="010090c90000000000000500000008000300", @ANYRES32=r6, @ANYBLOB="08000600", @ANYRES32=r8], 0x24}}, 0x0) sendmsg$BATADV_CMD_GET_GATEWAYS(0xffffffffffffffff, &(0x7f0000007680)={0x0, 0x0, &(0x7f0000007640)={&(0x7f0000000000)=ANY=[@ANYBLOB="46040000", @ANYRES16=r3, @ANYBLOB="ff830500000000000000", @ANYRES32=r4], 0x4}}, 0x0) sendfile(r2, r1, 0x0, 0x100000002) 00:35:37 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r1, &(0x7f0000000400)={0xa, 0x0, 0x0, @local, 0x2026}, 0x1c) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 160.304083] 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. [ 160.401121] SQUASHFS error: lzo decompression failed, data probably corrupt 00:35:37 executing program 5: syz_mount_image$reiserfs(&(0x7f0000000000)='reiserfs\x00', &(0x7f0000000100)='./file0\x00', 0x4000000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="0040000068020000973d00001200000000000000843d00000001000073564d38e10000001e000000000000000010cc030200010052654973457233467300000002000000020001000200853d00000000010000001231231212331233123112341341241273797a6b616c6c65720000000000000001001e003bc1655f004eed00", 0x80, 0x10000}, {&(0x7f0000010100)="004b0000fbffffff00000000010000000300"/32, 0x20, 0x100c0}, {&(0x7f0000010200)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/1984, 0x7c0, 0x11000}, {&(0x7f0000010a00)="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x800, 0x11800}, {&(0x7f0000011200)="0000000000000000000000001200000000000000843d00000001000073564d38e10000001e00"/64, 0x40, 0x3d96000}, {&(0x7f0000000040)="010002005c0f0000000000000000000000000000000000000100000002000000000000000000000000002c00d40f0100010000000200000001000000f401000002003000a40f00"/96, 0x60, 0x3d97000}, {&(0x7f0000011400)="0000000001000000010000000200000028002400020000000000000001000000200004002e2e0000000000002e00000000000000ed4100000300000030000000000000005cf90100535f01003bc1655f3bc1655f3bc1655f0100000000000000", 0x60, 0x3d97fa0}], 0x0, &(0x7f0000011500)) ioctl$sock_SIOCOUTQNSD(0xffffffffffffffff, 0x894b, &(0x7f00000000c0)) [ 160.447840] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 160.474984] audit: type=1804 audit(1606696537.157:6): pid=10447 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir464119787/syzkaller.blnj00/11/cgroup.controllers" dev="sda1" ino=15825 res=1 [ 160.519978] SQUASHFS error: Unable to read metadata cache entry [8f] [ 160.559166] SQUASHFS error: Unable to read inode 0x11e [ 160.606478] REISERFS (device loop5): found reiserfs format "3.6" with non-standard journal [ 160.621752] REISERFS (device loop5): using ordered data mode [ 160.689113] reiserfs: using flush barriers [ 160.719728] REISERFS (device loop5): journal params: device loop5, size 15748, journal first block 18, max trans len 256, max batch 225, max commit age 30, max trans age 30 [ 160.824605] REISERFS (device loop5): checking transaction log (loop5) 00:35:37 executing program 1: r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xdc, 0x0, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_bp={&(0x7f0000000000), 0xd}, 0x0, 0x0, 0x20000}, 0x0, 0x4, 0xffffffffffffffff, 0x3) close(r0) openat$ppp(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ppp\x00', 0x0, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0xc004743e, &(0x7f0000000680)='&@[\x00') ioctl$PERF_EVENT_IOC_REFRESH(r0, 0x40047452, 0x907108) 00:35:37 executing program 4: perf_event_open(&(0x7f0000000040)={0x5, 0x70, 0x7c, 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={0x0, 0x6}, 0x0, 0x0, 0x0, 0x6, 0xffffffffffffffff}, 0x0, 0x2000000000000011, 0xffffffffffffffff, 0x0) r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) lseek(r0, 0x800002, 0x0) write$binfmt_aout(r0, &(0x7f00000002c0)=ANY=[], 0x23) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(0xffffffffffffffff) r2 = open(&(0x7f0000002000)='./bus\x00', 0xc4102, 0x0) openat$vcsa(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/vcsa\x00', 0x721900, 0x0) sendfile(r1, r2, 0x0, 0x200004) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f00000000c0)={&(0x7f0000000000)=[0x3, 0x73c8db97, 0x7, 0x0, 0x8, 0x8, 0x4e, 0xffffffff, 0x7, 0x3], 0xa, 0x400, 0x0, 0xffffffffffffffff}) fcntl$setown(0xffffffffffffffff, 0x8, 0x0) r4 = socket(0x1, 0x803, 0x0) r5 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0xa9) r6 = syz_open_pts(r5, 0x42000) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)=ANY=[@ANYRESDEC=r6, @ANYRESOCT, @ANYRES64, @ANYRES64=r4], 0x24}}, 0x44000) ioctl$FIGETBSZ(0xffffffffffffffff, 0x2, &(0x7f0000000380)) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000200)=ANY=[@ANYBLOB="40100001040400d1e67092838785240000000000", @ANYRES32=r7, @ANYBLOB="52030000000000001800128008000100736974000c000280080002000a01010208000300", @ANYRES32=r7, @ANYBLOB], 0x40}}, 0x0) sendmmsg$inet(0xffffffffffffffff, &(0x7f0000000a40)=[{{&(0x7f0000000840)={0x2, 0x4e22, @dev={0xac, 0x14, 0x14, 0x1c}}, 0x10, &(0x7f0000000880), 0x0, &(0x7f0000000580)=[@ip_tos_int={{0x14, 0x0, 0x1, 0x7ff}}, @ip_retopts={{0x120, 0x0, 0x7, {[@cipso={0x86, 0x70, 0x3, [{0x6, 0x10, "5cfbfd0b2dc53d995b29c69d857b"}, {0x1, 0x4, "91cb"}, {0x0, 0xa, "286d128ae5d4009b"}, {0x0, 0x8, "47b3209e13d7"}, {0x5, 0xe, "c51a6a00610678d2b356318b"}, {0x2, 0x10, "125e2da0da2bea2df0c0fb1dd810"}, {0x0, 0xa, "e91c9c251ce4eca1"}, {0x5, 0x12, "906f584bc4ea20da0df9d71086b14aba"}, {0x7, 0xa, "77d4c709102ada93"}]}, @ra={0x94, 0x4, 0x1}, @timestamp_prespec={0x44, 0x3c, 0x62, 0x3, 0x0, [{@private=0xa010101, 0x10000}, {@empty, 0xe42}, {@local, 0x1502}, {@initdev={0xac, 0x1e, 0x0, 0x0}, 0x3ff}, {@rand_addr=0x64010102, 0x1}, {@dev={0xac, 0x14, 0x14, 0x30}, 0x3}, {@broadcast, 0xffff}]}, @rr={0x7, 0x27, 0x3c, [@multicast1, @empty, @private=0xa010100, @initdev={0xac, 0x1e, 0x0, 0x0}, @loopback, @empty, @rand_addr=0x64010102, @dev={0xac, 0x14, 0x14, 0x3c}, @broadcast]}, @ssrr={0x89, 0xb, 0xdb, [@broadcast, @empty]}, @rr={0x7, 0x2b, 0xa2, [@empty, @remote, @local, @empty, @dev={0xac, 0x14, 0x14, 0x20}, @broadcast, @local, @broadcast, @initdev={0xac, 0x1e, 0x0, 0x0}, @multicast1]}, @noop]}}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r7, @empty, @empty}}}, @ip_retopts={{0x64, 0x0, 0x7, {[@cipso={0x86, 0x53, 0x0, [{0x6, 0xe, "d6ecf854f8e4401c3b4caf32"}, {0x0, 0xd, "31ab0d96ef33f42a23c54b"}, {0x5, 0x12, "34e5d734fab9f63dfd43fe2c0e74789f"}, {0x0, 0x12, "a05aa74670d0ad138dd70a48f077e70e"}, {0x6, 0xe, "7d165253cefa759c6c62d888"}]}]}}}], 0x1c0}}], 0x1, 0x0) sendmsg$NFT_BATCH(r3, &(0x7f0000000180)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000140)={&(0x7f0000002040)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a1c000000120a0102000000000000000003000003080003400000000278280000060a04020000000000000000000000060c00034000000000000000032c0005800800014000000006080001400000005c080001400000004f080001400000003c080001400000001808000a400000000040140480840001800a00010071756f7461000000500002800c000440000000008000000008000240000000030c000140000000010000000108000240000000020c00044000000000000003ff0c00014000000000000000000c00014000000000000000060900010068617368000000000c000280080003400000003e0b000100736f636b65740000f410018008000100647570000d00010073796e70726f7879000000004c0002800500020008000000080003400000000808000340000000030500020002000000080003400000000008000340000000010600014001000000080003400000000806000140080000000b00010072656a65637400002c0002800800014000000001050002007600000008000140000000010500020009000000050002008000000008000100667764000c00028008000240000000170a0001006d617463680000001c1002800800024000000009090001002d5d292c0000000004100300c2d7297c7aa6d5a30af3bc21b265c8fefe167e0023fa0c155ccb64188f6f19d50c3c67ac8575eb1eb5718290a839c6046135cc1656022908693cde397fc28a8eab6adf12d294efeafe6c6408b0f810803995c401f3556b27f752bd9f2590adc555d94153e8f0f6611f0152e7067a36f4e013fc2c7502fda682fe9b98ac7d975909c59b8795074800046d2a85ffca3c408407739dd3689bf7d549e1e444a6c1b2fb2f92c58f89182c6138f74ca26c546b2dffad9e63662edd42ebf05cea68a75df84d3438f9b411d230b9a5263407fbae14be51f443f1b5e88735006b532fd90ddc5f1549d05f3e536d0cc29d3f497de2641a4a328f17c9c15cbe48f1be7d2238d2104330608f6fd7f21789b399dffbc7e9ba75b6fabd341b2bda86c681a5391772dd7889f492fbd7f9c0299777ad43f0869618497f1b13d5843d48efbb1ef89d0ae21e51fcf3bc40824916ef8d3da971f1628e139615df24f340893c820ac2888f60639e86a9a7d779b41e7776423abb0d609b03905b7e1b51c1c56393cddd49af7c22e6cd4bfa388aa6a3904dbc32d12afe3e5d8cd08684133e5e1933d6c666a5acf075b0b5e61b472da04e3b849228554ad893474bdc3411a4f704789e8919114888670346e35fa1e0a00e974ca35262fbf909738616a24c023305e0b0d8609f81906c3b320e7994217fd4b3bf6bb6677b497e151e9067c7ba4a6c4b2dd6d6a41b59787ec945d6416700cf70c9f95b8a765cadfe2b64014e4a07a4b90fe2e799ec6661e064cba7e47068816db10b1164d53c2c641a2a5696b3ec82595fb0ef97e535b9d17189309eb2343a89013f71a2dd57a6929e57f0dedbec590da5466b491bdf09ba6cb9ea18af623ca24a09c09f0e61869892bf04a3deccaee68f1846f7750c21787b79338dd3526e9c5ad13e7f7c9378e8f653637468e02252d84add3c091010f27bba85f077470e124357fffb6aaee4ca1bdddd6e05cdc6dee84ae701979ec0843eacfb36638cfd7faf92692c0e74fd6900ed665e3d784c8c2fa5ad17fe838e11bb861b10768833cf1cf15c67121e64d4d62ae4c27606c37a747166e5fa40d9072e4bf29fbf07ecd99f9904d651b9bddeada788c232c3eb381727f2a8beae56620ffe94baf3713cacb5bdf7a5ebe1aa52954d52dde5dcbbb046bee8707a1f0c8ba26e976359502bccd742140ae117c5d09a33e6efe6a3f3b8ac391282e60db73502764a07688e8639096d2f26bed1d9c7ee88e4c49e76e3e1db617b9e179856189469b9c5cd75445b2a809edc10bf8c3c8b50fe70d5c20d8d95f7dc209ecd8f6ca537d6ac8b576e60fb493b40cb1da726d1a0adc67ab4c919d4cce7605e08348e72f357928c7c430918a358479d9a2e1c025afebcfcc720cb5cf842e54ef442486339770d02cdc608be00cfab555b0f5f983f99596e90bb0a968397085888cf1abaf2711163c441470d9dc7b0bd8e8824e4625c9797c37f8a62b8ab4c5eb8bd03c20d486862405b37dc6989eda2c722dc79b24a97eef852ed84155d7836571cdc610fe1745cb9907b1bfd2663baf8352b1b093652adc69c59a3aee6306359958f1671744defb613bdb107c389de940ce39903c4950f0c48951cf0061c8c1fb23e92966c552d1fe394ecedc651da43fc7042eb006cb150cfa40c1a178312c990fdc5bceeb0a5104c0ecc0799b97844602dc39516b199e46514a76692561fd4d713dfbcb85c28b6561323956bf5c1e5a0c74d7797355e3b63d2215e9bce54be13aa9635e7d20e6a647a9c9b78be79c7dd399cc7addfee24209e539c3dd8bb664d8b191e3011a07da2fe62957e01b63c53eaf7986076de2aa22a92f49e5e4f7e12c6d1df98c02494432e1dcce4b9c15b22bef1286b86e1afcc8adc8981877031d8dd6294c3c11f22c86fdfe07d70979b2cf30645d1577a203405ed81e220a4930063760ea9f5599a9f3bf2a78437e9203842369e34a710daee2be4a3b0813835f61ce12ebeb7074cb8fd531396f2fd3672488ce5735132e9d02a53d55d4071e7cf9edfd94e5abddc1ca6e62124f99ad8992b30acabd55498c8f847de8980c72f7a62a30e9d7e401f1d6e81d78c5128f99bc59bc48057d30c9832759e34838d17fd3430063c64aba3968e53c03bab8de0fb9efb95a6bd951cf7f97179bb168b09338370727339375c851be78fdc08f6638c1f2cc6e4abc66a9677ca49f6dd0aebcac5de4e2aedf32233bbcdea3b3cf97d9b1520cf9c958744609f275fb133ae03a485f768356d54a7b88a8bab34d7e38090701dfcee3151da2d5ef276e9d5f866b5e6e57757351bbc6741a2b4329fae2cb7e4c5d2a540b9d92501f49df4e2f0a624fb4f7f0696e76b11cb946d9152495a116fce2cc5adaf59393c13b08bcd491a13d3576e59d00bc264eb2779391739a612eba8152cfc205936bf54cc5188523068b09da5f99a8c68557aff0a686815d313146568a3ad8a88b4395f88f31970db382e5c0819ad76b6a1841f3bf00ec689883f1f3173edb47a47a3a86a434e741ddec05aea464bcde12ac4000b33345bec37f71886240d1d9d702c827ae6fcdccd766bdbe4230d611c7dba0c353eb8c2abb2183c7584892957f5551a69b88ffa0c28314a07a2abffebbefd3a9f1e2bfb8c3d414ca548239274450c27c884f03d300ca98f4e0e8faef4d98ff47178a0124b51ad7f46ee365fbee6fa354113811ec1f289c35e92c9d5fc0842ced957b63e12641523bb05e746b4f6ed5416f502832237740491ede4cf77c9181d90202368760d191929c5d4f03fc7516c099addab390988f9510b8596c0952867d8033aa88b739e4ed14c0a747b93391eaf8ca09d0beff442231fabf94386074cf67af150e323c413cf5a4b9747e0f45a7d7c61f6962867196e8b30cad1202dc4cc63de260e490e6d05c09ae396d971a38a8cfa64d54edb05b604642c3b0cf2030fcb0ff57893122f5c3bf619f94ff35940b8cbcfc0dfe31f78da2f2cc0e5481655154670f5ab24c6f1c537c7f7e52f76f6b6aa342e0fadb4c0de7f8017902d9b03d07b53ca50387073f9d4f9456ba4d8ea4e828bdc102ffcaa34e2589379b4e4717d0dffb9d6135960f31a0e359c2fa27f0c06bae3985b7e5929598fff3f819988eed88214935570f2c33fbffdd6bb8f066618891d5cf391705ee190588169069fa9490a621dcf5b9f92c45fbbc289c65cbbf4e1cd86c31e55683475854628a7af02d5faae7bbe2107d0ce04338099b7d8c3c40b63b77a326da0650efb32086e9395b5070881d07d466aac89009174f91555b60f8fbee6b466a04c023811d87c0bf2a1ce77e9b343a9648fede1756b7af7293cea2ea6ef1b490ab2adba7e6e2f494f7f555800ff1492668fa974638eb359a48a644eb6050e0c3c9218f1bce63baa2a11966b262833d8cefc1df14413a882ffad48ca352b1d94805bf077ff77da17a2112e3df54da480335d394ee9941d9d01781928ea211afb0cf305cc33d7cfc0ab0792f724e501c67dbbced40b66491e792b098fbe22a37e817134998cca2c08a67863dacbdc3a80a7be9f7652b7aa1920c80afcece12dee6968c167fd90631e12fa0646e3aa7e243caee86b739a3e9cb186f832227f500feca046cd4c9d2ad8fb2b3a187dd0a4f84290a5d54d9f12097040ee11917b2288cb006c1f29f94dfd50fe42822e0db7007014c895722f8809ab90acbe6c2bd762545dd273e8c261f5e87a200ef3babe7595a1f98eaed8ecabaa45167dbf1a6da0c33060caa1275b1738cb99ad5d230bcea71f29f1635f70c7a48fe7e4462cdf383dfa3729e348227391f525dbdc6588598b99553f6a58b893e272d20d2114c67eb0601d1e96ffe933e3726ec54cb112e032d3ebebfcaacd856adf36a2a4d8a6df46fdd25e02a7691a99ccf659c82e959d527ab79f3e65b47b8b3255740ac7866e620052192a372828262081e10f45412108779d5d969f107024ccdd9ea26103a77eccae28ed0d232c75349a8b889371134eac9e1c89dca490f08549970c0f4103dad2e9263f533ebb527ba30ce0ed1bb54d2abc2ea8ef5508f132cbc8454c622035e69a0ebe19df8bdfa63e287d8d33a8315991520da09a25b9f4ded78926285fdba39c2c961d6c8161b24e984e3d60d84c4c30f13f9b3db0cd475a5894118aac1ba9583acae06b63687306d19889d643c72bdcac955e3f4cb07c23cbcaf7ae920c3854d4ae99a2071338cad20d35a62c0d5ad481ac49598ebd47c024ca5abe4e724bc5a7d13754f897004a5dcad8b174db63ef1771aa2a69c7e2962b85e6c316f943f1b717197c578db9704bc2ae47b9cc9b4e3cad48d42aa040486c022a414d150e43d1346660bb78b7c40284a32881624da1ba8e372b9c587fc458ad2c11f38582452ae6b6e44a0954601473468fe8c27a493bddea6c5f845d778fed0edb841d0e92babe0c0e6803f879af72c3719fce1e520da9fcb69111d7d861a8cd9c1f497727def037799650f40c5ba82d1e6aef8078e9cba826ddc150c3e01371c62cd8b96c5aeb8c988eae10c988654b12fbc0e33fca6a53e916f3153272fd70eb2ba09a9fc46ef75328c6d08a1786896d433305c602ad9a454d4d29b68aec7bd6695d6e2476a80760915956f51d48d629656e9c3c290742fef9877ee59089a910ef6f138cd25f941ebb5fecbd73910d3f4eb04e835b0fd0ac5fc95fc7915f882df71aeabae43b977bb89c0e05941e150a732100f9407b02ebca9aae5968db2a836f7f35aba361f851c5694ed88d8743c9646d3d2284909b316f7d5fc86adbf9b4f2e91493747306129380053e87d52f2fe4fbbb6c285acf7c3235e0971b11766bf06b7d463f1acd292cc6ac6260f51ae1eacbe794b1ba94c8691b998b186be930f83dd8a7b83d0a647858655ca3cd2e26135694e8154a40958ac079d80fd5c76b47e15af1fee44adfc8bd323dafff30191c8432ecac65091c0c1ca4a8143daee948e6d0315d20191ca7ff9cc204c74c5323b68e606311e6b82ed9b3ae892fd382440fc7d7070972a5676d8d507d1a60ecd81a4bbf22309ee0ce3883b8886b3f9f4b86042232f5b2d8c0979431d4c606b53b51ef6b672e952638ff5d33d0efdc647dbee7a8cb77cffb83cbe40c24418c9e5ed26e4c1d4e8c6219a7ff7a5e734a59c2a85ff43a9d0cf3bf28edaa8a1823b3818e375141bc4731b3d4c87241b2167d45f33f8ca08fba8af4e9f9e21bbf39f7cd3d0c37d576456982ab8b040f8c070d666d11127b679edfd2bd7baeff5efbd2f272861484a2aa69e8d6d0f44ab2a9b34321e94ea72158a9988339294bd246663a6533679bfa9adbf09f9594e57d9b506294ac10dde4dea06c01290050415b19d8c95fbafd0546f6def8c37cd5768d782cdc22e84bf0aa74663ea23c14d441ce43274f91415bf289997c9f004dee058b8d72b9102e1983c6a79fc39a3e12d883d3514d07cfcd3bff25ea4e1e1e509d7012aa7665146f8f267f8ff47b7ca71842d21afb10af0d76c98202b07596ce517b0d715f40abb26c47c10565730b6bb29809112cbb040a496cbd1eef7e0a13461bce6b491b8dd93800cec2da5d9057bd8a9e45ed7f08a37a8424a34362bd4542a87703e8b099cdc80bd3d184188c52566b7ba49095a217990e5c3186e58af913edbb0706fa878bb53de9ee1558ca79e18daffe8e11a8769d8ade791a553ac23d36d2b8ac73826824c6a29d01f689005f861c4a295dcb71ac48bb068d426b3a725456b17018f7076abf4f4354674a049ca1cfc0c437328c863534e00c000100636f756e746572000c0001006269747769736500c40001800e000100627974656f726465720000000b000100736f636b657400000800010064757000140002800800014000000012080001400000000508000100647570002c0002800800024000000002080002400000000a080002400000000e0800024000000008080002400000000808000100647570002c00028008000240000000120800024000000008080002400000000f0800014000000003080001400000000a080001006c6f67000a0001006d617463680000000b00010072656a6563740000100001800b0001006e756d67656e0000ac0101800a0001006c696d697400000008000100636d70000c000100636f756e74657200090001006d617371000000005400028008000240000000140800014000000011080001400000002108000240aa372ab50800034000000011080003400000001b08000240000000160800014000000020080003400000001708000240000000110a00010072616e6765000000040002800b00010065787468647200000c000100636f756e74657200340002800c000140000000000000007f0c0002400000000000000fff0c00024000000000ffffffff0c00024000000000000000080a00010071756f7461000000100002800c00044000000000000000050b0001006f626a72656600005c0002800800014000000007080003400000000a0900040073797a30000000000900020073797a32000000000900020073797a3100000000080001400000000408000540000000010900040073797a320000000008000340000000010b00010065787468647200003c0002800500020089000000080007400000000b0800064000000002080004400000002a080005400000000008000440000000110500020007000000380001800b0001006f626a7265660000090001006d61737100000000140002800800034000000017080002400000000407000100637400000c0001800800010064757000130007403bf01f5d4a445c98464ba7ed35a50600041007405ea04753b8872018c7eb0cf7edc73539d87659082160cfb721975d5f6904b31c5a27656b7019372ee41ede645ef898165f638eaf7f938678c4d9d10410f211630250f6aec6b7aff68d9e1cec3349d0bcc5168d1d3ed9f10da30282e2102102556a806b1be2888aecf508d7b7e0ce01f3231b4050ef134936696d557aaef217171185df05fe76a3cc5dacef1edff04f394c519df8f86ec34e42cf427c3f45d76b9fcddb47177010117878d9d7700e62b0115237b225c220cd79b5f2acea8e6f4fda38023470721901d2ba34e9f1d1c404e252c7aaccddaa760a236ec9bd873ff1078c88bc54d795ec2190c53ddfea46a35279a5bc69c5a6ac43f14aa4bd39bbadb4a3f78d5886823114a306dc73388bfad961cc3408c07b72883600ef77c9f3195cc3973351a160c35e94e9c20ef65af8b2f7edd30c921a37ad2954d32b500a733c5b1bfa1c707a9ebe1b270f73c61c52fa9f2573ca8d2ed6be74c262b5af4a95cbab387dedc905de1d94b04b4da68e70c4fe52870307bd42270f832ed411de5e83ad6bf223958b407b98d22f77365c9cdb11403e7eab2730e99c32a472a85d1d0f9bd20dd853b06ec644e83dfda624283658afd15d2c08e3d4bb9e9b658542fd079970a4892e8a7d9f63561ecfd443506976e6f9d2041b384f898cbfab324296b82181e0714e5720e739dae3d8fce8d99f93aad3de7017a173c36ed914f845aa41a2be58b1adf6e492f4373d825adebbd1540e6d5d4f42b764943bc8144c0ca54ccb8e03b5adbb5e12154ee203bd8b1c18de0fb8911f462ad7f6a9e0cc9b539f36b0566584101ea13f62b5661fe3c46c65bd6544f2889b4ecfd4a267a20aa620a4e3bf804c018a7af242f2ddfaeaa6f6c2ca6bb02aebe8220c24b45addbc8027757af4195000c2e8982a69c3a13b35a1610574e2266c283dc1125cea85a90d4f1a4d9de322889a5eecd2c006f52da2b5ce068966ee426423349db810e7ca6153704826f85f00fc8fa9a174915ae818fdebac737e6a6779661847e960b8d364f4eaf5dd0410e6eb54d5497ce57076d078e53fa76cb0c187a4718432d3529b4a2aa8e10fe919b6dcb76e4e0b86492409bd221a7a2f67145d0737c9a65c00a3275771c301f8fccc9e1df066c9ab3a2d4ede6080b47fd479b29eb0d9c01bbfad33953f86a7cd3fd1114db75fb3feb761877530fbed3650cab3701ae51e1e2cc68f075eaf62227dae3650f2c762faee253bbbc3abbf32b9d7fc63dcbf76fb9e765d2e2cc2bae37a1e0445e6a45806fb3e80dfbb5e3d0310aaf975df85fe7555bb73e3cbb5d99f3231e06599dd0c795a0047cc6b415c10a93eda95fe12468a942303602991683e1638d830cf6d1aa5daeca87fe82194749eed70c08dfb287898182a400d6fda488f48c5fc13833a0df54314e08dbd25543b6c82c7661687fa9198a6ba1518e319140edf973f44920a270209106e911f0d903edf12101e2069b35207de79c1b6e0b4a91165a1a76d308b8b20c7bac7e1d0cc3f1d0894d7609bb055669e68ed4026cd2c9999d78bbd9817a787d329ea5a863d577284112639c7f6fd0cc817ef549fe346af45645223a1790a81615c6c1dbf71c0669ae42e8f7747faca888651ae74e074350e782ba17ab82a93750c3c7b4c02c148dc3b908424a14fddb68f12c4c1132e4c38d795ec1d581927d8a130f9cc28ce80b03a3c44ae830120ecaf2bc2a81233b9cdd7f1ef40753a1ac52b94429229ff5be55484c8f8615a141df9dd3ae57461d609ebf6bec9b3ceb98b46815101b4b786870e6f6ebfb703932e2d2aa047ddd6cb6f99261d7d27334d75c09e7fd15c79311334f8557ad588567a5995897e0d8ccd88b484af7b51cc50f38aed3f20472d102aac8b072504ef800bbd98ccf2b6b894f25210bcd11180ce4cdd0f59f0e855d10b1e095e0f3362d230b439d4733c190fe1d31dad83eb00bb2fe3911ebbb4414ee60e0baf2345a061f3245d65198c10dd5601addacaa595d92b093bd083ed9212e6e839466128ecc0d3fbb409bb1d130fff3cee8f3c8628c40db27d48148cc79f671ef6b418e3e82186880352777a5e1e73779c3733d3bfbce3976e5e7b800f97968c4ded8eb7d3694688e577bdb02e444289ad8ac436e23acf7c37e04b906dd6b68ee96c148527b285401f218432941d20641be8c8bfffd0ff708a3b4a86b86bc981dfb1b1a12b93760729dc950a35a901814f9e2f677d073f9bee09286c7e4d5a84ddfd48937c0c5d626535cf690d2a23aee699fd6918d00dc8e2ec075e397ffa08da0b4e69b83ae364c1296efec7ec1150b11485123d7240c1d44764b11b2b1ffff48660d6f3de34f09971d365c5a6f08d7c3b3aae65681bba062d3258a918712e61488a200b33411949629eaf872cea71a5d15e08afbfe9bd563a47129098212675b5863993f1dcfd061c2c5b3b0c03b941982d2365497df3a6c2c437e0f902a107147f2d9e47423445e33ef0b61e10c12dc8a6b94a48768303317a7ef90b7fd30ed22b131398c9e240f8f379dca6ae4b7b07c42dad0053b53aeb4952b244575ca8ca6cc9e0eb802b33334d7d3f8542bb712027ecbbf1bf0a4abc0694661bfe854947008a7b9b011cd6d37e894387385143a7b1174d0852dfb366e986ef9439921ca65001fd47fd37692acade2aa9182126573381b72dfb82e39286e830db2109a62be90d68b7ccd64b5254f07fa3e0a4af6fd82c26e669212fbab90175f0537b95a13f2a2e7125b387f9e4eaec9c6b82ea325a0bee571150723a4af380934bf4cfb505c0dae0742391c9776021716c3ed3f8a186f4c2d46e1cc2d16da9211b0f6964ddce84586eda58bf4fd51537fab07cd2b91407ca517d05c8d1d1039d0649078ef092791d442a8dbe4f8e8ef9476e624a5853d8214b462a5585ba1943c5a4ff94ebac4e33885708b166a87025bcf494db9e2b86c382ef89aeb45d15d51290a800d7fa550179a482076c35d8a9a4ab0f0d7de2c44b1838fc2163ec5ff91621bd572cd8c9d249720038987ea30ff8557be5664fd1fdb88872b3b08249f42af8d2d7f85e152d35245f799dbb91325c70a7d6926715a853bbe073bfd33dda27bda1f70254388449ce56fe23c72b999f3915930b58fa3c3908a08f571e6ae7a5458d399c1246d2bcd27ae13911e091e3fc0955c742331ba1486af57b928c417160c433ce956529b36de0ef2897149aaf974aa3134336a01375088b18f8ed87655cf907f2c54848e39ae0a47858feed0eac1b66979f5263db9a65d4d1df26af1fbc24e883eb45b51e526356b0c0c71cfd063d2db750f6cc262e19cce947a173c7c40813093d73c8f8c8d2c89f6b7b259740584eb92243cc857dd6fc856641587cb27e3a21917b8e2d5831f09b40930d4592288285d9d81d88835e4a8a4bc3fb6ca11fe7af463b5128ebbcc031f0078caf9c18fac4b350d4387fe0660e04d690b7a6b8a8600e0317c5298e5ffd025b762b6a64520f4f5d8b63fd344085135b652bbbe0659409a0f873a3326a6d82c78308cb9cc1ba53404154a06500c96aec019b8a27f26330fafff2ed9bbee6fa366ce520cf9d5ff57bce4ae3289af09e87671644398ace42b45c539a6eec7505955909508f5312e11c5a9956d52a98f9ec49e2de6120267280c6866c64dc34f35192edf2b5c66f78ae19243a1434c45ae2e22c666b1bfb3ba964a67fee69a2ff7f9c244396c1281007c446fd91a39aa208826e9fcf48e0324088f6123c258a135f88c6defdd68efab2c6d458aeb6aab48358b24426132fd30c61749035c4f2fb7080ef007dbe12350abe40b29a701d46c61a1c579cf0f41ab5c979ba874d9be6ad7b3cc7b3368a25591b4fc24bf24b5cfc7297e9c2902bd922a6fe6435cdbf292353baa7a146b566065981e556e2edb676f27bdba3951fd0817666b31902bc5b9c48724360ba5a78d84dbad2605a9224d45e298717d1f1987ac59da1e14c611c3726a02bd745e3c87eee64f429c60ae0ec3a9e97892b6659b3d92c13370e3b788ad045eb332963598e210ef062e06fc034c2f2b125845bd4a16187042a3d000002047a760a7e5e31dcbcdaae0a07628f86e5f81d4a88867059eb5f26a209fc9890172f8a0566e832951b225ce60d05b1c27f45ebc780c2d3afd11838ae5e7772d1815eef72dd6425a0338f8e5d1f0c946e3844f71386fb86fe0286137a39dc996b5d5a75a5551238e63a4750b70cb4dc3f292eba02d5c705b3877380b2e632df6a4104c06b476903f6aa2a5cafbf18822490f5da8e508cf1b82e453da687d2f543258f93d5674870a5b9f54719270793eb54ee2aebc0c95d8f9e7749315d5ded9a00c98dda26214f23dec2d2e1675fbc8263e280906c4e83c1f191975f9748d163f5053b58447fa79a0879921401782879265a6dde97595e59800eaaaf48daa52d1ae2c24e857ad6a3eb44af9f1bdc533f0ad6b400d9c1138e3057489b800df7e98f3688715d69a3cbf34134513a02e8e172f691ab2cd868f91c8887391b005644b072fbb136f871edd30c2d6d73b95a54fde8ca0a6d190d8a46b27ef7ff1e8b30927bdab93b97034a450017b614dce41cdafc29bd868853c0dd4d83764220146506082b9091cf7acc88df22375d9bb6371c862ad49a1b76646b3b5f21a1ba890214907298a18696aff9e0dfaec3cd990f5f7d2b84c981fe391f747d94b50eb40e271ba26076e62278df60c23b7dba596032e98b1e050044f52142f79fa19183103c0a83c746d354dc42d7e77a4c4dbfc4ded0a8d07815001d01bc9295d05c1571eb6aba28380f32ac14536f05416daf0356a2fa94401df49b408d26fc0038137ae036aef9e3a14001f224810ea560fa318726c0b3d7b61d7cf70779438cb28db8275e2aba0f86678a080ceb67a8db3518376298800c0a99d274d8376b394baeeccf74f249699ff5ca64f5bc86598fa47029b0c6633facf1eeaa6ca221b3ad6cfc4b64028fa6b91e6fe33933907bf3e393aaf1cfac53647f4ce5c18d80aecf6c37960cf80839c0bba9f4fa987f2d3629c2470ba4f994278499360c5b198a5d38f669d5238197016739816f2c8a48924dde3de21e78287b9aa9ec6012a96e5c249a64f254d28709f6ef1f7ef1b7b823b613061698d454378b83217f7d6e4d4291e55372a51019e8baba1348d6ba9c6348696016567bf1959fd0235d85cd622f07afcce47d21b68f40d25e126f8e5bbdba775c61c71b47676231928a84185777c3ef37c27f04337e5126f6891b7abcb52cb413943cc1146ddfe799b2bb34424d0950faf9b11dfae3ae8517247752478c8bb9c38375cb0a7c2d2521ac903c93517834a6b12124cde378e430dfbddd239b8edff2dc0f2e680fb23af76a724e91d2379405a6a205a4c4525259122e013a09246a1f60176522464a025b73f2989db967bc3d22c4e0919772ca994dc36ff56e7913f39293a90aeac2448604e66eaa5cf853e66873af47a34822880e976f44249440208fc7efedfd6d622a7f9f93714226caa478af395aeae78564012d413ce651f1627ff66f911722d92f90dc8cc8507270850277cc61130e7e30e5990387bc8f399958028221fa85621555b2101fdfcdf782e0280dee9c44a5097a04d166163ca1bfdf93f719349c52e3881eecd7d126171ecdbd75d04619f43a08b7fda1f1515ff3f48df13aef7fee133d20778b5b076bef717c586d4a7d204aa2bb369d8d82005b6765f9daeb606feca9224a90b054b63d1c971eb4cf99ba47e2d21a2ac7ea6ef69d26ae103e97c62b907e674ce8f5f3de120900020073797a3000000000b4030480140001800d00010073796e70726f787900000000cc00018008000100636d70000b00010074617267657400006c000280650003008ef0a345b614c614c7ef2de3168f463fb15c2b4d189700afa9a6625cc2fecdca9b046ed549714361df831d92bf1bb79f75dcbac685008d71f950a3495b1a251f162faf52a37b9f48fbbdfade438f085fab57f42cee2a8a8b17e9a4e0070c6b34d600000007000100727400000c000100636f756e746572000900010068617368000000000900010068617368000000000e000100696d6d6564696174650000000c00028008000140000000139800018008000100666962000c00028008000240000000030d00010073796e70726f78790000000034000280080003400000000d060001400001000006000140007f000005000200ea000000080003400000000a08000340000000070b00010072656a65637400000c00010062697477697365000e000100636f6e6e6c696d697400000011000100666c6f775f6f66666c6f616400000000bc0001800b0001006f626a7265660000280002800800034000000010080005400000000208000140000000080900020073797a32000000000b00010072656a65637400003c00028005000200760000000500020081000000080001400000000008000140000000010800014000000001050002009200000008000140000000010b0001006f626a72656600000e000100627974656f7264657200000007000100727400000b00010072656a65637400000c00028005000200200000008800018007000100727400003c00028008000140000000000800014000000002080002400000000008000240000000020800014000000017080002400000000308000140000000090e000100696d6d65646961746500000008000100636d70000b0001006f626a72656600001c000280080001400000000008000140000000010800034000000010340001800b00010064796e7365740000180002800900010073797a320000000008000340000000010c0001006269747769736500c00001800800010064757000090001006d617371000000000b000100746172676574000014000280080002400000000105000100000000000b0001007470726f787900001c00028008000140000000020800024000000015080001400000000207000100637400000a0001006d6174636800000018000280040003000500010000000000080002400001000108000100636d700014000280080002400000000308000240000000020c00010062697477697365000a00010072656469720000000c0003400000000000000001380000000c0a000000000000000000000c0000080900010073797a30000000000900020073797a30000000000900020073797a30000000005c000000020a010400000000000000000c00000708000240000000010900010073797a310000000008000240000000000900010073797a30000000000c00044000000000000000040900010073797a3100000000080002400000000164000000090a010400000000000000000000000708000f400000000146000d401f1f7d8b518aa9b7c78819c5c51d443d862017f5a5340106ba5978c93bd03e7abdcd2362e52208c408d836f505d3ecd799381800848921770ac5b207d90390f52ddf00005c000000140a010100000000000000000c0000080c00064000000000000000010900020073797a30000000000900020073797a30000000000900020073797a31000000000900010073797a31000000000900010073797a310000000028000000020a000200000000000000000a0000030900010073797a30000000000800024000000000000400000e0a030000000000000000000c000000ec0303801c0000800c00044000000000000000020c0004400000000000000002cc030080b40302802c0002800900020073797a310000000008000180fffffffc08000180ffffffff0900020073797a31000000004c0002800900020073797a3200000000080001800000000108000180fffffffb0900020073797a32000000000900020073797a310000000008000180fffffffc0900020073797a320000000033000100364ff4937c88d5a011f38bdfd87fedd9c5e1087af6c380864956f640344c38af6898babe84d957fe525e2d5b4e1a78003400028008000180ffffffff0900020073797a310000000008000180fffffffe08000180fffffffb0900020073797a30000000003c00028008000180fffffffc0900020073797a30000000000900020073797a31000000000900020073797a31000000000900020073797a3200000000d70001008fd09d74b47528e8ef76ad51df9bc9902bde7969d566e905eff34558b4103126d45eeedca2f56ea29bfc084f815818082dbd9e602d67d3b8f1a0c02d3459ea3b4f4b0655e09d0a13d11242fd15694c7aea00ce6648b61e323bbb5ef8d6f3085d8cabd837803356654cd4fb95b9bbafdfaa92d87750e7053b2114ed7f31e9fb3dd0a59e4cecf537d5dc96180c84abafe4ce46252e1ae9ba07c643b360754a7447eacfa1e5048fcc356ebdea26c25730a5b77db4cb383dc3a425947d4dd9da6c023acb0173da93bd45201640dab16de8d15212ab000c00028008000180fffffffb6000028008000180fffffffe08000180fffffffb0900020073797a31000000000900020073797a310000000008000180fffffffc0900020073797a30000000000900020073797a31000000000900020073797a300000000008000180ffffffff01010100f1503aeb2beb7bb7b3bb841dbf16c27539226c231ba0a2bc5c306ccaa0a98fa88f1832c837d33ee866954d733be6b9b8c3514d814d261dd6509a1bc30b681e7e07b374cf6f5fefabdd14ef1699d7532d36ca2a5b05dbe13f65fd79f8b1fdfa7e86e6de8d936b6f2d5b314742c751d9cbc149f9060886f751e6ce83b0b79a92e8237d072dc4237ef1e7217ada82532403ae8bb23e2ede01f0df111489b96fea522eb25bdffb21464b85e99c1f2146a627d23ce1eb93d6e4f6d0c5a2dd2c4cf99b12cca5ea080f275931fc7b66f448ae8b5a3988f53b85441b5612d85d7fce1d79dc1e0e087e4ec546fa65f79347e4ed6eb3650faba9cf9182c4cc0b9e0a0000004c00028008000180fffffffe08000180fffffffb0900020073797a32000000000900020073797a300000000008000180ffffffff08000180fffffffb08000180fffffffb08000180fffffffd14000180100002800900020073797a3000000000140000001100010000000000"], 0x2e38}, 0x1, 0x0, 0x0, 0x2}, 0x2000c051) 00:35:37 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:37 executing program 3: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ptmx\x00', 0x2a00, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000040)=0x11) ioctl$TIOCSETD(r0, 0x5437, 0x0) 00:35:37 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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, 0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f00000001c0), &(0x7f0000000240)=0x30) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r1, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0xd, 0x3, &(0x7f0000000440)=ANY=[@ANYBLOB], 0x0, 0x5, 0xa8, &(0x7f00000002c0)=""/168, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000200), 0x10}, 0x78) ioctl$sock_SIOCADDDLCI(r0, 0x8980, &(0x7f00000003c0)={'ipvlan0\x00', 0x8001}) r2 = bpf$PROG_LOAD(0x5, 0x0, 0x0) sendto$inet(r1, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendmsg$SOCK_DESTROY(r0, &(0x7f00000004c0)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000480)={&(0x7f0000000840)=ANY=[@ANYBLOB="600300001500000028bd7000fedbdf252b05cd00010004add0ab75a5b29e89c2b96f4e99f8accf22f1c1c4ec899c915cd81c2f9ffe2330846f0d6ae8f86d5d74728716f42b6835f1fdbf19d398cc01d3c0af68ed052db556b8f8702e6f1c50e82ea00ec0810e509add3c74cc812834b4dd103e2fa71ae8be09c4391c4f4d6521b92c6686b651fcd1db7b63c2a53a797d511338dc0f76eafd96cba558f257a3a2b02c1b376e9e3264606d345c4fe07cc4e2222ef14ed30c82333c7a883da135f20ef14a72c5eb24edff05c3ca25681609c3f0cb6b92ccc628c3000000a90001004fcc787b3ace5df04686cddbe9d3628ff39d270a99a63b1aa71a21499a4aef88cfe28ac025c87e3daf2845606dc561bf5c481e75234e82a459e8e02e6a9823e581143d9752f93493f374f573681244bd58fc38038593081378ee7d4f229dac93682f948b6b0eb3312621101d5f9bf1ab0a552c300aed9a622ea086817e8ef1e2a73c370268fc573034f38346280d0fb0e330bc1a2e701905b4e8f719986df838ddcb06b7660000003c000100bc0fbafc9b3c466d583b7b81f3c3ac5c7e39ea5b4af4f89e5dc7d87e292ff6bc9fa9ef7027c35131a002a9f269f3e888b51591c0a1fe355fac0001003cd741129d7dd36a74083b842a13a4ecca260949d3be7e9b6e420a7da189ff0654a78da30f05932b7d1e76a5589947faa3afc5374eecd17da6e2208d26b45539c65139fa263168a0a543f9158c72ed006cc4ab6bf23ef6b12dda77d2bceb096dd07646d5067fed7301236c8e714d0c57c9856c7d9e2954ad742d5d618da14d218a9e486d2f11ce816aff26d8726f05c5e336f3c9621027a6dc66cc6cd848368146628cb02006bae7b2000100f6baf6adf395c105bc7f06217edf1bfab59711c01349386c1b68623b14224ee1361b197bbfd304e665d12d432d710f144df5976d0be726f088ff4ab197cef6479a7a17245cae69707f785e2e6e14cf2b1a9da7c598f34538db8abc3f242943f19edbcaf6f4a89853cfcf3b50849f46d04d1ede77c4c1210d3ccfaea61e19f38b8795d1f9007ffbb2a843579855e5448afea767d70b1518cab0b3a0d4d36e603237897641da769b5c247691f0b6bf0000330001008fd0d30848b9a1f8450a9f8213cc21e8371a21acceb9eb7d5e3beb61949325a46e3fe02e1cf1d57ec6039ca7486842000000"], 0x360}, 0x1, 0x0, 0x0, 0xc820}, 0x24000800) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f00000005c0)={&(0x7f0000000500), 0xc, &(0x7f0000000580)={&(0x7f0000000540)={0x28, 0x0, 0x20, 0x70bd2a, 0x25dfdbff, {}, [@NBD_ATTR_INDEX={0x8, 0x1, 0x0}, @NBD_ATTR_BLOCK_SIZE_BYTES={0xc, 0x3, 0x3}]}, 0x28}, 0x1, 0x0, 0x0, 0x20008000}, 0xc810) sendto$inet(r1, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x0, 0x12, 0xffffffffffffffff, 0x0) fsetxattr$security_ima(r2, &(0x7f0000000180)='security.ima\x00', &(0x7f0000000380)=@md5={0x1, "7817d5616f5567aa6ec2bc9c660a8478"}, 0x11, 0x1) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000800)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000680)={0x104, 0x464, 0x300, 0x70bd2b, 0x25dfdbfd, "b84a84786797b1647e5ad748ae035c1c26705fba98fbd64a79f1f7e8114df45db7f39cf8dd859b735431f62e22d62c6e3fad644d09571f9c75bab8e141dd64467f8295fb3bcca4eec9bd0acf97c04137687af07afac11990e328d345ae337da4f4a3f349a9ca1d1b39286f905183524aa797ef1056ccf023bbd7678b771daf84c14f167eaa6eb14a0452eca8127381e0fce60a2660fbcf8620bc1dce342052729c1d6e6e881a05199ef57a3344d901cbbc1a129e3a41be082b470e5e8a5b8c032aeef637a709f7d356974fefe2082ebda9eb69e408b6d1596a5f51f9f95fabf9b0858f3247f283d0e0a37df65dd989968bbe", ["", "", "", ""]}, 0x104}, 0x1, 0x0, 0x0, 0x10008000}, 0x40) [ 160.974957] audit: type=1800 audit(1606696537.657:7): pid=10469 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.4" name="bus" dev="sda1" ino=15819 res=0 00:35:37 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000)='minix\x00', &(0x7f0000000100)='./file0\x00', 0x5, 0x2, &(0x7f0000000040)=[{&(0x7f0000010000)="002100000100010044000000ffffff357f78", 0x12, 0x2}, {0x0, 0x0, 0x800}], 0x0, &(0x7f0000011700)=ANY=[@ANYBLOB="a6"]) r1 = fcntl$dupfd(r0, 0x0, r0) vmsplice(r0, &(0x7f0000002400)=[{&(0x7f00000000c0)="975e7d9dfd4059cd0f98e9fbff41dd80c8d38d2534c2", 0x16}, {&(0x7f0000000140)="75edf33ae47a372f7dde4f7433c5024632de5acce74a1f946cf759b33fb786e076053c630f281bfcff5778d6ec195546d32e4853ae6d67cb196c98a19dcd3b2edd48ecae6ab812abef0b72fafccaa0891af50e3803e6b14606bb11df2359898a6e22101e59949a2eaa1b73b7644732c19b7d9d509444", 0x76}, {&(0x7f00000001c0)="1078775edcdddd066b64d651426718cdd955bee0c2a1a2c2fb195c79437ab2a4dd70b451c315f19ae8ddf2540b2888ca8278c3e82dad71dc6744b473e6fa221d0586f1d9a52508f979a8e36e2a3fd593692cb91fee32d54af841d85d188bbde0f75ce68e0f14ac4d4dfe17d6f37da7f4a89acfb3f9ae26a7d5cbbc8d1f95d818fb8e844eb37060891f1b2c2cf72f47302f526ce3c28eebbc12fc7d29927f06", 0x9f}, {&(0x7f0000000280)="05f3f0597e6d285281dfb3ba050faf7db38586ac22c6acc406851c08d81234b0efc36f1b9e6c6515c3f35d93b98c45a9e1f3fd07569a8f2889515e27c45762e40194c8804b4dd75beeff9763c7e3a642803a38611c7ff5b5044d1984d543f0b146b64df0a5fd96f2d29e2a3b8ba256f1d6e3", 0x72}, {&(0x7f0000000300)="d2c37dfccd7c25f7d1969fefaea6bb73b007d080c79ce5c5b62705f3e1c73dec93d5fd1eca4a44", 0x27}, {&(0x7f0000000340)="3dc1e2a9519d50237dfcf19f8fc12fb896f0c6f8aaca40a8fc9e99f0f199e37f84d19402a36ec46e4375e78bb2a757502492d3dd2dca3013f89abb3eb506c9b83188071169c2ba1cc26ed7b2b144013c9eecd8968ea66742fb0e5d582e54a0b769dd62260545d8a3abb7500288b2c07a90380ebb2e15569eaaf7942999ef2ae8c28f6c8c3207e05a617b4f9cb36655b031f148907eb387676556a174256646b27a6c46ac737d448dc90c04888da4a3a6d618c7970fb229a7a342391e2bcfbe3d598137c019d821bb58c42d6915832cbbc79d5f0c94c4d446eaa14006f554f83af78ea41ec3756fbe72e8b5df27150243909cb94e2fd669be40d36778e2eb80c806294d6a51ac0fa3f456b36479ef03f995a208156bec1aed73114119d52fd2a730f4cda4d6b135a57e4ee10109be73393d649435a4666adecbbcb8623d5684c8057655e8cfc7b30e054da5e3c67f88417c1ab5b583452affd13555d1d4cf4a872e7792fd9f881f102669389d2dc2bdcc7189cc94fb503e1a7b08cfdbbf68aa1d601f4822687b6255b581ea12d08e97c5b876891bb3daddab16ee9be574cc61e4347fa4b9f108d3a394914dd1bb5596991e5e2fd5972f8f400af39f838f156a15acca0821167dda7c2982f6f4243a7e3cf0df08e4e3e084e6c1dee0354128b7ddab8a0d7bab0029e909ddfed3bf819aa21ceb8bac755e049847c346dca47f77e74525653a9a7dadc4ad3f6aca40c592c2484061af86d0a2c4a84270373abcdfb4404ceff9ba68820dbf113c7ca57785c37e138965cca875b3a24bcb07f8da551328ec0a4fa8546d3a5e92589d27f47d8abce63d93d5639db02cd097e9cb4c5dc5035ec30652d369a7fbc2d5e4930387e078f4703dc7e0301cafc05a2a361041429e058b7003c0bf818f6394818317b9cfaf33fd76ed988f5bef71bfa0199a46c94dc088f2de6df69f19eea04d297509ffd00c16335f594bceb1f1e97b255b0cff768185351b6fd23bf75af52836508ffb4eba8537366d1b8573beac8fe34e2341cc5d6c3bebc33ae662107a949b97d8e9cff31b8c2f32688f40aa51233a0633150f6397fe29b9eccda54b4cd38148254eff0cbd74edc4255006e65e9599ff03eb447f007a87a88bfa89d5ab85bb6677a7529f5983bd8fae6daeff1831d19eb27c5122324dda3c67e79b572bf21cfb1de6afe23a3a261213ad0dc60b3b89a8bc84b309518f3fe5069107df3410d9ce45f3670c742ef26dc0dcb93cdcaa1466abb8d5469847eefd85ae6a91c163e9aa4a7ea7323b30d66d9f8b3e48c5d2d808e0be45051bcd3da0a795a89555851fa1dcc2e402750b38086dc8d56fc0751c73fd37776309b5bb7e697137e98e173ee3287e8943158185598a4e44c736b590e06def1b97ddedb299c2d1065ed07c1d7b13dbb755781f15c86e51d5fdf5ee61fd7b0c6874ac0c9402d5fc208d7c0d79d09f52733e382e2eb9faf6c144cedbe9ec5ed118082ed3f1c7404fd3fcda83d0183bf3cb4c63e35a0c8e4dd8690aecad724422315f1b0484e779b84aadd3d7b26b41ce68ddcfa8acded4aeaae134cf7194e2630b141dd5b8d3d6c0ed77904b001b6b04c415b8d75fe1a9aed377176eccb983854057052f97757a80eef5b9822299292acb5fac65ef63b027fa3598ba3d3ebd726ab282e38443a7fd1d97e5edc656929ca58398f130da50d365407f20d17d67e021a808c7dfa1b0698aaa535479a454762be7a0d195ec9a19319214c5287f26c68315b3184145db19b1d848b9cd49af1d23190dca8642f5b242c5fee9176444619b3f47578d0c688840764b1f646afc4c187fa70b66dfd086ee0a09a26986d016d3f874539e01f4f151b66c052c79e8ac8c9e3f64400d4db40d7f8cbed2f35a075137874fa695f2f15d53fea684865b14164deb4a37ec76b9639cd10ddee6805031ffdcf86298ac79faf7b5b61797e2e270c8880a9ade23dda74b0d2a4b0407af84c58f4080ebdc33847efcd2d54460d52599dbc3be46e2298006268b21d4167b4dfead86a1564b4c7f2528b5b55b246d55a5eda8f697f0b4c429d26f9682da46a6f612d8d6376c57b39a5158ef1771cfec95d7fb34a07e69a6665468ba255c2abcc42e8ece1b9b05aaf2f5fd7072fecdf8be458986e0d01a6177aa21c1ad08f5223fe64b6a2dd79d47974a1e8bf3272963104b805ffad43df700eb679362a174af2235638ad05108707c21478591045959e979f9ad284f38b8876cfde599690344698cf2fe03de5313ddfcaa39e5ce115cca579c1715e7c8ef53425fa40092c488c3597f4c0ce99747dfa94ade7d39f48f692e0ab15c8f6dbec9d29fa27569fbea9e9c7ad2db2df6d982cedd4386f7d2fce8a8ea4c0f38b59c8f6baa451a679135409e5fab38ff2dd753ded9f762a27e581ca759657505f62db4f49a4a98bf3081727ba57bcc58de2c5475d38a01879f5c5ece72ba80e53fcecb091e11739cb126f2c46e71af216c5f5fe97601e44f288a69291ef27f43953a42ad333b2ee5697f7ba2c9cd2ddeeeb2476471785449ae79bb301626bb013cdec6b81c9cf2d349d16cd82a220f645ee74b54650ce8d8cd5c4ff4cb4f24e9829a84424ac7ab57876e0d02bb3f884201110141394795b78c1d51341334f3b5201812c7130e7e476a51a421e4a9809d273e3a73a7c9a14cab442fcfc05f1d93d7a1518112d0ae940ded03bdcc0ca64ee0242bcefe198a22f59a2903dc871f8f3a766640a0d09d8e490a84374f803f0096089b36f030a02e7dde208ad54c22f162c9a861bcc078b3d37e35140af212efffede36a0c312d7b2ff90a7c15849fa9ff29397fc0d792b10c64eb9f4f5d96b36abecb9ddf627148c24a02b583b553d9a17386ea0a4a175f9c2737f0cb753dcbc2bb63f8628f609b3a0f6c239861bde2a21784b6fbf4539bf0a58b93074d9213b5d72f1ea8330dc1c0dea8680dcba0790ac53cb30e8a681295928bdec2e6eb2993759081b2bcc6795046b496889c0fa3a478bb2302e6508bdacb039c9f410b91fcb86330520735a7aa7b9c2580df7dbd94272aa106096b15fcce79935990b0250354c39907a3d408edf666fd6af55cdf07689028b498828e665f261c01df6572a218721079869fafeb1361214f646707efe94afadaf0c365b74138a0d6e135b9394272f23f3af96c433dad3fc6668180adc9bf820c819b2865ce95844ef0b1968381f816c247cf64adf40dd6eb5e964b50f92a76e2f9ca037e02e96161bbb480b0f45260e16ded96b8b9ce9155407a33f977affd42fb4e911cac8b129f64ba9c0ef78d5841fc7bf2f74e74fe4d8833d2e180e04d2f1bcfbee8b2a317d9bdec0dd869afb3b4f2da919dffbca9d0422a8064d622c3bde0a12ff8cbe87e63b57bfe55ebdd2d9b5730ff0495fc1ac35a43486fc2707fcc45db7e781753c7479043dca5df7c90aeeee238714bc244e37d7932c088960d60b2fa5c77fbf9223df3375df008aaca704a500fabb8943a50f595868bb4e0861ef7ce0900903445cacf028e45295df1c47b3c6fa9e710f8fff3750d5b8ac384c2edce075947fa794c6db562a4d897be9b97a491c38fd1720c6e80eb0ce9c199e75fd6186f312c5d562b5f2c54ec2f1ba7832848e29e8dbead83ad174958550e205921c015edcdd883682f7a20dce1bc2f6f767e8a2728a0963e0eb9c648764d30d3ad8857e3eec35ce33c9e91ad1ebfb0a0649209ea6827cc2d968d805e54b9fecc5277b8d5ef871f0e0ded3bc8ce85531e7bdb3f65ee80df21981d16daa2d821eef220a490280468556df81f9fe018b2d9079c5d217f6092e7094da2e2938b1b160178cbfc2a842bcea70ca8500a48ca262c4aa22b9181be4d96dcd6ac2cadb0c0d52adbaf55337b5b86913eeee5328e549f79849db5b525478d97b670cb63fb2f90383d227a6989b01979611f23cb2897f6bcfdc045656fa84cbcca35004b571e260af1eaabd35272e023047ffa3b20870fc22cd0527bc2be324e169fe6090b6be8e0891a3f64a0e33ce659bc4b95491ac665fdc22d943f04e8dd43e05fee3ecb98dc4c20ac779148d4913bbe5e389500385b7c64b9d921f22f8d97bc2401b97aa4e295f24cc9e281ad4782d2be3627eb630b30876644c89a410664ebc51180a1af9888ca788ee59abda615a332e4d59de0ea6f188f758c9c284f79ffed10338298ef4e0138591d7ff4e1b75195477ef5a89e7787a6fac7554f0be3ca14c8286b5625168aa9f537394bebc7b3d9c704e1bfdabfd7ca188ebea3f653af6eb1786ad31890d865fd456924327632007952dd680284ff675de702e3da01f72d837e23f36db7f7e28259a7053cc575ff7195a72dd1c38524fbc8e7f96cd8e4061833ee900f5261161d4bc44c78787391ab8548da92c799133f5815f098701d410e83182120acf83c7902f4678db5db9ffb85e25c5b6b1e92b9e51234e07bfd5846986b19a78da8c21004801f8479c7d7cb85e2c2868022b0fa4c9098f7a0d8e1df8f48ac78f9fe60eaadf81562e245a7f580f72039bfb06a0fccf45383ee8bf163b7832538cd5ddceb59c93ab9fd98bf9db19714a1dab7280486b40c75400c0b9414d16c6073660ec508d4428ad3b15067e6a447958b050b8916cf5762c56a8cfbb5f702646ae7dc326dfcb7c39534c7208b7f0631391039f8e44fb6c61409be1b90545633feae84922b8e0f8b2a0c3ff7aaaa6e95984978a1d0f083dbe8f122b0316bd1088118b9a0574f78385abd17946dd26715ad08163c64d85b02e843d78cdb158117b441039cef718e51b794e869a579d41fe0f25eab224eb132c3b627f619abed4d4617f1e42bc6353860753979cda72d4578df2484ce37cf352360d0e2366ec24ba1c08650dd8976f1b3eb6d2bfa56adaa3a27929fef95d558434233e5c119d36c5a6c28fc58a1858f424dc48664f0dea29d8737fede8956d175219978185579a99326810b8534fc8e48ff42328078dc9de7daabd7604adaa67699c2d109963ccf5f0393f123d4766d05f84e619896e1717cf95d68ce954c31c28344fba3246f553271695777d9316e18aa513c1038f3cdbba5a94be87a99f2563fd4686200cf8420413eafdb1bdc4b8fc2b92692f14591e04b30475efb45cce7c86f8ffe40eaf8ee12055ca5890bd235e8bc296a441806161b9eea9fd24b9048e418668c99e68c16c375b753278b76a7c227bc9e477db0d26a13bacc24320d1c668e6c685eb780a68efc6f491baf47a9b40b552b110089e5b5ffde66ce22e70ef5f9f0431c765aa277a1949456238a34e23db9c81d743f8aec250e0f8c81018c9b945df17d976b4a5f983c7ffd0dd0994ced1f5adadcfacc4421cd9c1e2b9c672adfd27b2cf0d69b47c558cf75adbdec1e8f43c829cffc80ca135fe5775765f8f65c06e5becfafcf59e5b632094f49c98120f692b8c54a0c5b76f00c834f717a233f660d7d986734ca6bb21f2a056da4a6a6ba0caa955a892cca547f337da2b61bbd6f1e9455b078bd7e9d4316bedb01aee9fb0f05722308270aeaac5b4f1fdcf3044d7dc17716b49aaeca78ae5e769c88dcc210fa2f7ed58f6545a8d7037368c97359277050ffc88b0a6a09455c8dcb33fafc3fd0736488bdca6147a51d988b8041e76bac28b5cae852ef50f41fda7bf65e9f69173c564d0122c3e34588e6415bd95665b56aba577cd150d544c4e277c51461051fc3104b6ee367734e333030692f248d1c267dba5295fe57120fdf88d455d92829d62bfd2ee7b4eea5cef0001f04505c9c962968", 0x1000}, {&(0x7f0000001340)="006b069ab2bd7cc0f6c3606c370657c33f88dbc46b63fa384b0c6159718d67fc2408129771bc56bfdeea1b8041dfa1cbfcfad17c066778b0514879f55e1c1dee29f5a0839b047d56060006d2a9d6254c338f47805e46a98c1f7f5aa495727e81c4ddca67ca2e2f1585708e33bc5ee5964511a0b5b570f03ec3df7f4fc0133f40618422933621ef054a6d01314af9d369664f1244563ac3f93d2ac861778e1a6feb5277538148aaac2b83b23ed169d2f1c29c8468be945deb3850a4531ac2b976eb6ebc2fa96818779ee3663d256a369d750852e14805327cbfbc9f6a9e48dd2d822296dce53cbf5a358da50b32ba31fbcd79fa1ed582c599f59e8379a29ec37b0a123002d23dd9cc6dd1dc20168db7d6f7826c9235461b6e3d8e2fabcbd042d6c14d5874115982541327062e9d925b031a50a479c2508ed1eccfc0b6c806387140a9b8bd9a96aa41d92045f9bf727c0265805a9979f70a6214d5afd52b8e8c585682d911027f3c3c45e4c966000b628a05134e448b09953d921ed8c3fd271005c14a7f455c5c2bfce9593a087b8b68be74df26d8aff3900d9a9f1d7aeec896177f242b13f24035d2feaf4ed1898179c6cb3b7254468595286da39a67d97f344ba0201321f19a566de668cf79e27f08614defe224f81dc240e7eee22fc930d540e3d2961d154302714c3321282769aa25d2a0ba215d26232b075e4270f485a982efec53761533212eb131f5d07ac561a6c193f8715dab943f82d88c339de8de8c1abc64e45849a8208d009e7b19af37b524f47d89de407e0f7139a5c1803390b3162a302d4e182ab7fac2fbbde5b0bb27160e9ab8dd9fe607de704aada286dd7d6d6b1a0d57f6b701267541e7db8252cce031474574fcb88848a63e3af46708879218abc001e1c97327ae9f19a39ff20d0092c785acd40c7c45624e9825987991b31463c2dd2d49960ea072c7501415caa7c7a58a5a9ccd55515953e34408033ea395a23d82769a1a99fcd656c5bf16795d41d6c992e1d9194d65b78f8d21c069e670821846e8220cade81f2d289c993b90f516ec57d83d3f9b159598b642d9957849f33b6907d34eafba9c13dac7766b1f7455120a721f5a7f55850f93333c4d157dc2a2da75223222e916b29ed48554946d9dadea8ac668dd2d6a3dc4f7dcb9d8bbd163c59d9bb49d1745d87bb22e5e2d104805af13b11f567e3c9e5ca82cc53946106cf6b76c54d9ba90613b5a5cd500dafe50547265f58f56200cb71e59131939a5589ef751cbaf4fd5dccc4f6a22d737926d1090b2b543e7656820dc1032b7b84f611b5715e69d8a5c0d0aa19bde120eaddcb9e8905e6cbd769d55dc6c6b4d80d8a70a96d912391bbf54efa7920952f2da2e4618b42d3971bfd37ed5c5d7c4dc863225bddec273876e331af5df34490c48310cd7f6bdacca620df5bfb4185fbc09092d8dab3ceeeae71e1a3009a5d0ea9e3ac1ff3040f14a2176930f12178b339546ad61df05c24ece678f9b95893cf7a2bbbf9cb50a200418dfe2731469272b8ab2f0ecfc139bfe5592a76e1cae5993dc2f8ae9c9a312df873a5d24351e4a80875e39d14262514b4eb764bd4fed5932b76e188af6ef2c65ee2e491ae7779265be5699fd92f3f62ed139bbefd47e0897c283991d07c2055511560f5d02804d0865e0863a47ad783fa54a18db03274151712d01025ef356e838ff94e81f08492d1c04d371e9b6d3ada55220a8a94d9c94c64ca4c21e21b97755b3bbf72e2521fdb2db0f0f8bdbdbd88b627370e2c5698b623206323a2425c11f93cc94869349accf265f566e045e1e91b2210b895bdf044663a6fae2fd9542cd2b261d6ead3b732821b05b1ac93cc7a0e736a9886f5861fc2728877b2d6a7add5b894f057bf9be10e8a4e2a963f24031407c7baea55f3d17e28b2d2b982931960cd5800495f84dcf46375d37785daff36201d4905592a09392d0582bc1b8d65be1eaa00a656a1cd492e43bbd18d842178c02cf6e7ce42f12a8e160656f20616b963197a8ac39dafb882135d1a4d94a2d8d083dbb2f91960d14f4375a9d2bb4dd01f344a13d6d52be68e46d5637aee74a7459f1bd1fe3477d70773866790df3b95d7079bcc38642ed6444f58ece718e532103251a065db46bc36cc2c5cfc34040ab3e83a39a7eb9ed7e891c19d8af81cf2a35677299a1f689880eefb4dac2d4bce78f8e76d6dcb8ac51fa7f0c1c185496bdd2b926c09f15a16e396488533afb9b1fbdfb804c4cde9422e5074aeeb4d8adf85168844e8842f01cbf9a9f562d554e27ff30940e6268474470366919821050b03ddf25d48096879046679d29c27f25867114eb1b8828e741f3b05dee0f863eeb7d7f29475d0cd7932f9945de1df022fa00173895a76fe20394dd74006e75f413044d46024016098571ead8e38361858ab13e5b06b018f446e6369aace97a6b41bf4331fa6f25c0d6f2da5c839d9d15938e40694f84a29e176d0a2b5da7df2d754c44f7c45a48c686814bb8932482e4637f06a5670ec294f1fdb46f3d0e698b598742aae4ebf0e7ee80e8106fc1e88064125470bcc6befb5df9f8a588876726dc9039db136aa205511319a1c6946d0851b401df48be52f1b17ec540642cc65e0e8fa0c0ead7ae119b54202c6fafd46c7a8cd8fccdfb57684f732e9ffd74bf076f32898c7412a9cced3f5333fe5b4f3b77ceab8c6148a8b738ec6031d9f163665c2ffa83437d845010c96eddc868ede2c73a82fb23056df57b75d8fc381e4f319e75aebc98d3be526d30c0759d320582c99309e33e500f5d40e3a863359377c4865f4294eea644aac59e11f75283455c56e2caa89c1644b8a412b0f334c6b52a1762fcbc4d7f974a7f77d2794cbe13755e0df5f1309e56d1e7bc52ef91de5110eda03a3637fd1bd7882958529af2ec6a7e9e297f1836a958cb5bd620bf570b5cda55d0735404432e73966071b37c41c597554cfc615558074946a2e81354e88f0c76cf083cfc2a155e73449403a46d719c92323a3fa4c42c9bb76df8dcf17ffea1e1ff719ec484df773e270861d130a697fea960682cbffac66d4b6f4c53f10d0e30f56c2b76ea17f09d75b46cd58d822357b046cf2212a73517135c92a116e63430bfd08366f68ab416152e2a8d6c7631cf09bc1e001b03c2a49ad9f7ad82b6bfa9b9de63d4d7a0a3a780d226b5b9fd359a4a5d1c168e869e76fc0007d9c130d9d60c1106a8eed8e73e578e1025e8af2a2f9b9263bd629adf5debd3e8c1b3267aac53f83246a7db42d2943673f363dcc22cfc40e74ff162bdbfc3043b145d2e2ac1d023ef3ef7804ba6b85abe5c6c9eea1bbe20f8f6a25a9c7dc1bd1992a9b611db4c1057aa1bdf8894fe350c96384b0e121c3616ff911b1312e281a36c30c6f9df3d17252f8bb3ac83c8ddb9c472e311f552bb375cc0e1d96fe4b090c9f80c36d0d9bcca0b31100edf0e1103ba5c43c210103d2b7e689b95b6ded9e032339b12c4189b1e7d34adfc5644830c660d91730c2c8ccbdace45fde3b512a3e994dca9bb5b7ecfc8cd094215d8993547e9f9846b351a260b8c108c03d85ac38a1b152d2f1e8edba1679e4f0c53c469f4bb896b5bd12f17749d6a4dbf3b90ad5f578725d9eb3366220fcfcb9fd28905ed447dba838f914841a3e8bfeb36cacaeab7ea3b04c0ebe72bfab700cfb615888070b410f56a6c3a34f69b93fb99ed2074868401e7d80ca08f4022d26ff70e7c2c0708c306cd7dafad7b039bdb8490145da626ec4949543432d71a456b647d738fd7ae65225f554ecf87570e83a48734c4204c38e269a6bf7b8b337739e1972cd18e8f6283cc3a1223127b57b0c82166ec4a69ba91184d395593c60fda4ae17e4da4d02e45fe573fe3aacf65694e20748b65ae73727eca5050b9468425eb17e4d4902cda521bc3aa8fc293768e8524ed2654f82a79d7619110227dae01b74530500c3f6cde76eeb1ed489db66269e66680dbf0b92a2c54950dfe528063ee651d19d689562f960a348126d2736579ca3687a303267461f36620e2469040bd5c7f83e8ed848661dc0275b1982dfdd0bdee49b14a8a1c077015290cdddaea89aa120823b1b39d7a3cc90229207fbe43dfd02f5381b416feffc35789bdd63012f783783a6852e88a30a3259495d9086f9f92d1bd027035464e934550d2fdc7dd62e4a1630b68f703629d62d627b039f7fa29d687a06bae9324e52e029b0f56e6d4b79e37597cd6c72f4ccb71a6d8f15bee4eae149daf6b5c2486ca9656532d4708e4e66f76a4c52db527103193b668d67be1dde0c7fcb30fe6cfdc9fd07385a089df4a6916083ab602dffaacb8338cdb987763ec1f038479946ce59a44f3fae5754c73114efce6b7f82e6453fc363675914fb2f67f44b1ad65d2018a68e74cffae111f81276e5b8f87fef2306f4a699b80e69b98161da3153d7e691300a581c139b2aad31ca55c4c1ee4b3935a9d157a37096a90498a9fd1e05ed9d2f5c0524749cc14ac0d0444a84741673f48a80cfadce23a62766c12d3715b9edd9564901df7200385cef7dba2808389e0e3cd97b4fed66b2665f34003a3f1de84a897a847742731de4ba7382b43d160329d7794e6fa325ec523a2c52afb6124e5b6113c6fcf7d265d7abf0fc1abf40e22a4daf7b57ccd0533a8590e6ced31b244a9cd9700024d706c434ac9ee2209e157f7803ca7067529b324a82187f05772c1bb927e6e59e51b341b6402dcb87816b400ae421a5901b12284c07ab10749e8abd722214e5a65e0ded1d25f7558f5959500f76c70ecd56617aba145bc20982170df7002aecbd1f3da05f49391c62bc706ca630e6727b98d9a8d47d2b0e22ce30614bd8b7b9850e0f3e67820aa056185ab455b391c7ed17017d28166370e6723aecf8966697a5fcb28e7fdceeed6e70d370a92344e0c41d24d10eafe4cb7a98f67bbce5741c706fa1cd9026d7ccda51bfe0467da8717a47bb39262a638ef9a5b1e08cd898c6a726cc6170c2cf5ce21f6b9bebe81dc01a13b29cdaf055d54f044e01f6cb85a9a1e31109b9f5c70094f07daf5e3c5922ad8d510d7f2deedd3510b7c674d66105fa5ac822ffa6f50d4bcc8199aadee6cbd08fab8e486c12662830e6d082df64aff407128c749ee30d8187b7b6140f89d2f3746a7da85e24544349565098697f54f363f7d20e558489b1b45daa36b4b9a252fbe13de896e28fdabc60bf9c44884b39bcadb9773fecbdf477fe03c4b331cca4a4760379825867d07ebee93925ae72e9e5298852d10ee35019892f93824e75015f8e2458a120b6d3ffb0edc8b546e00b615eef36d371d316a3dea04d0498e4b319744a679d34ddba67710be56af23542c5088b8d60aed7a57daa4c714c8666fa5d4e33229e09e516dfe8c1d4fdc79fd04260921a95186e1ded127aeb720b63105449604dba2ff61e7d4b0719d2a39b95bb620b7101e22be3483a8f4fb346142bd6ad025f4256bb2f8a17f2ad71dbeeae3657478f3476c1b71a5b347ffe3731804731982d5b6db628a5d2448f840faeb9fa489f2a373044e258c8ce6452d9d6b78ea6325416c49a00ddc006c22d9a5804063d977e16626a01460c6ba3bdfa28665be4e9c12240614c8f257025e998d82aa281832960d7e7b129dece5000247bc94b5fd39cbea318757717703fbe7efb843f0fdd6d81cd8373445c571ebf27c278e50a235c51d1949157151a78f4be1df2b247dbcc623d9ae6052bd6bf8732df4c443230a1e0d18549d06aa2d2d7d43c63acdbce00018b6865e", 0x1000}, {&(0x7f00000024c0)="529de8bbcf5237f420f5093070468cf606f9e7bd2c211ed9715770a57de6ad7bf9485f3807c8aaae8168f3b186dee3f78e85988a42fd1f8f435397fafbc9", 0x3e}, {&(0x7f0000002380)="2442dd340f49825e490dbc1a528c767d879fd4af8381dd52e9f48da8b1603dacb41e5f250d32247e519c5d5f51c51fff5a7d9149150fb8de45c02b696552070d8a6bd3c0b07c7bd19047565a", 0x4c}], 0x9, 0x6) write$6lowpan_control(r1, &(0x7f0000000080)='connect aa:aa:aa:aa:aa:10 1', 0x1b) [ 161.015691] SQUASHFS error: lzo decompression failed, data probably corrupt [ 161.075342] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 161.141588] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. [ 161.157267] SQUASHFS error: Unable to read metadata cache entry [8f] 00:35:37 executing program 1: openat$zero(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/zero\x00', 0x0, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000300)=[{&(0x7f0000000080)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d7f4655fd7f4655f0100ffff53ef010001000000d7f4655f000000000100000001000000000000000b00000080", 0x59, 0x9}, {&(0x7f0000010400)="2e0000001300000023", 0x9, 0x800}, {&(0x7f0000012b00)="ed41000000040000d7f4655fd7f4655fd7f4655f000000000000040002", 0x1d, 0x8c80}], 0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="002db9f66f7228325c39872abf0f6865b9d1682256b6a6898fb843c5e9fb8a032542bde77970787c632caef9f9095ce943603182ad50cee8806ee18b5cd8e34d81ed29df53d88c22aa3cdecd30bd09a498c4be267c02fa0e84a419d947e959a044072a273a157d9548ef44e50d2902a584c10197cf429ce4a19a8688639a09e54198963e4400000000000000023fd6d68af7d6bf624251bc7299637d4b4a17560a422e3115c7"]) [ 161.230707] SQUASHFS error: Unable to read inode 0x11e [ 161.259072] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. 00:35:38 executing program 4: bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r0 = socket$kcm(0x11, 0x200000000000002, 0x300) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000f40)=ANY=[@ANYBLOB="b702000003000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000008009500f10100000000487591731cba12c07d57d995b61e89a4530f92304f242b416ae9eeefc0e9c60ebab1c176bf9bb4dde984510c82dc2b9381b72b100d0682fd0a0c4a06b29e220dc28dac72599456d464419e5b2fc70b72c0bb8e90f61cc4e6f3fe2d1dee18f638ac947b5e026a3287c84ccc727d6ef3834293812e927c01c7da1322da44c7f2ed1084a12f56d1cb398dff1db3df9858837458a4ca03767c69cee1b6be484e4c9507af216bd8ed42f7dd5adb8e49f4a94615e49c08c9a20819e02cc22e6b652b1673773ae3cab8d7674c6c4dca2f1b4d745fd95c41f9d441d42f49db6d4a4762e5cc23dfc1adafd1e5a3e7f2e888961cb43e438c4e41ae43ea118e1407a601dae4b8b99bffffb1ac006c67767b03b95151aeb89e6d4a43c625aa2285b6e4afd8c1cc3eb215ba22f43115f4d39dc7beedb130d9f2be90133a0e3ed34258b8c9370634060105baa664953514605fba3973aa021945b985a8a66e9cfa9d9e57033815717b4fdbe55b37cb8d7f41aacfbd9b5a759a703e71f358e11ac8e13df15d792e604a4f279b3bd6621bdf2c17bc0400000000000000ff8dc4006200607a9a76e5d9656a7154c75773902a1bdf399df3925130312d095e9c1f973d091c198c1a11a755761fe46169b2b5b8cdedb695cc425fe203d2f2655a76865c2cb4e2470fcfb1248c0add5431a7fbcb0ef4f66809af93a09fab1daae4b518d7a5d95a017864487366d6d7ee7bb00200000000000000c60fca2e2981b22d08f874e0a9cb6fca78d6f1b18fe380df4bf024f120bd505d82033f2fb7d8fc9e0d773294e097e293db58993c0024ab2fd8e5e7003af92d11de48e8b4d32972cba6f49051cec1bf6f16231bbb90a2d201e5a47811a2278a03bf7700b06fa191ebd3a0c2ef0058ffebd7ccde24f18e4bf7156edc4ef81f74a7cdac01d998c24f34a5ba9a4a2039d0416e3f83074192c48c63384f52b8eeb70571e5bbb3e6d2b5eba52bee6f81968981811f832d064048c0e0bbe46984b2f0d0504255c22ee8674053d0e160e525536edf56a93d0a7a6f088925e872ef8b4f31e6f57ba631baa729031aae25c5e8ca4f78d5a01308243b08f1caa46be5244d64f8e875858e083144c642f71cdc8e5634c1360c056430f677ee7ed7ac1f9743786b2fb8d0fcfcc3d36c93230b7b059bc295aa0e38b1c3edc349ab96e73d2060acfd8145e4a5851bc4a51ab87068468d3ba396d6fd6741fce0834c65c5ad939d7795f3879baa88bd0c84892c97c80987e5c7954e9f3694d116b01ce0b8ef953de70e7ce0311c8b018956f8a42ca26ab295f1ecf617a8dc38e525f415a1bd46b38845ebca04061bacbf627f798c7f520078fee48f83b5989543729e57a9e1d686bc86cd51704f309130f5347413776a7b7bea3c46c0c4c4b7c27c45057d95ac85ac1cdcee8e6fa31fc02137ed1fb4b21c13b9a2c5e3f7c9ef9c45a314a6f0b9352be92986d63263b1aa5264cb4a82cf083de3b4ab6368e95dd4fdf6710cd4a79651dc3e1e056c3ecd6b51f30663cc256094c840662e09ab831b7bae9aec6d7259d3c13330cd9357fc407956250016795cf91f12dbb72fc321c3dfb5f9181529906b43f9d6b8ce9fad13e1085cafd41183908173e16e40037681835aa080f34b87bba0be276340295062f671e933292e32036cbd03f9a4cd660a94374b013e9f32a6bfb65417b537cd8f67f975358140384a1ca0537fd3a2a2c37006e4b30ffe469bba4251aa3ba4626acd810000000000000000ee37c63f7f295579f542b12f248f4b6ba14448abab540fb7d98a081f3d3c946455d61734855005bcc876bd15a76dd552f9bfeb091a4e82a5d11033e528b133103f5592d5684a57dd70556818ea30e03dc2a6eb69423e4f27034351809da4e5002aa346d4d3e0e2a5a9ba1130b4fe983fc344c1de9f536cff06187599523cbddcd8ffc2d11d5db7712be71c0d74a5ae4e8ff6e65238bb23ea2a979d3e8ab8"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x222}, 0x48) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x1, 0x5, &(0x7f0000000380)=ANY=[@ANYBLOB="bf16000000000000b70700000100f0ff5070000000000000480000000800000095000000000000002ba7e1d30c5aaa8b3382022ce2a1d97411a0f6b599e83f24a3aa81d36bb7019c13bd23212fb56f040026fbfefc41056bdc17487902317142fac7e78ce74a2c75a7be168c1886d0d4d94f2f4e345c652fbc1626cca2a28d35806151ee988e6e06c8cedf7ceb9fc404000000c588b277beee1cbf9b0a4def23d410f6accd3641110bfc4e90a6341865c3f5ab3e89cf6c662ed4148d3b3e22278d00031e5388ee5c867de2c6211d6ececb0cd2b6b257b8580218ce7400dae15cb7947c491b8bc46b8eda1868720000074e468ee23fd2f73902ebcfcf498227759800011b405b433a8acd715f5888b2007f000000001c000000010000000000000600000000309329170ee5b56780260ed606a10f58fa64533500000000000000000000000031000000000000001208e75a89faffbfb11b7dc6ea31001e846c12423a169f87463ad6f7c2e8ee1a39244960b318778f2a047f6d5bc24fef5d7d617de7a6520655a80d0900f4d433623c850af895abba14f6fbd7fbad2a431ab9142f3a06d54740a4bc5e32bd378af7c9676a08e774c487e32d198e7e5bb316dfe8cd338807a6d785f895b4ec7bf48cabecead649f96ea24d32872c494160cb5d46ce680eeb80157eb23f9902519a693b85c655fa73103170cbc496d7122034385e7e87a2db762cbb253fbd76b9117c1a11d18aa21a0c5f0c28999a639c0376678be35ffe91ff799a11d9b219c00c369a12bf8685b862d0dbdd956cbda1bae489bcef5ae59136aaacc59608f4d4e6067338b521a0f2e2467a6c435ad5b800262a5da053ced5e95394e500000072737638ac44fb61310e2df511c60b3c88113996a81fb64bce5eb95ce91738640ff7ae6ed6b62086e699955926934389cdf9bc99473ffd86fe9ce05268bf8a3958f2206cdc7095682c14f10be1075832956762b2dcc6251e7b4c11c58217bf84d263e8778e6e8ffe4ea50b076446f35efffc806b340658342d2d9e1ef68c6ef3e98407d2fcefb34a5eae871903ece51c895ddbb76122b1222e4da37177fe833e4fcaa67997e92a206ebd085bd9f9ce91d3fdd528efe6c1dca17f45ba5e8bd311a40030d5c1ce75ffff996a80153ac677bb43f8a63dd390d18f0239b41da1a52383a4c6768ca1bb66b8fb3c5000f6f246df20356ae073b1df08ae2c268b0073bb99d88d741a5546e76caf4b6b1387ff37ec13d262dae0260be74cdf7bb6d3107597430ef5bbd476bb9d69b2aef9f3cb644b939daf2a45e7c50782c7aa055dd066fd0fffe3c66f5c343afb78a7cfd852f3e05c089887d7df2ff4f9982030019421af6b78ff86444a17091875cfe4eab0e7f5c635d8d646c885f820ce59ecc731deba3998c27b815f7b0acba754c01ed8bf1bbac14da8c6a2b966d861f9dd547abf817063b549adefcc925909f6d9e72e9b15e5603eb5f80b58fd76e45d249401307e3a0df2bc46c84799aa792cdaeb6cfb858e577dacff607ba513250e13ae696cd6ed7d318190a93b96e07927efca6b8d1f5980994690bbe002db5146439d906a0d4aef065214b15666cdca81091b69acee2c7ce0821fc19e0891f0b53469f935c5ac4218eeff5f2d23a430fa44c30ce84b93c97a23e6c97953faf4420638489e6a6ded6d8c414a87b652b95278e99b06dbb6be1557951854c01dbc2d061827ae6349a045b780893771524a424335b9fc34612f6ee9f09141057262530b7c2f7c9b969938779736ece7b470078ac0b1b4b528000000009866e9994ca9096672ec9f3800c2fc35ba6516e542624c47bdba76a816c3a3dd6c3fa87a3ec91df199a9af91a7babf2b8d0e7b77e6dfb4bbc98114d3edb920ae3052016969dda57847b7054f7b097efba91dfdf40f00000000000000000000000000c41fe6bcca844267dc1791f5d6fc246f2bff17a29436929b06bb9a121d9fcbf3495d64dcf94a00ee70e7bdac885d69e1aea2c8841516a26614390f28a67a43b2a449e88b47cb0625391f347a983b8280c1436ec6d80fddb32bd7eb230ae8b8574c75683a11e86da086dfc91e6af2e492385913c5d74527263f114731846169e4ba7ce32b0b"], &(0x7f0000000140)='GPL\x00'}, 0x48) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x203, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) socket$kcm(0x29, 0x0, 0x0) setsockopt$sock_attach_bpf(r0, 0x1, 0x32, &(0x7f0000000180)=r1, 0x4) 00:35:38 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(0xffffffffffffffff, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) 00:35:38 executing program 3: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ptmx\x00', 0x2a00, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000040)=0x11) ioctl$TIOCSETD(r0, 0x5437, 0x0) [ 161.419307] EXT4-fs (loop1): VFS: Can't find ext4 filesystem [ 161.448117] SQUASHFS error: lzo decompression failed, data probably corrupt [ 161.480676] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 161.522851] SQUASHFS error: Unable to read metadata cache entry [8f] 00:35:38 executing program 1: r0 = 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, 0x0, 0xffffffffffffffff, 0x0) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x1, 0xffffff7f0e000000}, 0x0) fsetxattr$security_capability(r0, &(0x7f0000000000)='security.capability\x00', &(0x7f0000000040)=@v1={0x1000000, [{0x5583, 0xff}]}, 0xc, 0x2) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000500)='nl80211\x00') r3 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000300)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_NEW_INTERFACE(r3, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000540)=ANY=[@ANYBLOB='X\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="09000000000000f0ff000700000008000300", @ANYRES32=r4, @ANYBLOB="0800051d000000001400060076657468315f746f5f7465616d0000000400cc0008000500040000001400040073"], 0x58}}, 0x0) [ 161.567051] SQUASHFS error: Unable to read inode 0x11e [ 162.016088] Bluetooth: hci1: command 0x0419 tx timeout 00:35:40 executing program 5: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000080)='/dev/nullb0\x00', 0x4000000004002, 0x0) mmap(&(0x7f0000000000/0xe7e000)=nil, 0xe7e000, 0x200000e, 0x13, r0, 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, 0xfffffffd, 0x0, @perf_config_ext={0x3ff}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f00000001c0)='./file0\x00', 0x0, 0x0) fchdir(r1) getpeername$l2tp6(0xffffffffffffffff, &(0x7f0000000000)={0xa, 0x0, 0x0, @remote}, &(0x7f0000000040)=0x20) r2 = gettid() process_vm_writev(r2, &(0x7f0000c22000)=[{&(0x7f000034afa4)=""/1, 0x1f80}], 0x4, &(0x7f0000c22fa0)=[{&(0x7f0000000080)=""/1, 0x2034afa5}], 0x1, 0x0) fchdir(0xffffffffffffffff) r3 = syz_genetlink_get_family_id$devlink(&(0x7f0000000100)='devlink\x00') sendmsg$DEVLINK_CMD_SB_OCC_MAX_CLEAR(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x38, r3, 0x2, 0x70bd2b, 0x25dfdbfe, {}, [{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8}}]}, 0x38}, 0x1, 0x0, 0x0, 0x84}, 0x8000) write$UHID_GET_REPORT_REPLY(r1, &(0x7f0000000240)={0xa, {0x0, 0x0, 0xc0}}, 0xa) sched_setscheduler(0x0, 0x0, 0x0) r4 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000280)='/dev/btrfs-control\x00', 0x200, 0x0) getsockopt$inet_sctp_SCTP_GET_LOCAL_ADDRS(r4, 0x84, 0x6d, &(0x7f00000002c0)={0x0, 0xf8, "050cf78a0d1181b9160c08fc234cd483b5cde739001bcea588b2567efe3dbe2c850f077b83f12b15392eb2fe920e812f047f7c5cfbb2427078610db5b4b9f5e3a06181f139f7dd6c319ca27e80d0097f8e6ec42c35e606d956d1e599d8b1510e89f9db50a1ed6c6f40e52c9df66581791ccde9830c75c6ba24a01e7cf85c1e70b6b28ee267bed056ac2db9dc4221deca9723b5b45d5bd9bd1c46e4a945cebb64869114bb41fd37755805b30124eba546e053c141964e23abef102ddca23c4b379642d356b062f031c0ecba3c409abf6e73806ad4898e78f8667185448ecb7b0104eac596f2c58a17cba7088f6cfecb59037d67c9ec9acf99"}, &(0x7f00000003c0)=0x100) 00:35:40 executing program 3: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f0000000380)={0x2, 0x4e22}, 0x10) listen(r0, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f0000000000)=0x100, 0x4) syz_emit_ethernet(0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="b5e52c7cf4330000000000000800450000280000000000069078ac1414bbac1414aa00004e22", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="5c206b0090780000"], 0x0) 00:35:40 executing program 4: r0 = openat$ashmem(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ashmem\x00', 0x0, 0x0) ioctl$VT_SETMODE(0xffffffffffffffff, 0x5602, &(0x7f0000000040)={0x8, 0xf8, 0x9, 0x27a, 0x2}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = openat$dsp1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/dsp1\x00', 0x2, 0x0) io_setup(0x8, &(0x7f0000000640)=0x0) r5 = socket$pppl2tp(0x18, 0x1, 0x1) io_submit(r4, 0x2, &(0x7f00000002c0)=[&(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, r5, 0x0}, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x5, 0x0, r3, 0x0}]) 00:35:40 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(0xffffffffffffffff, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) 00:35:40 executing program 1: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f00000000c0)='./file0\x00', 0x2e9, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f004000000100000003000e00e1010200040000001201000000000000e9020000000000008d02000000000000d1020000000000007f00000000000000b30100000000000039020000000000007b020000000000001a73797a6b616c6c6572203a200020438c012000000098200028380011000032810200ed0100000100911d675f01000000000000000000000000000000640000000200ed0100000100911d675f030000000000000000000000640000001a0400000300ff0100000100911d675f0400000001000000260000002f746d702f73797a2d696d61676567656e3431393737363339322f66696c65302f66696c65300100ed0100000100911d675f02000000000000000200000029000000070000000900ed0100000100911d675f0500000000000000000000000a00000000000000000000000000000001000000000000007e040000000000000900ed0100000100911d675f0600000060000000000000002823000000000000000000000000000002000000ffffffff00000000ffffffff000000000100c00100000100911d675f07000000000000000300000054002600080000007780010000000000000003000000200000000200040066696c6530400001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c647e0001000100040066696c65309e0004000200040066696c6531d60005000200040066696c6532d60005000200040066696c65330b00136000a1001fdc001100002c02000000000000388000000000000000007e00000000000000200000000000000040000000000000009e00000000000000d6000000000000001201000000000000410200000000000008805cf90100535f0100830200000000000028800000060078617474723106000000786174747231000006007861747472320600000078617474723210800000000000000000020000002400000095020000000000000100000000000000bf02000000000000", 0x2e9}], 0x1040000, &(0x7f0000000040)={[{}, {'(&{&\'('}, {'squashfs\x00'}, {}, {'\',:'}]}) 00:35:40 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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, 0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f00000001c0), &(0x7f0000000240)=0x30) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r1, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0xd, 0x3, &(0x7f0000000440)=ANY=[@ANYBLOB], 0x0, 0x5, 0xa8, &(0x7f00000002c0)=""/168, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000200), 0x10}, 0x78) ioctl$sock_SIOCADDDLCI(r0, 0x8980, &(0x7f00000003c0)={'ipvlan0\x00', 0x8001}) r2 = bpf$PROG_LOAD(0x5, 0x0, 0x0) sendto$inet(r1, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendmsg$SOCK_DESTROY(r0, &(0x7f00000004c0)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000480)={&(0x7f0000000840)=ANY=[@ANYBLOB="600300001500000028bd7000fedbdf252b05cd00010004add0ab75a5b29e89c2b96f4e99f8accf22f1c1c4ec899c915cd81c2f9ffe2330846f0d6ae8f86d5d74728716f42b6835f1fdbf19d398cc01d3c0af68ed052db556b8f8702e6f1c50e82ea00ec0810e509add3c74cc812834b4dd103e2fa71ae8be09c4391c4f4d6521b92c6686b651fcd1db7b63c2a53a797d511338dc0f76eafd96cba558f257a3a2b02c1b376e9e3264606d345c4fe07cc4e2222ef14ed30c82333c7a883da135f20ef14a72c5eb24edff05c3ca25681609c3f0cb6b92ccc628c3000000a90001004fcc787b3ace5df04686cddbe9d3628ff39d270a99a63b1aa71a21499a4aef88cfe28ac025c87e3daf2845606dc561bf5c481e75234e82a459e8e02e6a9823e581143d9752f93493f374f573681244bd58fc38038593081378ee7d4f229dac93682f948b6b0eb3312621101d5f9bf1ab0a552c300aed9a622ea086817e8ef1e2a73c370268fc573034f38346280d0fb0e330bc1a2e701905b4e8f719986df838ddcb06b7660000003c000100bc0fbafc9b3c466d583b7b81f3c3ac5c7e39ea5b4af4f89e5dc7d87e292ff6bc9fa9ef7027c35131a002a9f269f3e888b51591c0a1fe355fac0001003cd741129d7dd36a74083b842a13a4ecca260949d3be7e9b6e420a7da189ff0654a78da30f05932b7d1e76a5589947faa3afc5374eecd17da6e2208d26b45539c65139fa263168a0a543f9158c72ed006cc4ab6bf23ef6b12dda77d2bceb096dd07646d5067fed7301236c8e714d0c57c9856c7d9e2954ad742d5d618da14d218a9e486d2f11ce816aff26d8726f05c5e336f3c9621027a6dc66cc6cd848368146628cb02006bae7b2000100f6baf6adf395c105bc7f06217edf1bfab59711c01349386c1b68623b14224ee1361b197bbfd304e665d12d432d710f144df5976d0be726f088ff4ab197cef6479a7a17245cae69707f785e2e6e14cf2b1a9da7c598f34538db8abc3f242943f19edbcaf6f4a89853cfcf3b50849f46d04d1ede77c4c1210d3ccfaea61e19f38b8795d1f9007ffbb2a843579855e5448afea767d70b1518cab0b3a0d4d36e603237897641da769b5c247691f0b6bf0000330001008fd0d30848b9a1f8450a9f8213cc21e8371a21acceb9eb7d5e3beb61949325a46e3fe02e1cf1d57ec6039ca7486842000000"], 0x360}, 0x1, 0x0, 0x0, 0xc820}, 0x24000800) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f00000005c0)={&(0x7f0000000500), 0xc, &(0x7f0000000580)={&(0x7f0000000540)={0x28, 0x0, 0x20, 0x70bd2a, 0x25dfdbff, {}, [@NBD_ATTR_INDEX={0x8, 0x1, 0x0}, @NBD_ATTR_BLOCK_SIZE_BYTES={0xc, 0x3, 0x3}]}, 0x28}, 0x1, 0x0, 0x0, 0x20008000}, 0xc810) sendto$inet(r1, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x0, 0x12, 0xffffffffffffffff, 0x0) fsetxattr$security_ima(r2, &(0x7f0000000180)='security.ima\x00', &(0x7f0000000380)=@md5={0x1, "7817d5616f5567aa6ec2bc9c660a8478"}, 0x11, 0x1) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000800)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000680)={0x104, 0x464, 0x300, 0x70bd2b, 0x25dfdbfd, "b84a84786797b1647e5ad748ae035c1c26705fba98fbd64a79f1f7e8114df45db7f39cf8dd859b735431f62e22d62c6e3fad644d09571f9c75bab8e141dd64467f8295fb3bcca4eec9bd0acf97c04137687af07afac11990e328d345ae337da4f4a3f349a9ca1d1b39286f905183524aa797ef1056ccf023bbd7678b771daf84c14f167eaa6eb14a0452eca8127381e0fce60a2660fbcf8620bc1dce342052729c1d6e6e881a05199ef57a3344d901cbbc1a129e3a41be082b470e5e8a5b8c032aeef637a709f7d356974fefe2082ebda9eb69e408b6d1596a5f51f9f95fabf9b0858f3247f283d0e0a37df65dd989968bbe", ["", "", "", ""]}, 0x104}, 0x1, 0x0, 0x0, 0x10008000}, 0x40) [ 163.833142] REISERFS (device loop5): Using rupasov hash to sort names [ 163.840488] REISERFS (device loop5): Created .reiserfs_priv - reserved for xattr storage. [ 163.907248] SQUASHFS error: lzo decompression failed, data probably corrupt 00:35:40 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x4, 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) r0 = socket$unix(0x1, 0x1, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000000)={'macsec0\x00'}) ioctl$SNDRV_CTL_IOCTL_ELEM_LIST(0xffffffffffffffff, 0xc0505510, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) ptrace$setsig(0x4203, 0x0, 0x6, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000400)=ANY=[@ANYBLOB="3c00000010000104000000", @ANYRES32=0x0, @ANYBLOB="0000000000000000140012800c0001006d616376746170000400028008000500", @ANYRES16=r1, @ANYBLOB], 0x3c}}, 0x0) r2 = socket$netlink(0x10, 0x3, 0x5) setsockopt$netlink_NETLINK_CAP_ACK(r2, 0x10e, 0xa, &(0x7f0000000040)=0x5, 0x4) ioctl$USBDEVFS_RELEASE_PORT(0xffffffffffffffff, 0x80045519, 0x0) 00:35:40 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = dup2(r0, r0) prctl$PR_GET_THP_DISABLE(0x2a) geteuid() ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000280)=[{&(0x7f00000003c0)="eb3c906d6b66732e66617400028001000240000004f801", 0x17}, {&(0x7f0000000040)="53595a4b414c4c45522020080000e780325132510000e780325100000000000041660069006c00650030000f00fc0000ffffffffffffffffffff0000ffffffff46494c4530", 0x45, 0x600}], 0x0, &(0x7f00000009c0)={[{@shortname_lower='shortname=lower'}]}) openat$dir(0xffffffffffffff9c, &(0x7f0000000a80)='./file0/file0\x00', 0x0, 0x0) [ 164.003466] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 164.060138] SQUASHFS error: Unable to read metadata cache entry [8f] [ 164.083253] SQUASHFS error: Unable to read inode 0x11e 00:35:40 executing program 4: r0 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ubi_ctrl\x00', 0x400, 0x0) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000080)={0xb800, {0x7, 0x7, 0x1, 0xf49, 0x83, 0x8000}}) pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r5 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) recvfrom$llc(r4, &(0x7f00000001c0)=""/55, 0x37, 0x2040, &(0x7f0000000200)={0x1a, 0x302, 0x9, 0x3, 0x3f, 0x4, @remote}, 0x10) r6 = socket$inet_udp(0x2, 0x2, 0x0) close(r6) socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_NEW(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000000)=ANY=[@ANYBLOB="8c000000040109"], 0x8c}}, 0x0) write$binfmt_misc(r2, &(0x7f0000000000)=ANY=[], 0xfffffecc) ioctl$VIDIOC_TRY_DECODER_CMD(r2, 0xc0485661, &(0x7f0000000240)={0x1, 0x2, @start={0x2}}) splice(r1, 0x0, r6, 0x0, 0x4ffe0, 0x0) clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) ioctl$vim2m_VIDIOC_PREPARE_BUF(r0, 0xc058565d, &(0x7f0000000140)={0x7, 0x2, 0x4, 0x100, 0x5, {r7, r8/1000+60000}, {0x16c2dad84187fbf2, 0x1, 0x1, 0x5, 0x1, 0x80, "cd9e37bb"}, 0x1, 0x1, @offset=0x3106, 0x81}) 00:35:40 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(0xffffffffffffffff, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) [ 164.157593] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.3'. [ 164.192160] FAT-fs (loop1): Directory bread(block 6) failed [ 164.264030] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.3'. [ 164.317639] netlink: 120 bytes leftover after parsing attributes in process `syz-executor.4'. 00:35:41 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, "0000ffffffea00000000000000ddc1517600"}) r1 = syz_open_pts(r0, 0x0) ioctl$TIOCSETD(r1, 0x5423, &(0x7f0000000200)=0x6) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) fcntl$setstatus(r1, 0x4, 0x42000) r3 = syz_open_pts(r2, 0x202400) r4 = dup3(r1, r3, 0x0) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = dup(r5) ioctl$PERF_EVENT_IOC_ENABLE(r6, 0x8912, 0x400200) r7 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/transaction_log\x00', 0x0, 0x0) ioctl$TCSETXW(r7, 0x5435, &(0x7f0000000000)={0x3, 0x0, [0x9, 0x8000, 0x4, 0x8000, 0x1005], 0x402}) syz_kvm_setup_cpu$x86(r4, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000100)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) r8 = socket$unix(0x1, 0x5, 0x0) r9 = dup2(r8, r8) ioctl$PERF_EVENT_IOC_ENABLE(r9, 0x8912, 0x400200) ioctl$VIDIOC_S_DV_TIMINGS(r9, 0xc0845657, &(0x7f0000000280)={0x0, @reserved}) 00:35:41 executing program 3: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000380)=ANY=[@ANYBLOB="1500000065ffff017b000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000140)='9p\x00', 0x0, &(0x7f0000000300)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESDEC=r1, @ANYBLOB, @ANYRES64]) r3 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write$FUSE_NOTIFY_DELETE(r2, &(0x7f0000000040)={0x2c, 0x6, 0x0, {0x0, 0x0, 0x3, 0x0, '9p\x00'}}, 0x2c) getdents(r3, 0x0, 0x0) [ 164.372751] SQUASHFS error: lzo decompression failed, data probably corrupt [ 164.416058] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 164.423640] SQUASHFS error: Unable to read metadata cache entry [8f] [ 164.430869] SQUASHFS error: Unable to read inode 0x11e [ 164.464424] 9pnet: Insufficient options for proto=fd [ 164.473130] 9pnet: Insufficient options for proto=fd 00:35:41 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) syz_emit_ethernet(0x4a, &(0x7f0000000300)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaa0086dd60083ff200140600fc000000000000000000000000000000fe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="50000000637868b4137b095dc0bb93d17c5c0e1400000772023549eaa8131543a9aae642042fcb1bb843fa666a0875c7460cf8c4d7d9cdb5ce0b4d1a5bd3827d014082f865bdabe657f981e0e4f9fe68a9864031972f76dc81bead436aa43d0eccba46194c08a6cc4e591b998a6f58ba66749b6c2ca8cc8cc8e8d525aef4587303813cf2f3c160773b4d04e0fdda2110e36e80998105c4302a2ec7e940180dddc17117feb8211740531262957db0a7f2551384378216efe703a4b5b54922036c28369960983aaf5b05e600858446a597eabbb08b6c4a7cd8ac85955798a3004f89d9448ec421f75b48c12e4e95cef3d0bd713fab0ff4b98efe1ecaf65d1c59caeec419438eb3b009196d16231f85534686eb17d2e21330124f329899832d08dae4c90a6de5"], 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(0xffffffffffffffff, 0x89f2, &(0x7f00000002c0)={'ip6gre0\x00', 0x0}) bind$inet(r0, &(0x7f0000000200)={0x2, 0x4e20, @multicast1}, 0x10) sendmsg$NFNL_MSG_ACCT_GET(0xffffffffffffffff, &(0x7f00000005c0)={0x0, 0x0, 0x0}, 0x0) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @dev={0xac, 0x14, 0x14, 0x18}}, 0x10) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='macsec0\x00', 0x10) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) sendmmsg$inet(r0, &(0x7f0000003b40)=[{{0x0, 0x1010010, &(0x7f0000000180)=[{&(0x7f0000001940)="a5", 0xc01}], 0x1}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000600)="da", 0x220908}], 0x1}}], 0x4000000000001cc, 0x4000060) r1 = syz_open_dev$ttys(0xc, 0x2, 0x1) ioctl$TIOCGLCKTRMIOS(r1, 0x5456, &(0x7f0000000040)={0x80000000, 0xd8, 0x9, 0x0, 0xe, "a1781b820390eb0197681685e019b270232592"}) socket$can_bcm(0x1d, 0x2, 0x2) 00:35:41 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$inet6(0xa, 0x2, 0x0) r1 = dup2(r0, 0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) 00:35:41 executing program 3: syz_mount_image$msdos(&(0x7f0000000200)='msdos\x00', &(0x7f0000000100)='./file1\x00', 0xffffffffffff0001, 0x1, &(0x7f00000001c0)=[{&(0x7f0000000140)="1400050900000a0e666174000404090a1000027400f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@dos1xfloppy='dos1xfloppy'}]}) ioctl$DRM_IOCTL_GET_SAREA_CTX(0xffffffffffffffff, 0xc010641d, &(0x7f00000004c0)={0x0, &(0x7f00000003c0)=""/203}) open$dir(&(0x7f0000000000)='./file1\x00', 0x802, 0x1) r0 = openat$mice(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/input/mice\x00', 0x2000) ioctl$VIDIOC_SUBDEV_DV_TIMINGS_CAP(r0, 0xc0905664, &(0x7f0000000300)={0x0, 0x0, [], @raw_data=[0x200, 0x1, 0x3ff, 0xfffffff7, 0x7fff, 0xfffffffa, 0x9, 0xffff0f55, 0xa78, 0x8, 0x6, 0xfffffffa, 0x53, 0x9, 0xfffff001, 0xffffffff, 0x9, 0x1, 0x2, 0x6a, 0x9, 0x80, 0x2, 0x7c9, 0x80000001, 0x101, 0x7fff, 0x2, 0x0, 0xfffffffc, 0x5, 0xffffffb2]}) r1 = accept$unix(0xffffffffffffffff, &(0x7f0000000040), &(0x7f00000000c0)=0x6e) getsockopt$SO_COOKIE(r1, 0x1, 0x39, &(0x7f0000000240), &(0x7f0000000280)=0x8) 00:35:41 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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, 0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f00000001c0), &(0x7f0000000240)=0x30) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r1, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0xd, 0x3, &(0x7f0000000440)=ANY=[@ANYBLOB], 0x0, 0x5, 0xa8, &(0x7f00000002c0)=""/168, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000200), 0x10}, 0x78) ioctl$sock_SIOCADDDLCI(r0, 0x8980, &(0x7f00000003c0)={'ipvlan0\x00', 0x8001}) r2 = bpf$PROG_LOAD(0x5, 0x0, 0x0) sendto$inet(r1, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendmsg$SOCK_DESTROY(r0, &(0x7f00000004c0)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000480)={&(0x7f0000000840)=ANY=[@ANYBLOB="600300001500000028bd7000fedbdf252b05cd00010004add0ab75a5b29e89c2b96f4e99f8accf22f1c1c4ec899c915cd81c2f9ffe2330846f0d6ae8f86d5d74728716f42b6835f1fdbf19d398cc01d3c0af68ed052db556b8f8702e6f1c50e82ea00ec0810e509add3c74cc812834b4dd103e2fa71ae8be09c4391c4f4d6521b92c6686b651fcd1db7b63c2a53a797d511338dc0f76eafd96cba558f257a3a2b02c1b376e9e3264606d345c4fe07cc4e2222ef14ed30c82333c7a883da135f20ef14a72c5eb24edff05c3ca25681609c3f0cb6b92ccc628c3000000a90001004fcc787b3ace5df04686cddbe9d3628ff39d270a99a63b1aa71a21499a4aef88cfe28ac025c87e3daf2845606dc561bf5c481e75234e82a459e8e02e6a9823e581143d9752f93493f374f573681244bd58fc38038593081378ee7d4f229dac93682f948b6b0eb3312621101d5f9bf1ab0a552c300aed9a622ea086817e8ef1e2a73c370268fc573034f38346280d0fb0e330bc1a2e701905b4e8f719986df838ddcb06b7660000003c000100bc0fbafc9b3c466d583b7b81f3c3ac5c7e39ea5b4af4f89e5dc7d87e292ff6bc9fa9ef7027c35131a002a9f269f3e888b51591c0a1fe355fac0001003cd741129d7dd36a74083b842a13a4ecca260949d3be7e9b6e420a7da189ff0654a78da30f05932b7d1e76a5589947faa3afc5374eecd17da6e2208d26b45539c65139fa263168a0a543f9158c72ed006cc4ab6bf23ef6b12dda77d2bceb096dd07646d5067fed7301236c8e714d0c57c9856c7d9e2954ad742d5d618da14d218a9e486d2f11ce816aff26d8726f05c5e336f3c9621027a6dc66cc6cd848368146628cb02006bae7b2000100f6baf6adf395c105bc7f06217edf1bfab59711c01349386c1b68623b14224ee1361b197bbfd304e665d12d432d710f144df5976d0be726f088ff4ab197cef6479a7a17245cae69707f785e2e6e14cf2b1a9da7c598f34538db8abc3f242943f19edbcaf6f4a89853cfcf3b50849f46d04d1ede77c4c1210d3ccfaea61e19f38b8795d1f9007ffbb2a843579855e5448afea767d70b1518cab0b3a0d4d36e603237897641da769b5c247691f0b6bf0000330001008fd0d30848b9a1f8450a9f8213cc21e8371a21acceb9eb7d5e3beb61949325a46e3fe02e1cf1d57ec6039ca7486842000000"], 0x360}, 0x1, 0x0, 0x0, 0xc820}, 0x24000800) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f00000005c0)={&(0x7f0000000500), 0xc, &(0x7f0000000580)={&(0x7f0000000540)={0x28, 0x0, 0x20, 0x70bd2a, 0x25dfdbff, {}, [@NBD_ATTR_INDEX={0x8, 0x1, 0x0}, @NBD_ATTR_BLOCK_SIZE_BYTES={0xc, 0x3, 0x3}]}, 0x28}, 0x1, 0x0, 0x0, 0x20008000}, 0xc810) sendto$inet(r1, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x0, 0x12, 0xffffffffffffffff, 0x0) fsetxattr$security_ima(r2, &(0x7f0000000180)='security.ima\x00', &(0x7f0000000380)=@md5={0x1, "7817d5616f5567aa6ec2bc9c660a8478"}, 0x11, 0x1) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000800)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000680)={0x104, 0x464, 0x300, 0x70bd2b, 0x25dfdbfd, "b84a84786797b1647e5ad748ae035c1c26705fba98fbd64a79f1f7e8114df45db7f39cf8dd859b735431f62e22d62c6e3fad644d09571f9c75bab8e141dd64467f8295fb3bcca4eec9bd0acf97c04137687af07afac11990e328d345ae337da4f4a3f349a9ca1d1b39286f905183524aa797ef1056ccf023bbd7678b771daf84c14f167eaa6eb14a0452eca8127381e0fce60a2660fbcf8620bc1dce342052729c1d6e6e881a05199ef57a3344d901cbbc1a129e3a41be082b470e5e8a5b8c032aeef637a709f7d356974fefe2082ebda9eb69e408b6d1596a5f51f9f95fabf9b0858f3247f283d0e0a37df65dd989968bbe", ["", "", "", ""]}, 0x104}, 0x1, 0x0, 0x0, 0x10008000}, 0x40) 00:35:41 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000003dc0)={&(0x7f0000001140)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a34000000050a000023000000000000000a00000900000040000000000900010073797a30000000000c000240000000000128000000030a010400000000000000000100000a0b00070066696c746572000008c7b34000000002140000001100010000000000000000000000000a0000008a539f48ef123a2cac19a8be8f"], 0x84}}, 0x0) r1 = bpf$ITER_CREATE(0x21, &(0x7f0000000000), 0x8) ioctl$KVM_SET_IDENTITY_MAP_ADDR(r1, 0x4008ae48, &(0x7f0000000040)=0x4) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000000140)={0x0, 0x0, "36a4af5ed68117390192d666dfc1798aed50f0a51ad2f24a4542416d88433ec9549fd891c037ecbc5fa1aa0f437ea5822bf6b1fe40e447672b2f379bd67cd33cabed59c211423c78000a9bf7ba0f4081d02cc58489d8fd26615b3c2904916e18dd62e82fa0f0ceea0c73a7f38163ec43431e17c15490ab2407652b80fb02512cc5a92821b8c556837e7c5c495217e4bb3f2d75ba27b9a842ac5a417078650cb2fa3fadbce71d8c3fab1fdc8ffeb5e3be4207306b02901828c732a431bf3c51d2df4c6218c9782c09d35a326455ab22a01dbbb527f078ad90b17bc347e6b0e8b12d63ca92dc9fcc38899aad525a7b9560aec1a887f9a4167d9bb3bf6f6f199d04", "09197fc73fd2cf72127eb78fc125750e583e342b5353de02708e552cccdf77409f4e8f36d5027015666b0352a87972ede9ce7ec1235f85980807fe08afada2951d2bac08f42d635a72578ff5597c2ca181d0c49180174e072abe8e3d52ed68b5ef12bbd4667daa38310dc5109d0233a6ac2370e712aaa1050b683cf724e404f50798998c680afc606e1e576074ceb936d00de5a9cee36582bd2b72b1974c0f471c450b1c8992ce547b9e4e287f3ebd10e43b56ff0500bbf713334ff3f0c0c04c6dbdae2740ca0b58621137b88f3ba01d74edb8b0bb66dc19dce60037ac441be663b7cdaca4e7d24dbff7db1269a5d1898b6812c8db2520ff42919f6297c9e1ade889494ac8db5fb98307cd2d2244737ab4f90edbb0b327dfe7284ddc562bfe84694b0790d4b46fbf6a25890577bd5df25edb2d145b5214e42205831af1454b7967a79029543386f25ea1a6e03f9bca32b7961be9389eb77d217f19a82cfe2c8a7702e7fd9212edb4e7eb38192aa3de0ed0c2040519a8bf17c1754c8f653cdac466e40f2c47b355b1488a0dbf221b950336ebe001b798429736ebf1930b62277c47134a5da9d97e5c3dcc6cf382c31293d1f443317ee5cef8580d0d6705e227edb0d409400b78a7ae79772092360fd881a1fd68d22ea5f68b546562647d3863c1d639443b2f37c2256cf4cabb77d9b9d50e1d600f59ff2942c524038e0ca8528e71a8f55274fb02b0fdf7755da49ef94cb078a27111fa809078c058a00d6fa68c442d2518ae0be58c34924aeefa11e12675e1f998414f77b7a61b0d3b32da88efcffda8669ef600673e9d9ae4c9b3edd2730cbe0ec508f2f562773eaba1c2f3d44c365e5abc0810cafbd90fdbcea10c84c9ac2e3a5171145e423c1804f9a1e37e5c5ff9d9088abe2582c5c7f409d829c393e5a5338ccc4b5db84692bd6cc5b0b32fe3f4d42e1bf3b5eec6e04a103704a84c0ba4ca75f8e0a91bcc09bfe1eb7801a68cc9a9ae281d00051e1eaa693988d41121bc1cebad7db216b56e44763b04e01a3a8ad1dd2a0564a9acc5d732376e34cfbbe3131e94ba8051dea662088621d51b193aeaa12853a5e1144d83cdcab836cac7a7fa532ff316e34dea661e65eb670a5f9fe23b1d53e3a1b078e8dbad8c1b79fddee17f8b24c27234caf73315f844dd428e9e80149c37af822d76e004641358e2c6848cbff643f9de0031aeaa61d55cbc5686ea25c175fc30a561ef153ca8cd5b120f0de3e7f7f349b56507cd2676d0d13d03eec1307f83cc428fc25693425a8a74552c1d6ee02a06e0b93a5452916b240ffa6612bfaaff5f27d25836f867494acd2d73e6991435086f0d483cc27cab330837dc63adc79453e53362bff948c4aa92e3526d3fdf7652ae84e743feefb8204d03d0405fc63c2474905f0c3f3accfa3b426920c13c4f9b3fd13959b3b5471a198dec9df1f74cbdd128251a1af2ca5f4ab8cf7020acb3ef7c5365f5b7690bd408b372fadd6c8d04df2175f6e68c657332cd8831a8a8490414f5203f6f6255be390d1941b190b63df041d0edeb06613e51e89daa57625bb2103a1f3393d6bc4d343a7f8e6ff43a6e3ba5d0a8f6124dfe2e68816ab5393555d0b2d096a181d5f374c11af3701c8a3e38af77e8f39b57ca697e526679d69a9108756a4a45633f03f0124b2d85ad7ec5eba96d2727c59e2932d402580821223e0bc9944c0b449ea8a5893683b195ee44e43dae55c18b28da6d5aa8f1c1f004ad58ded4453e56a8bd849b6d1093c2a43d47b75c100791d45d54dad01c9e170dcfe1e15610bf6e1ec1cf6a5d5cd6b00230e550093d02ffc1ebe48e85cc470dc3557cb3139e1cc07f9409f8e0ed7126cad199e58ceec9c88ac8f0f361f0adf321fc48565c7ad701c6ef4410f78e9652540edb462d8f733f1e38d158a2d3c2026e5c9ff9c8f1c3071f9c28f310f1503877a935de05d76a5d9e6447886972a4534125d45a0abb0f0071ede16a85d44e57e9ad3dac5f5db21b7eb3d4f34c3eb6e35155356bc5702dd1dee668ea93ef9d2858c807e979cf5e9e4506877cd141707e8b7ef69953cefd8382f5af1cf9c3ce0452c79ffaded1f4d8a0b0b7b36d1d7ba4dea3aaeb0bd5cb915c66de5c1bd87145bd463c1b35688798e01c12b1b9dcf1bec984f7810baea272b6e358baec8fc69d7634a13a184e7809b8ebee4250f7710bb9713d2e8cccbaae33ca23c1f13394dc61a989de720de7e06b11775c661fcce778785680298add81e9d8ccc034c1b6ea17968da8629bb4a3fb0231ae30b9cae6ed94e015a0e145ba5937c5bdf594cb0ec04085c514e2e38e666a54f863319d0327f3fc9bd3bd417631a618ba8246df325721464950f1477474a4ba699c2e7c975cfea35eebcfc007d9b7c0ed35fecf6c2041970558b0768f1030cf0694ea52f9db6903261c0ca51aeb7940070b4135aaedc723c6424ae04b82b05d3187affd045a237970918052cacc1472d1a6dd3a06e2175321d4ff71235cc6e530c294af0bd6c5bba7667acbc79bd12f5ede3e8a7083b52d64a93374409ce8b85a13f4b1e8db81fd3587239317b15d7424c6018c5f4f9dafec834d58e389a124cbb3b3239989ba885d24b1638f9df0ade56df9e27024bf30b291311cb2df3db29cdcd2d8c4b9f977e3b9220ad364ca6c8f0b066acc17d3e4ea52a3e106a63dc64b8a3da18e643cf3996430a36222706234e5d45868d5c1d988899c86cc3e229a7aaa303a002ea077a3c328f20d63b8b4b2f73281d1a53744d1ee5e0ede3fab1063c1f7013ec9c03b5ff61cb7962b3823e0f8e422c9a2114708fe8669447f3302aa7ab09577d0c2212e82514b5238631ae306d506e7b197cfd9ce439cd17ea107bf105cc08b5b1782199101d14f0ac4b0782060bc08d3deae3576c41910cd234e019f4ebd16ef7a4f8032a6b6f6354c05b11ee1f903b07b7cdc067cfc33c86811e14241a66a03f988bbc14fdfb44967fd3fa424f9e1dfc5d5bdc6ac4a44acb0a266c25fb8acf51b403c6134a4d29637f89f2ca2704ff85b348f31322bc2be530cbd867d12233e540170b60d5214d0c9ffb87e1f190338ed1b66a64b110f749accc954b1bbd0e12b420313671d6fa50be2cf3b611a5297bb49da3f78cbed109567e46cc1196e65864ce5b233196716046806f78c05c17f4e854f42daaa1e007f30861196e84abc9eac1bc540fc9beb97ed84f159e3ec98160b721fc9c5bff6f3cdb611826c62e555f5bba88e4a76893f8f3dbde0c9e1cdf21ddbc90891e17fd9cb456272599772d704cb411cdf048a0e2a5a42d5f9aadd134191cb13f239a6937d8c601ce5532629ec0e5d5946c8483a3ab7bf7d478982571b5dba32723b7b2e98c0d4542fcfa69b6d3b389173e615db0e80a44cd03b61227fea6fd57540bb4e910b94de8b4cd1f690bbb2c449dc203278d2be12dd62c0ee4185be0ef0dbb5f595b26ca2b8a2bdc04b40180adbaf00227f39c33722e09011ded3343019fcad58a8bfa21325d44c0e9e02fd494b30b87c2572ebd68e304249709f89933abfa5dc50f243991b6afe73e7e980e53ccc8e63b4155b69febd0c952735b74b0d3bbd861198b52c5a118d10bacf9a12d72977aaa5c4e99254129a2a27e319b76c8a2199a25034be1e92a1085214f7819ebc19a3b9c32a853cfba8badf0352ab615f378cb9a50ad84cc96cff42c3e216662b9cc1768361670397ebf603ba52f92ac4694ff94a147f08a3a10570ac5e8c827c002ca6b920915c03ae55d0e30051a2410963dcaecf6262bfb6b0a3b29126cbab8dc000b0ec8ee23bc84ed39737aff811453114ba14657de05c49a902d49ec33943b33439d665839768927e11ec624e875fa28841987be317fbd14e3f08d803af34a5f8d46212631e2f809ed035280c0a84c539acf0fefacd8544ba26acdba80b89a595ce125c9c535719d98e3591f5b1665a2c08c7163ae0e94e983a9cd5bbb246a0554df9d07ef1cdd6ebf94866ffe7bfdf8f12860201b998e610d917331e828f899f99dc3a809de1275894eea29f9f3c4a29ca5a12cff89955d5a5444f474cf62511aafeeec4e4e07871618ca8d55d1e69788806cdcae9ede1b1ab489d6fb303f88cb62ade61d596bee03ab5f06d0156cc72092b7929cfdbb3211100e0562d5034bd1f83c80c40d3f7426ec6835f723e0a4c60ccd1e20965b45c30f07e77404c7fe9d3375ceeff3877a6643547d93e67db73098d06352a33d5ceb7a3604863626e222d8e68b7443a7bbbbd147d19befec5b08cb3ed5f3414c03c51957e052d3cfc97f8bfcd60babbc6c978359cb75e001e570171cafe5914a359f1981041f5d3e694ef3fe9f6caf2c722cd6bb6d2690bee5ff7601ea4cb006cd9e8439497b863e5527be9153244020986996d52f2c45fdf7ce232f8a47e10c910d8792b6e2e02f060853458d0db8ec18b8df0518a04d208bdc7d758ff52f59a480c7363d14d08c42e611b5adf651414c5cb63b527904ca649c175497002dee8d2d8bb53ac87a40f909c8e6874d289bab673bd613f8eb909d9c8f7d091783f15bb24852caefc33b58eaec8cf69cdff686faf291a43e19045cafe5340ff8f04a82405f0b7c4da6b0e94949aea0ae37f03b9ce0946a252c73f1cf28ff1286df5de2e4ce4e028a67ffe759d1a95292783e75774008e904a5f51b6ac5d3cadbc0465c99e16f8d5fa1235582e67f46267ec93b54654e698a0975c282d6b2201f29c40072aa66e65060f03c3c10ac43dd44c9e3c0e114f9e1b7d9c914279e3e2b888bc303274165d7c69f5ae8e3ecf4cfc98ea58466a6edcd5892ff8279b6e39b92a27fc2763ac04d1a42755b697564acd28e0949173734b912c98d6b5631d13784b24eedcfe8138b61aeb3f26fbf5e75229367cc17a5af2e8d1cedaeaaf5e610e275f5ffac204ae36b3cbb4d8b6bcb571f1b17748cd5a8acc66ab3e947b93b956afb114b84c99ce46da1dfcf5dcb416964de5e3d9f55eb91aa6dd17c00dc3bae596a015baaf5f73f287855ea0ba9c31fc65384df4d0445367b1cc5f426ffd9e8edce01747f278ceddca4924ee084b3ce634abc9ffe6f0373dd5853fe5359c1e953cbb4a59a69d4afb0fba89b79622673b6e57fe1ca7bf2d63ccc08f76af69f9519488f0d28d177ddb171595500fda9e9d7e513565cf2b745e9ac1f61f583d28609ff2dcf057ab64b0bc1d1f381092392b814cf567de35160fc0031fb6d53c214a3902c9d7250a2bae767e13bfca96611681d2bd5b2ff146989697ce721ea073f81c3a0ef6ece989f5d932530e437f3aefcfb2ed504c4d09803e71928b31b60eaa0c39beebac9ea79291950d59ef5bf8cd6a747d776d742a1bec23de713e4db7f47e20be9e2da2e55e29377aa628829544a04d13d21beeed2d"}) 00:35:41 executing program 4: syz_mount_image$nfs4(&(0x7f0000000140)='nfs4\x00', &(0x7f0000000280)='./file0\x00', 0x40, 0x2, &(0x7f0000000480)=[{&(0x7f00000002c0)="3209f9938de453379df4ef12990d4727e807b8f96df32bdb84d8846332d91a21b9b73f23b40efeceb5218af5bfbf30098c92c07f4fd88bc9135124cd48b69229c3beeee21c0a53878172680986d34a88b220875bdb770a62e78f40cdedc887060bf047133fccb581b80758acdbf066b27ab58ecfa02a97ffaab529f8e2bfd5e896f290e7ed68974a58fdefecfaee52758b1198cb3e70f3f7806e76035e54c42d69d70379a724e29537ca31a48eab3303f3f639", 0xb3, 0x7}, {&(0x7f0000000380)="c2624186f871299d9345b67fa0dbba8b0c70a310a48f15357dcd197d41f03111df30860b4af2c666ef7d2afe242641100e300601a63fe6f2b1b5cb188f2233c725941334d86401e6c0de0f2a7c9955fc462bb8084b7cadd0adeef8cb97a6ff842194b2fb79891230273aa49e06914e3b9bf9dacddfb074dc0441033584bcf204f30a2b6381eb879207e7f2077d7f429e94ef516d446c5be6d2640795e027e947490fb9efa2b001c69735de244638285a86b95bd9b28f2c09f2318bde54fb96a8949caf5e7c7b334378e4858924fec89a56", 0xd1, 0x1000}], 0x48, &(0x7f00000004c0)={[{'L+'}, {'-*'}, {'.]%-)>,'}, {'trusted.overlay.nlink\x00'}, {}], [{@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@subj_role={'subj_role', 0x3d, 'trusted.overlay.nlink\x00'}}, {@fsname={'fsname', 0x3d, 'L+'}}]}) syz_read_part_table(0x0, 0x1, &(0x7f0000000680)=[{0x0, 0x0, 0x1000}]) r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = syz_mount_image$reiserfs(&(0x7f00000006c0)='reiserfs\x00', &(0x7f0000000700)='./file0\x00', 0x800, 0x5, &(0x7f0000001940)=[{&(0x7f0000000740)="afa4661349e2779254408de5ae4f8d14150fec2b3cb3ffe364d3d465da3abff0e1b4753f1f4290ecfdd0628d03442ec226b92feb0b28e80ad1f2207775557960485bcc7e1cd959e21d00178ab8bac004290affca10adbdb99376fa6c476b2ca63f8aad0a1c219e545ce068080df3c2c7bc1052374fec679eef1e1a70629213e5de051b02f08177ba1ba707bba47492303d321a1e04f51905cf6b821a56f075dc22d1bb23b59eeb5ed72191d636496f98accec17eed2029f1b9905f2691b90392fb0bf9ebf5a87a5571d6f2c7db209150924ca946088f5c19f48f143fc13cc49feac0049e089c1f8b37b24bee174a77a21798c3", 0xf3, 0x4}, {&(0x7f0000000840)="d68f08542423fecb87e1a18dd67bb3f650ffd1243a6770f19597242813fe9d9e33544b9dcdb7123a362e3c4be305e40a13bb578bf08a0871d7a80644d6a320d6346373c3223eeda25285e75154a1131d6ece472243712cdf01cc023d6e0cdd96892abbdff465a3309b4d06aca7988672266f484cac30dcc3479f0e102bcab7ddcbef9b15dab4ce3a9095d5e4dcb90b348a755635f61a7bbf2d054a399030aabd5809823caa7054836a43788baf74df81fbae23482101ba76cc51cb493b9abc539cc519ae2df421d0cd8a184359b4e2653503575b8db4277c88125a29f0d7d57b5ae0fe2fe5b908cac25e922095409502f6bda25e92e0d9556f4bdd8b83da6b9333058e0fcbaf64ebd0b97f48677a1cfcd1ffaaade798d191c3406ffc0f5bf8efc0d7c5e4479319368aadf1dfc9dee573886d9f4464ab267a78a1a939d6634ddf2c243c2669ac31b8d882056a2a10088641f542e0424de914b8d3ebbef5a762fdb9153b9515f21592f34baf7ad0c24d6b7b377a48f409748f5bd700058f0b6c5bd701aa083c8de4510366e29ffc299a196acf34c9d7016dfe269bbebeefadab2cacffcad0963f75483e49dfa41cad31c24810c34340d47a534e7bf0364542ebdaee421a50ef618c6881e9736a9d977a245caab9dc76ea0574071c7780e149d2fcd597966b416bb9427e7893d1e30c7fdc37ff54916023eb22e8c654ac2564ac181c4cae183bb4b2947824e9c8e95bfcfd69694ffda7777e2669bddaa939200b7b2262b9ad3fe2a3ca7db8e9ea528132eab79bf85634d9e0c37c923c4df8bd6ef9b34aa964e34e6c2b19803dc8c50e1598cd436eb4c88145f40612efc3109643de1649496604401970f65960c23aa89db2fd8a3975fc85e4ab2a1773c2786d6081bfc7d547000744aabe9723e40b74157f172f8c9a9344ffbcfa0aabb8421dffce7ddd935607c5a3c0840ded135f02cb19faf4220e41c21f771541864db0fa44baec04f0b8a8e30415a1542797cfccb41249378ec680cb25d3088ff99f3455744614f7bf94904525950adc015339ed7d5d722ccd8d85bc2ae748c8b224028dc9d7e6b93bff01b4a655656152032004e6a7c74095d01af62b7ee5446d2463a6af99c282187cf2c9474bb08200335e1b86407f7abd4662665e2cddd7e1d9c227fc8ccbb5cade0f3ca3a2220fb3d28e8ec064b756a93c45bda4db76f60bc0a330a1499e5b533a632d6c15ae865a563d2c9214dec0f631ffd6d2ddb16656701e32985e8ac26e800915bc6e581bf73da15de1e9ee5f0b39f22781bc4b67d1fa47585342a35456f646c4fcd83eff75d5c94ba440c4bfbed5a4f0da5c9370cce2bac200842f36893701575512c2c4bb570ffe65bff2664de4c21c7360eda15ab6a23b288c13f33fca54651d293aea2ff6c8ce6fde1548c19795fe434b31c89af000e41a2a5c3dfc63ccfb056930276dced2334f12e8a9fd7cd37c08f4d1559897450cded5e9e1908531a65eac6859af0bbcddcb0b437b5f8e67f73e4f682702e27c31175cd815e5feb21ca9dda570a8c5e64204338c1f472a01fb5f8c6976bbd8373aa7dcb1656ee4f0f7511dff60bff41ca02d0ab3ed59fbb2e253d5d2892f937648a7b576976e3513a2a14f959a51a8f1501d4ff98319a35aead938019569f0fa1057953398c4ef885e529b3c883096085df1218512091f778cb903ea2dc3856c0c29ba8a0e26c316bd61d0b5f432068a5875fd0f69ab85bde5038029368733c470802586c8ae4deb06c731f71086652ab8bb3fbc9f8ed20e53211733e5a37113c89decbca99fc85d39bec8581edbfaf3ccfe141e7e4b3e26eb721aaab7741dc816ee3c16d961a560d892a948f8ed6763fa1e280c78a81051577a663c62f8e3603024df030310f0d38c8d482b697a3ccffa8e8988a5a26bbbdd03f2a65794ab53af19eaedc81f49dfa751c4eebb7adcdd1de16e1c463589da1b7637616c85239bcb39f08dcb6a4bc4fa2d0458d3bc8daefd88263034ded09c71cf7e26777414cfeedde805c46129e0fe8cfb48b467f77eba740eebdcd409ac2d39c9924749d3c7a9a68f7dd94c6d4ce4a1678a448400b1fe20077a803f2599e89a12370b65513922b6ffc07deab59b79545b9b21732890a6596e859202a0756dc21298c90bcdbe7efa5f941296d5970b2b5f16a8bb6cbdb70962ab7a7f43b937955238250096bcf3502e4ba8b64d967bfe34de650e841c2dd5e1a364be23c2d3387f4ba3af90a38b86311b4c42fc756e80b4506b58c1b2cf0f3a28c49ba5ee17d8be11c65a7b21e925eac685096f67c1463319132566dfa3c20194ea44f3c5e89b221a8652c0e8bcf3cb4fadcc672f38c8de901078410166d67d6cec59d1420349952b5ab539bec659613c153290ec454e74eecf3d5a56d32169084cef62243f8bf671048d9e312597267459c1c500fe4a3829513c6574f4b4597dd6d4fe4fa0ba74f0b9d7fb4959b4979fe8b652c83a3830ad88b456a15772af82d921459f74b255f105116d38e83b8d0749818bffc708fe9bc85f132aaf9f80719d310d61500f168dd92e2779e7719370d23e96001b074b466b2b8bee31f05f97f62e733399fb286a6598d2f49c535caa51b1aa2a89043090d108d9495ecb42d1aa1f514f9786b499f3dd6b8950bbcbe3c78cf8deaddf31dcedc04d4820fe446912c32f5bd9dbf0ea8e31ed7ccddfd9daf690a4cb5792e41a07eeb5ba07e4ff43f7bd1dbeaa9e044088f4d9712546da807cdc2d5ed04c74ffa69685344c4fe206de81ee6def37f4cb837a900a6fbe0f312795ce09750379b1ece06abc1394b36daae39be07735aba5ae75d830ade54225e72299f97ca41248ad4786f8d280e4cb7db953c397b85ea8229d83457e3f7773e40201432c6ffb0a58fc8f27adf7266adb522eb839919a46e59c26bdd13f1c5abe0a7ef203b8995a12dadf259aeeec14aff7d77f9b2e3f57abbc65aea431b1dd81acc9ed87f59749dd8e29794e0bd8efacf22717ec9c9df99b9fc75843bd5f55677fb75d7bf79d5d54609a2293b26746620a462f74ff1756dd837d40984e49ec1f605aaa590eba56f9134d1b52af833d981a527703d7dd87ca9891404038004c86f4338b3f5eef6f9949a6a8805f6e9e1b21cb45378e5d3b5922b86e593716670f4de9afb4235107f1ea5a33cd7152f9761b5bb7a5981d0004acc927afdee461391212d3a856c5bc1ef0763e072a512f7fb9659c4211d06dfde7064c5133bcfafe0da699120ca72ee57cf35766e848c363462640cf22e1ff97f72eb5bed36b802ba0532c0272bbec834a101b712bbcf32ebd591fac78a952320d2439da328ed5cb01c011b7cbdbc70b025dbc2054b48afec64b3e9fdde69c5a4bc711b4dc12227137f1ef20eb386658afc977f7c42ffd8775e0076c9185778b7cda819427223984f90a6136bf4682826872af31f8e5401a9393f3a6817920efcc08ea6eaf59d4ef4244db7c3467af90a4e1f00c830aaa6cd744cb11f4f8e34d04d3f7644c43352b13007924686a4bfca66ad86d9da0292b3ea8c38ba50ee038df662713a64c48891ae6b2498ab325efba66d00baf22dc1e56d1bd72ad974eb1f7629b84e2abcd0cad1835e8b7107703821c539c333a9a7bec7b96d007d82aa9758763157519705931509c4449d4cddf02b4424a72401663c681ca62ae186a615b7bbe00b451a315c7b6d6c3bec0579ab805f6b9befd0b8e1ec558ca1673fd658f47dcfc97c8988cff0a78ae9ae83f99ea727408da46ee749fef2a80bb311d027f6c9bb6141eed070567e4c005ec97516ba27570803cd2315b78a58f7617f23fe71617e1e2d667ede4801be93dcb57af184557f6479e05c6165a30781a2d034e58fc25ae6bd971292334c0c2af514d43e72767a9cc92a63f714375793cbf47cf7ae70326b78ac08985e901d146fb07f386fab9d796e4e463db92ea8926127dbe80fba7090bfca8d052e2101b611c309858a0e3fbf380c6efd7f24fc346f26a9abbf1758ab29b49e8649c2fb9220fc91403a954d5676f8f8bb4e9f634624ad87aa82964202ed37928769a2a20276b365ad89a83e851e3d05d7a63f8e8942bbe3ea004572a75b8fc1935b7d8647244587a58e6aec4445b2bdfb340da9a8f998037c79f3148745a728fc8ccf29c3ba7b567139adec772084dab6124145c6a581ea475a47ca7fe5507d3f26d2f716b3d22f49ca3366c956cd52e382220f8cfda25a2762af93309690f3db8057a1bb08086b218cff3eadd6860e70a2ba1514726ddc91e69bb8ecb06179f4ad37a35bfbf41b0412918fc0bf7a4531c798f834b66ead3fb716969306bd327a7b70f1ef1d6a3219f71072b13b6687f151df40514446a346c4f042f3e28acdaf05116b82e91ee1004945f132bdcc688912727d5c70348a87b2bbcfb21b0f9aa72673280e8873993e0793514430af2d0f9330cd7b8761c2dbc741f65941fef7d75af4caff90c2f415af3a08b641034e894cb88df3c9deece02bcfb24deb5b55d2f5084236e5d7983eb09eaa4898bbe3811932ea0b5a50911e3d19b9218161d146138e8d21cc1f2d6a96c5d3aa40ae426994a3845e469a2b13c789fce342ef9d439b0d0bbe10e730f15ea33d37af8deaf2de286354dcd83061eb4860808cb70664feeeba63ede77486c93da3bca9d387317f063f04cb1fe28c6580bfbd373e489d43862cd4ea21503185267b0073631ea82d830294bf524fb1dc51f720485df8bb4d5e0a3566288515bd3f8d0c2e5681d1d65ca5377766068f708ba169dec654c7292f96dd0cef6cea3350253df0613d53c5cf159936546ba8e87824010ebdb45b20a4f6ef4e80f74cd9f6f13e65b0fc76fc57392a263a6eb32d07e5326adf99985c484abef06b1f177569163936d4169462585e66d47d722ac502a187803b334d23bb4560bebffe1ac66baed75e974987859207dfeda0093db0196d3f2a12319dd72afaa8a3de3fb97ea3de429600dad15134b605561453baf4733a82eec87a67b1f7fc1dd023597a0fc7bf8105676d28a634a55ff5c82edede83ad991d2712ae14761ce2d6ea69bcbfdc4a068a8a11dabf43132a774448c2e118671191774e9f0fdf3e0aad2a73ccb11affddb646deab7552627c9342ca6bb1661c4d7d984b3f1979a8a12b826a2921005c60d423f82c6011644d4bba1f2400c9e33beb32ebb8c4b7ae32f3686e52b95b295f6796bf062a60f64b25e1c7bc3d2ceae3b9236ff18867ea1239074ab7f92e4a92fed368ac1ac994cae37af2d1d3452b2148c18b3d079a66d6ea7dab79be2646e236bd3ad67df136ccc2719bc56cccb4e0c6566ea48c40919892d1c5b877c8cfae32789b7e46652eb47780be6b8930e1b9adebe3dfd9937babdcee4314499ecbc33ec249939a9bf3567e71418683c8f940f2e6ad70a73366717f2332c5a4a22dfe375f80b75198c4637d020e2146bcbf9cf627ddace7caf12401b83597762e50069f8c6a1cc763340ad2ed8c6f05119b8c94ccabcd8a2fc6406417d983a95522c620f4d9ca35487e63c11e1edfa9d0bd839f2cb14ba29cf65e7eabeb945a8bda669f09eb093bd75c6d85331a4aa4b08b71ad60520c5434966c63bb0784ebca39194a4af5364e3d9f61884f96bb339a88295953aa81dba1a6a1aa50652631f8832b82861540fc2d23ad2b461683f1d237559feb085b7b74d0754dc9ce75bc5dfb1aa1c2cd6b0bb57ab7d30194f2c05cfb2a8dcc00f7c691141f2f96a833d49f6a189db4805628280a50195f091826fb264c0e6", 0x1000, 0x3}, {&(0x7f0000001840)="67c9c07e2329047d84c7e3312bf1344217850f2df01d1580068fd67e24c41784", 0x20, 0x566}, {&(0x7f0000001880)="92ee19dc0473865633a1aa0a13ecf1", 0xf, 0x62f}, {&(0x7f00000018c0)="c36c4a2a0e3f1f552022f8fcc1892e6a80746ee3fed3392ee30522b555e2acadeabf3e7480db107709eb5c77d92b76edcbcb19d7bdddd98ead869d1f998090fdb55948e41b87c0bc76ec6a129af2e26c8fb0817a6b1857a1ebfe6decaf3e268c7cb900b6c4d51701aa33ffef25bc97465e015246e5e6e3eea0", 0x79, 0x100}], 0x30000, &(0x7f00000019c0)={[{@noacl='noacl'}, {@tails_small='tails=small'}], [{@smackfsroot={'smackfsroot', 0x3d, 'rootcontext'}}]}) fchmodat(r1, &(0x7f0000001a00)='./file0\x00', 0x16) getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x61, &(0x7f0000000180)=ANY=[@ANYBLOB="66696c746572000000000000000000000000000000000000000000000000000014000000752579d6d462c6d6a7b069ce66791476ae8248ce8d4402828b1580c9c355b5e8f966c9efa00f920eeccebb9ad743c9a618e5ce15365870851b3177ac422c5d79c681bdcca98fe01ebaa17bf9c552a29146cbb007b8b61650b04db7ab014740923d37593409a6b7f207ff2df81356ddd3cf7613d82c24f8b0dca48b9849572728a9c09a60cba0478491d6604468194338ec7c4f40f97bd099dc2d06db97d787289cc0a55031925cdd86be4c9bfc99e810db5c2608e14f2abf7d45c0ac"], &(0x7f00000000c0)=0x38) fsetxattr$trusted_overlay_nlink(0xffffffffffffffff, &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f0000000040)={'L+', 0x4}, 0x16, 0x6) fstat(r0, &(0x7f0000000540)) munlock(&(0x7f0000ffa000/0x3000)=nil, 0x3000) r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000080)='/dev/zero\x00', 0x40, 0x0) ioctl$KVM_INTERRUPT(r2, 0x4004ae86, &(0x7f0000000100)=0x870) r3 = openat$null(0xffffffffffffff9c, &(0x7f00000005c0)='/dev/null\x00', 0x200, 0x0) ioctl$EVIOCGPROP(r3, 0x80404509, &(0x7f0000000600)=""/127) [ 165.121488] 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. [ 165.146584] SQUASHFS error: lzo decompression failed, data probably corrupt [ 165.160553] SQUASHFS error: squashfs_read_data failed to read block 0x8f 00:35:41 executing program 5: r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)={{'fd', 0x3d, r1}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) r2 = socket$l2tp(0x2, 0x2, 0x73) setsockopt$IPT_SO_SET_ADD_COUNTERS(r2, 0x0, 0x41, &(0x7f0000000380)={'raw\x00', 0x2, [{}, {}]}, 0x48) read$FUSE(r1, &(0x7f00000103c0)={0x2020, 0x0, 0x0}, 0x2020) ioctl$TIOCGSID(r0, 0x5429, &(0x7f0000000000)=0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 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, 0x0, 0x0, 0x4}, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write$FUSE_INIT(r1, &(0x7f0000000040)={0x50, 0x0, r3}, 0x50) syz_fuse_handle_req(r1, &(0x7f000000e3c0)="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba045abcd5dfc67d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000209bfd66eea210560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001354c4b600", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) ioctl$KVM_SET_IRQCHIP(r0, 0x8208ae63, &(0x7f00000000c0)={0x2, 0x0, @ioapic={0x0, 0x6, 0x82, 0x3, 0x0, [{0x81, 0x2, 0x4, [], 0x80}, {0x8, 0x1, 0x53, [], 0xe1}, {0x61, 0x2b, 0x5, [], 0x1}, {0x3, 0x5, 0x5, [], 0x1}, {0x6, 0x9, 0x7, [], 0x2}, {0x8, 0xe3, 0xff, [], 0x6}, {0x91, 0x1, 0x5, [], 0x81}, {0xae, 0xca, 0x5, [], 0x42}, {0x2, 0x1f, 0x0, [], 0xfe}, {0x4, 0xff, 0x7, [], 0xd3}, {0xa9, 0xb5, 0x9}, {0x7f, 0xff, 0x7, [], 0xba}, {0x8, 0xe9, 0x6, [], 0xfc}, {0x4, 0x1f, 0x6}, {0x7, 0x6, 0x3f, [], 0x5}, {0x0, 0xff, 0x20, [], 0x3f}, {0x6, 0x4, 0x4, [], 0xfb}, {0x4, 0x39, 0x1f, [], 0x81}, {0x8, 0x1, 0x6, [], 0x2}, {0x0, 0x1, 0x8, [], 0x8}, {0x20, 0x1, 0x1f, [], 0x20}, {0x6, 0x7f, 0xc1, [], 0x6}, {0x1f, 0x1, 0x4}, {0x20, 0x3, 0x1, [], 0xb0}]}}) getsockopt$inet_sctp6_SCTP_ADAPTATION_LAYER(r0, 0x84, 0x7, &(0x7f0000000300), &(0x7f0000000340)=0x4) syz_fuse_handle_req(0xffffffffffffffff, 0x0, 0x0, 0x0) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x0, 0x0) 00:35:41 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000000)={0x3, 0x8, 0x4, 0x73f7, 0x0, 0x1, 0x0, [], 0x0, 0xffffffffffffffff, 0x0, 0x1}, 0x40) [ 165.175031] SQUASHFS error: Unable to read metadata cache entry [8f] [ 165.185208] SQUASHFS error: Unable to read inode 0x11e [ 165.223073] loop4: unable to read partition table 00:35:41 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vsock\x00', 0x400480, 0x0) sendmsg$IPSET_CMD_SWAP(r1, &(0x7f00000001c0)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000180)={&(0x7f0000000100)={0x28, 0x6, 0x6, 0x101, 0x0, 0x0, {0x2, 0x0, 0x2}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME2={0x9, 0x3, 'syz2\x00'}]}, 0x28}, 0x1, 0x0, 0x0, 0x4000800}, 0x4020000) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)={0x1c, 0x2, 0x6, 0x5, 0xf56, 0x0, {0x0, 0x3}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x1c}}, 0x0) 00:35:42 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, 0x7fffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811d36c15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f0000000300)={0x11, 0x0, 0x0}, &(0x7f0000000100)=0x14) sendmsg$NFNL_MSG_ACCT_NEW(r0, &(0x7f0000000240)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000200)={&(0x7f0000000140)={0x4c, 0x0, 0x7, 0x201, 0x0, 0x0, {0x5, 0x0, 0x1}, [@NFACCT_PKTS={0xc, 0x2, 0x1, 0x0, 0x156}, @NFACCT_QUOTA={0xc, 0x6, 0x1, 0x0, 0x3f}, @NFACCT_FILTER={0x14, 0x7, 0x0, 0x1, [@NFACCT_FILTER_MASK={0x8, 0x1, 0x1, 0x0, 0x7f}, @NFACCT_FILTER_VALUE={0x8, 0x2, 0x1, 0x0, 0xffffffff}]}, @NFACCT_BYTES={0xc, 0x3, 0x1, 0x0, 0x6}]}, 0x4c}, 0x1, 0x0, 0x0, 0x20000850}, 0x8040) r2 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r2, 0x11b, 0x4, &(0x7f00000000c0)={&(0x7f0000000000)=""/5, 0xa22000, 0x800}, 0x20) setsockopt$XDP_UMEM_FILL_RING(r2, 0x11b, 0x5, &(0x7f00000004c0)=0x80, 0x4) setsockopt$XDP_TX_RING(r2, 0x11b, 0x3, &(0x7f0000000080)=0x2, 0x4) setsockopt$XDP_UMEM_COMPLETION_RING(r2, 0x11b, 0x6, &(0x7f00000001c0)=0x400, 0x4) bind$xdp(r2, &(0x7f0000000900)={0x2c, 0x0, r1}, 0x10) [ 165.244184] loop4: partition table beyond EOD, truncated [ 165.266346] loop_reread_partitions: partition scan of loop4 () failed (rc=-5) 00:35:42 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$inet6(0xa, 0x2, 0x0) r1 = dup2(r0, 0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) 00:35:42 executing program 3: write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x18, 0xfa00, {0x3, &(0x7f0000000000)={0xffffffffffffffff}, 0x13f, 0x2}}, 0x20) write$RDMA_USER_CM_CMD_RESOLVE_ROUTE(0xffffffffffffffff, &(0x7f0000000080)={0x4, 0x8, 0xfa00, {r0, 0x2}}, 0x10) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_SET(r1, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000001c0)={0x5c, 0x3, 0x8, 0x201, 0x0, 0x0, {0xc, 0x0, 0xfffd}, [@CTA_TIMEOUT_DATA={0x2c, 0x4, 0x0, 0x1, @icmpv6=[@CTA_TIMEOUT_ICMPV6_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0x4}, @CTA_TIMEOUT_ICMPV6_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0x8}, @CTA_TIMEOUT_ICMPV6_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0x32}, @CTA_TIMEOUT_ICMPV6_TIMEOUT={0x8}, @CTA_TIMEOUT_ICMPV6_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0x5}]}, @CTA_TIMEOUT_DATA={0x14, 0x4, 0x0, 0x1, @icmp=[@CTA_TIMEOUT_ICMP_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0x1ffc}, @CTA_TIMEOUT_ICMP_TIMEOUT={0x8, 0x1, 0x1, 0x0, 0xfff}]}, @CTA_TIMEOUT_L4PROTO={0x5, 0x3, 0x84}]}, 0x5c}}, 0x20008014) clock_gettime(0x0, &(0x7f0000000140)={0x0, 0x0}) setitimer(0x2, &(0x7f0000000240)={{r2, r3/1000+60000}, {0x77359400}}, &(0x7f0000000280)) r4 = openat$bsg(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/bsg\x00', 0x400, 0x0) write$USERIO_CMD_REGISTER(r4, &(0x7f0000000300)={0x0, 0x3}, 0x2) chdir(&(0x7f0000000100)='./file0\x00') r5 = syz_open_dev$vcsa(&(0x7f0000000340)='/dev/vcsa#\x00', 0x5ac7, 0x10000) ioctl$BLKFRASET(r5, 0x1264, &(0x7f0000000380)=0x1) r6 = socket$unix(0x1, 0x5, 0x0) r7 = dup2(r6, r6) ioctl$PERF_EVENT_IOC_ENABLE(r7, 0x8912, 0x400200) ioctl$PERF_EVENT_IOC_DISABLE(r7, 0x2401, 0x7fff) 00:35:42 executing program 4: perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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$ttyS3(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ttyS3\x00', 0x6800, 0x0) ioctl$FS_IOC_MEASURE_VERITY(0xffffffffffffffff, 0xc0046686, 0x0) r1 = dup(r0) r2 = open(&(0x7f0000000440)='./bus\x00', 0x6500, 0x0) r3 = perf_event_open(&(0x7f000001d000)={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, 0x400, 0x0, @perf_bp={&(0x7f0000000240), 0x1}, 0x0, 0x3, 0x101, 0x2, 0x0, 0xfffffffe, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000002c0)={0x0}) r5 = socket$isdn_base(0x22, 0x3, 0x0) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r5, 0x8983, &(0x7f0000000080)={0x0, 'wlan0\x00', {}, 0x800}) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r5, 0x8983, &(0x7f0000000340)={0x0, 'batadv0\x00', {}, 0x9}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, &(0x7f0000000100)={r4, 0x0, r5, 0x8}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, &(0x7f0000000000)={r4, 0x1, r3, 0x484}) ioctl$SECCOMP_IOCTL_NOTIF_ID_VALID(0xffffffffffffffff, 0x40082102, &(0x7f0000000040)=r4) ioctl$SECCOMP_IOCTL_NOTIF_ID_VALID(0xffffffffffffffff, 0x40082102, &(0x7f0000000040)=r4) ioctl$SECCOMP_IOCTL_NOTIF_ID_VALID(0xffffffffffffffff, 0x40082102, &(0x7f00000000c0)=r4) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r2, 0xc0182101, &(0x7f0000000080)={r4, 0x2}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f00000001c0)={r4, 0x7fff, 0x5}) getsockopt$inet_sctp_SCTP_GET_ASSOC_NUMBER(r1, 0x84, 0x1c, &(0x7f0000000100), &(0x7f0000000140)=0x4) ioctl$TCSETXW(0xffffffffffffffff, 0x5435, &(0x7f0000000200)={0x1000, 0x522, [0x160, 0x2, 0x8, 0x9], 0x81}) ioctl$KDGETKEYCODE(r1, 0x4b4c, &(0x7f0000000180)={0x7, 0x7}) [ 165.477051] SQUASHFS error: lzo decompression failed, data probably corrupt [ 165.486749] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 165.562999] SQUASHFS error: Unable to read metadata cache entry [8f] 00:35:42 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002", 0x5a, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='mx000000\x00'/22]) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) setsockopt$PNPIPE_ENCAP(r1, 0x113, 0x1, &(0x7f0000000040), 0x4) [ 165.625761] SQUASHFS error: Unable to read inode 0x11e [ 165.740913] EXT4-fs (loop3): Unrecognized mount option "mx000000" or missing value 00:35:42 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$inet6(0xa, 0x2, 0x0) r1 = dup2(r0, 0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r1, 0x89e4) 00:35:42 executing program 2: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file1\x00', 0x80000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000026856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000000400000005", 0x9, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}, {&(0x7f0000000280)="808100005e11a7aa8be152c313a817d800180000ddf4655fddf4655fddf4655f0000000000c800002000dc7986babda77c7391ae880478a57a6a06e609d543caccaa3f4a9b5368234a4728d690a02bec96a3880c0e2a7f4747d68b0c16b356cffbf489a2b45a113b5e639e413cfd6d402838784d90d137e57174417cc59eed9e32", 0x81, 0x1600}], 0x81, &(0x7f0000000040)=ANY=[@ANYBLOB="348f153d948b00213a93fa7b5db0ae1c0c"]) 00:35:42 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, 0x7fffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811d36c15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f0000000300)={0x11, 0x0, 0x0}, &(0x7f0000000100)=0x14) sendmsg$NFNL_MSG_ACCT_NEW(r0, &(0x7f0000000240)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000200)={&(0x7f0000000140)={0x4c, 0x0, 0x7, 0x201, 0x0, 0x0, {0x5, 0x0, 0x1}, [@NFACCT_PKTS={0xc, 0x2, 0x1, 0x0, 0x156}, @NFACCT_QUOTA={0xc, 0x6, 0x1, 0x0, 0x3f}, @NFACCT_FILTER={0x14, 0x7, 0x0, 0x1, [@NFACCT_FILTER_MASK={0x8, 0x1, 0x1, 0x0, 0x7f}, @NFACCT_FILTER_VALUE={0x8, 0x2, 0x1, 0x0, 0xffffffff}]}, @NFACCT_BYTES={0xc, 0x3, 0x1, 0x0, 0x6}]}, 0x4c}, 0x1, 0x0, 0x0, 0x20000850}, 0x8040) r2 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r2, 0x11b, 0x4, &(0x7f00000000c0)={&(0x7f0000000000)=""/5, 0xa22000, 0x800}, 0x20) setsockopt$XDP_UMEM_FILL_RING(r2, 0x11b, 0x5, &(0x7f00000004c0)=0x80, 0x4) setsockopt$XDP_TX_RING(r2, 0x11b, 0x3, &(0x7f0000000080)=0x2, 0x4) setsockopt$XDP_UMEM_COMPLETION_RING(r2, 0x11b, 0x6, &(0x7f00000001c0)=0x400, 0x4) bind$xdp(r2, &(0x7f0000000900)={0x2c, 0x0, r1}, 0x10) [ 165.952118] SQUASHFS error: lzo decompression failed, data probably corrupt [ 165.992195] SQUASHFS error: squashfs_read_data failed to read block 0x8f [ 166.062888] SQUASHFS error: Unable to read metadata cache entry [8f] [ 166.111793] SQUASHFS error: Unable to read inode 0x11e [ 166.155026] EXT4-fs (loop2): Unrecognized mount option "4=”‹" or missing value 00:35:42 executing program 5: 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, 0x7fffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811d36c15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f0000000300)={0x11, 0x0, 0x0}, &(0x7f0000000100)=0x14) sendmsg$NFNL_MSG_ACCT_NEW(r0, &(0x7f0000000240)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000200)={&(0x7f0000000140)={0x4c, 0x0, 0x7, 0x201, 0x0, 0x0, {0x5, 0x0, 0x1}, [@NFACCT_PKTS={0xc, 0x2, 0x1, 0x0, 0x156}, @NFACCT_QUOTA={0xc, 0x6, 0x1, 0x0, 0x3f}, @NFACCT_FILTER={0x14, 0x7, 0x0, 0x1, [@NFACCT_FILTER_MASK={0x8, 0x1, 0x1, 0x0, 0x7f}, @NFACCT_FILTER_VALUE={0x8, 0x2, 0x1, 0x0, 0xffffffff}]}, @NFACCT_BYTES={0xc, 0x3, 0x1, 0x0, 0x6}]}, 0x4c}, 0x1, 0x0, 0x0, 0x20000850}, 0x8040) r2 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r2, 0x11b, 0x4, &(0x7f00000000c0)={&(0x7f0000000000)=""/5, 0xa22000, 0x800}, 0x20) setsockopt$XDP_UMEM_FILL_RING(r2, 0x11b, 0x5, &(0x7f00000004c0)=0x80, 0x4) setsockopt$XDP_TX_RING(r2, 0x11b, 0x3, &(0x7f0000000080)=0x2, 0x4) setsockopt$XDP_UMEM_COMPLETION_RING(r2, 0x11b, 0x6, &(0x7f00000001c0)=0x400, 0x4) bind$xdp(r2, &(0x7f0000000900)={0x2c, 0x0, r1}, 0x10) [ 166.264935] EXT4-fs (loop3): Unrecognized mount option "mx000000" or missing value 00:35:43 executing program 4: r0 = socket$inet6(0xa, 0x2, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) socket$key(0xf, 0x3, 0x2) ioctl$CHAR_RAW_RESETZONE(r1, 0x40101283, &(0x7f0000000000)={0x8, 0xab}) setsockopt$inet6_tcp_buf(0xffffffffffffffff, 0x6, 0x1c, &(0x7f0000000180)="fc193add4e120206fa133ece437cf6c51b1d7c8faccad630c3e93a0a7ff2272420085fc5ea4ca206c1187a51df577dde205c4955ba8bcc277403e379d3b8d458e8cc5dd30c87d074532e911269a913eae590a4f8d0bd7123e891269859c3b8746dc440f33df10b2e13eb0aed98fa20514f3b64bc576f13fa82820a9170c6dbb7c4e6980118293a8ca93d15e068fc1115b808f3be87f1721250d141a909f3649a101244fd4935eafde59fb49e20eac556b1af5ba1c188c8d31e837a579dd7262117951f7e9623d4b426c2d948d23f571bacdb32b73cc5a58cfcc6528cfa87", 0xde) [ 166.391828] EXT4-fs (loop2): Unrecognized mount option "4=”‹" or missing value 00:35:43 executing program 0: syz_mount_image$squashfs(0x0, &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:43 executing program 3: socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$l2tp(0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) mprotect(&(0x7f0000006000/0x1000)=nil, 0x1000, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) ioctl$BTRFS_IOC_DEV_INFO(r0, 0xd000941e, &(0x7f00000002c0)={0x0, "49a7f707918eaa7e291d48fe003e045d"}) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) r1 = accept4$inet(r0, &(0x7f00000035c0)={0x2, 0x0, @dev}, &(0x7f0000003600)=0x10, 0x40800) setsockopt$inet_sctp_SCTP_PR_SUPPORTED(r1, 0x84, 0x71, &(0x7f0000003640)={0x0, 0x401}, 0x8) socket$inet(0x2, 0x3, 0x7) setsockopt$inet_tcp_int(r0, 0x6, 0x19, &(0x7f0000000080)=0x7, 0x4) openat$qat_adf_ctl(0xffffffffffffff9c, &(0x7f0000000040)='/dev/qat_adf_ctl\x00', 0x40040, 0x0) setsockopt$inet_mreqsrc(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='cdg\x00', 0x4) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 00:35:43 executing program 2: perf_event_open(&(0x7f0000000180)={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_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000340)='memory.events\x00', 0x7a05, 0x1700) ioctl$PERF_EVENT_IOC_PERIOD(r1, 0x40086602, &(0x7f0000000100)) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xbfffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$inet_sctp6_SCTP_AUTH_DELETE_KEY(r0, 0x84, 0x19, &(0x7f0000000040)={0x0, 0x6}, 0x8) write$cgroup_type(r0, &(0x7f0000000000)='threaded\x00', 0x248800) 00:35:43 executing program 4: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @mcast1, 0x3}, 0x1c) r1 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r1, &(0x7f0000000400)={0xa, 0x0, 0x0, @local, 0x2026}, 0x1c) bind$inet6(r1, &(0x7f0000f13000)={0xa, 0x4e22, 0x0, @empty}, 0x1c) connect$inet6(r1, &(0x7f0000004540)={0xa, 0x4e20, 0x0, @ipv4={[], [], @remote}}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0b411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4123a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55503a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb07accdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) 00:35:43 executing program 0: syz_mount_image$squashfs(0x0, &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:43 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$vxfs(&(0x7f0000000280)='vxfs\x00', &(0x7f00000002c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000500), 0x0, &(0x7f0000000580)) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) setsockopt$inet_sctp_SCTP_MAXSEG(r3, 0x84, 0xd, &(0x7f0000000000)=@assoc_value={0x0, 0x7}, 0x8) 00:35:43 executing program 4: r0 = 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) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) r2 = openat$cachefiles(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/cachefiles\x00', 0x40a02, 0x0) sendfile(r2, r0, &(0x7f0000000140)=0x6d, 0x8) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) add_key$keyring(&(0x7f0000000040)='keyring\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_ALLOC_DA_BLKS(r2, 0x660c) ioctl$KVM_SET_USER_MEMORY_REGION(r4, 0x4020ae46, &(0x7f0000000740)={0x3, 0x2, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r5 = ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x0) ioctl$sock_netdev_private(0xffffffffffffffff, 0x0, &(0x7f0000000080)="282526185e3dcc1d9e08fe66e991de60") ioctl$KVM_SET_USER_MEMORY_REGION(r4, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r5, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb], 0x100000}) ioctl$KVM_RUN(r5, 0xae80, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, &(0x7f0000000080)={'syz_tun\x00'}) openat$thread_pidfd(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 166.819516] vxfs: WRONG superblock magic 00000000 at 1 00:35:43 executing program 0: syz_mount_image$squashfs(0x0, &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 166.870237] vxfs: WRONG superblock magic 00000000 at 8 [ 166.914531] vxfs: can't find superblock. 00:35:43 executing program 5: mkdir(0x0, 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount$overlay(0x400000, 0x0, 0x0, 0x0, 0x0) setxattr(0x0, 0x0, 0x0, 0x0, 0x0) ioctl$SCSI_IOCTL_PROBE_HOST(0xffffffffffffffff, 0x5385, 0x0) bpf$ITER_CREATE(0x21, &(0x7f0000000100), 0x8) 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, 0x2}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xb) perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r0 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') sendmsg$TIPC_NL_UDP_GET_REMOTEIP(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000002c0)={0x14, r0, 0x0, 0x0, 0x0, {0x6}}, 0x14}}, 0x0) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000180)='nl80211\x00') sendmsg$NL80211_CMD_DEL_TX_TS(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000000c0), 0xc, &(0x7f0000000380)={&(0x7f0000000400)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="20002dbd7000fbdbdf256a00000008000300", @ANYRES32=0x0, @ANYBLOB="0c00990000010000030000000a00060008021100000100000500b59bd2000b000000"], 0x3c}, 0x1, 0x0, 0x0, 0x804}, 0x40040) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000140)='cpuset\x00', 0x0, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) sendmsg$IPVS_CMD_SET_CONFIG(0xffffffffffffffff, 0x0, 0xc0) r3 = openat$cgroup_int(r2, &(0x7f00000002c0)='cpuset.sched_load_balance\x00', 0x2, 0x0) writev(r3, &(0x7f00000001c0)=[{&(0x7f0000000280)='0', 0x1}, {0x0}], 0x2) ioctl$BTRFS_IOC_ADD_DEV(0xffffffffffffffff, 0x5000940a, &(0x7f0000000640)={{}, "7310f86e8cfb9ce2b19855a877b8689326768b7fc229c1547386aa8ab034ad6105b7c70bfed80cd39e5f1b829603003e53dd3a40b0dd72932849cb3581231723d81db3af42a6a2d4c24a0e7b35f5a36d595c0451174a0d428559c59675211a3c9cb3ac694d10e17de33a58770302eb9300d8083089dc7e0944c6255d2fbcc9715fe8014fe6f4e9fc64a18a8635d34673a8404d6abe065754c3bf7070a7e7102cb85296a83dac2893af3b457a622a2e35b0b739b2aa3ef333a60d629fcc4f4a6cf7bdbdc184c4fcfd5239973f317dd3ea8d3542645551d891a652c920f3f5f2600f73b9ce70b13af5127c6a39ea4c13951196fbb5dd006be55ee7bf798103a8f788a3818be5a4abc9f7272ca8344d9627b094986cde7623223f3baf8901399651667db7081aaa26787c6d2d6f680c1a230dcb1cd01950f76635d39de9bbab2d814979b216a074572dc2da85fae68ddce636fd0fd6b895a452a891daa6708cf36388b4411b24ae00801532b4a3d274925f7edcf3ca4c1426390e5cbe8be78fb0d9dd1e07d409d34c7d5d98ca4b29d69381e36ac50cc58fe16846ff910fd867a5c631e0588e546ae41f89516d59f52cf55fd5476d8379faf3722d079b7c8fc48dca54141b5e57eb7573daa2439001f44fad433945934a59540cc59a5060a893ec6e37433db326f2cd0e550333809f4042d3b3ee14d829188cf0dd7014e184f0830632ca490f6f8f67ed36454e1c8796f70fa947a97136a1bba1921e1f64a29a620e74f40bd3628159ed16086c16091bfd8228b9388eba42520b6c93bb8482c430654f9f0e9469f028e2aaba58377fa53a5a414307f1cc39c38b2c49562f4bd4584ff62e6c9cd2557755eafe3a515ed81f19d913340445e6037306c0bd64d77fd5971746e7f1a358e7c49929df558ee8cd04b7185eb8b27c6774c629ce4b6f41f96c9f971907b26864a4b2557bc7047bd5ff2336326fd961ad69794ee7e37b1068911382b0ba945a77d6ac857e9e7e7b578da35d45a53ad6f5ba39ffff724dca65af9545892b873355b9ae50208633ee0695af85aefcb97d4790cdc673da67af6dfa264996518551ac3b2c22ea760cb22634be6c7df44e62c30dfb98e51a6bd103efcd66082e36339f0dda2a5d51e17584ef44b65960253a13003fe029600bfc7c0cf5e288a83ff4386588d7cda6d1955a42fb4b55eb94d4d586c96933d93b279cc2fdc2cfec957803bbb258f18b7ce2fc09e48e9b4a12f577b79199883c8bf5298697911c4eae6c5e7fe1342f2571f2a2e363331600429abe1c9836129a00bc6a177d6a2eff2c09a9294f4c24b4d94b272f69ae6dd29c56ba0d368cfbeb53f8df5db36551561ed9e1c39c2df2ba570d70e76d064dfccfba9385336b11662d2f5534acaa324e7986545252034b2848e04c491a5a514ebb699b9cb93f60f9eed9b53875081302669e9cd0e23b2069075c0f424193cd0f4c78c4d943c79f7a3a997d7b48dacad5dfc4d59daf3e29e60fba7e462913fa52888a3f65a82b8a05e4cee4bc3382697f53f24969037360c9a04ecf2ffa0abab1c1cce515d59cb95196549c8d0c445bc47bfcc20bcc1885ba703337460aa734058e501995d9d1bc9326def170fdef62fecb6ce28ec0feb0915788775140cf1fd6910177cb139cb9b2e9a257f28371c880f06a7d68d7f06e92403a17ab5b855bfa39f095d572a67b6f88319b1d5ed54b3f2814aca50b70de59c37311b971e76a973c224de8835992c9392da5872e55f7f155b67f2caf13c0a04ffb330d4c0a63e4cae0fb1a7c204ebb69424cebe0346204b6200e4ef234076575c3d8d96ea778ec631408151fca1e9b796fee22c5f24e626ac34f705fc2661df6922720d88d8005abd47e0f9dafb076b1746a138cb23f8185de44edb5c9b1bef4ea639341e27e23fc9a82172f774dc8790d48f678915b40036d071137bf12c604bc885bf98a38aa273e0abea4b232f18c732205ac12d66a392d5ef4bf37239e09aace352657508739df6c226fe95ebb8dd4956c33c8785ecbc966ffa3e0428b4744e4523ed85d5d55c6f147d20acaaabaddfd156e2a72f1723cab472d6331f752853b7facf91f5e35a0cc3e3f94ad694eedf9a94a8e3618039ba12e1db37e04bbdc1108bb4556398c13d31763c1adc05dba13b0777b0a8fee74094a67a1d427079071b59a4e06ff5b712d45dbed1f5a5d54208b3fc0fe96c545d8a542118475a9e9575c2913ee1e1cfe4982dc7029944c4bc7d3cb0bdcf98bff27d112e9d7f956febd846ede01faeb217afd2d16c29f97aa22d99b54e4e5c1996b655250e0542588508a8946a1a8b8c7474bd8d63a4d608238d135c45f186efddcbafccd9941ab0aba4b18a7645ef57892071f4a3c076ced6601b78fd6a37a82486f95cfb2fe095d048f76ee7a392ab0de3b9b5c31d9e0e4d1f1979a9dd85a17d2be5f58c53addf12307bca23000428cd18519eaf757d643f5396f0ef8ebca182e8c3cef2604f2c53e39786965c71a7b67b5cbd66568a613cf947a84c547a4097caa07d253eefb74666e36d375437f834a7bf0e2115d59a2add08be68d2f13081639b6b947e2ce6e0d9172a9573bb8132e5cfed5dbbda34e7185b2200443d59c2bf8959d107890805814de2ef0a7d9871aa4f161a4413ba3e99eb8d0e2b81bfa706d32357b386270849181134048f9caae8a2f70eb5ac413ab167cd8a80b6b0738a70d3ff430df87a2105fb5c90aeded0d7969ad434ab6161e46fe5729ea3d396648d0d00931f2d080a7e335b2d33dfd9978e6e3982b0c52537d21d22f7ea732c216fbae233696683fca7bd044c51764d67670914952adfff6d019930d692da08091bc3c880002a4791c90bf9631ca363a9e759aabb4d987327202f1c83090807a0a950d62adac8b660d6dd7e21a0d95504eb5d17c0dcbf889d599a8c4e8802acb78df21da63e395225ac9aa44c3cfe04655ce632396cfc718581fa9c25ad75a414b107dd9979ab4562dca08599057a8b38fba435d6d33a331d08fe8bede1ce2d18145c689abd1ad5984ecbfcf3e29483f4b5a5190d88c83fbc35180aa068ed26ff19cb3e695441b70d4296bf6c50ab58a151836d3417ca75b6e1c3cae550a15be1f6241a69a48749a8c24ff51140cb837945e9370a1db15a91cfcc81a746ca962ecc8c737bdb45cdcddc3c27ae746ef7d9bed35fc83b8ce3a758fdae9b2c3f41fd24309d3f55c674b0e777ef202e2c0a7a0dcf944f5ee69a630ac666310b413a5d06d2899b511dd16a9617d2bf2e16fbb1667c7e742927d7dfda70ab03c32e054afa67b0c5affeeff4677caa8077452b0e463d779b0a6d8ce9268c2960edbfe6c8344f468155c0e0190c18470dcd53f0f0c2276e580aa6948d1b19050fe99d453bb620d3159e2991267a3052c3d62665ec2645624e34e7f7de46a7aeee3463f82f505a2345e479a156e6da8bc631abc2e6ec6777089e3b5a022f52dafcb6136ad20b228af63c2d5bb399c0ce388dc25b9b0810782e13d3212535d07b76d0f7c2569c9dacbd3115fa62b303d11143f1a33915cb422fbd05f7258b66bcde6ef7e968bdae265db0b5bdf9a2a58e5d6a0d06d887f8754890b7bae4966a0692f3b49087871e52a36c56f118a665e39a10e4e8b8cb30653a507655a377b90fbd225a386b6c58bfd7daad148f9ceebcfc8a10856c441f0cdb959f6bf18d98534d6a8f5e46c21ecd87b541ff45e52fff36144169ce21defa8419c8e81038289b5015c5049a51a8423910c1076b5a893ab5d94e922088dde1bfc516c6eac0f68edac682ddf3ee43eb9077870d9478fae3dbec38d955058293803255ff235172f0393be5c083eeba00e0a3d3ae36b2a4fbe067415c567631096e207f3a54a225beb006baea7fe760ab2548e96b7fe122d45e0b54ec87fba5ab358560c23f8abda439fe6ae0ccf444249661740349cc4ad30d89b7a93aec2ae24e28366c9fbd6d9adf0eb5eefd0c925219dfea508d249b8b575e772dd670ce187064c6f8b0d5281d3a64a703a5454ebc30802e3431efaf67841c1a33f74ecc10eb64be546d7d3b79e92bcc0db9ace14e52a21a5053697cc8716965095c06666e1c6e4fb50a0c5b510a874eae60a0ab7a4ba1fb337e380ad7c97711867b16c01c6b50f890e1ec058d0dd3ee899c98399381beb50b2e676b77061ff181242155dee60df4602420925bd19bc3010d945c03e941226f0b4ba880cd9d2cd692ab4d020b874860b94fc7a4d57dac7d027759469797c195a494f4f984e66c9700b549aed00d30b7a227901108c203843ce21eeb8fbf36b7b90a1673d5e5c151dd346b5cc2d1cb86329ca7379910e499a45d77111e6b73e9f6608ba628915a40e70d84b075ed010f965d90025c4f20cdba742d8b49866f39bbb4a649613c17d02960876e79468753cf989c7dd68c0582e1956519d19112b807130b98e3e6229485a21239ef0a5cfee6bd700fbc3609fc806a6909da735f585b7fffe561ef600769a105e5cac2079ebb3737c7fa13bf7cf2c3d6a7f71875882dc09902171e694addab951539211aa698c6baa8d1857e385342eedd94380d4a45442fd87012f59122ec9ed02db22942a723e6f89692a1c7383afd8622cc8ea3cb428a7d8e141fdd05e069191bae5eac669b23dfc017c4608544a0ea16571ad530ad1b6c0d319b5899cf75af2de5ae5a093c0a4fbfcba6453087355c00a67ff238d78887aeda7d3b0fd566e5419d95c89c2c1f4bacd37bda3857b8a9f96f5870f0c921fe1db13ba8c9601f5300ba589eb47968e037dc2cd4d47d952dcfed59c1101a7b9a078e25406f0c77b34207fda27574bdda9799d52fa128043c19c96ada137238d75e3363e07d4e72d97e917c103d838d3a5a18f3054ca85d3675f906397e5aaecbe41447a6cbbee4b20cb57ce2f5693a822dd31c12f7cee9f7b743717e00058f3c12468eca3eb9a10b4bd3ed075690a52a5fceb16631de56da8218e5a77ab20ba06fb8191cedf85758d71b5d708fc0df88516c9dac753f73fac7c0a98d13c21229ffb198e881db2386e81ab74f05c308ecf7c03298fce5c36ee04054b995a1bcd7ececa238f08d8940e349073941f08c5e055b577fb2692bfe7d03233a6d9115a422196a8c8f720688b73a26faa880da3ab02135689ae84baf02377201a8caed4ec6092dfa094fda57ff9b638c6dc74204baec17d9ade62d961eb5f1f413011ad67bf1eacc3d25d88a191ad8f137b38495168ef12e549ac9cc6fddcb27d4d3ccee6661e91c65d406c68cfd4cd5d21ad87547f9a7394c20c8c6431f6d7405f0f22e785077a1c519f8d8f20432683b80054b721c330f24a7c38b7eab3c487756861719bfc62b0747c4119c89a790eea27a05c42f351be0b4904e615c938b3128c2e696bab77b581a44ad1be2674243ce7ae3af6de9fc3b70b8b7cee5650c93359b78fffd6165758bc5e1111982fbed7caa536a9ea3da63ee03ac0d61fcc27bcc7e1a7225385d601b72379ccbbf89d58160e5bbf689ffc1206c2cdfd21f57a7b3fcd76c5b89df3810877984b0917b3da31aad0a6c4e6e714e9bdafe6f9dac53f64ef0df282727af04cb6f23b47e8e20224cc7b9e7cc2313e5dfd1e9719bd9ba69b1a2465237ca8e73fdda86b87c7f914dc3f4ba9336cd8a0af1d6a3d6be6ce04db4d0037d3a0635c3e40ade40c1d2e8c3db99b84d8018c9d94612a25cee55ea6457637ed5fcb05da781321ceacb79cc0490d0200cb502c3548e3a1aa2c325fb8d7e5e2a0bc5f0cad"}) ioctl$vim2m_VIDIOC_QUERYBUF(r2, 0xc0585609, &(0x7f0000000300)={0x0, 0x1, 0x4, 0x0, 0x27, {0x77359400}, {0x3, 0x0, 0x0, 0x4, 0x3, 0x0, "057d95f3"}, 0x0, 0x1, @fd, 0x8c07}) flock(0xffffffffffffffff, 0x4) [ 167.125924] vxfs: WRONG superblock magic 00000000 at 1 [ 167.131711] vxfs: WRONG superblock magic 00000000 at 8 00:35:43 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', 0x0, 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:43 executing program 3: syz_mount_image$msdos(0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0), 0x0, &(0x7f0000000080)) ioctl$VT_GETMODE(0xffffffffffffffff, 0x5601, 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) r0 = socket(0x1e, 0x5, 0x0) setsockopt$packet_tx_ring(r0, 0x10f, 0x87, &(0x7f0000000080)=@req={0x3fc}, 0x10) r1 = socket(0x1e, 0x4, 0x0) sendmsg$IPCTNL_MSG_EXP_NEW(r0, &(0x7f0000000240)={&(0x7f0000000000), 0xc, &(0x7f0000000040)={&(0x7f00000000c0)={0xa8, 0x0, 0x2, 0x0, 0x0, 0x0, {0x2}, [@CTA_EXPECT_TIMEOUT={0x8}, @CTA_EXPECT_NAT={0x64, 0xa, 0x0, 0x1, [@CTA_EXPECT_NAT_TUPLE={0x14, 0x2, 0x0, 0x1, [@CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x3}, @CTA_TUPLE_ZONE={0x6}]}, @CTA_EXPECT_NAT_TUPLE={0x4c, 0x2, 0x0, 0x1, [@CTA_TUPLE_ZONE={0x6}, @CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @private1}, {0x14, 0x4, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @multicast2}, {0x8, 0x2, @rand_addr=0x64010101}}}]}]}, @CTA_EXPECT_CLASS={0x8}, @CTA_EXPECT_MASTER={0x18, 0x1, 0x0, 0x1, [@CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5}}, @CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x1}]}, @CTA_EXPECT_ID={0x8, 0x5, 0x1, 0x0, 0x8000}]}, 0xa8}, 0x1, 0x0, 0x0, 0x4000040}, 0x840) sendmsg$NFT_MSG_GETFLOWTABLE(r1, &(0x7f0000000300)={&(0x7f00000001c0), 0xc, 0x0, 0x1, 0x0, 0x0, 0x801}, 0x4000) setsockopt$packet_tx_ring(r1, 0x10f, 0x87, &(0x7f0000265000)=@req={0x3fc, 0x0, 0x2}, 0x10) sendmmsg(r1, &(0x7f0000000a40), 0x8000000000000b0, 0x101d0) socket$nl_route(0x10, 0x3, 0x0) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$FBIOGET_FSCREENINFO(r3, 0x4602, &(0x7f0000000280)) 00:35:43 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) pipe(&(0x7f0000001740)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = syz_open_dev$audion(&(0x7f0000000040)='/dev/audio#\x00', 0x0, 0x20042) r3 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000180)='NLBL_UNLBL\x00') sendmsg$NLBL_UNLABEL_C_ACCEPT(r2, &(0x7f0000000300)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x20000000}, 0xc, &(0x7f00000002c0)={&(0x7f00000003c0)=ANY=[@ANYBLOB, @ANYRES16=r3, @ANYBLOB="00042dbd7054cb47f0b5cc61b4317e5cb7473a7a0bf529e2d974c99742a2945319e2e466f5f02422629cfadbdd42e71efa70f2f60e155016ae5ae9f76fe870b694482f0a2c77f9f15bfb7d5ad83b21cf658b0000000000"], 0x24}, 0x1, 0x0, 0x0, 0x4004084}, 0x0) sendmsg$NLBL_UNLABEL_C_STATICADD(r1, &(0x7f0000001880)={&(0x7f0000001780)={0x10, 0x0, 0x0, 0xa000}, 0xc, &(0x7f0000001840)={&(0x7f00000017c0)={0x54, r3, 0x400, 0x70bd27, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @remote}, @NLBL_UNLABEL_A_SECCTX={0x2d, 0x7, 'system_u:object_r:system_cron_spool_t:s0\x00'}]}, 0x54}, 0x1, 0x0, 0x0, 0x84}, 0x4000091) bind(r0, &(0x7f0000000180)=@generic={0x11, "0000150000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b09000000000000001a4ce875f2e340b7679500800010000000000101013c581103b34c0d6327ecce66fd792bbf0e5bf5ff1b0816e3f6db1c00010000000040000049740000000000000002ad8e5ecc326d3a09ffc2c65400"}, 0x80) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x69) socketpair(0x27, 0x4, 0x5a, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_COMPAT_GET(r4, &(0x7f0000000380)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000340)={&(0x7f0000000240)={0x24, 0x0, 0xb, 0x101, 0x0, 0x0, {0xa, 0x0, 0x8}, [@NFTA_COMPAT_TYPE={0x8}, @NFTA_COMPAT_NAME={0x7, 0x1, '#F\x00'}]}, 0x24}, 0x1, 0x0, 0x0, 0x8000}, 0x0) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = socket(0x1, 0x803, 0x0) getsockname$packet(r6, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)=ANY=[@ANYBLOB="680000001000030400"/20, @ANYRES32=0x0, @ANYBLOB="ffffa888000000002c00128009000100766c616e000000001c00028006000100000000000c0002000e0000000a0000000400038008000500", @ANYRES32=r7, @ANYBLOB='\b\x00\n\x00', @ANYRES32=r7, @ANYBLOB="0a000100ffffff66d009163361f1490e057c3354ffff00006dd94582bfae66c137290465faf78f46de4f9aa465e170348fe6e108f936ccff1a6dff94817f0594070dc42cee6e0babc9d558dc4a9654f6301b90ed68322db4f31e76d509958103604e1b355e2c3e18e5f65a930474a0973663f5e06ba95b31e711d66b7ea3098f31cb2979a12e8b7d0a77012324fa3c7e9b9cb31c00"/160], 0x68}}, 0x0) [ 167.177306] vxfs: can't find superblock. [ 167.187644] new mount options do not match the existing superblock, will be ignored 00:35:44 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') ioctl$KVM_GET_SREGS(r3, 0x8138ae83, &(0x7f0000000480)) ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, &(0x7f0000000100)={0x5, 0x2ef}) 00:35:44 executing program 1: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x5, 0x4, &(0x7f0000000140)=ANY=[@ANYBLOB="b4000000000000007910a80000000000a5000000000000809500000000000000a87cec142c8a5010c39307f362e8161c621421e4fb7fb9121a69c96e3e482176c340156a0910a2f0bccc45eaed131590a1fb2d9c966d68246bff56f17dec6978822ee1016450abd325f1c9dc0c100372acc706f3bf36e030bac9a54c13b6a0675ee5f59a435f6b2cc522724e978b4436352e6e36484f7b1e315525ff78f3a5628f6c9ad78bdfc7ec87ad5ca1cf28d8ab9ca47cb2c8b50b71a68f0d65efd7dd2fad8df1fd1077cb11e9690874d774378507b2f639332c8cae5c87a336a817dcde"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x2, r2, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) ioctl$CHAR_RAW_ROGET(0xffffffffffffffff, 0x125e, &(0x7f0000000040)) 00:35:44 executing program 5: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x8a304, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xd}}, 0x0, 0xf, 0xffffffffffffffff, 0x0) r1 = signalfd(r0, &(0x7f0000000040)={[0x3]}, 0x8) write$P9_RLCREATE(r1, &(0x7f0000000100)={0x18, 0xf, 0x2, {{0x40, 0x3, 0x3}, 0x6}}, 0x18) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000180)='./bus\x00', 0xd101297ad5930baf) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0xb1) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./fine1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') ioctl$EVIOCGSND(r2, 0x8040451a, 0x0) setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f00000006c0)={{}, {}, [{}]}, 0x2c, 0x0) r3 = gettid() mount$overlay(0x0, &(0x7f0000000140)='./bus/file0\x00', 0x0, 0x2024, &(0x7f00000004c0)=ANY=[@ANYRESHEX=r3, @ANYRESOCT, @ANYRES64]) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x3425000000000000) ioctl$UFFDIO_COPY(0xffffffffffffffff, 0xc028aa03, &(0x7f0000000340)={&(0x7f0000feb000/0x13000)=nil, &(0x7f0000fef000/0x1000)=nil, 0x13000, 0x1}) getsockopt(0xffffffffffffffff, 0x0, 0xce, 0x0, &(0x7f0000000ffc)) openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000300)='/dev/snd/timer\x00', 0x800) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000200)='/dev/ubi_ctrl\x00', 0x44e82, 0x0) [ 167.313583] new mount options do not match the existing superblock, will be ignored [ 167.469865] overlayfs: failed to resolve './fine1': -2 [ 167.516783] overlayfs: failed to resolve './fine1': -2 00:35:44 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', 0x0, 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:44 executing program 5: r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000380)='/dev/btrfs-control\x00', 0x200000, 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_PORT(r0, 0xc0a85320, &(0x7f0000000400)={{0x7f, 0xa5}, 'port1\x00', 0x42, 0x402, 0x7, 0x0, 0x7f, 0x8, 0x5, 0x0, 0x0, 0x1}) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40004, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000d90000000f0000000100000000000000000000000020000000200000200000002cc4645f2cc4645f0100ffff53ef0100010000002cc4645f000000000000000001000000000000000b0000008000000038000000c20200006b0400000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e3338363633343038350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000d9ca5cac99fd4329af4dde786c1a5d13010040000c000000000000002cc4645f", 0x10c, 0x400}, {&(0x7f0000010200)="0500000000000000000000000000000000000000040100002b", 0x19, 0x560}, {&(0x7f0000010300)="000000000000000000000000000000000000000000000000000000001481910a040000001400000024000000d9000f000300040000000000210d5cf20f00e6ef00000000000000000000000000000000000000000000000065789ee9", 0x5c, 0x7e0}, {&(0x7f0000011e00)="00000000000000000000000000000000000000000000000000000000520b0000ed410000000400002cc4645f2cc4645f2cc4645f00000000000004000200000000000800050000000af3010004000000000000000000000001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008669", 0x9e, 0x9060}], 0x0, &(0x7f0000000040)=ANY=[]) r1 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r1, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) ioctl$int_in(r1, 0x5421, &(0x7f00000004c0)=0x1) setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000300), 0x24, 0x0) r2 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r2, &(0x7f0000000140)=[{&(0x7f0000000280)="580000001400add427323b472545b45602117fffffff81004e224e227f000001925aa80020007b00090080007f000001e809000000ff0000f03ac71026000000ffffffffffffffffffe7ee00000000000000000200000000", 0x58}], 0x1) r3 = syz_genetlink_get_family_id$nbd(&(0x7f0000000080)='nbd\x00') sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000140)={0x44, r3, 0x10, 0x70bd2a, 0x25dfdbfc, {}, [@NBD_ATTR_SIZE_BYTES={0xc, 0x2, 0x7}, @NBD_ATTR_TIMEOUT={0xc, 0x4, 0x4}, @NBD_ATTR_DEAD_CONN_TIMEOUT={0xc, 0x8, 0x40}, @NBD_ATTR_CLIENT_FLAGS={0xc, 0x6, 0x1}]}, 0x44}, 0x1, 0x0, 0x0, 0x4}, 0x40d0) openat$fuse(0xffffffffffffff9c, &(0x7f0000000340)='/dev/fuse\x00', 0x2, 0x0) 00:35:44 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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$bfs(&(0x7f0000000000)='bfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="cefaad1b480e0000ff7f", 0xa}, {0x0, 0x0, 0x200}], 0x0, &(0x7f0000000540)=ANY=[@ANYRESOCT]) r0 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r0, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) fcntl$addseals(r0, 0x409, 0x5) [ 167.866708] BFS-fs: bfs_fill_super(): loop1 is unclean, continuing [ 167.909944] EXT4-fs (loop5): mounted filesystem without journal. Opts: ,errors=continue [ 167.939290] BFS-fs: bfs_fill_super(): Last block not available: 63 [ 167.964359] EXT4-fs error (device loop5): ext4_validate_block_bitmap:384: comm syz-executor.5: bg 0: bad block bitmap checksum 00:35:44 executing program 4: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) r1 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r1, &(0x7f0000000140), 0x0) r2 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000000100)='/dev/ttyprintk\x00', 0x22000, 0x0) r3 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r3, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r3, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) r4 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) perf_event_open(&(0x7f000025c000)={0x2, 0x70, 0x15, 0x0, 0x0, 0x0, 0x0, 0x1, 0x824b0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) pipe(&(0x7f0000000200)={0xffffffffffffffff}) ioctl$USBDEVFS_RESETEP(r5, 0x80045503, &(0x7f0000000240)={0xf}) r6 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r6, 0x6, 0x10000000013, &(0x7f0000d06000)=0x1, 0x4) ioctl$TIOCL_BLANKSCREEN(r2, 0x541c, &(0x7f0000000180)) setsockopt$inet_opts(r6, 0x0, 0x4, &(0x7f0000000000)="8907040400", 0x5) setsockopt$SO_BINDTODEVICE(r6, 0x1, 0x19, &(0x7f00000000c0)='syz_tun\x00', 0x7) connect$inet(r6, &(0x7f0000000080)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_tcp_TCP_REPAIR(r6, 0x6, 0x13, &(0x7f0000000040), 0x4) sendmmsg(r6, &(0x7f0000009480)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB="950e7eadae3441714c930248fcde22a84dba22bad65e50b9a4a5beaaef3edca842b7ab56ca30fe0000000000006066af114b3b95ea66600292c99fda76222b3bea731bbf02000000000000000000d33fdb36bc2f2f21e8098d10095c4e8fe1f9b458252b5e90ed563ace5f9d5a1f67780a06c42f26cb8d"], 0x10}}], 0x2, 0x0) 00:35:44 executing program 3: ioctl$TCGETX(0xffffffffffffffff, 0x5432, &(0x7f0000000040)) r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x4e20, @multicast2}, 0x10) setsockopt$sock_int(r0, 0x1, 0x3c, &(0x7f0000000000)=0x1, 0x1039c) sendto$inet(r0, 0x0, 0x0, 0x20000000, &(0x7f0000000240)={0x2, 0x4e20}, 0x10) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setreuid(0x0, r2) sendto$inet(r0, &(0x7f0000000140)='|', 0x1, 0x401c005, 0x0, 0x0) 00:35:44 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', 0x0, 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:44 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000032000/0x18000)=nil, &(0x7f0000000280)=[@text32={0x20, &(0x7f0000000140)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442c06000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0x51}], 0x1, 0x0, 0x0, 0x0) r2 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x28880, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x20}, 0x0, 0x0, 0xffffffffffffffff, 0x0) openat$loop_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) r3 = 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_CPUID(r3, 0x4008ae8a, &(0x7f0000000640)=ANY=[@ANYBLOB="03000000000020c3067d310002cecf0c6b00000000000006000000000000005b01000000000000ffffffffffffffe2102000f2ffff0720000a000000729f9fa8e549f76593f7e085e7"]) sendmsg$NFULNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80}, 0xc, 0x0}, 0x0) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0xf1, 0x0, 0x0, 0x0, 0x20000004cb]}) getsockopt$IP_SET_OP_GET_BYINDEX(0xffffffffffffffff, 0x1, 0x53, &(0x7f00000000c0)={0x7, 0x7, 0xffffffffffffffff}, &(0x7f0000000100)=0x28) ioctl$KVM_RUN(r3, 0xae80, 0x0) r4 = perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x8, 0x0, 0xa, 0x0, 0x3, 0x1, 0x0, 0x0, 0x0, 0x1, 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, @perf_config_ext}, 0x0, 0x0, r2, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r4, 0xc020f509, &(0x7f00000001c0)={r2, 0x6, 0xfffffffffffffff8, 0x780c}) sendmsg$tipc(r5, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000380)=[{&(0x7f0000000240)="b8a8bd4f0f4efbd01ffd4abde0f42449a237", 0x12}, {&(0x7f00000006c0)="d21694bc2dae7b25b3e405f4c8aa8b3a91d93678c1531c2a65d05e5c60817553cd5515f1a4d42e3950c9fd7fdbd8b39bd30214cd75190cc1f018de7eb8ecb68fe977581674a92b7b3df53a3d09a0e00fda0b8447dbf5e284f266d4765bb2fea8ffb0c9eee88c81e2ae96ec202175a593559f0fe34620b430a46b4a87a9584fe26eb487e2a67919a1d0bbac3529b5a5c4b2b4bce51c7434bd55f123c60097b698a746cb79e517875b1426b6b5ea8e271f306bea9f03c7d8c660345e6f5043c127160bff7600ae7fd32a844c77ba4198334fcd3618f6f077fe221a4cace372db3000f4236fbe61b8194847c9a4158c4b5779e3697715a6e7b70d2433086aac4ce0ec634ead7f6eed56c886e94e00ff8edd5629552fdf7dbd81e554707be0ada175f9989681b77b2bc552ccd88f1da6e0c070a387aba363795b779470d76b8860bde084a66ab0f21f6a02dd45d19abbf7eea39329560a5e44ea51ab12d85fc1914927eff8acf5baba4cea2c4e92ea2101bbfceaeed121cdde8c5aa826e445b7917fe73e4248165b4ce1fa8e5ad265395c73ee4d91e8414561166d896c4832655b048a36a2719adab538c97d2859c8e5ecb1d33ed3d20bdddfcd6e7bce2b99320635704d5501da0e59a416aa76800d9e6d92e801311c65f35459342381f04b08842433dd96f8dc2276f02d3bbb8b29ebec32ca1551c1b60c04149668f0c074090cd9192eafc26740ab23bd632fb889589b385117559322fba7a00878b2d5c3eb8a74d149ba94a9e345636296ecaf2cffea32d345a920b47f31afa0ef40673815349539e53c0aae489bbeb6894c1894bb97afb9b1a4a3b56ed3138f4b807dd5ef8dca05385056048584f8cf57a0db83eafc23235d67b9ff11e41f1d4988ae146074ce1112db93a650072f56582701bcf8536581fc0cb761221d3dfad90c12bf1cc945eb476306926cc19e0ba7c676e81274350f0e7d7e677d5ea79f9ef4840bc68eeb619c2dbc5f8cc08d645a9bf0a03ec65cd580319c218e3ffe1061311fd85c80dc476fe4d7967e942414e158aba5f0cc36d9f0c3b36c10dfcbe15001bb23df849378958e37d83e67193b4d1dda4e9b293d4503cdb38940060c571bd380fb4b7fb244518e5642a2ced22554f06c175b1fda410862b08421e2687eaf42cf22072feb26f7b467816c987af7699356f3846dad78a25d51b09600a8e2e992b7c4e19b8413075e2312a2c59c9a789a807c63cce4f35a6730d3c206694c3fd280892460f6bcb9de1f342bd736ecf5d8a554f420e57198bd7ff61fab7fc4c630938a1db633ea2867bdaa808d1f1b3faaa7ceb60b6dd9159d6e65d657134a1e8025377a5b9c2507ba723822c949d3ed31dea50c828bd6506e4e8a3d191b358a3ee1a732beae9a17c847f76e703a8c6a33975934d06e29d957251df79401ae812a8a1000f4566d7c625d8d2148a9490aa9c9a1109057d14b689915b70bd6940a78b70d55d1998a9b04a7c2e2e41db7cd9be01f69de68b3756ef34996fb03f5a7443b759b8053b8d8013ed2fa1110a3393b6bbb0e3af90078b96b7386812fe2e729085f005d86dc2864c4915cb9bd0c12a11c0f601aec9b699b801fb943cd144c4d5d6c07d79e2eadee1113192669ff39effe807356333b65da929e66db77262d5d11bb888959cbaea36cc792dd610911dfc54e22cc6fe58ecc1c2b7e941c6a9bbc7f965b8110a5296ba2f3e9ce266aeaf90310349e7ff98dc1ba841c41e6935c9b453f1adb939db1e4149f916d6f735d8cfbdafb973faaa6cf296a14ab6a13997df3b4227abcb68ddfe992de969fa974f7129d85360365eafacadaecc9e7473d8eb5902ffcf2f4ff08c726d5446f3030fa19f6d3b1a619bb37263602e1f47ee9ed733d9f4525d7974d0472ddba10e54e52ea2b42d259447b8b6d4eb1c6f260a4f55f4a3fa1b38f8eaf91a9db9fbc7c00c178a4883da38aaadcee05986810d9df929d688f135e3e2abfdd22ee8b682104b965b88be119a6905e7232f681a41942081106b05f7d2bf0cd5cff37e0d2e1b9835095283602fc28ff5403c83bc04b9cc8a4a7e9a6df7643b2debff01a2e94041c39e36340756a0d593f65fa531b663c6b8228702a5a38d8acf6e55b532edc6b01f03a5fff4d2c5b30da334a113136a4f11618902e826811647aaaf733c7aabd404baabf8f53d153fb44c0e9f2e0be299a2f8df9215b0b1f5d32eca4369dd5781c34c212bad243624e92053ff17afa6f12a24bb4814bbee2032f95a73c6d5fb28046a80d0e6ffe2fbd6afc07df68910fd862eb20993fd5a6d9198f975a0ffd0a6e966fdb9673fff728c448b5b134c7f4b7cfcd7522c73e8f529ed0e9b51fde75c0b20646f7c6d4ac1d09731ef1810f653f2e0038df99f1a7ce306d430624de54aec31f40a95ff5e45c41e38166c2b90bc2e350f3ae122a60ed91b0bc8547d2edb9d804c1d6414812c4d29802bd2f7be2628840ba016e23581e6d598b645354553bebf67fa465bf136b4b5cc0d3795b397cbc79c4b9cbfbcfc8f86d11ac1a4215693f38e5001410352e8ff83e149e62663dd6a72bcf357c3df6ef2e8f105ccbb72dab632b781be8ccdae24f2d8bc9fa71be5b4e9da658832777ed2472af65d8866aec9de3f32cf28e0b6d4441114f06dca5356922c9c4fcde19504993a789dd882176e82124fe2ad070b305597fa24d8bc0ffc56bcd8b7207be4f9a8d25e265c10eada27f1c3c8375b588a1b2de3408cbe9fd524c6ccf5e22b190e72e2ed7cf624f6b70d39223157c151de2343567c9d3b4f802c1f439eea575051c823ee2c37b84666c8d9639bd064ef22918cd5f27658a21681820156b08efe7c0236bde3334471b1422d4a8fe81cb5063da2f7d965d66419b55fcd0568d6f6b823c92b533de8a11e5afc6b5f4fa23cbc1a8d1f8b70bb91029dec57757c314ed80136da9a37ea0213ae7a03942d67c5bea82aa76983639561c8d85b1f495c3bf3ea35b6834fc61f8bb4eead2b4b402ab3835a4e509c99c837dcc655c3e5609b5647808bb0d462750f4f9759b18f823d9393b7465b378b7af6f097d2f1e88025c583bf7551a69c08211803d11eec099c38f8b081f517764596124cadb1e86a44b30dd1f3de78912910b60bc6bff1b8cae97c697c0e6a8c43a8b091268c9ee96a5b53d433372386924d49934f3301669bebbceb705d77a4a52dc8e55d4c80fa51fdcdf38abd4e81791675fdef5c189116305b1a47a4473634854f3bcc550cdb139936aff0dd24420868245b5f2b4b2ce52ece9ff4cc1f6c1db0493c2f116e18bd38747f0a4e570e3bed200200d891c95acf03d42e88b0507e1dc3c55c3926144d6e64ed6fecbd32130d5c1f345c45fe11f80121db7a2b1b9dbbd7519e5a17cad6fbce550e7fa7209d4697de076926ce502f479166b224b1dcf7bc32ef2d80fe751684a983f1ce0231adae82566fcf86a528ae305f1c6d8c50f1fb7d9c13865aebd363ef0e0a5bc63013c5550bd692af3e88c412d251a8dbe7cb3d525b849186bd6413e507448081ead5caf083d383aa29bff35df91be32372f90a225a7faef66044ce0b01cc7e527edd1f8cad94a7e9846d1bb134077bde569ded42f3d177319f891348974dc93ded41be617d14266ea936dc9d1c9e1863d2347767ea3972ab8ebd52bcbc2c8465c2d689bcc7ff864d4b5ec55a6180970914bd6f2168c16790355d05c1c761dd3201c03b0e454445db1a7b116cb6c5b3215bd85d29149d234cb645c13c751952cc39e8a832a0de0c5486f188edd07f2b48333b32ef53839a65a66156122bae9c26c57b61bfd71c9556ad2d413c03076563740a85f9919fcbfb8a8f6e64c3aed28d1815e0a8a8d763b10e6f2da24faaa4140e1cea1b28e1372df586095fc3a6b42ddb27629703eb16cf2a512b5a403ec00b78eb7d9df26c53b96fad7f68af9fb7fb549afceb3136793b3f59054ff02942b3f89119cd4e85feec9c824f0f9fbca8a4ef1ca9a3f2e59a421b1bf28f46f1ca1ce6ade2e4fe0bfd80b9fd0b1fc43024aaa11bd7c69afba01e973b98d30a33d139839bcbe6f958f9d84b19424007b002101f9abb5e8d71627dc090775d661e9801c7510c0753521f5964511b0249eb07cb898023ac446fca087b74d5c5f89475707c8314d7541ef6c99d0b60832c378d6735534d43c7e54cf524ba3574aadbff1a448930cdf8fd30d2b5120aa118c0498860c019ba55e79dddf38ba139deeeba6038ef677f02b0a24abcdcb43c21e6cb316a95faf1744fbf974d4d177001f8589115876a51b484d99be5bf0aaf5c1e3101b9276dc40db1f2f8e21dedde850d2c08ed4018990eb781550e9338035a5bef72d7bdf62593d1253d7550951161388880602c6f0538847c47a62f00f9d3d773a4f2b1ae66b871b61740bd5af42bb7639793bb3e223649e200536546aaaf88965006a328697b91327e4566ca8657738e68ae0cedbf2ff4b30206d3e90e9b3f4c854375b2791b89b0b89040fe37a0524ed9f000e81de5c71b58b5ce2191e28cfa4857063fecd6da5c42185255c213c330a2249484a6052f7582523a7c0cd6781e00da8f8786123ed84b4dc68ec166dbe1a550cde93e5779245423b4b8264331bae448d122085d0f15293c35ba94bb4d3f0e7c9d754e751ea565f8a36f331eae2f2e0c8747316e49db86b926eb1db6b171a50c3f10ff63c9ad7d884072a17d578a441ecdf8b16062688fc43c4577be0e6ffd9fc1d91f16cb0f2ac38ea068c8255663b7c2b372e04f5396a8c1894128a3d2fc80605f90d30c3b15c4b015fa93d3b2b83290966f58bf75116958b536d3e24c8ee1206066ff7a8dcef094765a32f0287d7557a0d094ba36ce1e09632000555c3333266ab085190a7ab59b50c267c50cffe5d7d7831985d5b2845ea13bd5c3b68dd422fd3935c0b2a76b5aa25d7215d3503cefe3021767ad4612d987e21b7e79d551d686eae821984cac68d8d8ac6ea77b25847a3d9e21819fc9098ab0bab8a227676db8761753c8a2249cc8e6cc38b46451b9e13d33c203da103e280a1f1db863a74d55303e9f2c90a8c3c803de0039e27525f976d70197a0f9397a418027c7b323764cfb6202bd156c8878676e893fda838ab35d5ec6625c77db0eb25120b67bfb221477f7c9db3945b370d55f69a59c13fe345d42c6051d33a28eab07cfeca0084b299526ea1483b4916c1f82b355143cd745f44824b8032f95b5d792cb7088a9e45ce9651101ecfd2ef3470783fa5ef4d18d13223b305b28109f7c89cb5ca0ab23fa1dccfb962917caf940b46c13cd20fc8c78ca684f080e25e0f9d1008e715d2a9f12f6da69b429fbe813216803cd5b144fa26498ea288daaa0793afb48978c1da25ff4b97a376dfaab7d4db501093da75a9f4073a5d0f47a6edcaa0cdae908d65fe66cb95466049c3b0e723d2e92e33ec3677f16ea7a5737853edfcfa59aa06e5440e00b55cb65b15fcd733b1c1094458ea9fa772bf95b272d23b4ad87bc77f8d9386c043c5b0fd71e1d50704ec2f3326382c1d350946030c13786d11eb1cb34fd9816f0338d5da6540c028203fb6df0fc9a079f79d8cffa191a1df2b0f4e605e66ccf574f7b81dffe7e0ce92f385b5d574d28b8a7babe76602beaea708abf4462602f6d50f50b4e0b23503c839f41418352cd421cff81cd01cd22f0eaf4ed91538bf358373f9c848023e9f97df3d90dfb33cd3d9887bd9d2be8788dab36e3b5c4d4bb7f13afc3de6d083e37fb2e7f6390bbe5ca6bfe960f367130f432d52c3ad0906ff", 0x1000}], 0x2, &(0x7f0000000400)="6c7e0f28d5d17c8ebd8775e1a0f673f9c7e567cfc0280797a19ab99175396d3200031ad774adb1f1a9bf262719b2ec4e0721a862562837e5ccba60dc3295096240de96c6901d96659361cfa7fde5c8927d13d3b08d3e60048729221ee64095838349f37b0b393d7c4abc4a9be913cb6d7e7d423ca453771baec6e9cb4b4d661385187a35dcd347f9963453321a3b74680824f9eb3551a5a7fd54f1703f1fd6e2f4bcf9580769478e391a526247a84a799e902e33cdc8bda6ad", 0xb9, 0x40845}, 0x880) 00:35:44 executing program 1: r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) setsockopt$netrom_NETROM_T1(r1, 0x103, 0x1, &(0x7f0000000000)=0x3, 0x4) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000940)=ANY=[@ANYBLOB="e400000010000104000000000000000000007a00", @ANYRES32=0x0, @ANYBLOB="e240060000000000b400128009000100766c616e00000000a40002800600010000090000700003800c000100fc010000030000000c000100cf000000050000000c00010000000000040000000c00010000010000030000000c000100faffffff560000000c000100fcffffff050000000c00010002000000080000000c00010020000000060000000c0001000000000005000000280004800c00010001800000050000000c00010004000000090000000c000100070000000900000008000500", @ANYRES32], 0xe4}}, 0x0) [ 168.253295] 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. [ 168.271508] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. 00:35:45 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 168.426758] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:45 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') ioctl$KVM_GET_SREGS(r3, 0x8138ae83, &(0x7f0000000480)) ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, &(0x7f0000000100)={0x5, 0x2ef}) 00:35:45 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) 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_bp={0x0}, 0x0, 0x100}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_create(0x6, &(0x7f0000000080)={0x0, 0x1f, 0x0, @thr={&(0x7f0000000100)="f54c506c304c23da4fdc4b6c4d7bf8690b5c846787ef0c1c1a244a1c6599ad426c27072dd8c46edaecd302d46e67b122c236f475d232f67d14f29e7f4384bb3e2388eb694fefc9b62ce78ed38a2c99a17202ba4d8d059ecfac6d41fd4805d023e30861e5cda9b881f13c9e364e49def55ba7c1cb", &(0x7f0000000380)="a8e351b6c73843f3c1462dbf6dd16a1f0d93cec6734d8a1f787a094907a3eae65769535026a4bef2954a737cbcb46f77f552b8c8aa5feddf8813292f78774f0b5c70132848e81e7b85774f1020e891f7f9b4f095df446c2702992562541a5df4ed4b1b0aa42e4ea9d87703a64ee1563226c87f90f2b057ff5045a212a0fc1e26e5f8311022d8837df320ee9d4f07a300125b83b29fb846d98b01eebb83e6e914ccc530a39d6838d4046084b7de975ba298d9254127f4943e1179eccc06d19c4bd0f3ca67c20fbb4f4eb25b11b74f38204f91e59c4f9fc46a95820d6b6b7a0f0343"}}, &(0x7f0000000180)) sendmsg$ETHTOOL_MSG_COALESCE_SET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={0x0}, 0x1, 0x0, 0x0, 0x4000}, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) r1 = openat$ppp(0xffffffffffffff9c, 0x0, 0x20080, 0x0) writev(r0, &(0x7f00000001c0)=[{&(0x7f0000000040)="390000001300034700bb65e1c3e4ffff06000000010000004500000025000000190004000400000007fd17e5ffff0606040000000000000000", 0x39}], 0x1) openat$tun(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$PPPIOCSNPMODE(r1, 0x4008744b, &(0x7f0000000200)={0xc287}) 00:35:45 executing program 4: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$sock_inet6_tcp_SIOCOUTQNSD(0xffffffffffffffff, 0x894b, &(0x7f0000000000)) socketpair(0x15, 0x5, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_kcm_SIOCKCMCLONE(r1, 0x89e2, &(0x7f0000000040)={r0}) r3 = signalfd4(r0, &(0x7f0000000100)={[0x7]}, 0x8, 0x80000) r4 = socket$nl_generic(0x10, 0x3, 0x10) r5 = syz_genetlink_get_family_id$tipc(&(0x7f00000000c0)='TIPC\x00') sendmsg$TIPC_CMD_SET_NODE_ADDR(r4, &(0x7f0000000380)={0x0, 0x700, &(0x7f0000000340)={&(0x7f0000000280)={0x24, r5, 0xc15, 0x0, 0x0, {{}, {}, {0x8, 0x11, 0x7f}}}, 0x24}, 0x1, 0xffffff7f00000000}, 0x0) sendmsg$TIPC_CMD_SET_LINK_PRI(r3, &(0x7f0000000280)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f0000000180)={&(0x7f0000000600)=ANY=[@ANYBLOB="fe5edd94cea065f6681b7f447dcaba289f822bfd08b5a61b3960ef8135bc3f00000000d9212850eb6b00"/57, @ANYRES16=r5, @ANYBLOB="00012bbd7000fedb410000775ed220614abbbdab54004c0018000000017564700000000000000000000000000000000000000000000000000000200000ff7f00000000000000000013000000000000000000000000000000000000010100000000b615bd5be10ad1a50754fc07398bd46a136546e7663cb08e92659dbec5468d5cc8f89acc801bb50a17cb85d259abdb8f062b965d1e56340f997a68ed3c4a8c3befccb73f1860c10d8b7ad576e5a9c9d29d02d95c6346256fa94f6119cd98bcec57ecbb4b3492e4f8f601347176a1f0f3f1c33b901096f05645f2ad623f8eee448fe57c6ad4a5dfbe5826c2b700"], 0x68}, 0x1, 0x0, 0x0, 0x2004c081}, 0x20000000) ioctl$LOOP_SET_DIRECT_IO(r3, 0x4c08, 0x20) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f0000000080)={&(0x7f0000ffa000/0x4000)=nil, 0x4000}, &(0x7f00000000c0)=0x10) r6 = socket$unix(0x1, 0x5, 0x0) r7 = dup2(r6, r6) r8 = syz_genetlink_get_family_id$tipc(&(0x7f00000000c0)='TIPC\x00') sendmsg$TIPC_CMD_SET_NODE_ADDR(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x700, &(0x7f0000000340)={&(0x7f0000000280)={0x24, r8, 0xc15, 0x0, 0x0, {{}, {}, {0x8, 0x11, 0x7f}}}, 0x24}, 0x1, 0xffffff7f00000000}, 0x0) sendmsg$TIPC_CMD_SET_NETID(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000440)={&(0x7f0000000400)={0x24, r8, 0x100, 0x70bd2c, 0x25dfdbfd, {{}, {}, {0x8, 0x2, 0x5}}, ["", "", "", "", "", "", "", ""]}, 0x24}, 0x1, 0x0, 0x0, 0x4}, 0x11) ioctl$PERF_EVENT_IOC_ENABLE(r7, 0x8912, 0x400200) setsockopt$sock_timeval(r7, 0x1, 0x42, &(0x7f0000000300), 0x10) keyctl$clear(0x7, 0xfffffffffffffff9) 00:35:45 executing program 5: perf_event_open(&(0x7f000001d000)={0x5, 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_bp={&(0x7f00000003c0), 0x4}, 0x200}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000480)='pstore\x00', 0x2280000, 0x0) chdir(&(0x7f00000004c0)='./file0\x00') r0 = creat(&(0x7f0000000240)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socket$nl_generic(0x10, 0x3, 0x10) accept4$phonet_pipe(0xffffffffffffffff, &(0x7f0000000080), &(0x7f0000000200)=0x10, 0x800) syz_genetlink_get_family_id$batadv(&(0x7f0000000840)='batadv\x00') ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r1, 0x8933, &(0x7f0000000180)={'batadv0\x00', 0x0}) setsockopt$inet_pktinfo(0xffffffffffffffff, 0x0, 0x8, &(0x7f0000000000)={r2, @multicast2, @rand_addr=0x64010101}, 0xc) lsetxattr$system_posix_acl(0x0, 0x0, 0x0, 0x0, 0x0) ftruncate(r0, 0x208200) r3 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r3, 0x0) openat$pfkey(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/self/net/pfkey\x00', 0x82000, 0x0) syz_open_dev$ndb(&(0x7f0000001500)='/dev/nbd#\x00', 0x0, 0x218000) getsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f00000002c0)={{{@in6=@local, @in=@remote}}, {{@in6}, 0x0, @in6=@dev}}, &(0x7f00000001c0)=0xe8) read(0xffffffffffffffff, &(0x7f0000000440)=""/23, 0x17) 00:35:45 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:45 executing program 3: r0 = socket(0x1e, 0x4, 0x0) setsockopt$packet_tx_ring(r0, 0x10f, 0x87, &(0x7f0000000000)=@req={0x3fc}, 0x10) ioctl$sock_inet6_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000140)={@local, @ipv4={[0x0, 0x0, 0x8], [], @empty}, @remote={0xfe, 0x80, [0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xb]}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20c301e2}) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000140)={&(0x7f00000004c0)=ANY=[@ANYBLOB="50000000e99887b48f2b7909a943fdc83ec69f195432dfb982f909f5282c09203fa09912567c88c579a300a7373023beef03def035b8180cc99c04874a14519dcc7cccaa2ebf1ce684e2979c130f0b663835b5400cbb8be0afbf65c043d2f1d282fd6d882c501492fe344cbb2e983a4b1f4b5301000000000000e1dc33ef5d5a61661879a62a43cf3cb8f116288745a83b20e80110ada115d021fedf7cb1bbe3194200"/175, @ANYRES16=0x0, @ANYBLOB="04002abd7000fedbdf250e0000003c000180140002006e65747063693000000000000000000008000100", @ANYRES32=0x0, @ANYBLOB="140002006970766c616e310000000000000000000800030000000000"], 0x50}, 0x1, 0x0, 0x0, 0x4000000}, 0x40000) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0x89fa, &(0x7f0000000640)={'syztnl0\x00', &(0x7f00000005c0)={'ip6tnl0\x00', 0x0, 0x2f, 0x90, 0x8, 0x3, 0x9, @local, @ipv4={[], [], @private=0xa010101}, 0x8000, 0x7, 0x3, 0x1ff}}) r2 = socket$nl_route(0x10, 0x3, 0x0) fcntl$setown(r2, 0x8, 0x0) r3 = socket(0x1, 0x803, 0x0) r4 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0xa9) r5 = syz_open_pts(r4, 0x42000) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)=ANY=[@ANYRESDEC=r5, @ANYRESOCT, @ANYRES64, @ANYRES64=r3], 0x24}}, 0x44000) ioctl$FIGETBSZ(r2, 0x2, &(0x7f0000000380)) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r2, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000200)=@newlink={0x40, 0x10, 0x401, 0x4, 0x25dfdbfd, {0x0, 0x0, 0x0, r6, 0x352}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @sit={{0x8, 0x1, 'sit\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPTUN_REMOTE={0x8, 0x2, @private=0xa010102}]}}}, @IFLA_MASTER={0x8, 0x3, r6}]}, 0x40}}, 0x0) sendmsg$ETHTOOL_MSG_DEBUG_GET(r0, &(0x7f0000000780)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000740)={&(0x7f0000000680)={0xbc, 0x0, 0x400, 0x70bd28, 0x25dfdbfe, {}, [@HEADER={0x4}, @HEADER={0x60, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syzkaller0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'bridge_slave_0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'bond0\x00'}]}, @HEADER={0x44, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r6}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'sit0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'hsr0\x00'}]}]}, 0xbc}, 0x1, 0x0, 0x0, 0x80}, 0x8040) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x10f, 0x87, 0x0, 0x0) perf_event_open(&(0x7f00000010c0)={0x1, 0x70, 0x0, 0x0, 0x71, 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, 0x200, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfffe}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$NLBL_MGMT_C_REMOVEDEF(0xffffffffffffffff, 0x0, 0x0) fcntl$F_SET_RW_HINT(r0, 0x40c, &(0x7f0000000040)) close(r0) [ 168.882079] netlink: 'syz-executor.1': attribute type 4 has an invalid length. [ 168.890868] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 168.906753] audit: type=1804 audit(1606696545.597:8): pid=10960 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir217372002/syzkaller.k5S3ml/23/file0/bus" dev="sda1" ino=15861 res=1 [ 168.966904] audit: type=1804 audit(1606696545.657:9): pid=10969 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.5" name="/root/syzkaller-testdir217372002/syzkaller.k5S3ml/23/file0/bus" dev="sda1" ino=15861 res=1 [ 168.997199] audit: type=1804 audit(1606696545.657:10): pid=10969 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.5" name="/root/syzkaller-testdir217372002/syzkaller.k5S3ml/23/file0/bus" dev="sda1" ino=15861 res=1 [ 169.000725] IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready [ 169.109788] Started in network mode [ 169.113992] Own node identity 7f, cluster identity 4711 [ 169.127744] syz-executor.1 (10953) used greatest stack depth: 22952 bytes left [ 169.137706] 32-bit node address hash set to 7f 00:35:45 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 169.157424] device sit1 entered promiscuous mode 00:35:45 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) 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_bp={0x0}, 0x0, 0x100}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_create(0x6, &(0x7f0000000080)={0x0, 0x1f, 0x0, @thr={&(0x7f0000000100)="f54c506c304c23da4fdc4b6c4d7bf8690b5c846787ef0c1c1a244a1c6599ad426c27072dd8c46edaecd302d46e67b122c236f475d232f67d14f29e7f4384bb3e2388eb694fefc9b62ce78ed38a2c99a17202ba4d8d059ecfac6d41fd4805d023e30861e5cda9b881f13c9e364e49def55ba7c1cb", &(0x7f0000000380)="a8e351b6c73843f3c1462dbf6dd16a1f0d93cec6734d8a1f787a094907a3eae65769535026a4bef2954a737cbcb46f77f552b8c8aa5feddf8813292f78774f0b5c70132848e81e7b85774f1020e891f7f9b4f095df446c2702992562541a5df4ed4b1b0aa42e4ea9d87703a64ee1563226c87f90f2b057ff5045a212a0fc1e26e5f8311022d8837df320ee9d4f07a300125b83b29fb846d98b01eebb83e6e914ccc530a39d6838d4046084b7de975ba298d9254127f4943e1179eccc06d19c4bd0f3ca67c20fbb4f4eb25b11b74f38204f91e59c4f9fc46a95820d6b6b7a0f0343"}}, &(0x7f0000000180)) sendmsg$ETHTOOL_MSG_COALESCE_SET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={0x0}, 0x1, 0x0, 0x0, 0x4000}, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) r1 = openat$ppp(0xffffffffffffff9c, 0x0, 0x20080, 0x0) writev(r0, &(0x7f00000001c0)=[{&(0x7f0000000040)="390000001300034700bb65e1c3e4ffff06000000010000004500000025000000190004000400000007fd17e5ffff0606040000000000000000", 0x39}], 0x1) openat$tun(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$PPPIOCSNPMODE(r1, 0x4008744b, &(0x7f0000000200)={0xc287}) 00:35:45 executing program 5: r0 = socket$l2tp(0x2, 0x2, 0x73) bpf$OBJ_PIN_PROG(0x6, &(0x7f0000000200)={&(0x7f00000001c0)='./file0\x00'}, 0x10) syz_80211_inject_frame(&(0x7f0000000240), &(0x7f0000000280)=@mgmt_frame=@deauth={@wo_ht={{0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1}, {0x80}, @device_b, @device_b, @from_mac=@device_b, {0x4, 0x4}}, 0x8, @void}, 0x1a) setsockopt$inet_MCAST_MSFILTER(r0, 0x0, 0x30, &(0x7f0000000000)={0x0, {{0x2, 0xfffc, @dev}}, 0x0, 0x2, [{{0x2, 0x0, @private=0xa010100}}, {}]}, 0x190) 00:35:45 executing program 4: pipe(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000340)=ANY=[@ANYBLOB="440000001000000200"/20, @ANYRES32=0x0, @ANYBLOB="0000000000000000863d4b2b8e622d5062dde07d240010805500010069706970518bdb2ef825ee261ebe2879119243b05613599a3df58e7fec7668f601b19279b89fe2d6bd59f95a9b8287be44111044f598a077468116e499cb7287c75d7e42cbbc18bdf82cdb757ce4c1206858623d033f0d945671c19f9c13422ce1e16a90277485cbf092b3b8518aec12cb9b8000f324a9ca7b48b5b4f2411887e5145eb91956398c72529abb087fe3"], 0x44}}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) r3 = socket$unix(0x1, 0x1, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) r5 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000180)='/dev/hwrng\x00', 0x200080, 0x0) ioctl$EXT4_IOC_ALLOC_DA_BLKS(r5, 0x660c) close(r2) socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)=ANY=[@ANYBLOB="480005000000000000000000", @ANYRES32=0x0, @ANYBLOB="0000000000000000280012800a00"], 0x3}}, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r2, 0x0, 0x4ffe2, 0x0) pipe2(&(0x7f0000000100)={0xffffffffffffffff}, 0x4000) setsockopt$IP_VS_SO_SET_ADD(r6, 0x0, 0x482, &(0x7f0000000140)={0x3a, @remote, 0x4e20, 0x3, 'nq\x00', 0x20, 0x7, 0x2b}, 0x2c) [ 169.249517] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:46 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000023c0)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000000)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000fe5000/0x18000)=nil, &(0x7f00000001c0)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) r3 = bpf$MAP_CREATE(0x2, &(0x7f0000000000)={0x3, 0x0, 0x77fffb, 0x0, 0x820005, 0x0}, 0x2c) r4 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) bpf$MAP_CREATE(0x4, &(0x7f0000000040)={0x3, 0x0, 0x1000000, 0x0, 0x20820000, r3}, 0x2c) accept(r4, &(0x7f0000000100)=@ipx, &(0x7f0000000080)=0x80) syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0)='nl80211\x00') r5 = socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f0000000180)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_NEW_INTERFACE(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000240)={0x54, r6, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x1, 0x7e}, @val={0x8, 0x3, r7}, @val={0xc}}}, [@NL80211_ATTR_IFNAME={0x14, 0x4, 'bridge0\x00'}, @NL80211_ATTR_IFTYPE={0x8, 0x5, 0x2}, @NL80211_ATTR_4ADDR={0x5, 0x53, 0x1}]}, 0x54}}, 0x0) r8 = socket$unix(0x1, 0x5, 0x0) dup2(r8, r8) [ 169.323133] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium 00:35:46 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x0, 0x0, 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 169.507580] netlink: 'syz-executor.1': attribute type 4 has an invalid length. [ 169.670320] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium 00:35:47 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') ioctl$KVM_GET_SREGS(r3, 0x8138ae83, &(0x7f0000000480)) ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, &(0x7f0000000100)={0x5, 0x2ef}) 00:35:47 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x0, 0x0, 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:47 executing program 1: timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) r0 = gettid() r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000)='/dev/snd/seq\x00', 0x0) read(r3, &(0x7f0000000080)=""/241, 0xf1) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r3, 0x4040534e, &(0x7f0000000180)={0x1d3}) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL(r3, 0x408c5333, &(0x7f0000000240)={0x0, 0x0, 0xbe0c, 0x0, 0x1}) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x1c9c380}, {0x0, 0x3938700}}, 0x0) tkill(r0, 0x1004000000016) 00:35:47 executing program 3: pipe(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) socket$nl_generic(0x10, 0x3, 0x10) r3 = socket(0x200000000000011, 0x4000000000080002, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000000)={'lo\x00', 0x0}) bind$packet(r3, &(0x7f00000000c0)={0x11, 0x0, r5, 0x1, 0x0, 0x6, @local}, 0x14) getsockname$packet(r0, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000080)=0x14) sendmsg$BATADV_CMD_GET_GATEWAYS(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000180)={0x1c, 0x0, 0x0, 0x0, 0x0, {0x5}, [@BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r6}]}, 0x1c}}, 0x0) r7 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0)='batadv\x00') sendmsg$BATADV_CMD_GET_GATEWAYS(0xffffffffffffffff, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000180)=ANY=[@ANYBLOB="1c000000", @ANYRES16=r7, @ANYBLOB="1107"], 0x3}}, 0x0) write$binfmt_misc(r1, &(0x7f0000000180)=ANY=[], 0xfffffc7b) splice(r0, 0x0, r2, 0x0, 0x4ffe0, 0x0) 00:35:47 executing program 4: syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000280)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f801", 0x17}, {0x0, 0x0, 0x80}], 0x440, &(0x7f0000000380)=ANY=[@ANYBLOB="7d2fd61ce6f6dbef40000a019844cd309d6a167a4313c3a08c0b83035e10c549708e213c4b0bb94526c1ef16bb7f3ab3c91c723ab010474b129494f2ee360f4633c52a1b4f006038ea3c3f0bbdced7cc8f2accd04a5c1c5ab67f7c"]) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = openat$null(0xffffffffffffff9c, &(0x7f0000000140)='/dev/null\x00', 0x800, 0x0) ioctl$PIO_SCRNMAP(r1, 0x4b41, &(0x7f0000000180)="a8f9f693a3a190abe8c6a1bd36e6b7576f84593be05fc7fcb48231aff719091967724231b0ca7fbfaea9326307bf698e0cfb73064c811068962bba5c4a800855635c11c0d34f9552150328fc2c0248bbb54f1f7b32d9029fe4ff056cc0547f763d33baaeec1e9eb00cf55810bf9d55ea667f9b839b00a61b06e8e80ca0399052dfe0deeb62fb2714300af2771e6f84d6f621a90e4a7ceba6ac6f0012c445a8f421c7904e4750") r2 = syz_open_procfs(0x0, &(0x7f0000000040)='mountinfo\x00') r3 = socket$unix(0x1, 0x5, 0x0) r4 = dup2(r3, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) r5 = ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x2) syz_kvm_setup_cpu$x86(r4, r5, &(0x7f0000fe7000/0x18000)=nil, &(0x7f0000000240)=[@textreal={0x8, &(0x7f00000002c0)="0f1a3a67640f01727b0fc7ba6800b800008ec8baf80c66b81cfeea8966efbafc0cb8ca00ef260f320f0766d9eabaf80c66b8e092eb8f66efbafc0c66b8eb75000066ef66b9400300000f32", 0x4b}], 0x1, 0x5d, &(0x7f0000000340)=[@cstype0], 0x1) sendfile(r0, r2, 0x0, 0x800000080004105) 00:35:47 executing program 5: clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) keyctl$setperm(0x5, 0x0, 0x202002) keyctl$chown(0x4, 0x0, 0x0, 0x0) write$6lowpan_enable(0xffffffffffffffff, &(0x7f0000000080)='0', 0x1) openat$md(0xffffffffffffff9c, 0x0, 0x0, 0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) 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) bind$inet6(r0, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(0xffffffffffffffff, 0x1) syz_extract_tcp_res$synack(&(0x7f0000000000)={0x41424344}, 0x1, 0x0) syz_emit_ethernet(0x4a, &(0x7f0000000300)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "0a3ff2", 0x14, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, r1, 0x41424344, 0x0, 0x0, 0x5, 0xc2}}}}}}}, 0x0) syz_emit_ethernet(0x4a, &(0x7f0000000380)={@dev={[], 0x2f}, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "083ff2", 0x14, 0x6, 0x0, @remote={0xfe, 0x80, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11]}, @local, {[], {{0x4e20, 0x4e22, 0x41424344, r1, 0x0, 0x0, 0x5, 0xc2}}}}}}}, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) 00:35:47 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x0, 0x0, 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 171.097929] FAT-fs (loop4): Unrecognized mount option "}/ÖæöÛï@" or missing value 00:35:47 executing program 5: r0 = perf_event_open(&(0x7f000025c000)={0x400000001, 0x70, 0x2005, 0x0, 0x0, 0x0, 0x0, 0x1, 0x824b0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = creat(&(0x7f0000000000)='./file0\x00', 0x10) ioctl$VIDIOC_S_FBUF(r2, 0x4030560b, &(0x7f0000000080)={0x81, 0x7, &(0x7f0000000140)="4213fab3687ab8a777794cacb4ceff3756dc16e8b25c95b595672225f6665d8ad5955f70e84102cfb4da418fc9aa7add152692b6184757b2e79a1cb5e1d18d3411fbac967f2ead95efebb7952108b1594c61e7d057f34efe87d99e87eb51bc66b85dce037a0cb55cab559e52c606888004f86dfc1f794f7205d3e58b87907c776615c27ba99120dc3a515fe69d1f61a031b61138a0dde92d9b3b02b495de298888", {0x1ff, 0x7, 0x34424752, 0x3, 0x8, 0x0, 0x8, 0x9}}) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r1, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(r0, 0x2405, r1) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r3, &(0x7f0000000040)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r3, 0x0, 0x10b, 0x200007fe, &(0x7f0000000100)={0x2, 0x10004e23, @dev={0xac, 0x14, 0x14, 0xa}}, 0x10) sendto$inet(r3, &(0x7f0000d7cfcb), 0xffffffffffffffef, 0x0, 0x0, 0x53) getsockopt$TIPC_GROUP_JOIN(0xffffffffffffffff, 0x10f, 0x87, 0x0, 0x0) 00:35:47 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:48 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:48 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:48 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {0x0, 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 171.913913] FAT-fs (loop4): Unrecognized mount option "}/ÖæöÛï@" or missing value 00:35:49 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') ioctl$KVM_GET_SREGS(r3, 0x8138ae83, &(0x7f0000000480)) ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, &(0x7f0000000100)={0x5, 0x2ef}) 00:35:49 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f00000002c0)='./file0\x00', 0x200000, 0x7, &(0x7f0000000200)=[{&(0x7f0000000080)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ff27dd21188020a9d232c42ac0980419e0ff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x76, 0x10001}, {&(0x7f0000010100)="000000d4bbcdceae77c219edffffff91b73ea47d216ee471f056e353d47e6c", 0x1f, 0x4e0}, {&(0x7f0000000340)="0400874550109988d409305e0cf4f9ff", 0x10, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x18, 0x4800}, {&(0x7f0000000180)="111fc0d901", 0x5, 0x30000}], 0x0, &(0x7f0000014a00)=ANY=[]) 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, 0x0, 0xffffffffffffffff, 0x0) ioctl$sock_bt_bnep_BNEPCONNADD(0xffffffffffffffff, 0x400442c8, &(0x7f0000000380)={0xffffffffffffffff, 0x7, 0x7ff, "8d72155326f434a8cfd0f3ed8fdb671ff5a26ea6fac2a016e9c79de213b0da388f91c86ac8"}) seccomp$SECCOMP_GET_ACTION_AVAIL(0x2, 0x0, &(0x7f0000000300)) r0 = openat$binder_debug(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$VHOST_GET_VRING_BASE(0xffffffffffffffff, 0xc008af12, &(0x7f00000001c0)) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r0, 0x84, 0x7b, &(0x7f00000003c0)={0x0, 0x5}, &(0x7f0000000400)=0x8) getsockopt$inet_sctp_SCTP_SOCKOPT_PEELOFF(r2, 0x84, 0x66, &(0x7f0000000440)={r3, 0xb1b}, &(0x7f0000000480)=0x8) syz_genetlink_get_family_id$gtp(0x0) umount2(&(0x7f0000000040)='./file0\x00', 0x0) 00:35:49 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {0x0, 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:49 executing program 1: perf_event_open(&(0x7f000001d000)={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, 0x1, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_mreq(r0, 0x29, 0x1b, &(0x7f0000000080)={@remote}, 0x14) setsockopt$inet6_mreq(r0, 0x29, 0x1c, &(0x7f0000000000)={@remote}, 0x14) read$FUSE(0xffffffffffffffff, &(0x7f00000021c0)={0x2020}, 0x2020) 00:35:49 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x4e22}, 0x10) r1 = fcntl$dupfd(r0, 0x406, r0) ioctl$VIDIOC_QUERYSTD(r1, 0x8008563f, &(0x7f0000000040)) listen(r0, 0x0) syz_emit_ethernet(0x3a, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @tcp={{0x5, 0x4, 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x6, 0x0, @remote, @local}, {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x6, 0x6, 0x2, 0x0, 0x0, 0x0, {[@mss={0x3, 0x4}]}}}}}}}, 0x0) ioctl$F2FS_IOC_WRITE_CHECKPOINT(r0, 0xf507, 0x0) 00:35:49 executing program 4: r0 = syz_open_dev$loop(&(0x7f0000000000)='/dev/loop#\x00', 0x0, 0x0) r1 = accept4$netrom(0xffffffffffffffff, &(0x7f0000000080)={{0x3, @bcast}, [@netrom, @default, @remote, @null, @bcast, @null, @remote, @netrom]}, &(0x7f0000000100)=0x48, 0x800) getsockopt$bt_hci(r1, 0x0, 0x3, &(0x7f0000000140)=""/247, &(0x7f0000000240)=0xf7) r2 = memfd_create(&(0x7f0000000040)='\x10\x01\x00t\xb3-\rG|\x00\x00\x00\x00\x00\x00\xad\x8d\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00', 0x0) pwritev(r2, &(0x7f0000001e00)=[{&(0x7f0000000600)='0', 0x1}], 0x1, 0xfff, 0x0) ioctl$LOOP_CHANGE_FD(r0, 0x4c00, r2) ioctl$LOOP_SET_STATUS(r0, 0x4c02, &(0x7f0000000280)={0x600, {0x17e}, 0x0, {}, 0x0, 0x1, 0x1c, 0xc, "b04a83706694a75154c629f75b71a95a8f3b289271c607adb22d4d79c301007b1291b1150d4d3aa20d7beebc689e926d5e290679d1e8af694c0d4300", "5244534b0f000800574556820000a482ebf7888c305bee6fd600", [0xfffffffffffffffa, 0x4000000000]}) 00:35:49 executing program 1: prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f0000000180)={&(0x7f0000ff9000/0x3000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffd000/0x2000)=nil, 0x0}, 0x68) r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x6000) r1 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) io_setup(0x2, &(0x7f00000004c0)=0x0) r3 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcsa\x00', 0x40880, 0x0) ioctl$PPPIOCSFLAGS1(r3, 0x40047459, &(0x7f0000000080)=0x84) io_submit(r2, 0x1, &(0x7f0000000440)=[&(0x7f0000000200)={0x0, 0x0, 0x0, 0x8, 0x0, r0, &(0x7f0000000140)="73844ae89d", 0x5}]) [ 172.377725] TCP: request_sock_TCP: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. [ 172.424708] TCP: request_sock_TCP: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. [ 172.444499] EXT4-fs (loop3): VFS: Can't find ext4 filesystem [ 172.450556] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 172.485206] Dev loop0: unable to read partition block 188829292 [ 172.494481] loop0: RDSK (-336099328) unable to read partition table [ 172.533023] loop0: partition table beyond EOD, truncated [ 172.541611] EXT4-fs (loop3): VFS: Can't find ext4 filesystem 00:35:49 executing program 5: r0 = perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x5, 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, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f0000000140)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffa) keyctl$KEYCTL_PKEY_DECRYPT(0x1a, &(0x7f0000000180)={r1, 0x60, 0x2c}, 0x0, &(0x7f00000001c0)="37717c8b667cd39764a9ae7b6f7babab7870a01ccc23653607e427da344c67f539b21233ca661c63176be80e085534c3668d5e49078e54d3b8116814af22774605e6923a3c8e117e8a2c14f47677461c9635922e9c1846b5aa780308f712ed39", &(0x7f0000000240)=""/44) r2 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffdffffffffffffd, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x200000000011, r2, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(r0, 0x2405, r2) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r3, &(0x7f00000000c0)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r3, 0x0, 0x0, 0x20000802, &(0x7f0000000100)={0x2, 0x10004e23, @loopback}, 0x10) sendto$inet(r3, &(0x7f0000d7cfcb), 0xffffffffffffffef, 0x1f4, 0x0, 0xffffffd8) [ 172.582584] loop_reread_partitions: partition scan of loop0 (°Jƒpf”§QTÆ)÷[q©Z;(’qÆ­²-MyÃ) failed (rc=-5) 00:35:49 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {0x0, 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:49 executing program 3: syz_read_part_table(0x880000000, 0x2, &(0x7f0000000240)=[{&(0x7f0000000000)="bf", 0x0, 0xfffffffffffffffd}, {0x0}]) ioctl$DRM_IOCTL_MODE_GETFB(0xffffffffffffffff, 0xc01c64ad, &(0x7f0000000140)={0x6, 0x1, 0x2, 0x9e, 0x78, 0x7e, 0x20}) r0 = accept4$unix(0xffffffffffffffff, &(0x7f0000000040), &(0x7f00000000c0)=0x6e, 0x800) ioctl$sock_SIOCOUTQNSD(r0, 0x894b, &(0x7f0000000100)) [ 172.666034] Dev loop0: unable to read partition block 188829292 [ 172.699839] loop0: RDSK (-336099328) unable to read partition table 00:35:49 executing program 1: 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, 0x2000, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x2, 0xc) write(r0, &(0x7f0000000080)="1f0000000104ff00fd4354c007110000f305010008000100010423dcffdf00", 0x1f) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002000)='fuse\x00', 0x0, &(0x7f0000002140)={{'fd', 0x3d, r1}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) read$FUSE(r1, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000004200)={0x50, 0x0, r2}, 0x50) clock_gettime(0x7, &(0x7f00000020c0)) syz_fuse_handle_req(r1, &(0x7f0000000000)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b3526f1d4747b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47100000000ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x7, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) openat(0xffffffffffffff9c, &(0x7f0000002040)='./file0/file0\x00', 0x0, 0x0) umount2(&(0x7f0000000080)='./file0\x00', 0x3) ioctl$SG_IO(0xffffffffffffffff, 0x2285, 0x0) copy_file_range(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x3, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000003700)={&(0x7f00000022c0)={0x2, 0x4e23, @broadcast}, 0x10, &(0x7f0000003680)=[{0x0}, {&(0x7f0000003480)="341275404ae7fbd8c5df11899483974c5ec4024796d5f2cc7eb607aee85bf1a199a9ed0321cd9a3e5eafc24afa9c066d2506d1308febbf9d275fbd2be4f00d6a91c09d19acb1822019f9dfb8b9c763608fb29ba6aecdc5d1693fc14cb3ed37fae1396d1a49321d5e9ba05ff323d58406272bcffee26ce54eb6e831f5eb8a3c57049365b2d8f34209a84ef4aa6e02b021215536722d0a96513016e5526b90863a3b5891b570b2755d3d", 0xa9}, {0x0}], 0x3, &(0x7f00000036c0)=[@ip_pktinfo={{0x1c, 0x0, 0x8, {0x0, @rand_addr=0x64010102, @initdev={0xac, 0x1e, 0x1, 0x0}}}}], 0x20}, 0x0) close(0xffffffffffffffff) writev(0xffffffffffffffff, 0x0, 0x0) [ 172.735056] loop0: partition table beyond EOD, truncated 00:35:49 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240), 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 172.838250] Dev loop0: unable to read partition block 188829292 [ 172.862770] netlink: 3 bytes leftover after parsing attributes in process `syz-executor.1'. [ 172.880757] loop0: RDSK (-336099328) unable to read partition table [ 172.926795] loop0: partition table beyond EOD, truncated 00:35:50 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') ioctl$KVM_GET_SREGS(r3, 0x8138ae83, &(0x7f0000000480)) 00:35:50 executing program 3: mount$9p_tcp(&(0x7f00000000c0)='127.0.0.1\x00', &(0x7f0000000280)='./file0\x00', &(0x7f0000000300)='9p\x00', 0x80a080, &(0x7f0000000340)={'trans=tcp,', {'port', 0x3d, 0x4e23}, 0x2c, {[{@fscache='fscache'}, {@access_user='access=user'}, {@dfltuid={'dfltuid', 0x3d, 0xee01}}], [{@func={'func', 0x3d, 'FIRMWARE_CHECK'}}]}}) r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) r4 = socket(0x10, 0x803, 0x0) r5 = socket$unix(0x1, 0x5, 0x0) r6 = dup2(r5, r5) ioctl$PERF_EVENT_IOC_ENABLE(r6, 0x8912, 0x400200) sendmsg$nl_route(r6, &(0x7f0000000500)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000004c0)={&(0x7f0000000480)=@ipv6_newrule={0x30, 0x20, 0x300, 0x70bd25, 0x25dfdbfd, {0xa, 0x80, 0x10, 0x80, 0xff, 0x0, 0x0, 0x7, 0x2}, [@FRA_SRC={0x14, 0x2, @mcast1}]}, 0x30}, 0x1, 0x0, 0x0, 0x4000011}, 0x4800) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) r8 = dup(r7) ioctl$PERF_EVENT_IOC_ENABLE(r8, 0x8912, 0x400200) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r3, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r9, @ANYBLOB="0002000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400079f7d87a3cfa31a6b0005000003", @ANYRES32=r9, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000400)=@newtfilter={0x34, 0x2c, 0xd2b, 0x0, 0x0, {0x0, 0x0, 0x0, r9, {0xffff}, {}, {0xfff1, 0x3}}, [@filter_kind_options=@f_cgroup={{0xb, 0x1, 'cgroup\x00'}, {0x4}}]}, 0x34}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 00:35:50 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f000014f000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)=ANY=[@ANYBLOB="d40000001b00050700"/64, @ANYRES32=0x0, @ANYRES32=0xee00, @ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008001f00", @ANYRES32=0x0, @ANYBLOB="0c00080724fa44bf1b60be00e782d2a7"], 0xd4}}, 0x0) r1 = syz_open_dev$audion(&(0x7f0000000000)='/dev/audio#\x00', 0x8, 0x78b401) ioctl$RTC_WIE_ON(r1, 0x700f) 00:35:50 executing program 1: getsockopt$inet6_mtu(0xffffffffffffffff, 0x29, 0x17, &(0x7f0000000180), &(0x7f00000001c0)=0x4) setsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000200)={@private0={0xfc, 0x0, [], 0x1}, 0x47, 0x1, 0x0, 0x8, 0xa4dd, 0xe0}, 0x20) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO(0xffffffffffffffff, 0x402c5342, 0x0) r0 = getpid() syz_open_dev$dmmidi(&(0x7f0000000040)='/dev/dmmidi#\x00', 0xc2, 0x68000) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x4, 0x0, 0x0, 0x0, 0x464, 0x40000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={&(0x7f0000000140), 0x7}, 0x10082}, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet_udp(0x2, 0x2, 0x0) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x28000, 0x0) r3 = dup3(r1, r2, 0x80000) bind$inet(r1, &(0x7f0000000100)={0x2, 0x0, @local}, 0x10) connect$inet(r1, &(0x7f0000000080)={0x2, 0x0, @multicast2}, 0x10) r4 = accept$inet6(r3, &(0x7f0000000300)={0xa, 0x0, 0x0, @local}, &(0x7f0000000340)=0x1c) sendfile(r4, r1, &(0x7f0000000380)=0x2, 0x2) clock_gettime(0x5, &(0x7f00000000c0)) sendmmsg(r1, &(0x7f0000007fc0), 0x40000000000002f, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) setuid(0x0) 00:35:50 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240), 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:50 executing program 5: r0 = perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x5, 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, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f0000000140)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffa) keyctl$KEYCTL_PKEY_DECRYPT(0x1a, &(0x7f0000000180)={r1, 0x60, 0x2c}, 0x0, &(0x7f00000001c0)="37717c8b667cd39764a9ae7b6f7babab7870a01ccc23653607e427da344c67f539b21233ca661c63176be80e085534c3668d5e49078e54d3b8116814af22774605e6923a3c8e117e8a2c14f47677461c9635922e9c1846b5aa780308f712ed39", &(0x7f0000000240)=""/44) r2 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffdffffffffffffd, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x200000000011, r2, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(r0, 0x2405, r2) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r3, &(0x7f00000000c0)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r3, 0x0, 0x0, 0x20000802, &(0x7f0000000100)={0x2, 0x10004e23, @loopback}, 0x10) sendto$inet(r3, &(0x7f0000d7cfcb), 0xffffffffffffffef, 0x1f4, 0x0, 0xffffffd8) [ 173.425051] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 00:35:50 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80002, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f2d0000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f00000000c0)="0000000000000000000000026856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000000400000005", 0x9, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}, {&(0x7f0000011000)="8081000000180000cdf4655fddf4655fddf4655f00000000e5c700000800000010000800000000000af3", 0x2a, 0x1600}], 0x81, &(0x7f00000001c0)=ANY=[]) r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$SNDRV_PCM_IOCTL_DROP(r1, 0x4143, 0x0) 00:35:50 executing program 1: flock(0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffd, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x20}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_open_procfs(0x0, &(0x7f00000001c0)='oom_adj\x00') r0 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r1 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write(r0, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) r2 = gettid() prctl$PR_SET_PTRACER(0x59616d61, r2) process_vm_writev(r2, &(0x7f0000000040)=[{&(0x7f0000000100)=""/178, 0xb2}], 0x1, &(0x7f0000000240)=[{&(0x7f0000000200)=""/48, 0x30}], 0x1, 0x0) mknod(&(0x7f0000000000)='./file0\x00', 0x8000, 0x8001) fallocate(0xffffffffffffffff, 0x0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x11f08) 00:35:50 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240), 0x0, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 173.601085] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. [ 173.662772] EXT4-fs (loop4): ext4_check_descriptors: Checksum for group 0 failed (60935!=0) [ 173.686577] audit: type=1800 audit(1606696550.377:11): pid=11214 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="file0" dev="sda1" ino=15916 res=0 00:35:50 executing program 3: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) epoll_create(0xffff5100) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) mmap(&(0x7f0000002000/0x4000)=nil, 0x4000, 0x0, 0x2812, r2, 0x0) perf_event_open(&(0x7f0000000180)={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) ioctl$KVM_S390_UCAS_MAP(r1, 0x4018ae50, &(0x7f0000000040)={0x800, 0x9, 0x8}) mmap(&(0x7f0000004000/0x4000)=nil, 0x4000, 0x0, 0x32, 0xffffffffffffffff, 0x0) [ 173.716202] audit: type=1804 audit(1606696550.377:12): pid=11214 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir258651481/syzkaller.pP8sCM/23/file0" dev="sda1" ino=15916 res=1 00:35:50 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 173.766951] EXT4-fs (loop4): orphan cleanup on readonly fs [ 173.831169] EXT4-fs error (device loop4): ext4_ext_check_inode:498: inode #3: comm syz-executor.4: pblk 0 bad header/extent: invalid eh_max - magic f30a, entries 0, max 0(0), depth 0(0) 00:35:50 executing program 1: r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ppp\x00', 0x0, 0x0) prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f0000000040)={&(0x7f0000fff000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ff7000/0x9000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ff8000/0x1000)=nil, &(0x7f0000000240)="e3d78044f5eaaa352e3f7e0d65e7e7e6dbcb034c6e12567e97d48535d70dd0519e1bfb5217ce4618a90756a45642edb96d2526efe845cbd4c04803d551b2e9630afcafe25515b6bb4f9eff844bd770ee891e892f85e0df018e57673a2690256d69fbe6687477efc30ef7e8844527cde2aec9286f7d7387b348a604e917610ece5b89e2282ca9eb47bf7162cf9185c993a29e3cf650698397a2f272aef4f4424d708049cfdcf953f3ddd47dba783c218a5e4d65916e9767d1f96bbbbc39c09ada51ba8d67b45f52ea10aac7e30f9d99", 0xcf, r0}, 0x68) sendmsg$NFNL_MSG_CTHELPER_DEL(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x1c, 0x2, 0x9, 0x401, 0x0, 0x0, {0x5, 0x0, 0x9}, [@NFCTH_QUEUE_NUM={0x8, 0x3, 0x1, 0x0, 0x400}]}, 0x1c}, 0x1, 0x0, 0x0, 0x4000}, 0x20004051) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) write$cgroup_int(r1, &(0x7f0000000200), 0x400086) ioctl$PERF_EVENT_IOC_PERIOD(r1, 0x40086602, &(0x7f0000000100)=0xe2) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000340)='memory.events\x00', 0x7a05, 0x1700) [ 173.927651] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 174.023805] EXT4-fs error (device loop4): ext4_quota_enable:5841: comm syz-executor.4: Bad quota inode # 3 [ 174.099997] EXT4-fs warning (device loop4): ext4_enable_quotas:5878: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. [ 174.167919] EXT4-fs (loop4): Cannot turn on quotas: error -117 [ 174.180769] EXT4-fs (loop4): mounted filesystem without journal. Opts: ,errors=continue 00:35:51 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') 00:35:51 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:51 executing program 3: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) perf_event_open(&(0x7f0000000340)={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) r1 = syz_genetlink_get_family_id$tipc(&(0x7f00000000c0)='TIPC\x00') sendmsg$TIPC_CMD_SET_NODE_ADDR(r0, &(0x7f0000000380)={0x0, 0x700, &(0x7f0000000340)={&(0x7f0000000280)={0x24, r1, 0xc15, 0xffffffea, 0x0, {{}, {}, {0x8, 0x11, 0x7f}}}, 0x24}}, 0x0) getsockname(0xffffffffffffffff, 0x0, 0x0) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) setsockopt$inet6_tcp_int(r3, 0x6, 0x9, &(0x7f0000000000)=0x3, 0x4) 00:35:51 executing program 5: r0 = perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x5, 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, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f0000000140)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffa) keyctl$KEYCTL_PKEY_DECRYPT(0x1a, &(0x7f0000000180)={r1, 0x60, 0x2c}, 0x0, &(0x7f00000001c0)="37717c8b667cd39764a9ae7b6f7babab7870a01ccc23653607e427da344c67f539b21233ca661c63176be80e085534c3668d5e49078e54d3b8116814af22774605e6923a3c8e117e8a2c14f47677461c9635922e9c1846b5aa780308f712ed39", &(0x7f0000000240)=""/44) r2 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffdffffffffffffd, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x200000000011, r2, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(r0, 0x2405, r2) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r3, &(0x7f00000000c0)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r3, 0x0, 0x0, 0x20000802, &(0x7f0000000100)={0x2, 0x10004e23, @loopback}, 0x10) sendto$inet(r3, &(0x7f0000d7cfcb), 0xffffffffffffffef, 0x1f4, 0x0, 0xffffffd8) 00:35:51 executing program 4: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000080)={0x0, 0x8000}, 0x4) r1 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_mtu(r1, 0x0, 0xa, &(0x7f0000ff0ffc)=0x8000000000004, 0x4) sendto$inet(r1, &(0x7f0000865000), 0xffe4, 0x0, &(0x7f0000fd9ff0)={0x2, 0x4e20}, 0x33) ioctl$FUSE_DEV_IOC_CLONE(0xffffffffffffffff, 0x8004e500, 0x0) ioctl$sock_inet_SIOCADDRT(r1, 0x890b, &(0x7f00000000c0)={0x0, {0x2, 0x4e24, @rand_addr=0x64010102}, {0x2, 0x4e23, @broadcast}, {0x2, 0x4e24, @loopback}, 0x80, 0x0, 0x0, 0x0, 0x1, &(0x7f0000000000)='bridge_slave_1\x00', 0x0, 0x6, 0xb39c}) r2 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ttyprintk\x00', 0x412000, 0x0) ioctl$FIONREAD(r2, 0x541b, &(0x7f0000000140)) bind$packet(0xffffffffffffffff, 0x0, 0x0) 00:35:51 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x8, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000013900)="111fc0d901", 0x5, 0x30000}, {0x0}], 0x0, &(0x7f0000014a00)=ANY=[]) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) perf_event_open(&(0x7f0000000100)={0x0, 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) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) seccomp$SECCOMP_GET_ACTION_AVAIL(0x2, 0x0, 0x0) r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f00000000c0)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) setsockopt$inet_sctp_SCTP_AUTOCLOSE(r0, 0x84, 0x4, &(0x7f00000002c0)=0x40, 0x4) r1 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/failed_transaction_log\x00', 0x0, 0x0) ioctl$VHOST_GET_VRING_BASE(r1, 0xc008af12, &(0x7f00000001c0)) syz_open_dev$vcsa(&(0x7f0000000080)='/dev/vcsa#\x00', 0x28a, 0x0) syz_genetlink_get_family_id$gtp(&(0x7f0000000200)='gtp\x00') umount2(&(0x7f0000000040)='./file0\x00', 0x8) [ 174.500907] IPv4: Oversized IP packet from 127.0.0.1 [ 174.506758] IPv4: Oversized IP packet from 127.0.0.1 [ 174.538449] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 174.551275] IPVS: ftp: loaded support on port[0] = 21 [ 174.581395] EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue 00:35:51 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x23, 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={&(0x7f0000000140), 0x8}, 0x0, 0x0, 0x0, 0x6, 0x5}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_PPC_GET_PVINFO(0xffffffffffffffff, 0x4080aea1, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_LAPIC(r2, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) ioctl$KVM_SET_MP_STATE(r2, 0x4004ae99, &(0x7f0000000040)=0x2) ioctl$KVM_SET_CPUID(r2, 0xae80, 0x0) r3 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vhost-net\x00', 0x2, 0x0) readv(r3, 0x0, 0x0) 00:35:51 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af01", 0x1bb}, {&(0x7f0000000240)="d0", 0x1}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:51 executing program 1: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000280)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000000)=0x3) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) accept4$x25(0xffffffffffffffff, &(0x7f00000000c0)={0x9, @remote}, &(0x7f0000000100)=0x12, 0x80800) exit_group(0x8001) open(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) r3 = socket(0x15, 0x5, 0x0) getsockopt(r3, 0x200000000114, 0x2716, &(0x7f0000c35fff)=""/1, &(0x7f0000000000)=0xf002) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r4 = socket$unix(0x1, 0x5, 0x0) r5 = dup2(r4, r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) setsockopt$netlink_NETLINK_CAP_ACK(r5, 0x10e, 0xa, &(0x7f0000000340)=0x1, 0x4) ioctl$ION_IOC_HEAP_QUERY(r2, 0xc0184908, &(0x7f0000000100)={0x34, 0x0, &(0x7f0000000080)}) bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0xffffffffffffffff}, 0x78) [ 174.830581] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:51 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 174.942467] IPVS: ftp: loaded support on port[0] = 21 00:35:51 executing program 5: syz_read_part_table(0x0, 0x3, &(0x7f0000002540)=[{0x0, 0x0, 0x7e7e}, {&(0x7f0000000340)="adf6fb333471052723d42f35689e410e2223f4c665b63f5de64f57b1be998abd77f45aa02d40b2785f064eec7b0c042a85c8a45f347b2acd968d1621d94c7d7b67055463bcfb9e3013a06e0a5c88d6a3a8f5f8774f1064f439204e04743968bbe3ba193e4650a9717744d190d95c063ddbef0b7a23d30c8890d75a3cfb7032833ec1fb718b60bbf6781f689e5d18307a81d86a6864dcb8fbf5c83eec784106a9be0b20a46d5b95b15326643cbe2d28222d8edeb88ce84aa8e176de7adeebe7e36ada1f4c38ce2421b7a98a753c614cbf7bcb0aa3ece5bc053bae54827eea2e8ab0d1452efa29fa68b13b8058aa3d170240d0835a566132f34fa77fa03059e66ec2c0b0bfab3d21198269a776d53a3b79965f38f9a139834aee750d35362a23ce93344b353251584833f0d67d22f21213c878602d5a65f8061ddc0af31b4a9b14fb0a245cbe040edc27dfc31b6cd573eacbb3142f9e7d827fe96a134059e0e5e5b853757a27113ed7fea798a0ae0f27e8bb1369a94afd0a08d755f078f87289ac30df12f21ee67d61c2d93e303936cb2ba9bb2209fd7d925524d0f92564e2bbee61f60a45f04762fb20213d78696a1a80bfc379362ac9bea7c214295de9f0f61a6071dfdaaf87b336765859", 0x1cb, 0x22}, {&(0x7f0000001340)="a6c4616598b21e397cdb2e8a8f368eb0f600808bf0843b9c2afa579f33f60af887ad23be8bcb979e9dc97816e74b5c641cd17cdefbb1c613752a7d19ec0c02929cb049d1bfff680d84eb4e623e70d3c2adb9acd0f9c609654634fe61e12cae0d19f18f09e838eb818fa2c59717b446bc2cd8fb6a45ffdd0c3336b0e4e6c167cf9bb2136e1e744255046af5e1fa5fad622d2f515ccfe3e75ae7e7c2d6a642f6587fd0c1e2dc07a42560e6cd5e1c1a55b1d0418bae7b89a8400576b38e80e1b01d7728e045d522bc1564f293740d5eec20f24f043f4cdfffcc90f382060d27c17c679454a809e2a6673ec6e1b3b0774dc422613d3ece9d96b4ec148edbfac45304ca554549c0e1a9a70c91f68f4c80aef8b46e09e64244b2cb6fb47e2249544ff62519788a82843a01ba6e1a448f6ddd545b74078a2791a2f83615a43087e6a247710aa04f49771e324aff2643f19094a98232d17a54ddd96e42832eaea5368da338c7b394b9c927b536fe810aeb18b3339574513dd21479d88b22c79fbe6c9499537691b8f97ad31e9e7fecde58521dea54f3cd756f21328d388e49e02851a8096b4cbd62318325ef8110a0f46d51623e469db9813a01027c187a50230844b1056942e5bd9d0f61daf35081e494885d486fbd8251f619c6423ed9f947e5dbb54f4fa11248749099", 0x1e7, 0x4}]) r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000140)=[{&(0x7f0000000280)="580000001400add427323b472545b45602117fffffff81004e224e227f000001925aa80020007b00090080007f000001e809000000ff0000f03ac71026000000ffffffffffffffffffe7ee00000000000000000200000000", 0x58}], 0x1) prctl$PR_GET_UNALIGN(0x5, &(0x7f0000000100)) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_WOWLAN(r0, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000080)={&(0x7f000000d080)=ANY=[@ANYBLOB="90970000", @ANYRES16=r1, @ANYBLOB="0a0029bd7000fbdbdf254a00000008000100340000000c009900ffff00000700000074127580781112806c117d80640003007548e1009eb7558e0190e2171682a870a836aee45811bb79690a95001f3163efeeb14283dcc4a1fe5c4cac05766bacfbcfdbef92f9d1470fdbc08a555db9ae191e6774d594476965300cef6318d487c713713822ec84cb0d3b3c37d9add766481a000000a29a41df1e3c79485f63a36cc8f52cffd305198f7e670000bf0002003cee6d1007d2e9480d446f09017d155207fb0929fe6abf3afefbaf969cea61553fcc0d8bfd7c777378f16c3d22df28827390695073d66bbcf2fe701079e748f3f6d12fb42128fa7d7ced4b263039a9417a90b479d7d44cc78aa05028313a50d744997f603131553123d2e5709403587b36e8fabbc1be0aebd7ef04e4022759a5f34208351421ad524c9c29700d067ef3495a45e2dcf7c0e4aa04a2497557064149c611cb3c504e5aa44a6937ced16e5590073913e83c4375e10e310004100300919d53e20c01a6cb3da6c8f123ad52f9bf1a0f89c4824e3766a251e8972958fee3ef55ad8d548b789f35543bfe65d70c6a175a0497ae2473a9fce40126237157c5b2a558ea7a5edb6ad54b1b438addc7deb6daf1ccc9746249ed51d74a9ad423388952369c78c4baddf023379def7c129554b053c1bdf32b46bd3525437ea396dfb3a7c83c10cc9b5c2d7411b17ffbeceaa477bea92317e63adef24a4b48ab1d5b2dcc319f1c6b8eba2af72a615850b070f6699eab0aeaafde27cd411d752b717b7599d4f269dbbe4708c61cb6bbd0b5e407f62b27b533f41d5080fc6d2bc846711c216c8062b0dd86dc98dfd3cd42d3dda8a7b206b021d64f0c1d3414551cce90e7e8e24ebb429ba2ec72a44885b759c39cd7c2c6b4270b43c83228666c8e539877709e8b5565654ee84ac291ced83c57f5aacf1798ea8c97d1994429b0a75be92eb95961e45b2aea14a9dfd10213045196f9b534ab05b3382483643aaafeb35c261f3f22d8b9d77b1d7519ebbcd2f70fbd556072d9b09d68b5576b2a60d581bbacf74b95a1dc2fa58f1c99c9af4798c2df86ade1cb8e33cffcdc47396dbbe95afbab4aa7f2315c5544df705f9d50a627852c36f0d91a673e50c6e28cb7971cbdfbf3e5151e82dc1b1b49ad6a9fe9bcdacce86f40af5bd92e5881ad65a9b2a2e499281f25a431213f4480baa5aea559faeaf4f6b947ec502eaf0dd330aa11dc533ed9d90737d4f4bcc0a1208d908c04c94ca8a6ed399231a086ee9afdee78fa62f8b0f86f1901c435b4d638a65ab5e9997a53685e70ff6907985da2c9d3179e4e2331fb1d723d34f5ce9f6bb27e41af95fc17f59cd6c5695ba480a25b3fe7a4a1a47906b6da76425a0016a7118ca4becd6cafe4c2700f1f7acd060c4243bab6e6656be2b4fe5150d3bcf056d0026d409915b18efab914852b899143bc3a070d4a6837712740a6f9081a171fd11635999f35ed77141c557a49a71c2a0b34c089307abcc9afb494f758618864d108c92d716e4fb5a3084ac99951418c2b0d35c970819425800c4ab707a369332c60969c465c57d2423d8b6cff328ecb0351cc0187c61b941224d6a77b26da6f2c805b82d2bcdc85e3f1e6b21b8901be96b901087a62209b0fc8f7da3966a3a555cea35d015923d8ada30d1e14b6b043646fa02605bbe7d3ca0e4e8646a07731700ba7f446f5d538ab3f488d411303b4c0ce4dd1967ddf66b1de726856cd48c9281399ab40786640badee6b90b8c297d13a0df3c353e0a3b3a28d65e07c58f97da1a8012ab9034827a9e8ae9216d001906785e566f526f127355e3fe9ad5696246cf3e58a4441d6c1c2cf3df1e8c7f52cad0ca92c0bf750f50cdf4d097bfc007e6de2bd04685da2ea26052fdacafcdb3c4a78a85d968b9e4577f38ef59b6ea0a3b73a5f8a9f72f76f10e401ab3e4eaa2a0e74af097f2a6ffc47399e1b1dfa3ee6953f7f486b3fd0c6e2c8b15f842086627c49d187dc6a2f2a466ce02ce64366b5e8076dcd462d2614b6ba22633bb14094f077187f62a78497ddfc44c63957056f209c89b11fab1a01bb75f7c365474a8db82e8fa3220cfdd6f8033044de23491454dd3161e3e23cc9f441013ee456746b7a00dfba3f171d659bba21c6de2c5cfd8c98979b788a669ab3992def66568586bf2b8ce35dd8c52f4b8d380b8c1d8b3984727f35386480be938be3fa31a77c5a12e74e0fd1d4bd346936f4ddf343391df6e8e98fe70a4388060ec6e9d9dcb034ba1941235b1688f2cf4b025ba9d059eb531e7239b8af7b39e6c056379eafaa6444280f060e06856b698084935cb03bbb9d581e926846aba1b19eee388cd09ae232adc286e427dacc00324e37681a6d96ff0f10e87cd7c46fbee3067540ff062799349e65e6888526d9622aac99cee4069e5a3b7e34dfdbb86084cc37ff26073a7bf0b4f612d8ec3c5f15edba210c3a0293604bbb70fa5b2cf56324e8e4fa1ca4b46554d793fd93395971f497a92eabc155afd0f54c7c91f7a66dab7d21e26293f79f08f349e5c7078fac0d87e6e96d86412e6ffc40b1538913d451593bc769981e519be7033edf9ea5ca0150cece3a0d83bd9b459645e05b22d4d7bda08b24731beabc3d608abde6056bef4332c35a61ecbb33fa36933e32eb7ded293bbb70b16148856760a9d6b08826b9f38e24d4076839b25357d4c8583a97726d5b41ece8c836741a99b94ba870fea85a249d5f08c4ffa22ae49701f0c1300d19244346b81f976cb7740b2d3c533de891d3e192cd61f8cf2de8ddf7961aeb0d68eb43f8f28b4d63baa8a4cc22f20eafda322e0cac69fb391035e39fdf05106571dab76ea65c64f82815a0149189d5900b2c5bbff4bc1232ab04ca0259e38be52058e9b39c486e2f33acd1047ff3fb33d4c437519330714018ae53f7727d877f62cf317725a4d0d192093e885b8c44292f8c74ebbe655fc37fd94008c3efa6f8f5a74339b40e6377ca6ca3bb7c15449bb5e9fd88a11bb38624c7c725718f335b55a9b85a098d79ae91d2fbb289b023796946b6e4f533e07dbddbe1586a3c7c10ebab0a7ef6fea64984380519319f3f7565b0946fd3c1a1b66b24dd3141a747e87236e4c2091216130d416d89d14bd38bb6e97e2ea9d681d11566ff45040ca97587418e55e6e570fecd346e495116af7e5a29170f865aa9dfcbf144468dc1d0373cbacd104f4a3c822d4800bf90014357dd8c485e5db56d5d64ffea0fc384904ad10a328349394a88192399e0dbbc1e288eef4ce051f683ec6413889974f4b03322fadb61cd83e57762e18a9056986b31906f09340a95e08c528c546b7dbeb12d0e1999299023ba37676d7c795245d44ea22443148f53ef68b4370eab51e9c0b1bd984c91703014b6c01a8edea51d8ccb424f074eab37fd65ff432674d65e017cb530a04f0356cfd780ecab800e244dccefb9e51802a489fbdfda18604c0666fd15f0d5178bce8ddf16e5d2b346bd968b2b458156aec4560049908f90754f290cc7625a3f9fe25bf931bf3dafcd3ab69cf3bc1585be10a7c456a20cc683f8890cd9ac05ffc7ccdec479853cfcb78c6a3a6bca19c5d53eec6766b44a0180c00e5c7c10c3006df51224d1701d2662f17d322ec29cffe531f87860e71b200bc6b97703c2e84f7b9f5a3e8508dfab8b73a49a65510777dbc8cd05ad56816995670ddd1c57ddbf806f8e18a1f290f5f5435ecc5969c98dd5b256554c216fc66cde2af4978bd7ef5ced832305954b7e9f4d1da585e4e9efc1f1803d551402015c2c8cef9a73b63ce37c098f7f3ddb81f11a7721092a1c5ea4532a4fa0c0e57f6fa52d436432e39916661c54688385948580a21ce7138976334f44b2a6ee0b54327a08ec24d3af9ae42872f7e33553095098b892437e575f73705019d5231797ec394ba2480e2b1c74646a3bfc5bcb4e55c37dfecd7e1bd9c1698339e946b68ea3ff64ec61409c22e7fb41f9a8c44e1b4d645bc545fa4f7cd6ffd6278bd0b521230c66f473ad1873e55630c5bcdf207c36ab3513902ac26e9a157f262fd94f6d6d6bbad155226146b2184aea4dae16116ae8beeb5964b62b64fdbcf3088bf2647a859e2fc68bed12b7203a6f88d6124b727b06a9e3e47c39d5d0c9e7368e2eb0735f8040905156b763b768e32eefb468a9b75e2d5e93a7b0c2d4085c0bc3994930a247854a9253ac726e9a81bd1d4a47c543e3cf67a74762fd05ced08b673ed77e46425fb533b509b647f604cd35ccb061cf355b3b3c124ac2d18e624b19aa295752157dc2f3bd5ab64357d0f670b315cc3a063b5c2d163db10e603a0604cc0754bcb083ef928597985f489a2fbc0a0d4c3a8a8031f2a74af74dfb8b8a3864c36a66711327a039df5f32e907e6b980825bd9a96aa09932d6948d1a8777b995b464cfb81ecfa62a8a3b68d9e8ab6cd606e9d7a6169b6ef84685ae7fa1ae87af96e179453b0c2c65142087129e7325b25565e7b7cce2538bc244bfa8ab56a3f62e023bf20a7ccc23e7d9200f5ee01639ba3417f9e5a1a7d9327020bd1649a04959cfb7947a852c43382050ecaa5eacc98e9c9f7ea0ef1410395ec8c3d6b31cd3b725e0388b5b4f8694507038d465d6d5ce249bebc844af1386fb36854b28df3718dcfebecfcee16905c6dc50fd90169bab43de831ea7df4261bde082f8a1ebf022bae97d6a6e4fb63c93cd52c8cd8ba94197f6d9a7a77918b8d6dd11ef883b104c875526bf63d19d8b636a35eec0ed31b55c12f8c4917effbd5fbf4cbe3b0e516ccba78be178dba5b74b0eb906e33307fb77d2be758ceb7ffbf3bea2c33f61fb7a064eb417672791e031c7982875fca2fd0b4d3e8b354b994c03f6beae6f2846d561dcec3b7a0ad761287575557a87103cc9474f92353f3abe0d58463f383f739725eee95f1802fe9b4abb1afab45fc1a4328e92fddf3b57b835dd53f536411134142acf353ccc26d75999385cacd56846222c9a1c6fc7895c752a677f629487492da4ec8c29ab56773e6429b42add37e0d03b2c0d6376a23be9cf286cc1395fdc5d8b53cdb0fb7bc4d048723005ec23b566aeb8e511a5a2a34252adee2ffc632787da568edb5c72cf00ccd1df1544eb820bcca051eb862c505cf1cc70f87b1689177180bbb85ed9b5f0a790433eee141da6c1d2d80e9f0966b5ab38cf1baf4a5cb83866ae081273184b3c58c28f396f37b480dee60a0e72893e3d532250eab00d537c60563b7f2af88efd0e9557efbaa2bf1b478cc4bcd17bee430ced1f103b84fc81661f385fc96626e730e1ac0e366d6ecc0584be00597449ba6cc98263e6b31d87b99f2a444f783f587bc71ae8a6772bcbf7b198b89e6b86f2448f0092f37a72143716e893bf528c848957859c5ebb51278a8e33f2ddd6a7eb7a63547427079864a5a139b6aec28cc66977199ac7fc6bcc2c32e1c124da9da41f255ce99349a59f2a0434a84a03237b2713b4f5ca87c373a2ab2deed36e059617fabe5c5dc870ca9c6f43548be33cbdef6c8784165a57aa80389b0ac087968390323f2f00df07242c4117c4db9d240864064ab4f0d24381d01e1720db59e55d2bd10d9f75e68cdb3032c7a789d5e3742c241f82a01c205c30f1d52b2c7aa7cbab39a3a95c764a3b0cc0587a641c7aa749f020171ba367aaf6f2faa84bbd24c9aa705397884cac22e36cbc5ff09b4be1d2d2b63550e2005c02feeac380537efdf6daef61ce185407f761bc7019b6e10c47cf0610cfbcc1c1a66c561351ccbad2b3b187093384aa4a769291228e2891b2e63eb3262859862b6274ec816ee4afd0bbafc82acedc272b01590f08a88e73c5f0cbfac52fc5764fbb99dbbe04cf2d8aea99b83c4ee83cafffcc46846611d22f4a42d7f64d2df3acc7ffd5e58065a2552ab095e76063e5bb78312416cf90d008c3a62e52d4677db0194df6ca682dffc1f693f2adec78bc9a00ab7a89ffec26c73c4125e91181b33d3d2bb8e407e6c7bff5149f261bb78db117e950bee12d22381eea17b7c6f3382d131b5f61d129c7b36665af6a63c3ebde490f157dc096f97d9c29a9b2df4ccd8b08ed7b2ed93ec8af0423bd7632b46e60b23e6e05bc0f407d935ebaaa048d239b94bc2e9dec07f9fde956ef31a5bc3e27e0eebc1f8978a3fbc46fcfcd66a250afdf34a2eaa6c7e2fe8c6892a9d945d14fca8cb92c09ae3d1ba7d6887ea1fa981edc9a11ad742f70b854f15efe3fa1e9ad56942d9b108143a6d2702616f7a00fb73e23cf245b0e0d4c92aeb6ff0dd592995e01a684a81d3c1bdc44422000300e5a0258e16d34ff3e208fc1ac7a06a7b44de640cd9b9926e5ab99cd35afe00000600eb000800000004000700f40012800400ec0004008700040087000400ff000600eb00ff070000d8002a00ddb37a5f4155e99b92fa96c280dbdd09504f4cca2e4c323b66d8263109f6287698a7063dafba7370807104eb8305bfd3682aa66bf43ee197dfae50d67351aeb8707dcae425e6c17f7580a12c5340c8b84a375e2b9b5d1329df39be991e43ea540498f78ac33e697385686f6029f80991a2b64653bc8776b122ebb01739019acb77f57cb5407685989599b91ea7659cf565d5cecc0e37b55c4ef588400f51e3a83156957fdf7bba46f1a39faf7316afd52bad76533304060507200000007e156408060802110000010200000009000000ffff00000800758004000700d82a75800400060004000900fc10128008009e002110000008009e00000100000a0006000802110000010000c4107d80b900010049538c57a53055cf001abc9567947d7c6d255ca4e6f5d7e9414c3b4fce95167f3fa17a252855ea038856da66ba45ab674a84d054f4ec910ccbda8d98688c664eb780a6f9d4adfafbd77d2fbac87dfff64eafde5d1ac3fb7e61f44428d553c10e102d6efba19019b32949bb4f55f2e757c6a7d8f189948b981c1f5adb44c4283ad161fd1c706169a82656b5fe9d51af50deec2eb43054a4bc53eda6aae24d33be052654ce2f869d74b819c681c63b7135013869154a00000004100300fc627f142eb236ceda2be7ee52cab662a4ce63f377382ac080b7219c9109e8ff4a79ec916b5937990855e710fa98df3ef7e89167d7accf6d53283d7c559d3cf69a1b798973e638b35daf993c72c0f3f100917479bd856d253b37d51899e1a78e7dce9f97eb3b6169acda0b7cc123818ff4323b19cb44c9fc05eadff62663e55dbeac0f65264166de58996fbc0367c82e80da58f0bee1b13e062e0f83175c081188cabc44a7cd2cec13ea2c4f41b2e52db00be00391925facb708affbd85a4940cbfe9bcee9d2656a210603ae691f3ad1670a9d53d89d153ba199fc1643212a0d6eef49f67c8ce43193ff1be4576c25846f964adb6b90d9669b09d4a075335de2fbdbbe20ce653831b9e3ff9c311ca9c1ec49b6ff19f8d4943817c927e281a33b33cc542e0c32059ee558be0baa0b1f8351252127e0e852529d3ddd44351366650df61b4dfee2c9c31f299c5696993e2428b1f7a8eddf055baf5821f759494f2b426900e807d319c1c849125d5c782034de136b3445c390a6536ce919a01bd2f9a907f4ecdbaa3f3a528ca670a3756632dc207b3413ebd54307e786d54358549d86b5ec0d39116d09e33784de8432189e781d4738b1cd2ad1d208c215918eed34fc46225f42330d85d50df3b2832f35affa11aa03186da3ba5e0d980f7944add23af370eb0a59440f0f4f93f7eec051e4d6ebef40442b6a424b57fa99464bb04d5ac25858eb99ffd4082c2288c9bfeeac38eec316e6763e29bb4e6e98b950778505b171f0d07af5f0059a80724d3937a1d8847ba40df861b9cf39fc7a5e98b1c9659f59df2c063d208223da51fc4edae82c4867514f374cde0deb39adfef2643b86a8c5255a24ade087974774c10fabf4f9a65c772032949978e9e6a36644786badcaa4d68e7d5d98fc3b7ce4b27f59cae23a6ecc98aa1892628f08fc0de06b014d55a9ee1a4c9f33f3a124f8953649552ffa2fa993a737a940b9501dbf2cc0966d18b532741336d7abde858438121de2673760eda30b2f126fb4031916698cf35c0a76d1457f4cfc53cec99b7742722dac92e42fccbc974a3e1ed3ab54f7d1d9af9230970d71177e2c78a63c4b2b7961583ac6e9eb4b46b6ddb827fbe312ffbaabd3bcace94ce05f30bffcd7b7f422df90a2054a8ee6b6978901b0c4937846a591227af830f12af4b8ea1e53e7831d2160b07ac46f056cd92a56c450845a31d5c4ea6935b7876806c10d886acaa8b451843ca7df1e2fb8e6f750be2af5644bdec04dd468aa25d07af137f490ae86c8ca91cff285bfe0cffad6d97fb1f819e567c0fe886daf616e37bcfee69e954b0494b244fe97cd20a84f8b14987e41e4618cbe2fe3377dac6800f35216ac95e0619fa9d94cfaf604b98a4395f8259f0b0cc7e95c243b98e346819e1624a68e7d9b6813d73e8abc1ac353e4d9a30df3cce0f9e399a01e413ac57b81c2fd58dd6d964af7f6cbe2653842ea86ef8d38cb396075a87a9a081cf8d01bc3d06aab2b19c2facb56d7d51a8c063f6dc8ce761b64c75dd3018d10a3d2f5c5e71df99f84e45d1d918162bf239b33764bb383659f97d077e4b809665e6fda75054cdf8d10730669c387004facf5b1245430a542bb412eb903f62d77591420bd8078c30c632d0624633bf2e2610bdf9fb4eeb2522960502d69eaae1e8bfd00511eb12b7cffd30111b0284fd7a4fb407b23f5ace591fa868b3c786a59bb7b002fe6d389598eedd85b321ba703691245e1e9d9f67df10e4b0f6a4eafda77539db6c6c079aaa5f9d5ef025829bce6b076a911a6133286fa7ee8bebdc658d75c4db6f409d239433d210ff3124333c679e40634d1e0bd849e030462ac293ff59b0feec80c73c64be81bc8ad08683d144c0a40d0c7ea8115b70c1f0442271c5466885a0e376446b98e9274efb7305acc3b1d34e4bbc84d9756be0cafc11970303b1960eef2efcf9119f929b2aaa2f4b2a425b82d2d48c3a00f2eb13d8034e99b8c55e1e351085c37de20be5c0841bc5e10acaabf313c5784aad39846de3423d38b00988ad24299d64781b0dde4af1e24f8d62aa8e301b0d631a8c6fb195e075e0d010289ac5f768d454c0bc8e35789887361f780a5fd7fbed9cc99a9078351293a8c3719de6aa403b9d8ddde5cd36fba474e738f467172c38a6096ee8ac5d81e54e832a8f845a87e8b8e312dbc5493787fabd9cb8d87131ea5c9e03fd749c0df2e79d7594a7d769de53dacddafa71f44af265383c03213d158b00425d24301215bcea956f56e79feb02020f643cde43718ba6d33b24457129a87760d90d6719492b69ef6e213a6bb2da1b5027aa47ea87325a0507b2bbb08f28fa1a44cb2bfec82c0e98898d873dc6309f90714564e76a2ccc2a9b2c823c0fe3bf4bfe918e48f54d693c7b9d1c13ce2c76419a89d57be07014c4b0d38e131a7be6569e64b0e8dfe6ddb7788701123dd9a6c4dfc680afc0f3156322eef1ab7bbff4f02f55bb19da831e16f43b161acc4fd2fd59be9e55d09da4025cb31930553e742c78d7a5e6cbb996d24bbc27145c59c11be3e6269d45ed00c2754ddd6a30516caaa98160f0f79af91ad54e71501f700fcfbe7dab3d2251063b14fc76f84e9f4a7fb8d8a1f73e165ec13fd6bd70ca648b25c4f8e2ab19704e04f6927f5737d99deddbc9ba44084ceaf7605eb889534a97b8850c49cea7999ea70d69f9744be3204622cba991ab861eeadc34177a323bb3daa0d8ac70bf7c290b1721aee2be9820e3b2f31aab4fffcdafa0df881b253722babef44e520ac88ba4f8f076817faee76263318ce92d868f03f3bdccafb2ad0710f0bdbfdb3b3b69b09c04b1121528fd7ed81e6049752f114a73a8a26f8d8795b5743b2bac14952f113ac9a360b7f5d430e09bebd715ea16413676408db8604c42677ab9f5642e64150266b99a2ee8b972a1d45c176d56059b887cb6a1cef11deae01219f8370712f36aad4a5eecd90aa047f3804ed5f5c29411bf4cb285cc6d304cefc4466c155f532856f2e626d3c363d2127ad7e99c9add89412a68001aec79b31501424eb5e9a3cfd19092d5f14e852d211a4cb6350f235ee4c3d7d826b10b3094bfe48400be4aedfd712cf5427e10fee0eab22daa019851feb189e4b097951091368c36e6c308c3e650a1b3ac980bb8161d978d64a7f9d6236c296b9b0f1f1cbb1c042b879b86b6af6e5bc8acc75bec2cac880739d3f33e13428742b4b96ec43d05ca763149ac66f5e4b2534cd39456f28410e97dd1aaae46dd618d2e476ecab607dc573aaec724b4995af99ec6eab7285399ec41e5ecac1388f763d5bd994932742d1a82c9387a8a283251c3e13d40ab3be47b452e172e80c816aecfd6545ed65960dc79f82f473aff91f0f9f8d607f2d6900ff2f79b0f5f6b4f4fe7efb75a08bfc0b4ea6f102b56bb6ab97cc585fb1415f8ed37d0bef23121a002e5b10cf2d86e4c9dbc70241fc5dd126722a669d3d28bfe0ae2c1ee119b7e4b9180784309e18bf4326baf082ad145f953829e735edad53ec921ee23578c6fa3fc5b652d0801e4b5211c0bb553dfa7a80c8bd131dab64cb79a3a6267cade29a0878c776824989d6c042034eb24dd05f11f73987c61dee845ba33e0fa8bff1109e975f79288a5548ed97522daab14c85d107490ba9057af3562d63e9274f1644c0800bfc79876f38ed545f271e15d25ae10514485a7a98be94c2bcd3cd12ce9b5c9f78965786c475089aa6658d0d1f1701c7300b6e04aad6f4ae2bb2ea597b8a8024d4c5040b1e83ace64180a01b8e99a27f96a918ba6101d16ca85e79cd2088a5bd767a5a8050c4d0ff02b4b6c3c801e890d85f90083273432605091d36c8852eec452e349a828f8135a35fa351481a51f64e45a5584b97590cd392859553956044ffc5198602d13f4b2c5adf4f81f45954ae0824e224e9afa304f5aaa27a78fcebd9711c69aaad0b8488540553c0b1ee3059d76490f4abb0605c896d9e666fab1b708b90d985b1f3c8d3cb4d0eca0c4b68181bfb8a63cd1e3816f08fe074e33e82f83ad65bc6bcaccfe6ce541e34d2cf8cf5c9be444fefab8a949309533e47852d9c008c2ad73f22a95d83422c5ef3cf29d8be067fc7d30de6b5504afae337e9e53e1cb7cf8270499f9b9dfe33ee2a246d927f378a45bc47ca450c41d9ab05d6fe582b3c40fc32a9feff2f061b5046a4e4d04a840e3f987922e0749dc24433ede5f61e4df59f3f3ae3a8f97ccd30e895cd7aa5ad6103838fb0af54549a053c18d0f2c3e5305456e5fffed548f14bff2c2d9d5f765ae590a4bd561b7ef2698223b5647d36abc6eec477a545f20773a1ea275176af45288a5b38a26a6ebd3879c9f6b48a757c4f38d26a51df3682fdfca7d502a6783e2d714411aa0943140909d101bae89b19d6b5dedff36c2d895af4acfc9516e63b273f6052f6637c36b83c4b96027713481b0f32afd846e1d9b24f3fbfb4621d7aaf33e360b80642333dfd8b2fa201485bc7b56a5f135f029780b43f32f1e82131c3d89dac89c3ec1478aeaa30690c06a7c23211a7f1632214338c0beb46b3a5d5ff90f466d1cd42d5b7ace51c7b27d1498348331f886d81bcd945fa1df16423f7cc94ee66969252f757b00c69937fb1cbe5b06ad1315070e334a8bcaf7a0a7e463226c38e5e78a36879f1bca2a7f7dfc71fb68fa6710cde47f35213fb14f586681e0914ca80c37cbb8da28d3055861132d4a9bffe9846bbb6d78a70183b59e2c014a945a5fdd6748a175e41a79a1c2c7a0f6cbc706c8a58c509625d7f0adfcbc0028558e2d49d0ea80157e0856eb18090e832c3e8a7fbb73ce8a76ca56e670707f4cb708e3946e547485e6ab04a453ca22ca3fbb62b06140d408865a34b9d8bab28e6ed8050a33f767abf36386dc743e7ee6fa7847bdee120e7473aa0fa285056976ebca53afbb7605cb9b9a7ebd3de7d14213952ea14f9a0c987d6bedb81a7991c902fe870d36865f4c32b3839a834a5671533890494c641227c1d9fe9ca09f6882c7aafdd72291be80aa715dab74a7a78dc24c2bd6593f3ae1dd68ded2c061f5f98d86f1b0fcf237ae038091a62ea26a859ecbdc3fc90aca3226f07d502e715b6645a6f53ece1c1f3f05a62dc208a3717faa9437b45c7c089438bde061177120bb429138bea7dc2472c18c2fd408a91aec7fcfe28c7a58249ec7e31fb1ef6a91b436b665215b9efb6b29d202fe3e45740c636c16d6fc8e244f0336d56c383691470b5a6c06e1b1d16128a1f8ce7b7616107c5e1ec7d2d9a6b26bccb4e54036a264ec19de7f7159a5d33de3d170d706c65ca1e95ec1cd469af9c796e0a094e8eb0f781f1582d47369e55b678c023dc6e4e86f04348726ae81a33f61c205bdaf77d05c2bc4df0a93ef0cdac87abf072cb2899d46c13ff875ca7f4f6edc9808c490b6d42f590003b4ba0943a51b4be75896792b761dd9dcba96974fd296e3d59b7ba97bf835016f4e85db08c028687ceccc520358bbfc3d0156aaf9fd56d5a66bd5dda8807bb1ead41b245e633d6e6d896c89a5b9b206a3270155a282db884a9a89bc3917cc1a5823324d71cd4b80d50cb52db4203ac0ecc907927cbd97a11a3f801856c3398e2f9df418597cd89833e93d6d1e1213018342480749294fe57a7b9e7baea9a7ffb262ff24bab2a7dcfe4eb9dea3668999e34fe42c9d84ca41f156438d65857dbd2641dc81a4cc3b347ab7a32abaeadf86c3a88bf03f902164ccf05553c0740e687e9e4a7516b64e46443c866258a3e9b2e1191862a6da7affc0800dc00ff0000000a00060008021100000000000400ec00c81904808c0000807f00020027344503c06c94ad37d2a2e2c1ccee21c418175816657a4f75cd907d56f93fcf12fee8deb92011c57a8cb8d5df99819d456d4f125b5f88d2d360dc06372ea10a77aaef8eac514d64428fa3ab5202888155795251265594def2d6a022062fad4a95f08dd0c080d489a8f90548baf2aac8e77860a28223cc649ede0000080003000800000060010080080003000000008008000300ffffffff560002008eeab0e0ea072f8977552b6e97c6c7a3b4a80dfb87a28737b0c0ebe7526e1c138a519a492386e9cdae300c1b1df4be1322540b631dbab8e7ce6a1628c37135b0c96fc4646885b42068acd3587a2c2b3c340f00001300010036ae98ed36185951c03f5a89ef133900de000100c39a9e2e1df363b1ce93ac9a60c78fab6eb5c15548e41102fa653f5ba6f0ceabe312854586ad16ff8efb1802e04cdb772d46a89ab2f099da8792d5666dcae603e8147698f7214f77d27fe95a65e9c10bd16c6d3aaed6e1966579a56de72765380a59c1a23a7020a9f6035fc2a6957ab2840626a154c809003a85b7965ee4a29c05d83e1ef0d779c6ef157f318419126179b8e557a346384535b49940cbdb710cfc984be307117cb96419d38179da97a230a9c082f62ea5c91025c5ca8791cc09838750370bc52ddd22de908796eaf7b59defe44315a0b68e9b8a0000bc110080b20002000b389db10da4c985a0822cb055fe8f59fc29cc5283ed96896959469a2e8493da7f43538b056008b41fe31f4ac04b8383d66f5fc79532d674008551cd469cc653dc7351b8b1f6ab49968b30dd13ad716a5be849f7c036f8b96d250c0881b6e7ad6d2943aface3ea678005460e372e1836058bce87497462ab26530a8523e8c4849f29255763f5f6fc6727f77836f2387ac34c359b35aed83f5b2832c020d4188100dd9bdc60168beec5ffef1947f40000bf0001005592c0d1340d9a67dbcb0a0bad37252a1cd5d7a070782607fd8a680c63db9b24b26a618e7324a37e1a914b43a6c29244a811bb0f12887639163162cc88a4fdbdb3abc7e6087ba20a17c26e535e861d5ed70f029d0275a4d610af9e555feb23a4e1961c1eb00e19f377f8b33866f7b06fdabb9e577550acb4b6420fe474c866da74d30f39c03a011308d46ed88e3a8c1a7f7d01408b2949c303f666351840dbd76dd25e581dee065c084fe180eae9b8efe2cf6da6515a5c2462d37700041002005bad917f8adf09a8d65c362a683c9d1af60ec272b6fe783ae53e0c69b12b1fbca3519dec35d3da8abc38be28d94bc4964eb0b98b379f5f06c96fcb719ab7236e367cf9b9ac02d72ebe8d5d0cbfb50d3b3eec25baf5186cd34806b8e18fcd8ba3c142bfc7d5b13061be2da37c83859227122c0823eed628854132a00cafc3ccc95fa719f3b4247b11545053a3016aecd232dd4c001adc1cc3fc19119a97cc5313704fce787382a16e5b93a667dba487bdb41795f947b04a9c377ba9660cc0c195a08525e8425a2f3c06791aaaa1a689b8055aa523b8f09e03ec17837845c827a41c506d94d8baa6d46da4716eb5f2e87c3657feda4a9f5b5b98a8deaab73c3bdc7959d60097f48ba9f6adf6695b821db7f20fcd759fd49f552c5a33a5892fd2cff16b0f48c483451501381b7fbb6add1668ede7291c12e688fb2793a671d00bfb8e071edf98402116ed76dcf4b54a6306599dfdfeffba3a0546f492e9db47fe829ee91379c57b3c5598cda6e207e631819abea9e6bf4de8239939f0efb11fba400051883055aff7fc9ec2337da78b23e3544d6d19e2ce6c707840c091debdbf7f920411599a82b7e8cd08c748bfc1e929ea11bf469e7b802bd767f68102ff57f11f438bb99cc6cbdbe87b216cf85068d251af97ad5f7c70609fd302bea75f5a357fec6320c6c208607140760a96a49f37a7b952e339afca5672c2045d9159d37e9855080df43d16540ed00fd55a2717f67ad0cf27ac4cabcdb9db22bfd036f6f1c62bd00877b2dd74c305e96d32a4af50d132f6389288863b7b37515c5b92d7b074c00bd62f791b366a7c127d5f60b3db683558783bbda2f58d147ed30c0c34bfb4ea1d87dd096311627d1ffb257862f491615cca783db62194a536570e27a2d5d237aadfba99d7a55b5761c93a75b508f1b9ddbfd0b5b6c06c6934ce34cbfa59604d07191bb9fd2afdd54c8046ecf9fe6cb8bf0772065600ee86ea56164a65ab6caad895f8cedc3e597ae47a069427691e27667a90c44b0c0e8887d12fc51ac7796ba24cd2da8ec4b0f277042894318d12cced7efde286057a82da0dd7e9b710867532c666da1e26e91829df01191788962e4e4fbe3eda4ed0b8361c961bbdb77ca0b91181db88b147d385c46559eefc4c6c4e88f915b5ca8b467d2e365a49cba03ec7cef3385cf4e0eda6064e440e0e08739a55758ad5b3de4827c9b99a3d2d353f36f06dc76798a3837dda552ac426ce8160bc5c7d5e906b9522a92af848535fa1aa214dbd53b85aaf25f1c2ec3d0bc2ba61c7f1a122d3cceefed39a46714410109976fff2cba336495eea1998d153f75d4c07d456bf441f90be28c7456f97e880318483ae5cefce9468f13d48ccff69169098e2e0f175784a699699c1d527bba658bc2987c1eacf42062f5c52a86e15e784851b3e4b0604708455c2e813c49124258700b5ca530d42cb9acec013a22146bcd042e606f58ee09a2cdf590b36cb22e8eb168a1ac3c9f2242f6cffee0e66144e188df13b27854a922d24bf8e6ee9af8c144b0176260a015114d2d591f085f322007dbe8fcfb7e44a376021c3a76310808e938bdee383ee1e81f1d091b8fd0467e23c18942073c5424d104c1c8a529f8ad76f39f122955403544dd948198656da3caad4f9cff0ab0b80849a9cb1cbcd9190410dd78c50de6b5d344e22d9796988d533a2e759b8b51c6bf64e58853e15e52910386722c13e8be4a0293a01f8454aaac23acff09404ec7718e01d9e3714f54b31b9854dcdda14a40b4ecac7e199662871df482d5304113bfa56ac09bc1d01a03e186949dc51f0ca42bbe7807c502b988e57b5b9daf799e1e5336c7f4cfadbb49f1e25606f725aa1c006c3295e319c78b06297284b51c353f487c76779096021f31bb6ec1afc4ebbc2554da13ad62d8af7d107f1a9e50e28fd8ae61866b7ba88da9be478e8e1c44c5177a959d5b2603ecd6ed9af9bb90ab59dae880e58b715e8bec5cadcf4f98aa8a7fe4968f6a12783ed24047d69138339af96a5e9584d24cd7506c9dabc96b259c492a8a5256623061a16c0b6d577a825f8727b5719af59f69c9b3a8add35907296ba7427079ed241a76fc8d3b7e3e7b6dde97d9aa2a367976815f22a9fb9f6ae6355ebdf5998dbe7ec548d513bccadafea7c92dad77a0f661a3d837e76b2ee2ad4cca9a3670824d5f6fe5c88d99a79b80fb253cf00aed5af46ea46834d43e9d62ab133d596dd92be9491949daad908f462962d7ed0b6eec600714c666b52811fa69df5dd4ffd8e7c603f21bb5c9e5211a3d519dec5605e2e3fc1251433747fdde9112c075f2288fc6fe1917359820da3a55cae747bbd9d77c8e731a3a1c0e877b48bbdee22a7d0a2dafaed4f268626ae68356c331883b67285644b0e7fba27560f40872adc7b4da28b04d580bf06ce127a873a0cb5a5f5b692f9fa43a4f3f999f68a2a795b8192960e31bcae502083a0beb245c7c69176417b98915e27bb38348f250203f07cdf116c61e4e3d6aa3a7a480007b7adea291cf4c4e0dd2fa72ae2fd0d560c436050430802963b34931de5792c52e7b94c32350d5e201dc6657f1ae14ab34c154a5897e916dbdb8839ba01b647506be98b28c4771ade6277be7d14422d5d0e1736df60a6489fa06b7c8e7b7652a6b2fa509ecd94c988fd0d4d6995cc8a55962ff1f8ed86f57bff0ccc566411559178023ad7271b944100e6b324cea968860da618364dd95f107df46413ddfe7cf336f783c8c4be91e6084c7542e804b5d7a709460dad448c55f4f38de225e0f559ede29603283e707dbe6183531f8a24e10fbe16e4c3246ca896fdafa897487e988331716a505cd90db1a7dbc82a9f081b3c68ed1463657f16fb71abf4e7cb350f5b50154a5417353ba1798804ff0df1a52c1ed0f14333b47ab555d8cc2254796470bb9d56edde438c7371c405b39fee5359868b8ed9a4d631d801ad1b5c035ee455ef7ce2c0addc417a947fe81e57a227a904c5731518056b1a2e256e6891d5083489279cf99e29c715525aa7624820f60ebb1e2594cbf151619887067947205a564404a13ed8cd79c842f5a38016442a275595f86bb9b032ebd9eea78764d7e756c394de37bf25c67ccf7584b97af459433486ff2803e04d43a69f86e5be1e949c0768744d6f69a18969736bcb360cfdb80f6a93730acfe4d6406e27f87c39995dcd5c8dadaa56104a56e5275d22056cba2a0114444b49293338ce8a31600c3b33bf1e6099c7b18e95b599010328525febd69eb7d658edb6fba8479b7f8747fd5bd21387833d2df81fa94f71c3ad7ef3c0f14e33651e9bf1dd93f465c366e4b519ebfccc0972363458933ae2ab820661d4d2cf8d4e2292bf1724cff9301e5e5ad5942de267d9f9e39bc258076b75e8e14c95da6aa5fc3465fca9703f208f9a08af5aee5433f2ec0e18c618a1e7c3fa6c6fa09c9b8a55b3a80102fdf75ac866b014b37d5970869712aaaa5703eab4c1e6ff8da2f5847f5ec632f95df1fa0c21a75493d25394f18bde5a911034537014b4c38eff55fb42ea68ad56c0d87c20c784fff2e691ae074bd0ca89653dd06102463f7604aa660dbbd304af6ac225d9163c643ef2c5d2d6315275a87ab78ee737b34479cdcca4261da5822398bee1f9813f4182dac7f647d6ab177efb6726a36857bc72b6d6acf0e6c3f5cf52e6b941450124315b9f8f3e2c4c99b95c1e05cc81201d07006032898831a5048822aee09161b2e91d23a4845e33389f29ce0721c48b78a58570151c54ae39738f7b5be5da599de9ebc749e989a8d7c0ae24df0ee2f38e3be8c8f80923c410c6e275a546a7505ceb825d4867962d3d81ea1b4efdef10b4d926927276f1b241cf18bf95c0bcf66f262a9c93ae4774188ca0c03a1a022f6273b9671f8543ed76e197897b73cb6af8c72f3e2dc8bbb3aba3f940eec14beed994eb524b5e3a37aab831eca1a749590ad4543b698cd338a27a33243d1a335970eb3e1bc8b22375f8142f5f76ac7bd4bbadee1a3c0ec7a60ff58e64f5edf6394fac154dd1c52bacec86a5f4e35f3cc62518ff638102003019dbf6af09bfae002c2646a0ead967608468438e7e1107b4e03c689a28e3171de73f058c4a00407d3750a1f37c923a59db803ba8554e1f1f5d8b2d09ae4315735788e55228dad99a4aec1d51e6e4db663ccb26728ac4c4fcdf8b07f23a2f3e7c584aa98df8aca87b222b78d180da26ae520c7b1b3aad57c4a4e1bb8e6c6b598d7499d784347da1088b4a91cf98c814431d89ccc14fd422b28a51c7ec5a0c945bb38f837f4c76e03a0b9563ba94e171bdb5a99a540954715fa257ee5cd8e271e4e201bc1ca0628e48e6accad9bbc8520631006c2e305ec187ed433ed20d54907d06084982d08b613e62ba02e95c267774fccfcd0b84bc71f62c353dc4551d96f53651c37656e5a67c3c29c366703dd505e0849e1c891ffb123e1fec18761b2bdd09fe1fd175b6c54c2eae090dc0458999407ffde685cc3f82001218973a523d52d8d7e7614bbda5db911362d9f994060a43a96e9f936edcfecca68bac8f1230741f99ea2b3e0ce4e204dfec3a7bc361e380e06c576d8a0d5a643f4e1d55de0e5f4d7bda823dfe38cf6a2952d1abc01992000315326a0ed63ff27711dab92171eb04cbaeabd032c8b1ed7219c0f67ed0a422960428c5f3c63c268ef3ab212b0eae3ea0c4e851f9642539c8ea60d2ca95b2b3fbc151dc5d59fe6f10495d88033c6b92d2c1a649338e24faa6ab5e575041075f9d92c5f59bf6590692f930b218da2218f610bcccd0ab4b8a188889228f5440ae683e651e9f3eb05191652cf34475788013a8db36bd796cfe7d3ab4cb999024f1385e967ef08a80f91cc8451b87ec988fcfe3f2d37c058e2e155fe95d65ff2ad97ecbcac18884cbf49177e3dcfac520e53959775e416e082412467586f773b4dc6227693d45c1c51e6d79141e92e14823856db757ae0745ab0533cbaf9037e9e089232fd05c1e955a98320014c034711ae5563e0d43a9212b0fc8f7be9488aeb72a3e386f942ea73df56454ef34fa29efcb23fdd46d6fe9689f5f738648d961bab9bcff95a8be0807f55756cb2c570a4c8a80f5cf7e66e44800e0e1259c4659f45e94107a6ce61875c293056aecacf596e21cde3bd6d501ef694c8d1223d590ccb24a19103e304da37974606b937337426a84dec7ace8245d1b6b21f4454aa678ec42d83af74566af3d4f47085c17972d3bba2e21df2fec3bfc06256c92fce8675dda68af457232c46cd9b406f35b357c9df421b06804c0f4b7f8e720b100a5a48455e3975954ad28102bbd91b2d47cb3fc349d1f0291ef73287a395aa82c21c8206cf28397300857c39d6e1eede310c0c7ea6fed7638b0a9bc722c951bca771b8985e9ace94175c7b7bc580aef08a847a2557c45547633862930e01750187b095c229187e2c8d429b7bcb55194a826dd943bf9fece77293259c70217e5be580e61bdea04a6be585c5ada990397884b25a30a6442431dd38b8f828a833b90ce8b9b0ae2d20212fc8fe2156eb821d21431919b9b12756469168dd9462b0146273203bc613c21aa5735a678f32431b1dd7939928b0cc81c3f0d5a9ba79849637634bf00b0c91739367f342db83e46b514de7719a7385a91fd4a4cf5fc445b33099eba0213c1ee1856525ae4eb2c962a80b94c5f8ca011c6522a62c5f65622d6c6b51193b28daa838a0b3c6d96c04640bbf1ab12406f89255e1db7acfad31d18bc8e8c92acf871412c4240000100b0b17501e32b1af166880e2c434f7da4e50a6f0b92c2061995a0ff3e4e73f9993b017713793f8f2873da5c826c46897e88af01c40c561c63d2c1655a00010080080003000100000049000100407564db79f971ea5bc9f0e371be7e648099ae98df5041eb7a9bef559bb791828cceed903144d07e6b5f6de4a472820b92b2b2f98bdfa206f35815889e906b8aa63c0d4a0d000000a5000200600693443ffa58519d3b869f19289fcbc13fdc13d782c729912ae569a83476bead6190b79376742299cac0aa137571bd7bd830763da36cfb259983e578758f7aaace526eb903016f3fb492bd96be871161d929bd2fa819cb14c286e1bceacaf76cb3ed2f53945a83ae4314fd3236e43a08c1002700e0340658983d80c81a77b3cbbef523fa57e23f0c2b9554f58cbd1a3998f69f1a615c6d6997106f97803677ca0000003c010080860001008fcd0d8f3391eff78dc37263c34d4cb46f248fa1247d5c8836338de2cbe121cd70a47184f9d0fbc2d7f96edcbb4020c21815143158a5a7305fb8602109e78effbbf9b1c5266ffb8a31db1af4709dfd329dfa624d33af8c3519b6b04946718d5015c56b20842be3422412ca9663336f3d999ba80ab53a7a60ae28081362c5a39f49d2000008000300ae000000080003000800000008000300040000002900010086d02b214318b6e4eec3012009cccbf316f2b4ca9f20dfd10d2032724d1d17de0637bff4b000000061000200966f322d538490c82534572ba7b92d9492f9aa03d3f27d3daa22e0cbe9af6875f29ad518df00c92ab0fade375b0c0d6fadd92136cdb437e3719ebe73e628cbe3476823c3bc0f2d2f82b84a333e74e864a67967a6d6ac9ece67ccda2d1b000000080003007f00000044000080380001007fafea8bef70b4c4eb30aee76861e6153eab628dba161f013247e10a197e943bcaabfa8762879fccdc177a592b1525c06bfe3b7008000300008000007000008054000200f10be33bf6f5a39309731eb5312ca6f4775b6e69927872bc6377f25e5a5ea588410b948791c3270d7d23423127273132b58757b03d3f603da6a8e5f393e2b4f3a6b3f7619837b25c58b6c54c54c5e42018000100e828561a45a2c4420ca156ab95ce14b5532e16de58010080d3000200ea1fa82a84586cd766122a04dab70de074d7213134badd2197aca3975fcd110741ab79265b6555faa04a35f083e04b14737b41fde4f92fc04d60698d5cf0d484fe7e091af3f71d73c35faa5b3ee20fbe6f684f8845ef466bc2663b551f15caed3802d29798cd79701ceea70ff9c00b546edccce1ef3acf8a298705fb55124b083bf7f6468ddba2adf4882bffb8c25b168167b94f059cc63d458f3d078151c3435d00dd3292c56dcf7a579ca27ea936885e02156fee007155ab8d0e31bd5ac145d1d835b45e93e9ad52ac531574d99a007f00010040448efe481c2e5455dcff74fafc55fca288850fa4cabd825b476810dd97bd14c11c8ebfaef3adaa38004cab143b848fb604a84a8f8e6b24b2748992ec3fb1f6504c82ca1adcca25b9881b01a64a6e4e4c99e45856a053a6800603569e42e95888b9d98b696f6a48af880541070d3aa7e8cd213d8b0a8c6e28d98400d4010080f20002000fa539753e1bcbde1629a97cbcfba3a6d8d91392fbf3b91b4a3bba5c8a889d4c71605a2cfe7f3cd283454895117c28f8efd1d6822e8a042a55996e74e0e61fb7cf6ff315d556fc719c38fef028b5aefa53293830382ca443161bdef55328e59a59ceea60b34f07f23de01be988d4dc4a5aea4938b4ed5af698a0b29903780957a23e771c7e469b75e3f781a4547b275e990e3a3791d2f5188e05c91b57bab1b6994219f1c5d9e0839afa34062077ed643635b83fc0910fd321b9a8d1e82cd07bc143f27c63b1c8f329e65adc43df647f0d837e1d1a2152b303a2251499eea93d7626bc4918b3173ec699049e2b7d00000800030004000000ce00020061308e6597071c08f8c4a3959ef5fc5ce43c3067f3ea5c4755b2f3ed0f4ae3879d54a8463d37a7259a3d9f3342a5a110562ad2d33df541a54171fb7dcf683f77555edc92854cc1ab062c090e4449918be8a445ca120d5102d345bf4bf9e127455bea1ce94f733e031e712e76dbaee9576570178daa538ef6b5222cd3d32c1beb73b25ce246affd9540f0e4503c267c5547f80034565a00d232ffad54c5e89447e29a0a64661a5ffe7aeed2d24a20ca36ead2124e5918eb4f7a23dcf6f389fba65bcb05fc96f4907a85910000040002000400010004000700e40175800400070004000200040003000400080014000e8008000200ac1e0001080001007f00000104000700b8011280060098000080000006009800010100000a000600ffffffffffff0000080077004000000022012a00760602083b00070000060202020202022690d67f0679b1950b73e002bc88ee047f8d76f1f4b0191bc12c689caa4bb31c312c20451a3aeaaa9b5d3c66afd0a34a70d6292e714a8dc4d8bcfd90945e8e9f4b982a1f31e8ee29151e5fd06d6c1c43789f9f811619d70e72847b38165fe7df2d4468df8702e63b19500a88927a6207529bd33920353445497a1a91a1c18fe8996a2c12a7aa55d21a9c684b5e2cb514ea47010706851296860c86760681091f0006006804080040000551e937080acf1e52a5629eb3d6f97e30a9c1ff716fc4185993178b442e2f9775c7385929535e847b3584018230c2def54c431be87a6b2cb50934a7197ae4d1cca2690959950c97d7807b8e765e17bfab392d8c10f7091a5c0ee5756e29629060480bbde800005f002a008c10d808e61358ffe5f26e7b99b744a06365720603030303030304062081ff0002006804018005008c10b60a2205125c252f2e1bf15adefaf1ee250300af062d1a00401a4900000000000000a60000001800000001007f00000006000800dc00010001000400ff00344175800400080004000300040002002441048020410080041002001b3f38b01fb57c6e05081e6281e122ce78401195b34f881a6ec4c0ccc7f8db6132453904b20dcc1ba9f6858abca98385a6278711328ae7d31be03e68d6dbe7b5fbbc3f03e681d360ae262a52745dfcfec6831ae159d81466c06a4c5e9f919cc9c009192411e8cbcc87c86b5a6f6d1255c460d53765f5cc5be477c19857362a3d4206383871a61c985c5e52d98195655cbd48c610c848e90af30dcc39f8867ea38b77c70fe875eb8170473f1eb417607770d3a2b6ad3af92e6a05e641aa2505a236e0b478f1c0f5f449a2a68496bdd1fe67e3455fb95c28a7f97d1aa453a1f71b871e7970cab53a12b4241587b73718186ba33bc87b6e73de483886d233770739a9d1767f304b65f19a4804e91354437d7dc50038218f7a95c7981faaa7b011ba4340796abe07ae0c96a348c14ff7bbb9567f8855ed2d78f8d0b32b2ca4378e55524991906ac8967fab9c5bccde35f2a76135ea00cf3b6a1952a90c61298fb90be33cf14f2e899c3dc951cb95695d79722c9b8eb4a6a0cee99415f380806574ee44ab732d374be8977bed7d3013f0ee6fdea66ba3f2fa46d03e339a9976987bbb3235c2172147cd3b064724cb5b5f3e3521db4f8fa47fb86a72b0240b6e7af327e27b26f0d8b34d55549911be403253219391bfae6ae0ec73cb8a08eb87ac7c2506d0719077148d9eb0e83278a1976935c453ab7181818410c8aa94ff839ef6b6fc1c9a6c64ca5605951ece78b66657bb1dc18207d2a973cf3e47d7481c0969c3a0771944b19bb7b5fd2dc5c81fd3fd34c65437a565610d41e67982f2542797ca1bdcea6a95ac1c86826afd5d65b275d62c59e3d1273d103921f6fcda16dd820ee69ae50ab64ca97021710b8d434c5d324bf5d1a59fb6a40a02891e928e45beacb7669f40c172bb78e0199fb02a03ea1b16cbbca6b81e1e0478b955530cfaa6ea2c1ea95124c55af4f669860ff77297423f4d161cef36ae8ea653a5c45cf729fe3e3a0061786f4b3f32de0b937881d0b887b7b28ce6a50e32cd153169f56b709527ccc93055867949d11e648a81ec08396ecde139d9611e81ac7c212aff1f3af4ad8c6293e66c03f45707c84916e315678a9ed248a75df9c10a7c60789dbb088e9bd13a74c8c89dbc72e5cb6e06ed08d1a6e6d6d2a0d943b03318d2186917ef855240c5025a9f74c165fc0039296d3f036d57a466d8088a64bf093d31d56cec1fa7a3d9141d8d2eaa8126df102e5a5bffd3e7d2079930e17109401bb33e5507a173c5608fad4dc23aae4b4b6d8a49ff152c3fbb8c6e3a6b8c2b0b4644e7b8593c65a75c276f4e9ec9a0d4853489ffa20820161f788c8fdfac9d02cbaf9fb07d7b7e319d45a68c7377df72e80f21d6695699ccefa6014759e054265f8bf9ec701463fbe5e9d7cf3c8a204a46445ae4da4e3b926fbb2a9b57b87d6cb8db23fda83b6f30e40381a79c24c8d0477c8a3d545ccffc1c07139fd675a57c1237c30a0bf8e2b08fabfcf4b34d5a1c3aa0aaf1dc9c1f5b80a455b53c69477bd1531a83130ea217774ee62e78f398659173afd24cb3d8feb14784dfaf3c6cfafb83d720243b1f08c309312f0d20828e81f3982d2709e02aabacbd915c6df1596efb19981dfc76ec2b83a250e6df9fce093b873b89cef5aa6bc5f1bb8ea9b3303ea09422141bf116aa50388ac1eef62969abf65d8e8596487984657f87c0c09cae9c110b0d88a30620d5c43600001ea9900efcfce3c97050d73cfc4a967601fd057654e08221bc390db119bcc039faf4d6898ee40886e020a29d08f5d3b443769e523f01ce066ce5e49481848f4e21037caf4eba3fe888864dd4392f3543776e95a374b33c9396d05d94775edf0954b0108ab894c392af953c75510b2781638c85300c1a860468e98bd52bcffe0d88ac05524023bd81db835050af05af246fb98f9092eac7f93f3b9298b387d4074334431267ed87aedaf2506a672af1189ce2061fafa1bbc3db1a9e73755b4dce52bcc775e92169c4e24dbfcc5de50119f771e6735276c1dc0ebbadc665657df4a5b46a670dd3268172967d8359c3ef81f7345b3e18e27d35286f5c9711932909e69fadddf76c0be170750dba06a6a709413a5ccf64049d568fd0e0858abe8544c24c6a8fc053f5af6178c67beb8448ec454038be42e8216d2e3d4811eca7bf7388c9aa2752e209ef1d8c5d712460312d50ecb31b60cb35be1a25ccf360ada714b5607eb779de0ad66085765edcd03f3330b33b0a7728a8278e957f14448d9547cba9d1e014e769c297d8a5b67083877c7a4187284fe85e2cb2c086d1f84c2a77f5b7361acee74697f65b43a6378afd7984556c071d72e56a5e699e4d5f1b784b34d783b1108c3ddb1e5cbff428b1c4954a230fe2f8fc300bdb599ca6fad5d9997e89e496469f2a9adbbf0231a515a1e9eea1384288310f458936a0aeb367e4710f7827f36c40ec5d60d41b1a286d001b62559bc775156882cd9cf9af0aec8546d74b75e30aeed29301fa95d1401868397500ecffb2d46ee7c50bc9ff06ac723f15aeeb2f1cd16db8b6a8c1ad9074677f103666bc33606aacf53e6122a7246150d6e1fbb0184495a50ef261c83ef723a912bad7d297fcffc60f6e36901b9c0a3928073dcaef7faf8947303388091842d9bd6afc11e1e3eed6a87b6c273b00d1a880f6f1d5e38fd1e7b3ff95bf012d8fa2e68a5baace0a7bdd6753f0ba051694512995e0259be00495ff9bdfef58869cdbd7ba088fcc9790a5c5aa31ebc327be4d414f764f06b57e0b8e2baa4babaafa49530e1977810d9969d56e58b6b9791ce51e31b39f2f10e0e938daa107d8a47f81541697d7952703c778fe479075753c53d729ca85e8ded94bd08d6856950b067cb7bebfc859cccae04eaec0fa37be0d0eeddf68fad3d856e17d438f22c3f52e697371ed041299079627133fd241ba7d4d1fbd145d293e41da2202f868c84f2da38a33b05fb4b59a2476ee77eb86c33ce5f67d4a97268cab603fd6e9221464884f7961c57fb210eddec790411f2fc98bcba368924ff3ebd20b6206ed90886c2e2194331252a1184dec0c7ff2f56da84245026441d589d8e0db62deb2cd8a444ac404649f574d4407922b7faf247dedce6885a99b1c773559287d6a60a26e4aa4388ec978c53865e230cb15fda298d622ef008929e75ec7a48fc519148f40b6f3a13a8b38d011157a3f53d627012351f0b459d8c8a763d203222338f370413a0b8676e70bc28219eab4a46c33632c6ea585059b5505688366a6a051e06610d9a7fbaf2621f02ce21edf171ef14289a7673de29b645944fef7676a432d674042d5dfa3bb84897292c10f761cb203554d9505ef0016bb4d86499c1f0bc0b804effdb1e6e37cfd6c9573716c08d5f0cf87a49efd6591e25020c9a486883ed19496499b020925c5af5e98c749c42894b5e9bd04038fe32a9637be5cde6e4731ed905254ffda37d9d1899ef049996ece6a957d72cb422e8fd7fdcd4fc25e07b93cbfc78cd381ba7c00650c02a3ea929ba23ff3242f809e5b550a4c952f60d5fecf2778087a5c34f7f2d9a50be3b6d319a5d4081c361ab0d4b116ab7ada33c57f88bf2cc76f6168943ff477c8cc5523b69800874dd6ed371278002479e04eb8df0d27b7f8941f12d61301ed3c14f80799e02dbec62d63c551010ccc56b9b926cae60929bb547a72fa8047c67066b2d4a3dd7d95ad096e406d684bdd919cdf72470e5bca4cc4aec870871867984bdf06f77612fdeb914edd4fd6c277f1b5fb2b98e5fdf0180fea69a37c58b6f0b7c55b7f8c12e4685916674e04f039baca412cf1e4e38d4737b3ef98e0315c354b555acef4297648d24a715e657de9dec633bb8232f3e4f7d491c1e1a0c5db94df047e3683c78a6af565d1ad67d2706e08917a1a08d061875741d24074a3f65815225642a7126d7b6dbb31bdcfd3b507ea96835e5df0990d81d672fd18b8a9d6f98a57426d5628b2700a7edfca991cf5332df791013c3916164eb370775a30f08edef151b53016b882bd07719eb791b35529884850d3cef8516634d7667b4b1f2ce0ba491bd6be82941c22d5cc846aeaa8592215dde8040c951530c286520082fecf439fb6b4e0d0e819b331f4edbe07e92b4617d01e0dad11b23f0a32f4a28e0fa63eb5404c3ad3b37443ada274bf2134e52c9bc261f28724dd9fd9e0c5ffb0d67c45813f79e87c474e6e3c1e29cd7b410b0e5fbef1db5d2b4e47def3d9ef56e79c238a09d691e25c657312016969611d1dd612cdcc638d731a2b800bff9aba3331263003c6d564173b6b687732ffd5c75d5344d3fa676c55a49402476ec3fea15864eef3db63644fb0654afbe5076c340044940234e2fb342b877e44d69bc0dfc5c99ad0f4616896b5a9087bc3f0605163ddc1792d399114b7b4f94b43c3756928422d1c58f00513013ae5ee12f62652f2604209489e2de4fcb061ca444c363fcb0fbb166436daf9cd27a9c2abcbe1d1b7af51c76ead74f0fbefc732e129d300f0c526448ee53b10d7034017fe4b5b48357125bf69088e4e256ec4f568e425d308880a19570efbf5644b0825bd579b8f49c354dd0ac6ac2b10bff65486c1185b47028571bbdc6cab099d1da16acba45212340987faeea1cdc609f06ab85a2026789d6224b135bca3db682f7044ba64fc60230a13910d0d1706d44c9ad3674a2a212b486d4a4239b7c703fa80314c8a325cdb97e1d7d237f51091050fd67ae770b237c75b8d9ed86005d8ee50b545a3515adfd26b317bb9aa69f51dab721c0583a8a684d3e6a8a64c457583cd004bad0bed86a01eb56571db86ff529e97e8f0b1aa35cd9931fa0f3862dc7afae6398064375c10f74f7b4c29ac3d9e03f39b5abfc2086581de263032f76d8d7ec4957efc883815f9128736a145ae6abc631e783c027f8dfb7deb9daa70fb3b485f528c7ef61e65f31d64a3112627d15a263f566bd2e97a08bddbafc5de41b3e3138eaa44a15ed3a47f68ee1feaa09a8d6e838a257dfc9f13cf1243f9db4b90c87455c2cea2161074ab6429d98e0553145fc31739599943b548f570f491e041e16283fc0e555c8643f375674fa8563981e93a49a76d87fea5f7d46f87332656e6e56d73ba2f9d6923926f7837970546c50494bf1a12f28b85e4eeeb7079d4778ae398419593f415d26d50ab47e362d6ec797e3a53fd4be148bcf290ffec0670db7a7b811ab42141d0fa38a5031df1f53e37027c2c2e3bbfe0215195a619462dd22d0458b81201d2b5b961f353edbe9c838292ba6f3be7e6f1b8d04239fea73eb6556de9179b38db2a9c7cb289716a9d4588d59aabd0995bd2c57f959692578eb134ca29f85e7038d0ea7c2607100e1b24b0e8b532cbaab5a674950de68e9b09c8a36289ba79c5222a2bce5e9f4211bcb587de5e511cc884d56914484fad968d5e2db7d1132fbee54bda064d0c84dba495be6d4aa839661b7c9879377faaf059bef2a516b55277251c46619f14d9465b5f6edf5c1487f6a65a8d4ac9985e0fa2a8eab6ca7bbded5abbf629a94f6cd9f7819d75a54ead9ac9626c41b8f672058e1f5ac3c1730ac44edcc9ed3e1b3148e107bd524eb910c5b347e0d0b28d74d028bd9ac5a1548d3413ad31d69739f77325ff3d5f8011627bf7f0612b7df9d695642156683b61bc815d6abeb81bf045ec2edfd40bd35bf322382ec83465a33b1b9f6bdeb9d0aae33276d6cdacb916fac9b49ea9844575220aaed7d3de1880c6d31780a58f0fe665c2184225382a8ce217d31fc1b5eac05bbe738de68eecd6dc04100100fbfc8dc3bf1ec966d4cda4b5f3514b1b752456e6b6a50146a47857c41e9e7c48f96e18a7ce60ab07e1c44c4f2c62710e04d53c8bf42f895b7b5f6a0fd0b530aeff2b976a52beb724579eb224026c01ef231500a2a3b0671d3a30aeba5a059a83fbaa34debcd7d390614cab867859a36a2ffa096a45b039757242882fc675300c7d5679e845b658084a92bb952d5259dfb34618b9f89c1c46100e6ffe09977ef51406784e65400c72615bad81dea091bb39ac9dca195d4fb707f6b5c7a85a5525877c35f332676e388294315ad76d5ae6ffe5a21397286352d25c279ce2a3023c5777f4c06738c731063f6256991360fe4acd4cb3d0136772283321cd298dabcd86f837e9100999185d41798a181f4caf9a95575f893fb45ff92c5b55e9bd7a4479e65c26d133cc0857b2937b750753af13a424be1c636e92957dcd14f28feb2b87caf767b6c38d289e8c1c1f96ae1382cac7af6dd4660706d2ee2c1051b93d141fe2fa4b7daafe73a215d54379c84f42bc61c5b176350e533b52a56a781d7059bca62026b0a7504d4eb99ee79da6d1459374fdd375907ff1665a35637fe41cd59da1a1d4b021466cb3e905f09c7e3dcda3aed0dabaa7f903e566e9cddca16104c6fefb7a93079c6ae950d8bc84faa80f354c2f7dd30319fbac52bdeef49c0eae7333f950446ebf9c4a468227d94124149ed26fe52193b6c0089ba383ad014fc1bacc2bb671882f58b7156100a2346007c1a83066b1446e3c5379e0e469d2f0f693cc0b2e2c35f8ca5ac3e1faff6d02f066849434f9af4c4ccf2aca142104163a15d5bc66e3558dfa75ac51edd6a879ab87463d844e44af6404e31c65d09b790f7e578b6f8c9dcddcd476a31f619dd5b33875c9b1f17ff0a2ecf9daf4e1f61048b1d4099411223cf01787a2d2cce92c752ef93115553a03cbacb8c86e9cce54d1702bde50922db5d78f187e37cf81d440eb9e444485173e809d61a460f536013977d78c8cb18e375a4f90ec62267f0c90ffcf69402acc7c0ead717f9e32b5072665af3575332b0c648d67e8ea404e7cc2f58cedf1ed61b5d0aab9448bbf5837381b1621d5262e05171cb61d81243ebd886d58964414c040374f6cdc0a5bf85ae884f79c63cd207cf1d184d4b852c3b8f0dc35e0a3568f88ca27825fc39e01aa59685b44fc6dc1e0528c328063278103600861898c7a4bc7b62d977a7a7a8276ffa4bf2f4e8ee75d0da57e6e35851c4b13a5d6b714af40fdc60830cc8ddddce14e99959b9ae4bd874855807450fb35a624ecd59326f77fb5d26de59c9561b815b43f2661e7d8e363a158c8d85f1db0511e982099b3b6993387c5bc28d0f10d95f322e6eac2ef838be09672a51e284479be9b3d8803c1c0e273adf5fb647f97d9c9361ff51ae87b1acbc84b591d4504fa9a9b6383ab06b31d72bec3cb67cf5d24196496609d1233ce68b9b0aae00afd25dae7ebf1db7c1f32eb7d0683f9238542838769d2294cb02b2a872729610504079035b4746f67e71b29438e73c95461722b24d5852511152cd310a9a93905c316482cd840668f2382e9ee2fb62d657642be2c3318fb15a9a37ecb8f971cafda8937a8d525e192fd24b1878663d7087613dee0b004e44aa70b578ae92bcbfbdfcd48d32ec99549310a57721f949655116fbbf9a93c767b85792a7fbed2723ddb649dfa7dabaf2c87476885742ea8fa96c0cf7623902551837508fd69dc8a6ec6c1ce68ec97dc41e02677da71668614398d2a93a4d19925feb0fafb4fc7c84eac0c08c268344b54ec47c78391b9f6ec99d56bc57ab315d8bb8bac8b3dfa9be9a39d0fb8a9dbe5b451b46bca5d119f160b369db17478a26ab47a827c6968a9792f164252f0a9fdf6c8bfd89c07c55b160c2b6c3f6a29a79b734ba9902c79b417d12367b811c77287c6e5d68c553469913cfb315f4dad6795953b9e9f0bb1da6b22ffb017c3782cbb56e0f2eba89af3140ac30d2e4439f3010feef5365b3eb59bc067ef14c0535a74d37232dae9adc9cda53935a3182a37562a839789f382bc175872771c8336b7c1423ca7c1f9394df5b3db095c29cb39978a95ede6f3aab4c546a965a52e383f664f4a7e38c9f6b9664f145b6404867c9ac9287bf74fc162bcbb5d7a0026cac919dad11ee097e4298163604c2e23500d2eb88d9f905cf0d7a63db86d8b5f2d69af0c435069b30deba97e96c0f6a36cca693f324ade6f7b39e48fcad1db397739634c27287777cee84153f84d61480b927911938724f5240a6011a7c6d0c315305bb8e60a6c5c9348113ceb88fe18afd9a5552e9f8737353e66b716e31d50292987c780b9a42205d55faea58719e9edc4dce780681915099ff71b9af8c1a2b4a1da1d383283a92493160dec8bc599e5656fa0a683dc8322b28ce3ee650ee47eba5ad91472c63f21e8325a179fab357e4b6065c108375916e9277eeb83de820b5d37bb3b1c734acab22bd8258a16a91283e672a7d4686395f2983498e8892e99d0aea5209a9a8be517742c7657233d9d464e930551ddb20a2104e5015ac9dad37c9576201314bf04eb6d670c2f901b847fed251440ba453e7bb16a4dffac8d7fadaa8fb70cbc44f5907371ba5d76acd39d38144723773f3f1c944e5cbbb596935f7ec0d81718deeb10a4357c6d4083d8eeece665714767f77cebaf4ba331d9fe632b5ac1f8fd98d64c4a9d54c75795f393dd0249fc230ccc7f0575f0f878c3e7e38c9bc01c6fdf7120ac2288da62eb4a4f1425c6c85efc5e3c653a75a49c8c0c6c2b557733d811edb3ee88154eb3bb4c144f9677b37e78198c0a320a2e6323613aa24157adb0d14d2af3eb8b19c818750c6c25b07178b2ff657392c8394a6a03865659a581bd152d6298d26a3c00b465f0fb313caa8d1d47fc70e7a393da59f45e888b3bc74b1700ffd5dfef5d8495136a072a630706be74ca3117cdb25dc95aeace37a34d0ab1fea5cbc6c5b103330a1977d20aae5c7ea7b24bd0ecbb844176ed770a3227bb5b68c080f49a8bdf05a3c1170c5f687308b5924e5ca208cc6eed88fa2f37ce255452a0fb827042469ea367a35da49f6878d2bbdc156f2f01cfcf56e0052ac173f1f40dd3fec35240835661f42023e41293ead13153e8599d781ba607fa2f3324f245707850c373bd4c66b2c25af4fe6a0e50536a046c329fdce5d3dbd04f1cd6834e783bb0ba241850e73d2123a971c2ba7144468ee34dbc7cb94f29a458341b9c461673601d8dd330cf7327fddc8104e0c7ba45863778207e6ec0c910a302e9ae057a5787874ec858a555c44a9372206100287ec063cedf8ff34b254247d751d1719fa256a1e35b704c415c750c0bb09fa397d964ae4fdf9c04b8be986da53a41951bdec2270ff92187c4807d5b10dac67d6ca6814f6465b3823838381f732778f422f95a8c332350eddbad0f70f11463d0040a48811ccfc64c4ef65a6a61e35e09452d9672e5dcd46c086a2828a100b30d895c2fb978e8d3e3d421cd373bc2fda48e06aec029dc7666078c6c6c769a1b6f301fc4f4f54cbcb0920c8353f197415a9af1bfcbc3c79370c3d525cc7229a30353ee2ca832e8003474d9e140185134db1d67ce69463806cccd75f06db63179d9ab50e905ba1ae09dfbc99f31b592f294b5435ad5eb346d93be5641c3217b023b10ad62b6ea712a9347971cf744446d8cf4130ada2ce6549c6070d6b3bf8a5037e4326a90ec4e5ff6a39b01f6ca20de013b6943a0af03458d00eafa42fbc3823e060282560269ed801050bb44a727dac5534c96ded3fa791d89639b3f26329b42253ac60de9fc7e3bbb13505c7aa312089ccbd0fa8450dadfc3200109c7df8b1055151952f72752c1e4129d4fe3fd68738e7df6ba997e8c95fbe18136aa44778ff2eba9b68c97cafe6137c43b91cbedbc6ab28f063a93f02353efb122bb6a69fd36af60efcc9396e951c8ffe640631eb0d751b17ee9b63e612994fcc552ac3b060d71502707be54add3c8a42492a976e951fc145cc20681925f55be9d9cc3e246ffb9af8d74c819406f8ea55e9aa5c97b77c06786ce3a5967b46b408dbaffb5b2d282f65796a99fa4c605c80bce5cd167aa444ff8631d1dd31ea17883fbaae79847c2a1bcc12d720557108efd2caac8fd958d89d01f5b0e43445ae42e650828024414b064be63edc443ccaa7391f7a33be47cdbaa695948c098301f5c0d1a46aae2007a1fda2154929e5c8ea6430875a6ee183d294b19ae1742616eae2aa97bd51a0fcd5b204c01c5cd3301f55d22389a894d77dcdadd84a6ac70a7b64ff49cf2c6b334acd600df3e1aae5a13061974ae2acd2246cba1ff9f5479f1a1e7f371a70d070b2a67bc991282f6cb38885051ca0dbb3179047d255c3a40351bbfae18a60915f009a97eb6139fe3a8b035de1e7d37be8573550738dd16945a18873da91d6aa3689a6ece6ecd4196ab59dfeedbd319a1eb3c909d756d19b7727f3c48357db8934a0a1243ba189dbdd22d15ed3e9cdba2988cf02ec1305b98d3b0792ee5d8aaf743734249ee56da61512972d3941c154eeedc4a13ff4d34197f6afee22e886d4f0dc8f8c850ec5b9a27e97ceb1c821425a029221fae547d989f8969c5477ba9706e40923999be67fea515d5056fce22b0eea15599698a2869732727f9645ed4505b61d959183fb9fccd225962fd39be97aeb8fcb0e0a35f1bb821f39129cac4441f1a6d1d63e4b1f2c9d59e5067ff2503c2a4a8f45294f4042c767cffdf43b6b672be10cf7c8693fe7bc6e7ad6a8359981c2a9c9aa20a025105631b9edb552d98ad5206ebf189a6157b9b7ca6ee816e1c225251ac2f97613d5bfd061bf5e8446ac9f2fbe54a4936bedb0528b2318779ccf00c1193d61a6e5b5b6ff1f8333d568a2f0c540a6e30bf01f76e5643aa5d99127e12ae9cb0a2c11bee0b282885679f0ca68485eab7c652fd244ec7cf49d9cdbd4770e5169c6e8dd31d229364836445b5e16257952405640b96cb3332c2dd0933418d9ba17cde184b2c0b1efe07b4e3d215ad04425dad56d2dc041fcb3549dbb0fac4ba221ab070d958da3da00ddf3a38b688da51437effedc2fb2a683818e2026d6a331c35a64620a0f37f1a26810ff25fe2f1a9b91fc8f5f98a99b59969912e934c9b957529f73bb4cbbb849f31378d45f22b7cd9bcb95d640c7d904d062250df79f3068b460397b7638eed4efb8879468a0eeabfb28d2d75e34d57e502a476e3cd70204184896bd99bb341593b9d69d59a8bc8a776fe160c904d10756bfcdbfe84148de784c51a197fabff60140002adede01c69f2396c75cefa03fc9f088a493622fa58d17dc57d6196fc4c016d17c75ab4a02e392c60013210d2015f06dd42d29018c6809e38bb0ffa190b6dd54da784d789f7573f6a749fdeb21a1d02d1ae5fc0049092c6d63ddae64d54a298e878f38d0b0e754a97c2d5c559232105db62d9a889a6c0179f772bc171e4e188514200a3cdda9ca4ec3576f9efe94832fd93b57b5b34e1883c1c2184fe146eb9ec8f6da6b4d42f25c45e0d2db8bd5dc8e54641a20c1f38d8717f579da75a114a426a4c9757ea3c39cc6d56b3f5ed73ff4a1def7e607fb3b7baa4f2e32d9b9cb81634f49deda7d5830532c1481dc4b3d3b99472342dd2aac7037a272e2865a304a92d047006178d9a40b595259981ce302354fe9a10b3cb2f946a7be9efec4009d17d451b6d438f8f59caa614c884c5cd5e24d9ee8bbb9c9587cff32b430f57e936ea97dcff49858195a61152a476a48053605520041001009dc7631ab92aa956334a78cae290eb2504aa2f272260e0595e09297a9c4968ba563949bd68d7e73dba6ecd8f0acbad6aaa5e844fee15cadfdea120abf3e8d1f7537401a3cc1a47ab98f7d8088bb465403bedb947ef1eb4b04a8fc06545087e9e9bae3a97f7967e6e2093e68a1f269a6da9c0d5bf3c14b8ad9e69ccfd305dd9c0ec70d977fc655e2c0f99378048a8b0443da77d972cca4c63d08913169e1137d0ed45e84efc4019abc0ee0eea8b072c10f7b77c2e88f3e323210bfc4d1a2552a344837395094777ad63e95ac341f9a478b8d2cff190b7ed9fee655df1cdfa68f47de76d03212fa3f8b0a19501b9b3a1181c03a1af0c33e8bbff24c4840ea09b155211b2b877a72d4141728a7a6526e7fc70a1c303224474e0782ea34948a80d4cbc01f631953a273b0dff3863a6fc4b9bca283aa8c44619b9cdd3344d2d4387bd65c469f2243cbd4eb6679977eb5d5d70d5068f1ea69dc9a76b9c886bce61f2402789425ce0d897a73e559d36b0ddcb5464f5d15c9cd2f95816aa39a6a1be9ec62e1ba5b7488e57b8516b4369a21d9350b9dc5922aafaf913a86ace190984c5d2c83bbbeb511959b909855d433c626f45fea5034617e1865b4ecc0e46c3fd8684ad9e128d79ca5e30ba79f53886e793a8573971e7945465672bc3680e7afb9d975ce56d6baaa7ece13ddc0c3275d32d2a3d9bac20d7dac4162dde733fc9bd2ec947446944b3b660ec2c063b521e4e55313aeb9281e99afb2bdb512556a9fa9163e6608e040df4c2b9fce57232d8a172b4618485bcfff35e012a98bad5f92ecc3ec60e389192fb31b196cc1cbacec3ea980f093a0e72789c126f3e9453ea1ad3fb38392149494ff4fdf2e3676bfbba86f6ea57b164bcc131f6b068cf3a7f1897218dadb33a338310b3c6e33944724f294824b36a93cd126d355a711737527314e6c5ba80263df2a5910b807259cd6fc501bf8283ab0a05caa448c9eaa34bbb000bf3393dfbdd9650a7ee34572d6d5d6a3044835e4ea23177fc99877726965fa8801830b16d4df38175016344b1b62b3fdb3ed97d9a35f70abc6a51f2ab44aca41a7025eaa961f08684053bc8ff47f6cd2681c373f13896d982f72853567771f299b4ae819cc960485e143515674f4e734935b5511ebbfa94b01f59d7402d4196f09cce88a7eca3ec0ea2bf9a74889b47e84267be44c57ab730d55a502a5a6ad83ca9c2c1b2b59fb9dd84f9b8fa79d217439cfc3c448dbd306c2c952caf13080743f8e188469ee4fc3ef5e9cb7636cbb3624ac85578804d3ddd86fb316787f90c8e0d8ea58ed08a61239cf3e90394afe4e9ed54d926c30699112e94ec41bbbfafec8a01de6483a1ad08f9e6ff9a80170f6500c595d9ced6ee675127daf8ec0b24994bea3ba6dcf9e9c967ddf01a4329b0625c72525b68460729dfcf7c4d357cfd0816fac4ceb38fb01341c8942f0db3f2a2bf736c018ae84cd45114828bfdcd7a7bc59351ecbc96c693fced61d93e0a1949d3259515f12fc874227d439062ece5cf2fa320fcc6a7dbd18c2b8c4c135a6bd48b48ef6082b0b919ed16ff6331b7658e2dabab71fa2667e33711ac6f79b09b13283c43ab4db0cb952faa4f62f40a35fda32b0149384f772c529ec7055186bc68c77e9e8839fde526d7b0bec5a502097971835ae873b2fed3aaa2b6002b72911b98489d18066c9dd0623146d31d67ab1c220e9d2376b7038cf596ffe7fb42b69a443b669a25b4985e70c9217fb218399c12b4ffc85dde8ab54b8b6c4c481654494cb57e08b84a2e433a7f14428d5810751ddc988f4e0ed813aa51294abcfb7dbd8a9aa5ced37d33f9dd2c6bdfea0ebfe5dcfc6f4998db903a09a841f0e967febffe23e2f31d3492601a7314f739e78a317a8593e20872a4c9d7662efabba2c724a8ac3e56f3d06445237fd6d0f9b774dbf975f151510834bf55b5154659ffdde651a09ce308d4a85e0c8a6824e06b4a4fc1a9d90d0c950fe0cb45119eb068546bb3f549bc44cd0096852adef546e876583750258b2b250c87e671244760eceb4be12fc81f632ae3d42dfbcd116a04ae3bde5afa52b8c04a21c91a2bc0a535ab48195f532be1a6243021224513f00385ae7ccd81057f22f38d473c40584a667b8365682c80169abc10b17cf2f44554a562d7f2444e921a6ecb372382a8f27241fdcaf7035c96e71f07a79692e40a6ce707bf68fe297081862de0dcc7ecf7f973bfab71d63d1f8642e262e4a12efc0d0049a939c9bfed07fdfa3d0b8d5820e949e7a4cce1fc29109b839854b46477b9aade1f6d7af1e5a4e4a60eb7aee484eb5a334f66777c399ddd85d3d7411214d47aa27aa28d587acf67a54c6e63a72ffab51e7557bfca3cd40a315e0fd5748b9637830ed3f20f641f9f8dc11276f14fb2bc02a126b1a73be53ff99de5d556fec57b18f68ca1c345ca0e1ae5da6b46c10517d6782205480383557acc197c20cbdb324f731aa88b7b58d377cee9279799ad6c4d2c1b55bb026449cb3d0501e55a54dfec07bf51a032146e66b3677c1d66d7703daa740a4bbb2fead0fd7ef79f109d8f640c671b7a149a74159da67d8e27c1072c43250323de08dff6f6025c7a0530968674aa3a341ba93c8d6dce31e94551564dff274282091b4b377a514d1bb0305e67c43c5c2f0b012346d4c19f715ff4773579c43c4e6f199ec1d2799799f243d13630beaf0f58c9d8e62e15c82b7a129379c55d96ab8c0d2f821860659c8eba2c2fa3093ac83ce09de1978d09911753bae0304d2ae5e0c965c20d98e270a9c38eb678937702af70a494afb32c2f56dbacccb99370a997ee291ba44eff4bb10c55d980512f11de126420bfdeb82d881f46e545bdd7ec587cee58a1addf6d7f1005a39e52a680e00fec2f3c624c62d2469fc01ccfdeb4cb15e89c628078e62214134e98a4c7c20b0551b4eb283e9dd5bce5a8c35f93fc2038ca9637e3ba6d92ac7084f9c52a8346d1962633365aa6e080b3fbeea02a50ced8baed0960c2763deab32e3f4375d59c78e7835bfcfa408ef12e285ec798f2172a08cadc67a6aade47fc369e77eeadd0f5467f9e9a668e9366037ca806fbce969aab3bcacf44c4397a5c3cb38f1c83b389086d8ea6b98686d8a1d0fc840563d8d86436364cf1804ac232d94eab3e108ac46f7379bc7d675b04f7dd1cef10b1a08df6786cf1c64003d17d276f47ebeb78ff93758908f52e46662bcb313f1b6ce6e843c22f945344c4c0a355b937cd3c0cf809b06b189f2e203b12a7ca4ff9e2661f088a1512b84a284d5f964dbd92237ed92fce76cdc73aec39eb8b719dedca46607f1ecd68490978070b58c36ceb0f54f3b099805e7a531afefa9d9f4e802de78f9cd32c341cb4fac06cbbbb3f415d653d3f6e54867e294ead285da3498e30058748e401539c0add1d563b907941ad8d8b3fa5715af6cd6be573405ca29bccb6afec3d81fa146bbe29ec7726e33a1778d2281909fbb889168fc75b64f612269fffc182bfdbc269b7e53f650c58b31065fc1e39f8d5bd5175c1f7ab9e8bfaae29298642ed10556faa2d3a289ccbfe687b7873248d341c4053964a438405f378f8a881acd6eea584e87296ced46b07574d84c9db4f39256a977fa1d3a2e31dad0572ba17494e8848f2aef18b3b4252a9530bb3b73d41410e26d51a1929be662a11a7f4d41c7619784641136cdca1afcbddab803ffd8695d229beed50169a59448b434c51465fccfa6420a298ef46cf613cd4bed9357996effb9a80898b99f30c734dd9a1eecc6da03d61fcc0026a0c9a36563b330d3ff071c7c3c6199b247662e6572177882bc8887adb696c058725e19e4cd61f74dba0f4eb7225db18513409f033bf3279cc72f573c9be079fdacbaf9e87821d7eb91b505be60d9e2ca54bca3b6dc7fba09e7f9b9871f895228d38caa470a924dc549fe8d6ada9e32f989a950327b33ef3d2f955bbafd3fed3a189a6010015105290752b5c89429253dacee030b1ba002841ba702cc959ef7fe1f4a87275e634d3c6b5e44cea8b0e7a4bf4f237498320a9038244dfa3fc8a6015aadf29a51d7edc12a45fdf710c44abf70d96b3216db0d350ca5a93cc14a788e3d6653c95f3b869e58dec3677c86de8e9293581455ed4ebeec3bf3d5a30ce461dbd72e6a21b506eb60659d929ec6d5eef3553fab675099b57496879d21c89858733cb5696f0a1d5037fe287747909bb86b40d703b20035490909bb4582de01b59af99472fa114b8f7f5c1a39c2761512e0bd036e76b84701ac4f96eb1229e186e52d9567b133856966ceb810cb15438bd5aee7a90ad2a1ef1bf5d12c225d0c76aaf13672b40bd3aac5b0fe5820a37f4e5c828a5c382d5eb15f92d109cef4feb07ea33dc4feab3d5e6932f322375f77a798f1dd1f8b8d34428366011871327d979b46f6bab6e1154c543d6da2ae7818f548da288ab51f46c81968cd17640e1afb34f5a1a7dfdbde9f9ba61d934a0b68ba590dcd8f7ac3d06f22e809a280203af3a937c4135fd9b162cfde99457735a8dad48ce1adb7738c6872e4d9bed95c80f0ebb13fe7bf5728f3129732766233224dfccbe0ea2e73701a1fde303290d68508ae8f0e12f14567ceb808b3535e1b87a0e6622e721d090e026973322a05d2acc5dc84127711b79c4618c8bbd34cabec28ed0383077f29c641e1fe7c7eb79b7db5d9ff83b50b02106bfe5abd0379d3d22fb74a046275dba8aada2cfd9a38aaa12c09467af28e0018e076654131e3a1cf436d126a1a34a8b5255812ba12ab99885b344338e7a1c9527e4110c0ebb6b42c0730eb7961fe962e34e1bfe85ae29ba2319fa8fa39ebba484e2adf316130893bb7e947f0bd57d25ffa369e62b322420987f4d0251be2b7f03bcd77b6a26367c4fa42dcac6c455a69f9971dd8d90e1d46f378d71733759544b6ae70ebfa83141c01ca46f346c2bc8c2598bbc3f3c0eab15fb440953025a511c8f8e335acb96f55179c06a353f03004440aabde6660427d637814cc503713e46e77f715c0f0ebb1a01b1c3f89c7ab6d00dc9055ed9be5045f65926ce2119c89fe401a65c40f4343e8f6a0f345b5404b2965a9903fe18b997d194bbcfe73b15b1806e456b0105dbd81d90cb4f1bac511c5301d40636bc538a470f27a2b5dca121be400338537ff256dfa1bec43ba53a86e74223cf338c32ac708675e2d7dd240f3f5d018190e61ea0eb42a0532673a7b97e0fbd8f0562f39aa6b271cef688530b92d29b0aa02a9f99279d1efb099170a83a1ce9037d4e0ff50313997535d6aa6ce36f4c0775127128fdda151cc52cc6d5e2f7b884ff8ae1f50f77bfec312a14c27cbb64f1e0f29951a6d71d00003f61444a0f285b5ccf4630e5f5019f33db1a2d422a3e155ac091d51e069b283c3b38c675351b5ef2d71dc9d514af3eed0e0ae8fa80f16c820be32f12b468c9b6581a699dc704d069a844be27804c3f48b1d0f032228fcfe5b792c7fdf37cdc9f781c3b49b491e6c82bd139a05fb73c6a9470b2a9debe09d1f47fe15a7f409f955141bf41a507eeb10a5a4ff5d8dc0f755dabfa6b93125a6d71ae2e2110cd9d3f9168d1b10e37a40c3af8de3453f1c9332702ae1fd323dcca21572a6ccc54141981daa88dbe74c6c438af52de5b2b99179fb954b9462aa56ec00e8303baaab95f98baf887e2f4fa312f358a238c7db4d769b0a883d50dcc8d934560898e82956a5729b82b63e69715008b189ea928db2c7f431d1bc67a4f91d91eeb5dafbcc6f5d97ab39e1fb7cff62f2f080003000000000008000300020000006e000100b6d06374b6c02d7a2e21de741b086a240875a9f8d122d0675ffabe7f91b68b4349f6109af009f5d30d8dc9494ab87f4edebe04bbba11a0f48445d2ea635753b720657e7cae3d97c8213a753b814e62b95df125c0e70148e3e549eaba050c38637a0f42540597107226090000041002005542e940f77a38a9e713166effa20d76854455b0f4d959981eab9e3a946f09f1baa399e990f6c745b68e8ef49c20673e5225a196dc165e31a16d7e09799d819683a7f956886485e14fcf21cdc4dfa4277e222eb84165132f802deb13fa5d791ebd63bc8bc76e87c1b49ab2b5bda4326d9c287d3a05c9f89da1ce22fef624f19d9f455e22eb262de268582ca378ac3fff4766699b6508f44e7229a7b02d317b457f784d1ed8a8a120147fc7b5911b09a9854cc0b9212c7fa0ad8fe0b48030e9675d76383ad90563b565e2accfe472f5bb87a43339d7190378114e1be79aa24562c1095fff6d1bbfa3ab514c2aa34a05bad3c78fedc5b76bf128a4706b064455e9336a4265e3d47cc705ee06733fb97e2cf5918c9dd1dd42637b21b375263c0ca2e637ed336efeaa4d18ff061e7a33045b3279e43ff17fa8d2a0068467d1ac95c4ea4c9134a93784cfe0cf8e8ed616dc12ff5558088d2d70bfd92d0474bf8d13cb292d4201db1d303587aa9ab8670f77faf966f07aff8d33c07007780ee157bcd226f1e1c464aa37b8ac24d2dca9af83895797cc4017e6585c17f37bb9212c84a8b0f0e93fa832968793d3b33533c39bd26f37a4b10470bda2ab2c1e70de6c4888eda368863370be58bf99ec8f704725c3e2101557f2a9fc93e52f453c49b7f485422a51b82e9caa37104bbc5f30b60cfb33247d16c09b96edc589c667330e6e0d307dbf600f961ecaece623012292879ee04404326ed9a88a55ce37512cbe085cebf94d47ae72d1c7a94e0b17cd7af42d0865b49c7106c6cc888e3b876ddcec614d573acc4139628e1b8ac18973091010d42ca196cbb9aaaad860926b6e8bef3255e8954f82c5d757d2ef9c0417cc0399107fdd37db34b64ee126e42e277000319e924f8171c6d3e94ffffb152f48960ff7c888bedac2dbd9262b2e4c792a46073151ed55a49cc7a72c39c03f99c55303cbdea92aa4bc6116b57fe6ae93ade158352bc26c208c31723c5ee2dc1510dae4b16add6e4f2c0e5f27e198e3b462e4c5084033017e1f8b64eb12d2bde989b73cebabc5b7c122ea1d60b7fbea90abfc8b74804356be61bbaa6c8c3e57833cb7f45af036e08d8e36cc5acc9aa4320cfae415187ede37d28f0d6c029d1cc321798f001f332560b1eae315c435a6b912dcb536676521b730aa721dd4b8dfd27397c029dc44ff84ac2b8a328cf6c7cdc8f3437a1692856b4881af99dfd4d225ecb8e5c4e185672dc52852788665c241236fead1fdb34c358582ce4ee7455f622bcb33ab83d240011a9973f0d366ccc1c50c805c88fd31f65e92bca8b5ba0563563d455c895a7b82145ba1d431ad7fcdad917d310ee08448d5f1e8c14f374dbd0aa7dabf26a6c2f9534da179b56cc333d1e201d6932e411887e5bb84fabe419238ec3c5dd5804ae7d67ca35767ccf4e96e31672cd5eb6ee957a97ef014ec2fad2c7e6bc2183248c67c0467d78bfd1cc4cbc5a497c37669514be7f565465c0aeb58cfdcf52b7070873365743cb23fe7d4b8a7bbb952d761c10be9fa2ed123665cc60e0fdab37e25bd4e1d6ffce33ceced4080c73de83c5495a2771770568e185a5566d3887f49005e13d2d67ed13000902d49a4de112934d9ff8cd2a0849d333d3551775085992452fc510a5d896fb23c4f8d188ae64f137a63a8b5fdb15ddad6d2d5e1adfd1fc8eba0096a1c3b2128905389932ef2d9dc40596c2e917136c54cd146a2fc0e45bbb9fe23d20fa67e5ebdbe3b466d0ea81788cd3d9ca175cb9c0bc9e1dac95e510904f4600be6b247386cd93f1d8e4b2a24e6ae7ea8dc18a665ba3d71fd46d6008f2b4b6d5efed6c27fdc8e85b397858452d4f7ee41c5ba67132d9eb0760f7431c5965fab0fd7fe2a106cd01ed81c292cee90129850870f6f28708cf493677f0a9883ac284ab12abcb411585182901d0a3c8778f88afc3a3bc028a535dbb874c9c9e3cc6fd1e30bfbc124543a7ceb065d81d2ed203fd81bedf4220abd4ac311368ae6c4e2a196d62a57461aeb87deb5a75154fd6e6fdf16694126d410b6f5cfe5d3bfa5eedb41f4792aa2c9154ff73f828a116c50a24af00d461549384d75b45a06a269ace5b5f63477e9bbbb179fb05b7b413ccd72ba5405e18a89f1e7c93f4fa93122402d7007418d61184a3d63c690476796b009c0a0b7aa8fa91f9ca6e8c6ad39424f53da8a9774134cbba20b265a48651c342fae3523808a846944da3d477ea6219968f6327d9ae5109f87093db64a4d7b1b2f09953fbc48590c7bad9c7313c50cb6f0b753045996a2f3216852eef4ef2d2b185e9e5969e090c4149bc365d0b88bdfd015f957008ced4acc9e2ede1a15cbc2d5183f15e619f4302fa75b77e4b437625df11703c2accac5769d9b73f895cfbe1073b93c861e542ac53b5cda649f726c6a531b025682a69c4e9f31247b7637bc5f32d00cd480099c9ece4140e09ee342ce737af19e745eed175f9ee833052e3b4d69532a71ad3a320b9d39d4ae7793462afc2907423017a27ccd1852c90ddad73edfcde1175f36f9f83a838f7be87101cd45e1c948fe183c4d8f80c40607a571e0c4104fe34559eeb8b150e2144689ef43d52d94e13ec6cad6528255d04be4be3addc2ce8964c6eb69e65b46bb3fad8601e150ceab9688769ac6d8c15ac243b492085eb9be97089f39f768e219405d8c29ee201e36f865445b9a1f163ac8a7cca58a7c0d859f3c645941d0f4747ac0da99d3425082b737cc4d58d34a07f74d88ea6d6040744ea05d2df6a733f6a4bd196f3a2f6e4edf6fd6bae3469961dd98fc68a58edb2afbb78254c268fb0848e609a06a2d913128ba8588a42cc212cebf221bea616f14a831a9b1299528cff7e7d0d12393aa708b98c210c1448b28abe6022640656b2d1641ce974cb3ec126efbb5183258f884e17586f138bc0da0e738134bbd5328de913665b202e9866670b48a26d7f888389e01718e680dcb245013fba997db0e1e6a30ad9415a12b87f28c112e421f4f2fa2af034e3076a2ae51f0b747a299fb5d55b5241d828c86fb9d12968f1ca0d2cc0a53aaaa6052b04735748d3a5e12a1a8ba61a91e99e19ebc5c610fc3d70817f2963ec46e96f81a41ef95f0e32f13ff98dbc3b37aeacce71013ad3d403e71bad61641c2c580e49b2324cfd6780e94994edea384727d491651edbc681262fd8e681845842182a08310d30abc21e08014aa2659ea2de41c11774a311c1333ed231cde6ea8464c9c8ebd9eb6f8438b5f1ac8c4b55efe6d9ba82b9b1751564142bbeed4b28f6dc9712f62492b5be7e83f2c788d7d135532789dac842a0687c6aff19c3c7f4dc450eb1c8c95ab01f479016a3673d10d0ec73cbb43b8973df7d39f1d3f360dad7bac676a3861c9caf1fc2437ae659ca73dd1c0f18a1f52bdfc296be1f9759203b39d47938ea10ef35aa06c841826f80b5cfb4366f7d025b86267f3f3e06e8537fca0eeb2eaa01a9bec85a5917cb881a8aac9ddb35aee7697d234fdbe9620525d7a53ab27aa53c840459ef72f52dfb57bb92e62fddb81b0f8c5992cca91b422fe1e929383def9ba62f38f6f832da47d9ec5f17614fed1ada48f643003cbe2f3a743012f2308c4d31c8974736172bd3b9c9eed8093327bb8263373f9adf9389b70414407fd85c39880f7e41d6db6a5560751d6c479774852cbc614797055331306b781f58b6c6ba645f0e835c39acee530775a78ba1474657d24882471f6cf35e2ce5253656629babd7e5c3fcc348005a4f92e9879d93417e2fd4af4a81824eb8ee0fadf60d9c3339e7b4f51497330db44069c24ae03422c35cb5329a4231997877469c767b70bccce503e75125e101c194c9dcc75a477b249dd0bd5d4342cbbd0d8206b8c054aa6bd396b2f5a134b456fe006d9a6c4bdea585ce571c43aa58a60db0bdfaa33500eea57d73ad485f35e4197003050df3f087d39fba7611a6c69eb35bd0cb70394c191d3a364c9df8e956d910fe93f37b601135afb2f4a78b47f011c8388a3b702523134c70c488c9cbd0dee8b5b58eb422caae2f5738586fc2a7789f15ad54c820474ac46292497af1d40ead4926cd59e88b979de0c51a209762c7d13e83659ca6da90883a2ed36ac2d334f6afb7e007e7b10ffc0182da0e70f726e6a5dfbc20490ffcb3c766d36963740c158988be404caba642a41ee86f37ea094f1b9b143af4320aecdbd5f18f427a64eb1250a1f4f49c3a2ef5bb4496bbe97c6b40805d76e41a3450143843ad0d4f9a29912f6ab5708a2e7a54d29d0a54ff90d279a6848d2b145f8c86a8aea33b1e65b1e72d67b580871524aca1a430a2b5ae285b31bf0fadbf503de8c231a9b1513b4137166a6792b93c5d061faea31ec10c13c36939300f647b2512a81292d2f382f7f81642467fa17ca60929efcaf9bdc9f820e3952a5a420395278a02a039aef69000558a6fa2694d9dc4af4078a56604219f89b30a9ba112eec407e0fdea51519fda61bb212f1a01d02319c26d11c6f785668804299fe72f51d2eced3f6ee604932e4d54315d0561444adcca04a9cefc2b6e305f78b4abba399eedcbc6c24f5fb0dacce25a92d67a8d23fb42e4dd6f5f9a2178b34da0dc720e1bb90354e10b7c55e2de13aee513eed3aaa5ba8265eb4f482f9ecbadff683f238efc15aacea559631d59eaa74087c99216d8da482ba255022862ae1472759afc75c282b5f2377f7aefb5892a343b801d9b3c14fd56cee33209f76b14c3765fff52b75452fa1cc169be3fb517e58532d23156526b38e0b440f29b4b4335152ee043517915af032ddd0d2ee795a23dd1be0b3920d94eed0ad75b809ec688cf9373da629829df8e7702b582f5131bc140d5d36b8328edfc298a2a15d1d054325682a4bbe39e3df0bfad3af53c26e43e16768a3b4cbfd6e7851a3083157488a7c9d3d69447cbe8b86c35422b9a37f45c399afeb90e53398a109e3440599925336eb4bbf75605c812660f4201809b0eb0d88380f5c7744c17e222359f0e6cbee1c7b64a7e0f1df671f0c8d0ddef084995aad342776b4d84c7f4750e2194eed94b64a57818681cb2809d7752da67a2b0bca490b7ca594e9f6e92b00b4d3c6d44788ba445dee9123cf0f8746174bceb9ef1e0b4c1ffc1b9529aef4b1032bce02c3501c97ae0098d89ae92ab7e5a50dbda4a49cb91f7922bdb5d2b890ecc3e8545027bca804cd2e22a7a3e31fdc5e8318fc51ca9937905a6fadb924a7beec3048796e6637de60e662c70f411906c6c5181c0d86fac8476dd4c07f8d090d02f9668e7d33e009ceb766edd77857fbaf2b7edd6359e73170ced21fcda0bbf053625d9173afda2efa6f8a48b29eaffff7188a3370381de7e6477dccfa7dc87462b10823e12bb607e35265a40ab106f99d06b72102612831482a8dce29d6ef9204693a3f3cf49c10e3e3d8ce478cf31e08c27b553d89890bb0d357c122abee01628087f22cac059bb1f4a4a1bc4859e2eec2181335c3649f0514f0d8c3918032d12ac43ce157fa0d79a805ebbfe0ca4fad9fd67f5c728a24528253fdeb0cb0e1c7ed3517536cf9e14ad84534ac81b4e87e672b0d5100706954a39b10dac383958eabbb7efb47f60e7dc0fb3cc45508a2106a889ba6927b9d0514746d0b1e6bcebbf9176a0b12bc125aa25d079d4f60f7865c1d44aa5ee7731662a6369b4d3061e817b87814a0ff10b40dc7ba90f8f8eb42851e729ed1e69361894e4de154400d1cfc5bb09c9a83db20c92688c7cd2d1c37d1f4e98a49cf6ad2e0c1ddf6ae08000300ff0f000082000200f8a83584aefdd9ece02df5177c7ad72bd1f9b89b15b1408849ff6b0d557e2116cb060b126c957a65bb6112f6b522c3e0a249c8b9b0348e996b4591e47c10e4509f5f2255c31eea157e71c251f584320fc2e49d9b348cc9b4f410a51dab5cd5603a565bf3f9ff605fe89f7633ce2f60ad3587af53aeb4c8955d5efb7873aa0000dc157580d4150480f40200803800020071122dd9b73d407c36ddae5e97c20410dc799dbb07c4313534175830bf2e3b24dfdbac44005262b4a13909491aba2a8fe400130a08000300ef0d0000dc000200d5b04679c3505e8efb5b06d2351869369763cb49f58aa516d1da2f169e60721c6b529e2238ce99564eaa6863cfc3f38da7703b3b802682b44d6e4b0b931522adb31adb9c80602e19872bc81143cf86e95d702f46e8da4ffbea8a2eb813354dc0316c9eb4789ac0d4cad9404f80dbb295b6cbb36f1eb3a6e6d4e3a4c95c950012872662549b203d11262ecba619f0711552bfa4e3fddecd08c3619dd7e3e525ab65fa9a931ad48b78ba8f244ac766e3772d356373eb50373b1852adf928847c318455df9a2ffda889fbc506d447918a4c426192fe89db996b0800030061000000b50002007417ba8b0be9fe4471bcb7583c4ae40d9e50b93b9f7f0f5138bc5450665f7fd6e7dac74fa426a41f5473b55aee315c7df9ca16ffe99f247bf2a9bd6ea7fc28f576c8618c33e20ad003de6900c86f6ae787af92801b47d7938cb82449033ab67bac39b0d02906b3f393467b64eacd4183599448c46df36b206d3991f96d71a11d2906c2ffacfdc0978f9c3f7f7556916e8d022a26e0b49bf1602378ba25324624de7d1928785a6eecf2b41b79d115f769e2000000080003000400000003010200e3d4ca6caf4478608a67c70d90493d986b1b0358defafcf47de372c648effb3588da787503bd466f92aff517318fb430b84cdf63a108d45a3e405206afaae6b0faa69f00bff711f15110a01cafdcaaadb2e6fcc70d3ac0b194a2cfb72fcce7e105e86db401d5790856b72ae667391090f52f1c4cda7d7ddee15fd0a993094dc91f820aa68f9da5a7e8ad27ded5c6d7bc56309aa83c3877e35c33b880a30a128a251116939394258a856b1c2348048419ee3292553bceb7de89a3d9c03fb5495c3dde5f677dddd62a028439828683138772f8581c605f1f1a2cea2dbf784e0eacdf18f666fae9d34143629c5ff8e0a8e693932a88ac3d9a072107cd509cdaff0008000300816de0091412008084000100e5913992f7067b862b091162445b53d8baad92ab4896e2e5fb95e1096b7f41d298bd59f6b8124ab352cdc656e718867c917ae9adfee536048e78ee745c4377e3a51dbd564baa343683672367410b468f731d38dec90543a2800322fa589666dc8652aa8cab97c51665e29a8cba35f0936b08ca2042f2cf336ea3b911c34e08b804100100355922cb88306deb26b42537bc5418ea11bdedef1f2875cb513312a377c242c06c8aa7845a01c9f9e1f96173d632fc5934af7011c65507f55e511d01521cab41a82982ab08fe3b59e44f4369ef1d0b532e88e7b8f6338fab778242c167cefb86e56233972393cd44fbb2b2f08e9b6882323b6a1b838813dc6f9f1da16421c8fc8705852ea7a0f030012f7da628c92e3686f0dcbd779e656f82338c569ff2cec151081841bac08784a7ba2c06aa4caad38c1bc84936a876cd7f4347c27449ff29986f808e5cc33fc9f3bb5c05a8241d593b7e731cd33e6b9ae9418b689b1b51904d329eb58bfd73cd992323f5e45a82c3c955cb959be76c1ed6f967c6470b7249a279191f9d60b1c30e00c911dfdc49abd71103cf7e6f2c35f86074d7cb5e24d019dda4cff5089529cc27ac1bfa2fed2827a69b3879891d15d45f773f543602a5ec3dfd39304860ad85fbf6c4e9ff448a176f013f013998e3951dc726c622d68bf6399a72dd084a233f0ca8cc47d2eb1fceeae74d855525227fca699179317528c1e784c65861e77b594c7647a3e85b4a820b190da09ff90d91614e97d212f7edafd4ff899d9095cb6a6b07ce99018f2eb932b0fed54deb0f31e4553428b11afb70661bf7c9ca53a7f7b586fb51dfd7973d24f9f778cac5c24ad94c95989f2b99e06787847e1799bf72a3ee1d13e4b2347648c880bef67cb5a031e17cec9c6dcc761b2291eb82fff39b6873517445f0a84e30f10894faa328a7b41d86682b877ee25b792637bf7b73c46b7eacb5956367729ae0c7c94d9efb06527957a7a6c6b23f8c8836c534bf0ea93f68415f9628d2d85be1b64bf3976866a58ac36c79287ae3393b8a6f6f24be97bb54837bdf0ce849e329ba9a53d39c5652af1f8f899358a9766e414f4f4f071be13d40c3768aa9d832f84b1b605746cc764dc8644f29037405b6210bdbf8dd5cd4cb3eb5dd662576968df6bd2c3b0c4dac2d6f9c94887590edc9d392a392e6c2e4d5e3cf90344c36da829f7fdca6c2461556ea1d19db5f9dc252a09868fbc7f1c77f755fc6d6b18abc24ff23e3871cf3fff98d10e2a5033c8e8a8241457b246fcc388bc89770f9e83f65583a61507e36e22ae79a736e8918cebe4ecbd3c397e304bac6ab8685c3fc56774c65a25a64b450d319c70725b09a114f6cc53d1b381f29485db12a6a90080a22231d315295071006af4cd2e0cb4cf27a7e16fcb7a66930b66a9fb624008ce609b9fa9ca51c1f0c9220e1a0af26c5eeb21ec32f7d9fc3036daa4e7cb1bafe45afe8cb6c64236793209176c61b77e7d56b29947b0edc41c33b37c8a9d941737544b85ba3bf8efb24fb92608c695d5f10096bfe074f7b19f679744188b4575f783a4f29b8c511b12b754e1545b9f534bba0db006658000fbc5cf9d278645e6ab6cff33f91758d28405f528856b485868946c190b9aff287facd938fa0105f35ec8d60d02c55ad08c401603de392e06004362e238d094834bddd7bc7720bacad11c6361891950d70309a5265d71f652a84dbf664ff61cc08a36ee7fd793b9cf962910d6341f2bb6900a535fa1ef7e0ab2a9b0da61d25edfd7a627af53d7a2efb3efb0f79ba255f5a87b61f962734075c050d4079750f69889db848b5450822c0a6b57c6c622b83f23d5a1550152ff047877b741c8a7b0d63cfd480289f99f4d2c88bb71d2be47481cc86a7b0f023bc7bae00b4288062574a50a777716d74b24188caa3bed1a4a6cdc91508fed5e05dceceb9899e79c0e1f2ee6c39c49fee91272d06bc3b58ac24775c85c148fc7cd86420d8dacf386fd261f37e152fee7c2a1c138003edccc6fd9fb5696a271815a14cffc0200362131791dea7d1f07130c9bbe2a3b60bca50505d8aa8fa95a2d1a86e00b15e9f145887d5f0a5f9193b88a9224e84ffdaec1b55cb02317fc9a37d772a84e5d253de666188a18c6ecc6b18e0201083d56ff69c5cd02862fcee64c692fcba8cc7e23c510863154d62a51cea315ed45272e2d3d9c3b95cb68050dbf5a23410137aba889a4aac3b9b0b3fbaa537fb6aab99a66f20821e697f2152086be5e74d47a2b4d4d24ea43837255dd5f1afa38467fa50cd9d8263dd70891721943aa0f4a78ed33c7168a93a736485b090dea37db785f6039d27741380e200e017d66693569a384934eee7b2934d6a213eef4ea9d9347e8ec76bf65d85dea2994bdc3b257f7e0b3d47dff3182aabf2db6f7519874fe9d8c874c443072cbc16aa6764845cbea41d63ca600cba837b73f9013b5f3ef3f1f014a280c735422e50cec00f33681014b88adea34f9995c01fda03b264b8e4b5ffa98b6e268a02c9525f4b79e4563fa663793ed019ada42a6ef91074a3c2f1a5587849c239fd67b239c48114b53acab671449fe1672843b4fa8b77ef04c61e76bcac43034b5270952a369b5162967751b7cb5d1efd80e4745fcc376723e25cc05dd9342dd55b58cd4d92dc4db5b1c5e06f5f37251f1b2525ce1f4455e1567013f0ffc063a5034fc47ab5a1d8651ff2d310711100f74994a88299d5e99ff24b73c61dbdb6bb6e5a443e8ddeb99d4e5d01b4e1e611bb9ed4f74c174b8c6406c83e4fafe314a809212881d2393d43d310ee6299aa67b3af40f15c043b8f918a18f9fcc98842bc927bcc78efd1655c3819c22a5fe70474454b711cccf9dd22b36bfde07e877d58b903bdd8347b4fb224d8e81812c11d4cce5bf23b8228075c880d4a70b4c99b5bc2a739cc3fa27f74552191b9b1ff1fb2dff780eec26ea4633939a5a38c996be498a70c587703a173ea987155220ecca5d7c13c004316bb62e66ce74754272d47607dd3d8265f3421afaa3ffdafe2974223befde937c33b210723a7b34823f081d69c7501c4c27965f4d12b9b8a4a6d9f410f8f7e20ed9c4210b8984331f4306a766ae6b1ed7ebd37e794ff47996b61eff294b8192f3d813e0549adcf516349ee2c27ec19e151ec810c949c7ac0178c4f1b6da7d811b0ddbafa5907f1ffc11e7a339240d273dba223e725504231b870f550dfe5eeb6df200e356c9850f1cade61fa24ed0b68a83402a231773b275d7a968265f59948a995d6010db1b18cd70424798b719da2e6ac631a2c2aad3b14d555df3d1b32ce7b01bd674611a65c31c754f40d474eafd1a10c734ef12f8130e9057959c6e65b2a675a589f981be1913456a7a1139b4cbcfb12a18ccf60862441daeb8aebcce89b03f6135402b747711c95a9d6f7c26b4c7875ecbe95ec532a8a18c48a960178b3c73f836b8dd7df8e95bf0fd63ac61a715032ba627064a04ff1b04feacab3e854a1a093a7f1d97cc641bd47c0e14af57cf23203e5b80d067782651451f60c5e363343f11f859b3a24bd909edfe85c79e916fcadce6a780300b8670edb15daa85d7a946e5aeb6effe873de50941e72cd707d6f6b36207a3603867c36f1710457f50d3bcbe081261e3c0583b7aae7c8d285ed69e7ef704a5bf38ab4656be776d83178367c1329f3367ed167d0abb60a0433d739d72970718d60a60da0662a13478cf45578712f70b7ff88a3083632fa62aadc8c3240b8abdcfede03b19adc96c35419831febfd84292280038224572b6f670f5818a50eb3b76624fb8c2ac4ba300fafb2ae92612286be0e23c0d1e30d051a26b1d8f5c1b0e6ac336d814cd77ddcd6d3369ea1aac48ccd96522d22c2f1121c76504ad3a5a0bc1309647b45a9190d319ef956ab980131f7f958018a53baced79c28141dbb0fe5a7c3fe9f2e5e0849152b27b545119b6d336a2fd2f58d0358659461296ea285d961d7667208ae4daf4faf82b8190572dd80f1b2a4230a5256437619cf675a423eaa8b21f15f82f878b040e8c3eee1700b796ebe47a63e5b517a55605ccc555aaca6732247b69a6ce924420ca66f7a623c6bc1a0328d7193bc7c8f9686f0ac57cd32950a09fecf7aa4f881de9ae3f14482e123588e23377f7d70b733b049993998ff785f419d5725a77125779f2a4b6ae57ebb1909d379748bd21c2201a0c2e3526fc4887c86b83e376d747f517010a2421a03db0e95e8243ad8e974c36e0230e9cda882dc19efab8c15138aa44d8aec12d8a9b33b7307156586a68ab8ec98eb2bbb10bee3978ccb6d95161f93a2f49b9d7b67d3d5daf4787a9947e58925aab1eb5fe4b9199ca97658fa0528091b481e4b1b1f1f265353a4caa281b26771270cea60e506049a2f68898987683954039566fb3b2a00dabbfce28facedb62d67e570c3e07d995d80e6b9cc0fc3ba483a55422084c3b7652967dd6694ae43c7e9b165c2e8f892a391c888c9b75a760816ca93d3b64db5f0c6a200916269ce0a2d4c380d9588c3759910b1f5a73347d93dcfb76a67490af7a85b597eabfca1109bd8ca8c8b5b8033e7c0017f279593301079e2db13ccbeaf811ae914f9a6bf091beca1201db575eb2bab79535c0860c0f22b5369d12ba734455e129c6e2c2fb201415337d435dd002d38241439541c190f1eaa3adfd08fc6a591e59447ee155552da47d1e8e81fac58d14f4ed0e68733e9367f82b112dcdc8dbc93cf4a50fcaebc043254809a64d06c60d5689cd85e00725803e3b9e7905755fe3f25b19b85f464e93d2af9db585fe305110db66133c8c8d519dbf2b2732760d94b4e2e38325dcd14b71a86f7cc65b3d8b68ce84dc74939c73157758c1b9df6e80cffe387c2d14a54751ff4a8ac38e83f5241792558af7b38c5a7cbdd2e01d1eb8b065503009d34ea752a8dafffa56492809b8b516b1c72d8448b2dbde9f2c6a43d9016ae853f87deac78e61ccb8e2925136bf2948ab04d9ecdc478acd8ad6ba81c30870c52f9f98b2bcbc813c9fe5aeccf37130d567b1ce6c00e50dd095674b90b41373af5dffc628e6fc25c564705ddff5a13985e25f795f54aacf77e07d193a938c393548964d20427048e2bcb871ad2a759ef9d869bcedcdb07bb0d6be5d2e77bf354c5f6ec9e1413a19d7e1d22c3945644453e7a8f0265a4fdceb54dd85d9f59f34086de7ab334fe950c4f1c9db9d3517738547a7c1930d639ad4b1f097d7b383f50beef562427175d79274a067f7194681cdcc667b14fb049f5826834caceff2f3052c095ebfca624653aafe78ab89aca104b3bf2770afaee4415280c42f91549cf1855cdd79a2c84bf607abb4f6ef4ea8db79b0a1ab262c59b0c92302ab675d4c19fb7fd86ac634d3b2172bd1c9ec364cee690c9b0f69214d30b7159b36b7a33b41ef254e7734b6ad010f117753933d6cb6a0558df3da13c810bd762eef1f900d3a17a1198b513ff22e2a9b34ae70541245446b5b73cd652abc2712999b640d389a29ec8ee06b111e5bb3ba409e721d0106ed51597d9f3e3306424ae0858db44599a9154d7d34d8d1d7b0d1e27ac6f3f7a737014fa36e51071e9ddd831881da173e7107eae6db0719d7db880dee617119d5031475907e1feeed07d4946a42330ee1140afa4db498ba255656e46d8856063f91a95aec6ef59988d9b8833d8e7d3fc6d1850aa9291f1baaac801c3cee1621119521cff2f0fb99f5c5662c74f517bad5f01f07f3aa70a72d4f5d2836b309a2d701af0c32d77407c3df35e4923f3c6656b1b7b3fdb834214786f03da4ef6cc9fd090ca9873a00853c2d79554064fe15b0bf1e4045723be070f35fd7559e48d8b84ef18df5d2dbfd8cf4d52cf7b6e12941d4ed2e08204e91ca91c5df9d1c94e2a04be8588fc568e1b3c30f4af4a1e5bc5ef6b37a3069c4f3a786901ae626c73a27f92264a227f440b244da0c75f6f03250001003a733c3c70f7aad8e20c3ffa82df5b8a756c7e09628a675ad96bd6943ccf5b6ca900000008000300040000001900010048d91841ef2dc30d9fccc5e74173cec9ac5cfca9b4000000230001002776ea328080cb3e3dd9b3467cfc0d3221006f7644178c89e1ea62d5d45cb7004400020030839c8cda09c0a1829a60eced0605ed6952dd7b2b257d16e3ed0412a15e928639c9c8573c85b1fcef98c6e4f49e6864c5f75f69ce7d270449f0dc99f7150c9608000300ff000000c900020042aa69e14a8d6af092e03df824e7ffc87397d8f48d03cfc874047e6c1c58a6f8d467279f0c53a62de221eac6cb474a7544421d5a12da58f3a7633f141d912bdb5e22a227b5d89887cda09357dbb98f7fef74e636ad660aadeaac6baeddc270e50c9b5b27baad6c71882ae9d9aca9d4a84e4fdae3a2b9fc98b8e04303ffbd781562d6f6934f0e546f7ddf473958566d04afbdcde5868c5cdd7926c30738f498a030f169bbf559922c940dab835247c87d25157a595e33a87af78ca67f98236a8d89bb26f1f10000006c00008008000300090000005d00010056fdb7e9712bf10824172b84721f3d4980de51a9df37109e97747e96bcc031457655c59d3b9ae795463d718f94c06cc4cae4855b16463344a33d8326a7d4a8d68de45946a913a026da4bb5ab506491dd1ebf40a44ffde6f1190000005c0000800800030007000000080003000200000038000200eec303367088091dfa717508a714f6e034b1a5ad9a1284d89090520b5fdb7739d6706d634b6d3b9ab69758ae5db790e4f0d844e308000300060000000800030006000000040001000c00758004000900040008001401758004000800f0000e801000070000000000e405000081000000060005009507000099000b006b0fdea71ddf605c5d7289f056685d2566ba458e1172aa4fad54b524fd60801e9605a12ec41d10024c28c5cadafd6a9d810d47654471491c4c20aef51afe52cc52bfba7be86be708a62660a4130ce7d6168eccb6852598ed664bb610f84688679da6f19d595d740ac546b3bf58cde46eefc33ae07d60314479fbb33373ff45fedff83af434d85999a4750daa5ccd1e9322d3d4e0f500000023000b00d5623ac3ebffdb3fd87aaabb208f58921c63f89c2ca4960ec24440a053c10100110008000000000000000000a11b5e04250000000400090004000300040007000c000e800800"], 0x9790}, 0x1, 0x0, 0x0, 0x4000040}, 0x4801) [ 175.024449] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:51 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 175.285249] Started in network mode [ 175.289594] Own node identity 7f, cluster identity 4711 [ 175.302930] 32-bit node address hash set to 7f [ 175.337608] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 175.345843] IPVS: ftp: loaded support on port[0] = 21 [ 175.514567] IPVS: ftp: loaded support on port[0] = 21 [ 175.571846] Left network mode [ 175.660366] Started in network mode [ 175.664166] Own node identity 7f, cluster identity 4711 [ 175.677816] 32-bit node address hash set to 7f 00:35:52 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') 00:35:52 executing program 4: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$IOC_PR_REGISTER(r3, 0x401870c8, &(0x7f0000000080)={0x3f, 0x1}) r4 = perf_event_open(&(0x7f0000000240)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x4, @perf_config_ext={0x0, 0x8}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r5 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r5, &(0x7f0000000400)={0xa, 0x0, 0x0, @local, 0x2026}, 0x1c) bind$inet6(r5, &(0x7f0000f13000)={0xa, 0x4e22, 0x0, @empty}, 0x1c) setsockopt$inet6_opts(r5, 0x29, 0x39, &(0x7f0000000000)=@srh={0x2c, 0xa, 0x4, 0x5, 0xff, 0x20, 0x2a, [@rand_addr=' \x01\x00', @empty, @mcast2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', @private0={0xfc, 0x0, [], 0x1}]}, 0x58) close(r4) 00:35:52 executing program 5: setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, &(0x7f0000000140)='tls\x00', 0x4) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) r0 = syz_open_pts(0xffffffffffffffff, 0x0) ioctl$PIO_UNISCRNMAP(r0, 0x4b6a, 0x0) mkdir(&(0x7f00000009c0)='./file1\x00', 0x0) r1 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000440)='/dev/dlm_plock\x00', 0x101200, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x6}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r2, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) setxattr$system_posix_acl(&(0x7f0000000580)='./file1\x00', &(0x7f00000005c0)='system.posix_acl_default\x00', &(0x7f0000000040)=ANY=[@ANYBLOB="0200000001000000", @ANYRES32=0x0, @ANYBLOB="02000000", @ANYRES32=0x0, @ANYBLOB="040000000000040008000000", @ANYRES32=0x0, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB, @ANYRESOCT=r2, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB="10000000010000002000000000"], 0x5c, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x0) socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$l2tp(0x0) sendmsg$L2TP_CMD_TUNNEL_CREATE(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000740)={0x54, r3, 0x917, 0x0, 0x0, {0x1, 0x0, 0x7400}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3], [], @local}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_RECV_TIMEOUT={0xc, 0x16, 0x8}, @L2TP_ATTR_IP_SADDR={0x8, 0x18, @private=0xa010100}]}, 0x54}}, 0x0) sendmsg$L2TP_CMD_SESSION_MODIFY(0xffffffffffffffff, &(0x7f0000000540)={&(0x7f0000000480)={0x10, 0x0, 0x0, 0x2a0000}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)=ANY=[@ANYBLOB="172cdce6", @ANYRES16=r3, @ANYBLOB="00042bbd7000fddbdf250700000008000b00000000000c001600070000000000000006001b004e24000008000a000100000008000b0002000000"], 0x40}, 0x1, 0x0, 0x0, 0x4000001}, 0x3004c00c) ioctl$FS_IOC_ENABLE_VERITY(r0, 0x40806685, &(0x7f0000000340)={0x1, 0x1, 0x1000, 0x91, &(0x7f0000000280)="1b769cfccc9d4ef3c36c3b481d4c0578c3b27e21d7db60579bd6de4911ee3627ff89dfae09b1136a8a79c9139ae19d54a7400fc77cbef6e09bc846c37db25a5bfe322989d99da47870f099575c809dca4df31d8d26364c29b027301da4dbb0a4ad8124170bef7e257b46aba9fe707c0cec60701ab6733212a2c83688b3a2986caeec46a69f4f147478b9f766f1f3f8b258", 0x0, 0x0, &(0x7f0000000200)}) mount$overlay(0x40000a, &(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000100)={[{@upperdir={'upperdir', 0x3d, './file0'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@workdir={'workdir', 0x3d, './file1'}, 0x5c}], [], 0xf603000000000000}) sendmsg$RDMA_NLDEV_CMD_SET(0xffffffffffffffff, &(0x7f0000000680)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000640)={&(0x7f0000000600)={0x40, 0x1402, 0x200, 0x70bd29, 0x25dfdbfb, "", [@RDMA_NLDEV_ATTR_DEV_DIM={0x5}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8, 0x44, r1}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8}, @RDMA_NLDEV_ATTR_DEV_DIM={0x5, 0x54, 0x1}]}, 0x40}, 0x1, 0x0, 0x0, 0x4a050}, 0x5) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) 00:35:52 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000040)='cgroup2\x00', 0x0, 0x0) r0 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) bind$vsock_dgram(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @hyper}, 0x10) r1 = socket$inet6(0xa, 0x400000000001, 0x0) pipe(&(0x7f0000000100)={0xffffffffffffffff}) ioctl$PERF_EVENT_IOC_PERIOD(r2, 0x40082404, 0x0) r3 = socket$inet_udp(0x2, 0x2, 0x0) close(r3) ioctl$USBDEVFS_DROP_PRIVILEGES(r2, 0x4004551e, &(0x7f0000000180)=0x1) splice(0xffffffffffffffff, 0x0, r3, 0x0, 0x4ffe0, 0x0) ioctl$PPPIOCSMRU(r2, 0x40047452, &(0x7f00000000c0)=0x1) close(r1) openat$cgroup_subtree(r0, &(0x7f0000000200)='cgroup.subtree_control\x00', 0x2, 0x0) r4 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r4, 0x200004) sendfile(r1, r4, 0x0, 0x80001d00c0d0) 00:35:52 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000000)=[{&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:52 executing program 1: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000280)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000000)=0x3) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) accept4$x25(0xffffffffffffffff, &(0x7f00000000c0)={0x9, @remote}, &(0x7f0000000100)=0x12, 0x80800) exit_group(0x8001) open(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) r3 = socket(0x15, 0x5, 0x0) getsockopt(r3, 0x200000000114, 0x2716, &(0x7f0000c35fff)=""/1, &(0x7f0000000000)=0xf002) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r4 = socket$unix(0x1, 0x5, 0x0) r5 = dup2(r4, r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) setsockopt$netlink_NETLINK_CAP_ACK(r5, 0x10e, 0xa, &(0x7f0000000340)=0x1, 0x4) ioctl$ION_IOC_HEAP_QUERY(r2, 0xc0184908, &(0x7f0000000100)={0x34, 0x0, &(0x7f0000000080)}) bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0xffffffffffffffff}, 0x78) [ 176.001967] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 176.020871] IPVS: ftp: loaded support on port[0] = 21 00:35:52 executing program 4: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000280)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000000)=0x3) r1 = socket$unix(0x1, 0x5, 0x0) r2 = dup2(r1, r1) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) accept4$x25(0xffffffffffffffff, &(0x7f00000000c0)={0x9, @remote}, &(0x7f0000000100)=0x12, 0x80800) exit_group(0x8001) open(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) r3 = socket(0x15, 0x5, 0x0) getsockopt(r3, 0x200000000114, 0x2716, &(0x7f0000c35fff)=""/1, &(0x7f0000000000)=0xf002) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r4 = socket$unix(0x1, 0x5, 0x0) r5 = dup2(r4, r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) setsockopt$netlink_NETLINK_CAP_ACK(r5, 0x10e, 0xa, &(0x7f0000000340)=0x1, 0x4) ioctl$ION_IOC_HEAP_QUERY(r2, 0xc0184908, &(0x7f0000000100)={0x34, 0x0, &(0x7f0000000080)}) bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0xffffffffffffffff}, 0x78) 00:35:52 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{0x0}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 176.227978] overlayfs: fs on './file0' does not support file handles, falling back to index=off,nfs_export=off. [ 176.342558] IPVS: ftp: loaded support on port[0] = 21 [ 176.405927] overlayfs: filesystem on './file0' not supported as upperdir [ 176.436737] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:53 executing program 5: setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, &(0x7f0000000140)='tls\x00', 0x4) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) r0 = syz_open_pts(0xffffffffffffffff, 0x0) ioctl$PIO_UNISCRNMAP(r0, 0x4b6a, 0x0) mkdir(&(0x7f00000009c0)='./file1\x00', 0x0) r1 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000440)='/dev/dlm_plock\x00', 0x101200, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x6}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r2, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) setxattr$system_posix_acl(&(0x7f0000000580)='./file1\x00', &(0x7f00000005c0)='system.posix_acl_default\x00', &(0x7f0000000040)=ANY=[@ANYBLOB="0200000001000000", @ANYRES32=0x0, @ANYBLOB="02000000", @ANYRES32=0x0, @ANYBLOB="040000000000040008000000", @ANYRES32=0x0, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB, @ANYRESOCT=r2, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB="10000000010000002000000000"], 0x5c, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x0) socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$l2tp(0x0) sendmsg$L2TP_CMD_TUNNEL_CREATE(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000740)={0x54, r3, 0x917, 0x0, 0x0, {0x1, 0x0, 0x7400}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3], [], @local}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_RECV_TIMEOUT={0xc, 0x16, 0x8}, @L2TP_ATTR_IP_SADDR={0x8, 0x18, @private=0xa010100}]}, 0x54}}, 0x0) sendmsg$L2TP_CMD_SESSION_MODIFY(0xffffffffffffffff, &(0x7f0000000540)={&(0x7f0000000480)={0x10, 0x0, 0x0, 0x2a0000}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)=ANY=[@ANYBLOB="172cdce6", @ANYRES16=r3, @ANYBLOB="00042bbd7000fddbdf250700000008000b00000000000c001600070000000000000006001b004e24000008000a000100000008000b0002000000"], 0x40}, 0x1, 0x0, 0x0, 0x4000001}, 0x3004c00c) ioctl$FS_IOC_ENABLE_VERITY(r0, 0x40806685, &(0x7f0000000340)={0x1, 0x1, 0x1000, 0x91, &(0x7f0000000280)="1b769cfccc9d4ef3c36c3b481d4c0578c3b27e21d7db60579bd6de4911ee3627ff89dfae09b1136a8a79c9139ae19d54a7400fc77cbef6e09bc846c37db25a5bfe322989d99da47870f099575c809dca4df31d8d26364c29b027301da4dbb0a4ad8124170bef7e257b46aba9fe707c0cec60701ab6733212a2c83688b3a2986caeec46a69f4f147478b9f766f1f3f8b258", 0x0, 0x0, &(0x7f0000000200)}) mount$overlay(0x40000a, &(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000100)={[{@upperdir={'upperdir', 0x3d, './file0'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@workdir={'workdir', 0x3d, './file1'}, 0x5c}], [], 0xf603000000000000}) sendmsg$RDMA_NLDEV_CMD_SET(0xffffffffffffffff, &(0x7f0000000680)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000640)={&(0x7f0000000600)={0x40, 0x1402, 0x200, 0x70bd29, 0x25dfdbfb, "", [@RDMA_NLDEV_ATTR_DEV_DIM={0x5}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8, 0x44, r1}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8}, @RDMA_NLDEV_ATTR_DEV_DIM={0x5, 0x54, 0x1}]}, 0x40}, 0x1, 0x0, 0x0, 0x4a050}, 0x5) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) 00:35:53 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{0x0}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 176.826584] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:53 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x0, &(0x7f0000000200), 0x0, &(0x7f00000003c0)=ANY=[@ANYBLOB="746573745f64756d6d795f656e6372797074696f6e2c00db623ba014b05570f9d46afb556621af414b369ad1da97278316955e6d91a0638d20c860631e1f3cd383c6ba4fd6668318d77686017fad9b12a852d1c5400d638c4f1b7416c7f4b9ad3d0414516a70acea7e5cead702fa129d1ae9eec134fcbb9da1ce45ad3481767b31bf6dfe3475ba8d38dbfbc43fcbac9b5c8e8bf6f2092f69d2a506d50795170eb5da4f7f21cd51eb41e5b062a6cc59f36afc42d96f775c28dfabb272569980ef51996cf076b0be47bcd561c875dfafab117eb65062b24b024f92b047a55c1e7a4138d483bf0441771a94cca28b27b24f30080d81eb4d0794f668b95e3a0bed2bcf14bbfd2c9d725ea1708576d4cc8e86581ebfcf7d7b8cb6f899e785fd01ab5cd118365d13aff42e4b9848"]) ioctl$CHAR_RAW_RESETZONE(0xffffffffffffffff, 0x40101283, &(0x7f00000000c0)={0x81, 0x1}) getsockopt$rose(0xffffffffffffffff, 0x104, 0x5, &(0x7f0000000040), &(0x7f0000000080)=0x4) ioctl$EVIOCGBITSND(0xffffffffffffffff, 0x80404532, &(0x7f0000000140)=""/2) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/locks\x00', 0x0, 0x0) ioctl$TUNGETFEATURES(r0, 0x800454cf, &(0x7f00000001c0)) [ 176.922728] overlayfs: conflicting lowerdir path 00:35:53 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{0x0}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 177.063924] EXT4-fs (loop3): VFS: Can't find ext4 filesystem [ 177.174315] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 177.204889] EXT4-fs (loop3): VFS: Can't find ext4 filesystem 00:35:54 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) 00:35:54 executing program 5: setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, &(0x7f0000000140)='tls\x00', 0x4) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) r0 = syz_open_pts(0xffffffffffffffff, 0x0) ioctl$PIO_UNISCRNMAP(r0, 0x4b6a, 0x0) mkdir(&(0x7f00000009c0)='./file1\x00', 0x0) r1 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000440)='/dev/dlm_plock\x00', 0x101200, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x6}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r2, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) setxattr$system_posix_acl(&(0x7f0000000580)='./file1\x00', &(0x7f00000005c0)='system.posix_acl_default\x00', &(0x7f0000000040)=ANY=[@ANYBLOB="0200000001000000", @ANYRES32=0x0, @ANYBLOB="02000000", @ANYRES32=0x0, @ANYBLOB="040000000000040008000000", @ANYRES32=0x0, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB, @ANYRESOCT=r2, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB="10000000010000002000000000"], 0x5c, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x0) socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$l2tp(0x0) sendmsg$L2TP_CMD_TUNNEL_CREATE(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000740)={0x54, r3, 0x917, 0x0, 0x0, {0x1, 0x0, 0x7400}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3], [], @local}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_RECV_TIMEOUT={0xc, 0x16, 0x8}, @L2TP_ATTR_IP_SADDR={0x8, 0x18, @private=0xa010100}]}, 0x54}}, 0x0) sendmsg$L2TP_CMD_SESSION_MODIFY(0xffffffffffffffff, &(0x7f0000000540)={&(0x7f0000000480)={0x10, 0x0, 0x0, 0x2a0000}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)=ANY=[@ANYBLOB="172cdce6", @ANYRES16=r3, @ANYBLOB="00042bbd7000fddbdf250700000008000b00000000000c001600070000000000000006001b004e24000008000a000100000008000b0002000000"], 0x40}, 0x1, 0x0, 0x0, 0x4000001}, 0x3004c00c) ioctl$FS_IOC_ENABLE_VERITY(r0, 0x40806685, &(0x7f0000000340)={0x1, 0x1, 0x1000, 0x91, &(0x7f0000000280)="1b769cfccc9d4ef3c36c3b481d4c0578c3b27e21d7db60579bd6de4911ee3627ff89dfae09b1136a8a79c9139ae19d54a7400fc77cbef6e09bc846c37db25a5bfe322989d99da47870f099575c809dca4df31d8d26364c29b027301da4dbb0a4ad8124170bef7e257b46aba9fe707c0cec60701ab6733212a2c83688b3a2986caeec46a69f4f147478b9f766f1f3f8b258", 0x0, 0x0, &(0x7f0000000200)}) mount$overlay(0x40000a, &(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000100)={[{@upperdir={'upperdir', 0x3d, './file0'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@workdir={'workdir', 0x3d, './file1'}, 0x5c}], [], 0xf603000000000000}) sendmsg$RDMA_NLDEV_CMD_SET(0xffffffffffffffff, &(0x7f0000000680)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000640)={&(0x7f0000000600)={0x40, 0x1402, 0x200, 0x70bd29, 0x25dfdbfb, "", [@RDMA_NLDEV_ATTR_DEV_DIM={0x5}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8, 0x44, r1}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_NET_NS_FD={0x8}, @RDMA_NLDEV_ATTR_DEV_DIM={0x5, 0x54, 0x1}]}, 0x40}, 0x1, 0x0, 0x0, 0x4a050}, 0x5) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) 00:35:54 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000300)=0x14) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000580)=ANY=[@ANYBLOB="3c00000010008506008020000000000000000000", @ANYRES32=r5, @ANYBLOB="fe000000000000001c0012000c000100626f6e64000000000c0002000800010004"], 0x3c}}, 0x0) r6 = socket$nl_route(0x10, 0x3, 0x0) socket$packet(0x11, 0x3, 0x300) sendmsg$nl_route(r6, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000480)=ANY=[@ANYBLOB="4c0000001000250700"/20, @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b0001006272696467650000140002800500070006000000050029000110000008000a00", @ANYRES32], 0x4c}}, 0x0) r7 = socket$nl_route(0x10, 0x3, 0x0) socket$packet(0x11, 0x2, 0x300) openat$procfs(0xffffffffffffff9c, &(0x7f0000000240)='/proc/mdstat\x00', 0x0, 0x0) r8 = socket$packet(0x11, 0x2, 0x300) getsockname$packet(r8, &(0x7f0000000040)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r2, 0x8933, &(0x7f0000000340)={'batadv0\x00', 0x0}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x1, r10, 0x1, 0x2, 0x6, @dev={[], 0x1c}}, 0x14) sendmsg$nl_route(r7, &(0x7f00000002c0)={0x0, 0xffffffff, &(0x7f0000000280)={&(0x7f0000000080)=ANY=[@ANYBLOB="200000001100250137b100000000000010000000", @ANYRES32=r9], 0x20}}, 0x0) 00:35:54 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000580)=@newlink={0x40, 0x10, 0x57b, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GENEVE_UDP_CSUM={0x5}, @IFLA_GENEVE_COLLECT_METADATA={0x4}]}}}]}, 0x40}}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x26}, 0x1c) bind$inet6(r1, &(0x7f0000f13000)={0xa, 0x4e22}, 0x1c) accept(r1, &(0x7f0000000180)=@l2tp6={0xa, 0x0, 0x0, @mcast1}, &(0x7f0000000380)=0x80) r2 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000040)='/dev/hwrng\x00', 0x0, 0x0) sendmsg$TIPC_NL_MON_GET(r2, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000200)={&(0x7f0000000280)=ANY=[@ANYBLOB="86b8d52a13c2992aa7a65edc0ae5909ff479b6261c475369ae7c5eb49451061233d0f957f22a0a56b3adfc581c89447d455cf1b4c88bfb8ebe69ef09cb4dee99ea2c69fde5ac653babd2584f4592d071b0b4a4018278385a36d70544c1385ceaaba3d7eee09586777c5d7ee028b6cdeeea4d9d", @ANYRES16=0x0, @ANYBLOB="00082abd7000fcdbdf25120000000780080002000600000000000300090000000000000008000200010004d70c000400040000000000000008000200090000000c0003800800010000080000"], 0x54}, 0x1, 0x0, 0x0, 0x4000040}, 0x4018) ioctl$KVM_SET_DEBUGREGS(r2, 0x4080aea2, &(0x7f00000000c0)={[0x100000, 0x1, 0x0, 0x3000], 0x36e9a5a7, 0x20, 0x1}) 00:35:54 executing program 4: unshare(0x20600) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() r1 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000080)='/dev/dlm_plock\x00', 0x4000, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x18, 0xfa00, {0x0, &(0x7f00000001c0)={0xffffffffffffffff}, 0x13f, 0x1}}, 0x20) write$RDMA_USER_CM_CMD_ACCEPT(r1, &(0x7f0000000240)={0x8, 0x120, 0xfa00, {0x4, {0x7fffffff, 0x9, "2b0e2dccda26fa469b484249e5c39eefcc97cf7588c7f5d9217dff6f747890705d12df3f60c4c94eec643082b5e04521527cbddbb066374d613db1687d3ca5391c781684049ae23620309e4f858777f084adf95224badb80881cba3bec9f241908961fe96f0822677ec8f726414198ac659b2c3948d25ead1834e414d2951686a79bd026e8a157c1ccc1151be1ac83bfca390a38dc5369c1a2277a37c5715d8beb696797efc65077e50b9a5fbca0beac3985f1b6c4464fe8cb5b006651334a45b717e4b1ca4b96722193effe51d38531d108e3b6845e5b74faae8fb3eac5df3eba7d890973862f4548c99656d2275165c70785baa83e0262936b7211f7eddc49", 0x2, 0xff, 0x2, 0x7f, 0x9a, 0x8, 0x1f}, r2}}, 0x128) write$sndseq(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @ext={0x64, &(0x7f0000000140)="c4c691019919da078a0098d1e0a593b040f762910000000000000022addee07bee0d6333b5cacd893169b618322ff6602122511253508b5a4496728c2a46e1bc340e29b9ab9b71531c697624483004c63e2836283e350808ffdb2dc4a741357baa16dacd"}}], 0x1c) wait4(0x0, 0x0, 0x80000000, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000040)}, {&(0x7f0000000000)="0832f497d38350418e4bb321019511dc5df26e9a0b7ecb6974f527cc14538d1efb1ffe03284f6d33265be9c604b293f20e96beeb2aa4c457ac37a3a3f1ce8682500fcecd80", 0x45}], 0x2, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x17) r3 = syz_genetlink_get_family_id$tipc(&(0x7f00000003c0)='TIPC\x00') sendmsg$TIPC_CMD_SET_LINK_PRI(0xffffffffffffffff, &(0x7f00000004c0)={&(0x7f0000000380), 0xc, &(0x7f0000000480)={&(0x7f0000000400)={0x68, r3, 0x300, 0x70bd27, 0x25dfdbfe, {{}, {}, {0x4c, 0x18, {0x4, @link='broadcast-link\x00'}}}, ["", "", "", "", "", "", "", "", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x4000080}, 0x10) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000500)={0x3, 0x1ab6, {r0}, {0xffffffffffffffff}, 0x8001, 0x25}) ptrace$setregs(0xd, r4, 0xffffffffffffffff, &(0x7f0000000580)="fcdaf6a7322632a64b68f19ff0f14cfa83c5151d793f5dbbf1a56889d4998109d199e1cfd46ba28b2ccf1d8f3e4d0c477ce5ea431f6d70182d5eff83229390cefc830680352cd3c8e43be1da10c874f452895243c5f9fdcb3e6de1060cc704005a02825f58394f1a0c32cfcd31a4a61fe7a16b23beedb3e649f37d53eef6ea472da0f1d89b7ac160a0b5d2e7b83ee36ff3991e59cfcb9706cfd476212df5b7abb3dc5858846dd03fd7") r5 = getpid() tkill(r5, 0x2f) 00:35:54 executing program 2: 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) getsockname$tipc(0xffffffffffffffff, &(0x7f0000000140), &(0x7f0000000340)=0x10) r2 = socket$unix(0x1, 0x5, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) ioctl$KVM_CREATE_PIT2(r3, 0x4040ae77, &(0x7f00000003c0)={0x5}) setsockopt$inet6_int(r1, 0x29, 0x43, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000400)=ANY=[@ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b769372d9c21e799a1d7e7a9ee0603389d65c2561c4c8c5100"/101], 0x10132) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) [ 177.748687] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 177.759917] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 00:35:54 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) setsockopt$bt_BT_POWER(r1, 0x112, 0x9, &(0x7f0000000000)=0x80, 0x1) r2 = socket$inet6(0xa, 0xa, 0x9000) r3 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r3, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r4 = dup3(r3, r2, 0x0) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x4e23, 0x3, @ipv4={[], [], @multicast2}, 0x1}, 0x1c) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000100)='nl80211\x00') sendmsg$NL80211_CMD_DEL_KEY(r4, &(0x7f0000000200)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x34, r5, 0x100, 0x70bd2a, 0x25dfdbfe, {{}, {@void, @void}}, [@NL80211_ATTR_KEY_DEFAULT_TYPES={0x8, 0x6e, 0x0, 0x1, [@NL80211_KEY_DEFAULT_TYPE_UNICAST={0x4}]}, @NL80211_ATTR_KEY={0x18, 0x50, 0x0, 0x1, [@NL80211_KEY_CIPHER={0x8, 0x3, 0xfac01}, @NL80211_KEY_DATA_WEP40={0x9, 0x1, "6b7a26d7c0"}]}]}, 0x34}, 0x1, 0x0, 0x0, 0x20000080}, 0x40) r6 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r3, 0x84, 0x72, &(0x7f0000000140)={0x0, 0x0, 0x30}, 0xc) ftruncate(r6, 0x600004) sendfile(r2, r6, 0x0, 0x80001d00c0d0) syz_mount_image$jffs2(&(0x7f0000000240)='jffs2\x00', &(0x7f0000000280)='./bus\x00', 0x1c000, 0x8, &(0x7f0000001680)=[{&(0x7f00000002c0)="58d96925fc2881565f8de0a947b12007c4e2f8927ce48bc0f4de80fd32b9e4f1524b64e3d66623735cd8a6f55de56e9f43b3e553b899f2a2d90afd34e47698bd0bbebddf701e7a712412c5098c0974761531c9c25c9a28", 0x57, 0x1}, {&(0x7f0000000340)="31c2ba385ae0d7220a1a4d289ddf6b882579e36230d0b91cdb6e954606c0008f447a297b9fff4ff794de1686c6ae4bdc70ef4a42ada4f9b85df6", 0x3a, 0x10001}, {&(0x7f0000000380)="94b6c88917e1850f71770ba913f99304b1fc67611056bd767ef7b97b0d291da57a3bbec4da29f3a83a7b90b8fb838831866a2b0278df3f371a6b03bb6c78ce1fcb9518fcf8d64a706c564926aa0830b600ebca9c189672a815180588bc66ee2bb935518da2bd9f28278bd218b717531f69d6a3ad986472a00e362d75505d1afd1eab2f52292e124f5b25794c", 0x8c, 0x400}, {&(0x7f0000000440)="4c4832620cfbff99ec93506faf129fe70926f37c2fcec55921624a6edcb46c2037daf75ca591721a1b103f132d7e0100edae130d2f44dc1a01d1aa979a71598d77de675d4d41a7832dcb3d41f280f1f747cf71456249e6f75cfdf5f75853b5942e5b47a3b0e1c5f25ae1c248dd5d2066f8ea8034d59e46799682572b4d480f7e35cd7fb608a27e3fd2b5f626594b4cc628d9e1589d2e34635a7447b1e71f48c7a6ec0cdf93636fe3fba739edcaede90d8e1c3a46247d02fbd03d3f3a5746f74b9c33e142ae15e99f3df4bffb4333c0619be6bf6f8864040c528c7497fcb483877df38abee2a31ac6453987df96a4699540a89d7c", 0xf4, 0x6}, {&(0x7f0000000540)="bdcc971abbf3ba5e1b20733b58624c488b016c354dab1dab43311a443a167c66cbce66e26a9e90de02b72a47cbb17a3cb494d9ddee779667d805ed439321e0f338a6a9638dc1e28d930b62fdc10b541c0e7b71d87d01d4b60d53aa271522707f2394ab1ae39a21da6f7a47bf7eb568bcb2d6c9712f06536e0cad3cea3a686f138b0a3af74961d61b34b960d8773c50bbb20c256a199983f51c96742aa3b9b51827f712672834bd20e8189dbd78dd83f0e6b13717dda5bd73d28edf40e0d245e9e791c3a5470458905f9f27395bb25dd1f502e05ed8d1aba5584d5728e23242a5bb62a544171e1165b72803722d2af807af55c18fac7b262d064f9a9e9d4f76c0f10a981c48d578c30980376d11afea5087d5c98ff0066427b564471e4388194c34559e84ccc05432c349b9d7aa2942359c1d5c09a00ac7b869d5d0e25f1ed1e313574171416017a59d057b3da1ad1eff9e68f8d3919f103eb30d5816b667b8eb1547a26524c63436c208534313a973df2e353492240a8d9e093d40a0e1e000d7996743eaa80afdaf139e2057064ba883400a0c3be5f775e44b79967ada48e6e8552465b3e2f700e0435d3df8576ef7f70aa8e80aaff8a6038232ff951a76d37b483966cb4638ec6024b453d19ac1958dc744b12a9e31848d65fee5a0cfde0a881f3e125f94a65062aefacb97fb982968fe07af6b6cf0006a02e55c66cca171a9efcf9e8835998805c169be7e994488638adff3a6ab640fbfe78682333e4eee25a8cecd142b24e7a6d5cb4ee75c384814906816ff1fb380c3bb284dc529379dd93250a1e4869395869a0cef972799a6b079b7c0d7b2eafe93219f9e5c08269fdccc3682b3c64cfe2c5f2648b07802af44ed817df01142717867dc4d8e5a8f0f3fae95189f31b4e8905534850b525b1db46b724431613f72d5b500e1b379e63ee129ea6d99fcc78509efad7657862f65f563c7fce2b4b6ad0d34ed84531ac7ed1a8cb6c2cba4d0d2157dc9f27d4b8232855212ab96d199a6f90e619e8e3a0ad42198023bfb8c744db947c5d75cdc2099bd9444a82bf8179c6cf922256e50b1b05160116ed7a02a10e983a0a3d5445091585a26e77b2ef30d5b93a0a99e51df2e6ff44e853aaa03f46f5e0fbfdee69b20e427882ca6e5d7c93ff32cf330199edd037735ac2e1e311837ebbf9a7bf0213e4d2ff3e04e5facc09bd535ab8de69d5998ba12d408ac2bad0714590daf0bf37626b295c573b92b73b491a7458c39914fe49a8b064ab0657535c121b4f8b79cc5ac5d0a9eb8aaf96c51652616e52a243f300bade4869279e410db313d836198e6dd4922bdfe390d06381648c32dbf3e1a7a3d052d20a8e9ed7016873198fc8ea71c50c049e6d5326edc53be6ad35e4b59cbed95fc54a0cf49b9972eb8a5d9e38e152ba43d21f301589832dd3fb1a5c308efe1faf78b22f8f8dfca361b7cdd47a8bbf9481b1dcf462d931b8236bd4b17cbda92c1f22db31b54310fe7724460e66df6b4a678236c2f90596d43b08ebcf1243f223ae7c04c353a773abec4efc84307db0b26a1191e1e9b1b1d4826671d61cb2d1dcd7c15e7e8b2810494b444d16f01e377aeb87f6dbceb958d968d4bfdfa181ef47fa9f197a0d1497fdf8ea1c481a6df4cb18a26fe3028305e0ee6dd2f5576f7fcfeef254b3f7f075d54bd3e7ed0d4b9e8cb859670900c06af798d46a90074b213ccd5844b3739655f5ff83c2f6f8307fcbbf53e631a61544d64158c270cce56b168607a9abec2c411d8c9bc2f7b00c53d31c75e9412a5feba79e2328c18c4b800983e39e9780a4846a935c5e00ab96cb7dddcac42d0062ccd4f8a3644cb623471bb14bfeda25cab5c0dff813f7d9d1eed3e58c3c65a146292ae76ac4f350705f8f0a10498b9e9d81f44a08dae56aeb984cb65dfd8e9a2339a5f2d14a0789467ed79fe42432f081ebcc01e6ab8afba25540449aa09f5434622ae32052400dff532fce86383622b49a54d7573e61dde40a721268ec961e0c476730fa840a2851d15f8dfa958176814f0f98ad7fe6ea2a6eadd4c4ed10cda553d09e1a4dcd7698fcbbcd432c21d98215fbc2899391f272747d93f8fafbfecca0ca4eb32ce7e531d930305a6a4d84f2275015ccd29ecb82b6050210a74070f27ea28bef4e06fab0b7221b759d778238030f8fc43ca72f50ddabe977746efb121900ad6f404fb85f672e4fe85952f411db4ffe787c4ece7b2f5baa1eaf25c7eaf69c6e15ecd98498ab3ea92f8931013ac904b53508fdd4b33aa35119406f1521bb55ff64651b74590b37c5688d8d0c86c6ab5dc0a5c49348db00897ce8970c223a0f37d6982848a4ce74631fdc55d27532e94f393eb91f7939cab20559314bc988d55db32640a5d017a8fe272c404d91b833a62d8eb477d9044b711fdc8f333855c1660a738ca9cbf7467f23437848edfeaf14eb314ddbbe03d833c42eeadb326b8ec072593513e1ba6f1cad73081086ba99b46afb4745e9fce1e2a04d7cc09ad315cdf8b22a0e4b5294f756d49f40f6d7ca8663cc5b52893d7f8b828eae47ed2f9bd3ea5443e2508d9b043e3af7f55108089460663870382b16723629ff6848f81ca8b0f939342991b55353ca8b4209088338311d9cd5d87bc7b48260b380fce26727ddf6854954bcce86ffb0d113a98c5ea25d7510a23fc6e90289959defd96bbf4eb21d5be7ea549c5c88570e51c1f30a075bce720a2778a3f0af857dabfba01a44142c8f397ef833db0b80e7cecdbdd2ee38a8813c4e1ccdf6eba5c6638737ab04e035180af6a0a42f9552dd012ef467b801856f3f0f0c4bd11fb297acab08e1df772b4f3d2eedc26e7bfa41af758732d60ee437191e63dcc80943910457fdfb84386513a917497adc7821b3fe1f9a7bb33defac446cf92759e4779244a4d765e4d42142e45f350ab2a7a458205de8e215677c56b666de1193ff3a29b4961b56bbc1485b6a49685b70ec73aef19fa90dd97b5fb4cbea3ea3c60a944b8db0bb84628638085d9d0a874d4209f2eb83fc623b648525e626f0a6460b5eabe32cba29cdf29d2d60095e16d15bec99afcb295a37bb00dbd707460ebafbae1ef9585e511fe425531ab56621d389d086b864f0555f5d11f1326412595d2b6aa6098a13ad3743441cea3775d2367478b25d2a22957baab4d850e6073a11082c5f0f3b2e2c3e4039ce03fd736f5bad65950cdf84581b0e203ab866e99fc7b7ad360b384ae4f5fc5f9a1720c751f3f4498122bc8b941912fcecfcbd52ba9ab8f754ec53e0f07626ca89684ba3685a9d5cb0704343fc411611fcf0f82778cee1828f8a8bdcb9647e9c904870c5eacf16f74ab07f3fcfc1b7089e35673b5afbbe593449d4a577069b955e002e8f360a9a99e542558b41e82ed19a819b0c8619cbe041d01b2fc04c8fa8777673c1f4d470f353fcfb254e9a243b1d658b2fd04cfb5b54e297d7c21b20f4350578bc99627586e027f1db96823d810b3b867d1aa4444d61839acc283355e26b45ff32a9490e0c7e4f95d8c5faac53f65ca110886bcc12688bb8e9715789069cb2b57253b268167e20f24535780cc233f58ca1740ee12b0180acf9d87c378d69a9b0aac49b58af6bf3b90b291d9e8d9bd823febe4da9caad186a6790845e2af7e3ad51824fed95f873e0bb99020b95f988648784781d35095b892513636c654f2bdeba95e4b92331f511beb2b848b5b5beac5d9de402a80ba2be6ac40826dab1a58ed207c32d724743d44058b4e637d9caf955e91a723cee8a19cb60161961c5e9c695cf3dce2410afc90d3537b8e66ede448555f41eaab7fa1841e11fe28fa566dde6a0bcb0aa4ce49ba5b13d6ae5c02f341c829406c104a0d3763e1cca35de98461dca6cbe3738e57ffcf78cc87bc882469578b4a7a9ffaaf9cf96c897d9c40faac7e1d44865b223a503213c5864eda408b42d5f60871fc68f436519ad6fdce95bae84fdef77d376710249258e38cfddcc09f7f005feb8e61766427c61bb67c35e062532b65c17d73affe34b39367bddeae7729a7c4c9533a21ce9e94bd9a9f6fbd3e331eda241e8efe1401193a72db6156e825d81ff2e6a4ff6a4af17d2cce6760e41923d93cac82e4283d6f513d76f08397cc0ca725eab24d4c67f8f6fa0257e51b0867722bd21ce160c86380662be114f64a0c04dbeac8c7261b3d4593edfa43f546cfb596b2729e803a81870c50c9228e26f05f4e4118a02ac4cc2c8e5eeae6a171d3dec036a2c156e6cfe64c769a4dc27964cf0174405404987353ff23c444b79e9b80ba6eac04859caf3a53f5f3f7b04ed3f9d4859fb772e42209d6a56609216a2d650af01a215d5929ab89b63666652c93b40fb6e42a9459f07e97ebf006552f60c744e4eceed60eed0680818e3d661f1452ee7c0c0bc576c41d5e931403ea9daa0fa6d8778d794f6ab7fcf26a87fe2d45cef22eed2b85d77af0d50de50da09eafcfdf2e7657904433ca3baf0d5344beb5ceaac253fcec6d1f1fd0784c09a895a56c2f64f56cde6c21588f804acf2c9ddbb708e3656d17978eb77224178a7241dd3f242c06b3f3aba798a07eb2d32236704f6fc1991edf03a72da2643dea9fc0fd15d38c861e2c78274ac83df448784895a1c662d259c3b77deb44e9e0f7409e5ba6dafd0414a78027d940e36c1aa3f88946ff5cf3cb1583c5a990c1d35d027b5877c71d3ffaca48927e0cc9e72e3361d63eaf17287e032afd87950e17120c3010064367b6b4a260e1ad07bc554791a0aaffc2f380e65a5f8c89467a2d0d5aaba5707429cd3e1e8bfd12f89e1e56d8e0a61c0c0fcdaedf1325688691ad52d6dc24c2065a3f12bedebb06edb1ce858da0fd9a5d40a5da7f575fe947708f70a67024764b1e725130a00087dcae26c3324f596ebf6a85c40a722abbf8ff3e89024b77ffd596e2796f31d10093d37bffaf4b61d025c92b70fee529d36607de97ed4510adfbf2a6c15b4e55e5a393e7d4b7ab6823ff86dad286256f214c1f220f50dfbbc074e34432212637e31725fdd6424ca33790a2c52b30e4c5bac73a27626072ae1ff972fb7405970bd1f95ae36283f3daa6b9e0be6abf977520ddf6b088a00740977452d97f64d21049fe2f5bda8b7100117b84bbba4d16b4e0d1cb000ce62c21656d6ff806820a9ae07f3972dd5b2ea479f514e03f224095d3b85ea840c10645b00d26302a0708beae1ebcf8137e6a903479ea85d46caf5d52f1ddb824b4ed68427f492f7be96c5de06ad6adf68fbbc212f3582937c8f4bd5f1af1b21161dd5e004737f8fe13752926ae62863cb6481a6a2ec3c26751e921a60e79e11b9d5f1a40ff9b21bcb531af6483745a2356a213bb6f4fee922f7b6d255def9c8f6a5c189887f5f2b83ea77dfea297ef4fac2c96c3a4da505bcab0deaa072eb070181f8bc8639655b8d6d87d65397a0e4998d1c21de19290da78adc4ad35374482228108ae333ffeeae3e7e13d5dd13f28d135a906fa47ab9d36e1be5532de279b79e718da0f8098633a74f0f4c43ee5a4056f7321c1613a0d8a48b32ba153977559b3a56c97350faa88b5bfa19d9f8ddca29744f5c836a43455048f53bc36ce05448f71d39b309e28354d5d640f462549c55eed2a36002f89db75f6a35b97e308a1352c373bc09648c3c507b5fe39488bf107f96a0f14e5d71238ddafb85cb55c19da0b20c56ed581450cef0e58dcfe6fbc9bf97880a476a013151af7d413e401937a195fd9e2a01e3330024ad484b2cfdec3cbd8020cb9fd2b696276fde120f1", 0x1000, 0x7fff}, {&(0x7f0000001540)="9bb1717e832e5fbb79efb0928f07539effabe46d1712fb8fa97ebe108753ec29cd9268401d0cfb2e8aa408350d11840f52082e5c80e090078df61de93e7acdc36ec5d57a30b569e71c1ea87dd5abc948ff2fb72feba04617b38f6c93bdd53fa59519ad8584b51b68335a5f4c559fce41fdd59c974e282ee3e22fb947a2b50906664e8d8318105a7644a0ec5757", 0x8d, 0x3}, {&(0x7f0000001600)="10530b76e6c35b992e06b293755575ddcd753f3646af214b1b00b9885899c014a779099137b70690403fede0d0e7fc", 0x2f, 0x8000}, {&(0x7f0000001640)="4a424130a25fe1ec1001", 0xa, 0x3}], 0x50, &(0x7f0000001740)={[{@compr_zlib='compr=zlib'}, {@compr_lzo='compr=lzo'}], [{@seclabel='seclabel'}, {@defcontext={'defcontext', 0x3d, 'unconfined_u'}}]}) [ 177.877041] overlayfs: fs on './file0' does not support file handles, falling back to index=off,nfs_export=off. 00:35:54 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 177.978451] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 00:35:54 executing program 3: openat$vcs(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/vcs\x00', 0x0, 0x0) ioctl$KVM_GET_REG_LIST(0xffffffffffffffff, 0xc008aeb0, &(0x7f0000000100)=ANY=[@ANYBLOB="0200000000e100005800000000020000a0"]) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000003e000/0x18000)=nil, &(0x7f0000000280)=[@text32={0x20, &(0x7f0000000140)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8dd0f0f6300bfc7442402c43a727fc7442406000000000f011424f30f090f013a360f0666b8c0008ec066baa100ed", 0x4e}], 0x1, 0x0, 0x0, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x40000007, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) r3 = perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x1, 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, 0xa, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r4 = socket$inet_udplite(0x2, 0x2, 0x88) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) ioctl$BTRFS_IOC_LOGICAL_INO(r3, 0xc0389424, &(0x7f0000000200)={0x8, 0x18, [], 0x1, &(0x7f00000001c0)=[0x0, 0x0, 0x0]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) 00:35:54 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f00000002c0)="111fc0d90100000080000000003a0098d5666a5884b4ee2d8695a4dafd842a9153bb709ffd2146ad6bab195c98f09a73c4c9346314f995ca6af2b9da6f8673870ccd452075127ce08e1edff27cef992a1a4499589ac9202dcea2af1821bd3056bc0d7edeb84950ea5819491685fa4ec04421deab2883828863e89d8545151f1d8f07cad6f9a7ffe2b8ffb22d26ef705693cc0f842d000000", 0x98, 0x30000}], 0x0, &(0x7f0000014a00)=ANY=[]) pipe(0x0) ioctl$SCSI_IOCTL_BENCHMARK_COMMAND(0xffffffffffffffff, 0x3) 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) lchown(&(0x7f0000000080)='./file0\x00', 0xee01, 0xee01) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_INFO(0xffffffffffffffff, 0x40bc5311, &(0x7f0000000380)={0x80, 0x0, 'client1\x00', 0x1, "067652ad9fc6c18a", "c21e0bc592e32415d171c31d8a44ceb3630911b5081d54afc16cb997337bc147", 0x7fff, 0x4}) [ 178.022195] MTD: Attempt to mount non-MTD device "/dev/loop1" [ 178.029673] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 178.110119] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000015 [ 178.122103] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000079 [ 178.146350] audit: type=1800 audit(1606696554.827:13): pid=11622 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=15957 res=0 00:35:54 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 178.183408] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000004f 00:35:54 executing program 1: r0 = socket$unix(0x1, 0x5, 0x0) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) read$alg(r1, &(0x7f0000000840)=""/244, 0xf4) 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) ioctl$BTRFS_IOC_SNAP_CREATE_V2(0xffffffffffffffff, 0x50009417, 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_emit_ethernet(0x2e, 0x0, 0x0) setsockopt$SO_RDS_MSG_RXPATH_LATENCY(0xffffffffffffffff, 0x114, 0xa, &(0x7f0000000000)={0x3, "af9bed"}, 0x4) bpf$MAP_DELETE_BATCH(0x1b, &(0x7f0000000040)={&(0x7f0000000240)="12645604adfbc3c6927da63b9e396bc594cdbef5e25550120c102ee3ada40b0910614c28f7cd2fe7d19b8b67806525a21f23a7cbc1e09499a0cd63fedcfb40718a801bdb70e42fed066f64b78147ff5e03a19e7c629b2acbd39925bbc7444c63d3e75288a4d66456e8dfa41bc1c3b7667957cd873dd2983c0deb06a565f857853fe424da4133c96f9db6baaeef0d3e287f7ad1ebc094130a80edf20f9ff10b17e064f96f8a2cc17fbe8407b4aff1798491cb125d9075aa8a65c8c2f750d68841079678ba82d88af64756b5ce1244c7ad76bea433c85e4df10d84a732cabb26138a7f971f9afc846fba78e14cff0529a2d3447963e7a5afddf1486bcabd4256d7db313188c8431b97532834a6c6d6f26e3bf321d49befbf9670c9595aba63cf1988b3a796c65d4eb409f058bee8f5f6ee50035e9385b0e2579cd8ea512f602818859553a15199be96529b3870ac367bf1b4b2c2347fe2dadb9bc93b5477cec2dd2b7b9750dc96b3ad21ec7884408e5bde953b80f6c2ce931992b42952fa6a616ed68392434cad23236f424d1c6e60a99124f99cbd329551f3adb3971298fd449cb95d7fbcddd3e6e7beeeee72b9c8aa356726e51a55015d1d9771b7ae6486cecb7c1019728f230dbdec69c25a9155f96da1c2ef3b2cc0bf07f04df817319500724bf8b5c56547de741fa33b6a3874b6eccb01eae006e7e7aa6f3fab3030928fd666c6041ad52d74b08982e7432196ad8cb0b059b77e05e420ef643ab80545ebed3069623602b3e1eb0ce8170c6408d7fa2668d8f71feec0be923caeb5bd6f87714005a09cf4f5263e91707c042cc530209499128c661faf8b31c971b5ce8e878d550bb76f3043a96c594104da8ee29457abe97079a62ca8bfbd50d025294c986b3fe26477c4f1b665b51d1ba9b7200d80927e4f5324e047c4f0d2402917aed234113fd40da162825762126a185a975c483e58d9e158079eba80e3a9b5b6062c7d1db9ae89f1b95746fd3c8d79711bed47224a975744275f1aa8f20f2852e8db3852c59c306ef52f5dbeabfce82470be80ec1de4755979525e6212b2da5b438c9750c471740dc767a52e76f35a22aa1721a17923959080b8d9794c793719aad7b523286bdb9009fb2b76a4334cfcccf362abd49c2a9450a5ef6fb41ae2c78a1c6279bd8773f4a45d7b367388aebae6115bb5b9688841a4d31787fc3a3a46839c0c51c521dacf81b702b36570378cc1fcc28177df525fefd91935b29cbe3d5efb1c0b527f36d7f5e1b2b0160fb81b1f3ae86e9e75e927a749523e9f6f4a0adf389315e61fa0ede27799602843ec6092a087e7d37453ef7c3e1e209e67e1e71d7487c3d5a9b5770bb5c0a7f968e94411e4c1b89db0715885d2e9fa268e88e4d38ac3cbb48de404684bcf5df50e7d89fc79ff32ef83cfc6bfe8dd1056be94e6690c78dd6bd9c2493f60114d51856ca30579f3bd36dfc6766ae5fe17e52457e1f1759331baecb3b99d3da4433ca70b8d131878771263979c5011ec796fbc65e2fd3f3f5b609a027272c5c492aa1e52577e76e763649d8e5adc4eccbbe1a4b9414abd7821bad43eb6b6555d996e405bd0f40f4cbdab7da0e0b4a2a667ee1e757d77ae2d2ce4ade20641dbe6024dbf01c714582284e34a9f2598b373ee5fcbcc28a3917bee0f3a6adf4de6dac2baa49b0f3b00cd2c287386bf9d6da862d1dd117be71ff6929e43a49698e8975f2578f5c47b742071344f4fe220cb7310771f9136dc7d24a31c1474630eea870716d046a8f1531c421a08b2c54b2c3ba19e1f262c5b318b3f07fc253248174bef7a6e192c42b24ad0b74d32c9e8fae1f4f6063b73cf8397ac6cc0d07fcdb0e23ba45f9673cf3997dec91130db19b8e5975364faf4684c6a3e1443d28dcbadcf987557e1d5a17e2c5c40d6f37bc5d127d745857a96e315c7acd4d8ab56c2817c42ae3cc663586b5ef2455064be6e90cfa913a65906a8a9337528870da9dcdf184b9a3b1a4270da5901c90f4132ab304a9b1c2f878be376d2df0c563f438214e9e7770d86b339fe463456977b0eb2656dd7fdf4eb1eac4752934e034207769f210ed20969d278a9a16d72f1a29470b21e4afce4b553c0987f73f06a2644c3d37b", &(0x7f0000001240)=""/4096, 0x0, &(0x7f0000002340)="c359463b86330bead54154afc3bcf19252055fe83fcb9c1a0f9892cc3d2c43bf233b7e7d7da73e24124f2424189c4e4b011b39ee56882dac9b0f84ab17e24d0055ccbca17aa537dc692038318a4115159fc2bec42ec9844ef5da81762068489b3f2a11928092057be7eed2d9d77732cec6c71e326bf37e7110d9f11f3b31efe2cd848dcbe9aca75515a134020562d58869e437122099113372f627057c57e73877d397f2d06f816019ae7676ab78aa2c2b9bdb5374ff5ef2ea8dc282ad6d702e20c845659353e1ed93306fdda7f33d51b205f641ee6430d9fc4c1b73", 0x0, 0xffffffffffffffff, 0x4}, 0x38) syz_read_part_table(0x0, 0x1, &(0x7f0000000200)=[{&(0x7f0000000080)="03f605020314af00031400000000000000000f0000000000000000000500000000004200000000000000000000000000000000000000000000000000200055aa", 0x40, 0x1c0}]) [ 178.226755] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000004f [ 178.271013] EXT4-fs (loop5): mounted filesystem without journal. Opts: ,errors=continue [ 178.292934] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000059 [ 178.310462] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on loop0 [ 178.338693] Quota error (device loop5): qtree_write_dquot: Error -626748026 occurred while creating quota [ 178.378160] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000008f [ 178.408428] EXT4-fs error (device loop5): ext4_mb_generate_buddy:744: group 0, block bitmap and bg descriptor inconsistent: 32768 vs 25 free clusters [ 178.422930] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000002f [ 178.434308] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000019 00:35:55 executing program 0: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x2, &(0x7f0000000000)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ffffffffffffffff8f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d6167", 0xde}, {&(0x7f0000000240)="d0", 0x1, 0xb8}], 0x0, &(0x7f0000010200)) r0 = socket$unix(0x1, 0x5, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup2(r1, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) [ 178.506700] Quota error (device loop5): write_blk: dquota write failed [ 178.520500] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000079 [ 178.528817] Quota error (device loop5): qtree_write_dquot: Error -28 occurred while creating quota [ 178.598920] ldm_validate_privheads(): Disk read failed. [ 178.609630] kvm [11634]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000006f 00:35:55 executing program 5: eventfd2(0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) writev(0xffffffffffffffff, &(0x7f0000000080)=[{&(0x7f0000000100)}], 0x1) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x2}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) syz_genetlink_get_family_id$netlbl_mgmt(0x0) mkdir(&(0x7f0000000100)='./file0\x00', 0x42) pivot_root(&(0x7f0000000340)='./file0\x00', 0x0) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f00000004c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) splice(0xffffffffffffffff, &(0x7f0000000440), 0xffffffffffffffff, 0x0, 0x6, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$TIOCMBIC(0xffffffffffffffff, 0x5417, &(0x7f0000000040)) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x1000000, 0x0, {}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) [ 178.670260] squashfs: SQUASHFS error: unable to read inode lookup table [ 178.681380] loop1: p2 < > p4 [ 178.704479] loop1: partition table partially beyond EOD, truncated [ 178.726664] BUG: unable to handle kernel paging request at fffffbfffb5492cf [ 178.733785] PGD 23fff1067 P4D 23fff1067 PUD 23fff0067 PMD 0 [ 178.739583] Oops: 0000 [#1] PREEMPT SMP KASAN [ 178.744070] CPU: 1 PID: 8146 Comm: syz-executor.5 Not tainted 4.19.160-syzkaller #0 [ 178.751863] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 178.761225] RIP: 0010:check_memory_region+0xc8/0x170 [ 178.766319] Code: 39 d0 74 0e 80 38 00 74 f2 48 85 c0 0f 85 9c 00 00 00 5b 5d 41 5c c3 48 85 d2 74 f6 48 01 ea eb 09 48 83 c0 01 48 39 d0 74 e8 <80> 38 00 74 f2 eb d8 41 bc 08 00 00 00 48 89 ea 45 29 dc 4e 8d 5c [ 178.785214] RSP: 0018:ffff88805a38f9c0 EFLAGS: 00010296 [ 178.790568] RAX: fffffbfffb5492cf RBX: fffffbfffb5492d1 RCX: ffffffff81c1053e [ 178.797826] RDX: fffffbfffb5492d1 RSI: 0000000000000004 RDI: ffffffffdaa4967e [ 178.805085] RBP: fffffbfffb5492cf R08: 0000000000000000 R09: fffffbfffb5492d0 [ 178.812345] R10: ffffffffdaa49681 R11: 0000000000000000 R12: ffffffffdaa4967e [ 178.819639] R13: 0000000000000009 R14: fffffbfffb5492cf R15: ffff8880514d7798 [ 178.826906] FS: 0000000002858940(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000 [ 178.835118] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 178.841037] CR2: fffffbfffb5492cf CR3: 000000005a368000 CR4: 00000000001426e0 [ 178.848374] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 178.855622] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 178.862867] Call Trace: [ 178.865436] dqput.part.0+0xae/0x830 [ 178.869127] __dquot_drop+0x19c/0x270 [ 178.872948] ? dquot_scan_active+0x310/0x310 [ 178.877336] ? mark_held_locks+0xa6/0xf0 [ 178.881374] ? _raw_spin_unlock_irq+0x24/0x80 [ 178.885846] dquot_drop+0x14b/0x1a0 [ 178.889558] ext4_clear_inode+0x31/0x1d0 [ 178.893613] ext4_evict_inode+0x25b/0x1780 [ 178.897831] ? ext4_journalled_write_end+0x1450/0x1450 [ 178.903086] ? ext4_journalled_write_end+0x1450/0x1450 [ 178.908342] evict+0x2ed/0x760 [ 178.911527] dispose_list+0x124/0x1f0 [ 178.915305] evict_inodes+0x341/0x430 [ 178.919082] ? dispose_list+0x1f0/0x1f0 [ 178.923083] ? filemap_write_and_wait+0x90/0xd0 [ 178.927748] ? __sync_blockdev+0x7c/0xd0 [ 178.931799] generic_shutdown_super+0xb3/0x370 [ 178.936360] kill_block_super+0x97/0xf0 [ 178.940310] deactivate_locked_super+0x94/0x160 [ 178.944966] deactivate_super+0x174/0x1a0 [ 178.949102] ? deactivate_locked_super+0x160/0x160 [ 178.954008] ? dput+0x31/0x640 [ 178.957194] cleanup_mnt+0x1a8/0x290 [ 178.960889] task_work_run+0x148/0x1c0 [ 178.964756] exit_to_usermode_loop+0x251/0x2a0 [ 178.969320] do_syscall_64+0x538/0x620 [ 178.973187] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 178.978353] RIP: 0033:0x4608e7 [ 178.981522] Code: 64 89 04 25 d0 02 00 00 58 5f ff d0 48 89 c7 e8 2f be ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 a6 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 ad 89 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 179.000410] RSP: 002b:00007fff4305d948 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6 [ 179.008093] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00000000004608e7 [ 179.015438] RDX: 00000000004031f8 RSI: 0000000000000002 RDI: 00007fff4305d9f0 [ 179.022693] RBP: 0000000000000081 R08: 0000000000000000 R09: 000000000000000a [ 179.030032] R10: 0000000000000005 R11: 0000000000000246 R12: 00007fff4305ea80 [ 179.037297] R13: 0000000002859a60 R14: 0000000000000000 R15: 00007fff4305ea80 [ 179.044557] Modules linked in: [ 179.047728] CR2: fffffbfffb5492cf [ 179.051160] ---[ end trace 77a2659dd80d2582 ]--- [ 179.055909] RIP: 0010:check_memory_region+0xc8/0x170 [ 179.061012] Code: 39 d0 74 0e 80 38 00 74 f2 48 85 c0 0f 85 9c 00 00 00 5b 5d 41 5c c3 48 85 d2 74 f6 48 01 ea eb 09 48 83 c0 01 48 39 d0 74 e8 <80> 38 00 74 f2 eb d8 41 bc 08 00 00 00 48 89 ea 45 29 dc 4e 8d 5c [ 179.079892] RSP: 0018:ffff88805a38f9c0 EFLAGS: 00010296 [ 179.085232] RAX: fffffbfffb5492cf RBX: fffffbfffb5492d1 RCX: ffffffff81c1053e [ 179.092476] RDX: fffffbfffb5492d1 RSI: 0000000000000004 RDI: ffffffffdaa4967e [ 179.099732] RBP: fffffbfffb5492cf R08: 0000000000000000 R09: fffffbfffb5492d0 [ 179.106990] R10: ffffffffdaa49681 R11: 0000000000000000 R12: ffffffffdaa4967e [ 179.114243] R13: 0000000000000009 R14: fffffbfffb5492cf R15: ffff8880514d7798 [ 179.121490] FS: 0000000002858940(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000 [ 179.129689] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 179.135550] CR2: fffffbfffb5492cf CR3: 000000005a368000 CR4: 00000000001426e0 [ 179.142810] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 179.150060] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 179.157317] Kernel panic - not syncing: Fatal exception [ 179.163389] Kernel Offset: disabled [ 179.166998] Rebooting in 86400 seconds..